!===============================================================================
! SVN $Id: shr_msg_mod.F90 6752 2007-10-04 21:02:15Z jwolfe $
! SVN $URL: https://svn-ccsm-models.cgd.ucar.edu/csm_share/branch_tags/cesm1_0_rel_tags/cesm1_0_rel01_share3_100616/shr/shr_msg_mod.F90 $
!===============================================================================
!BOP ===========================================================================
!
! !MODULE: shr_msg_mod.F90 --- Module to handle various file utilily functions.
!
! !DESCRIPTION:
!
! Miscilaneous methods to handle file and directory utilities needed for
! message passing CCSM.
!
! NOTE:
!
! This module can be replaced by the direct use of shr_file_mod.F90 as all
! real functionality was moved to shr_file_mod.
!
! !REVISION HISTORY:
! 2006-05-08 E. Kluzek, move functionality to shr_file_mod.F90.
! 2000-??-?? B. Kauffman, original version circa 2000
!
! !INTERFACE: ------------------------------------------------------------------
MODULE shr_msg_mod,3
! ! USES:
use shr_file_mod
! The real guts of everything here
use shr_log_mod
, only: s_loglev => shr_log_Level
use shr_log_mod
, only: s_logunit => shr_log_Unit
IMPLICIT none
PRIVATE ! By default everything is private to this module
! !PUBLIC TYPES:
! no public types
! !PUBLIC MEMBER FUNCTIONS:
public :: shr_msg_chDir ! change current working directory
public :: shr_msg_chStdIn ! change stdin (attach to a file)
public :: shr_msg_chStdOut ! change stdout (attach to a file)
public :: shr_msg_stdio ! change dir and stdin and stdout
public :: shr_msg_dirio ! change stdin and stdout
! !PUBLIC DATA MEMBERS:
! no public data members
!EOP
!===============================================================================
CONTAINS
!===============================================================================
!BOP ===========================================================================
!
! !IROUTINE: shr_msg_stdio -- Change working directory, and redirect stdin/stdout
!
! !DESCRIPTION:
! 1) change the cwd (current working directory) and
! 2) redirect stdin & stdout (units 5 & 6) to named files,
! where the desired cwd & files are specified by namelist file.
!
! !INTERFACE: ------------------------------------------------------------------
SUBROUTINE shr_msg_stdio(model),1
implicit none
! !INPUT/OUTPUT PARAMETERS:
!--- arguments ---
character(len=*),intent(in) :: model ! used to construct env varible name
!EOP
!-------------------------------------------------------------------------------
! Notes:
!
!-------------------------------------------------------------------------------
call shr_file_stdio
(model)
END SUBROUTINE shr_msg_stdio
!===============================================================================
!BOP ===========================================================================
!
! !IROUTINE: shr_msg_chdir -- Change working directory.
!
! !DESCRIPTION:
! change the cwd (current working directory), see shr_msg_stdio for notes
!
! !INTERFACE: ------------------------------------------------------------------
SUBROUTINE shr_msg_chdir(model),2
! !USES:
use shr_sys_mod
, only: shr_sys_chdir
implicit none
! !INPUT/OUTPUT PARAMETERS:
!--- arguments ---
character(len=*),intent(in) :: model ! used to construct env varible name
!EOP
!--- local ---
!-------------------------------------------------------------------------------
! Notes:
!
!-------------------------------------------------------------------------------
call shr_file_chdir
( model )
END SUBROUTINE shr_msg_chdir
!===============================================================================
!BOP ===========================================================================
!
! !IROUTINE: shr_msg_dirio --- Change stdin and stdout.
!
! !DESCRIPTION:
! change the stdin & stdout (units 5 & 6), see shr_msg_stdio for notes
!
! !INTERFACE: ------------------------------------------------------------------
SUBROUTINE shr_msg_dirio(model),1
implicit none
! !INPUT/OUTPUT PARAMETERS:
!--- arguments ---
character(len=*),intent(in) :: model ! used to construct env varible name
!EOP
!--- local ---
!-------------------------------------------------------------------------------
! Notes:
!
!-------------------------------------------------------------------------------
call shr_file_dirio
(model)
END SUBROUTINE shr_msg_dirio
!===============================================================================
!BOP ===========================================================================
!
! !IROUTINE: shr_msg_chStdIn -- Change stdin
!
! !DESCRIPTION:
! change the stdin (unit 5), see shr_msg_stdio for notes
!
! !INTERFACE: ------------------------------------------------------------------
SUBROUTINE shr_msg_chStdIn(model),1
implicit none
! !INPUT/OUTPUT PARAMETERS:
!--- arguments ---
character(*),intent(in) :: model ! used to construct env varible name
!EOP
!--- local ---
!-------------------------------------------------------------------------------
! Notes:
!
!-------------------------------------------------------------------------------
call shr_file_chStdIn
(model)
END SUBROUTINE shr_msg_chStdIn
!===============================================================================
!BOP ===========================================================================
!
! !IROUTINE: shr_msg_stdout -- Change stdout
!
! !DESCRIPTION:
! change the stdout (unit 6), see shr_msg_stdio for notes
!
! !INTERFACE: ------------------------------------------------------------------
SUBROUTINE shr_msg_chStdOut(model),1
implicit none
! !INPUT/OUTPUT PARAMETERS:
!--- arguments ---
character(*),intent(in) :: model ! used to construct env varible name
!EOP
!--- local ---
!-------------------------------------------------------------------------------
! Notes:
!
!-------------------------------------------------------------------------------
call shr_file_chStdOut
(model)
END SUBROUTINE shr_msg_chStdOut
!===============================================================================
END MODULE shr_msg_mod