C $Header: /u/gcmpack/MITgcm/pkg/mypackage/mypackage_readparms.F,v 1.4 2009/12/27 23:40:03 jmc Exp $
C $Name: $
#include "MYPACKAGE_OPTIONS.h"
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
CBOP 0
C !ROUTINE: MYPACKAGE_READPARMS
C !INTERFACE:
SUBROUTINE MYPACKAGE_READPARMS( myThid )
C !DESCRIPTION:
C Initialize MYPACKAGE variables and constants.
C !USES:
IMPLICIT NONE
#include "SIZE.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
#include "MYPACKAGE.h"
C !INPUT PARAMETERS:
INTEGER myThid
CEOP
#ifdef ALLOW_MYPACKAGE
C !LOCAL VARIABLES:
C msgBuf :: Informational/error message buffer
C iUnit :: Work variable for IO unit number
CHARACTER*(MAX_LEN_MBUF) msgBuf
INTEGER iUnit
NAMELIST //MYPACKAGE_PARM01
& myPa_MNC,
& myPa_StaV_Cgrid, myPa_Tend_Cgrid,
& myPa_applyTendT, myPa_applyTendS,
& myPa_applyTendU, myPa_applyTendV,
& myPa_doSwitch1, myPa_doSwitch2,
& myPa_index1, myPa_index2,
& myPa_param1, myPa_param2,
& myPa_string1, myPa_string2,
& myPa_Scal1File, myPa_Scal2File,
& myPa_VelUFile, myPa_VelVFile,
& myPa_Surf1File, myPa_Surf2File
_BEGIN_MASTER(myThid)
C-- Default values for MYPACKAGE
myPa_MNC = useMNC
myPa_StaV_Cgrid = .TRUE.
myPa_Tend_Cgrid = .TRUE.
myPa_applyTendT = .FALSE.
myPa_applyTendS = .FALSE.
myPa_applyTendU = .FALSE.
myPa_applyTendV = .FALSE.
C- additional parameters:
myPa_doSwitch1 = .FALSE.
myPa_doSwitch2 = .FALSE.
myPa_index1 = 0
myPa_index2 = 0
myPa_param1 = 0. _d 0
myPa_param2 = 0. _d 0
myPa_string1 = ' '
myPa_string2 = ' '
C- file names for initial conditions:
myPa_Scal1File = ' '
myPa_Scal2File = ' '
myPa_VelUFile = ' '
myPa_VelVFile = ' '
myPa_Surf1File = ' '
myPa_Surf2File = ' '
WRITE(msgBuf,'(A)') 'MYPACKAGE_READPARMS: opening data.mypackage'
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
& SQUEEZE_RIGHT , 1)
CALL OPEN_COPY_DATA_FILE(
I 'data.mypackage', 'MYPACKAGE_READPARMS',
O iUnit,
I myThid )
C Read parameters from open data file
READ(UNIT=iUnit,NML=MYPACKAGE_PARM01)
WRITE(msgBuf,'(A)')
& 'MYPACKAGE_READPARMS: finished reading data.mypackage'
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
& SQUEEZE_RIGHT , 1)
C Close the open data file
CLOSE(iUnit)
C Make sure that we locally honor the global MNC on/off flag
myPa_MNC = myPa_MNC .AND. useMNC
#ifndef ALLOW_MNC
C Fix to avoid running without getting any output:
myPa_MNC = .FALSE.
#endif
myPa_MDSIO = (.NOT. myPa_MNC) .OR. outputTypesInclusive
_END_MASTER(myThid)
C-- Everyone else must wait for the parameters to be loaded
_BARRIER
#endif /* ALLOW_MYPACKAGE */
RETURN
END