CGpop mini-Application (2-sided MPI 1D data structure version) 0.1
Functions/Subroutines | Variables
IOUnitsMod Module Reference

I/O unit manager for tracking, assigning and reserving I/O unit numbers. More...

Functions/Subroutines

subroutine, public IOUnitsGet (iunit)
 This routine returns the next available i/o unit and marks it as in use to prevent any later use. Note that {all} processors must call this routine even if only the master task is doing the i/o. This is necessary insure that the units remain synchronized for other parallel I/O functions.
subroutine, public IOUnitsRelease (iunit)
 This routine releases an i/o unit (marks it as available). Note that {all} processors must call this routine even if only the master task is doing the i/o. This is necessary insure that the units remain synchronized for other parallel I/O functions.
subroutine, public IOUnitsFlush (iunit)
 This routine enables a user to flush the output from an IO unit (typically stdout) to force output when the system is buffering such output. Because this system function is system dependent, we only support this wrapper and users are welcome to insert the code relevant to their local machine. In the case where the CCSM libraries are available, the shared routine for sys flush can be used (and is provided here under a preprocessor option).

Variables

integer(i4), parameter, public stdin = 5
integer(i4), parameter, public stdout = 6
integer(i4), parameter, public stderr = 6
integer(i4), parameter, public nmlin = 10
character(9), parameter, public delimFormat = "(72('-'))"
character(9), parameter, public delimFormatNew = "(72('='))"
character(5), parameter, public blankFormat = "(' ')"
character(7), parameter, public nml_filename = 'pop_in'
integer(i4), parameter IOUnitsMinUnits = 11
integer(i4), parameter IOUnitsMaxUnits = 99
logical(log_kind) IOUnitsInitialized = .false.
logical(log_kind), dimension(iounitsmaxunits) IOUnitsInUse

Detailed Description

There are three reserved I/O units set as parameters in this module. The default units for standard input (stdin), standard output (stdout) and standard error (stderr). These are currently set as units 5,6,6, respectively as that is the most commonly used among vendors. However, the user may change these if those default units are conflicting with other models or if the vendor is using different values.

The maximum number of I/O units per node is currently set by the parameter POP.


Function/Subroutine Documentation

subroutine,public IOUnitsMod::IOUnitsFlush ( integer (i4),intent(in)  iunit)
Parameters:
iuniti/o unit to be flushed

Definition at line 207 of file IOUnitsMod.F90.

subroutine,public IOUnitsMod::IOUnitsGet ( integer (i4),intent(out)  iunit)
Parameters:
iunitnext free i/o unit

Definition at line 94 of file IOUnitsMod.F90.

subroutine,public IOUnitsMod::IOUnitsRelease ( integer (i4),intent(in)  iunit)
Parameters:
iuniti/o unit to be released

Definition at line 165 of file IOUnitsMod.F90.


Variable Documentation

character (5),parameter,public blankFormat = "(' ')"

Definition at line 56 of file IOUnitsMod.F90.

character (9),parameter,public delimFormat = "(72('-'))"

Definition at line 52 of file IOUnitsMod.F90.

character (9),parameter,public delimFormatNew = "(72('='))"

Definition at line 52 of file IOUnitsMod.F90.

logical (log_kind) IOUnitsInitialized = .false.

Definition at line 73 of file IOUnitsMod.F90.

logical (log_kind),dimension(iounitsmaxunits) IOUnitsInUse

Definition at line 76 of file IOUnitsMod.F90.

integer (i4),parameter IOUnitsMaxUnits = 99

Definition at line 69 of file IOUnitsMod.F90.

integer (i4),parameter IOUnitsMinUnits = 11

Definition at line 69 of file IOUnitsMod.F90.

character (7),parameter,public nml_filename = 'pop_in'

Definition at line 59 of file IOUnitsMod.F90.

integer (i4),parameter,public nmlin = 10

Definition at line 44 of file IOUnitsMod.F90.

integer (i4),parameter,public stderr = 6

Definition at line 44 of file IOUnitsMod.F90.

integer (i4),parameter,public stdin = 5

Definition at line 44 of file IOUnitsMod.F90.

integer (i4),parameter,public stdout = 6

Definition at line 44 of file IOUnitsMod.F90.

 All Classes Namespaces Files Functions Variables