C $Header: /u/gcmpack/MITgcm/pkg/ebm/ebm_readparms.F,v 1.1 2004/05/14 21:10:34 heimbach Exp $
C $Name: $
#include "EBM_OPTIONS.h"
SUBROUTINE EBM_READPARMS( myThid )
C /==========================================================\
C | SUBROUTINE EBM_READPARMS |
C | o Routine to read in file data.ebm |
C \==========================================================/
IMPLICIT NONE
C === Global variables ===
#include "SIZE.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
#include "GRID.h"
#ifdef ALLOW_EBM
#include "EBM.h"
#endif
C === Routine arguments ===
C myThid - Number of this instance
INTEGER myThid
#ifdef ALLOW_EBM
C === Local variables ===
C msgBuf - Informational/error meesage buffer
C errIO - IO error flag
C iUnit - Work variable for IO unit number
CHARACTER*(MAX_LEN_MBUF) msgBuf
INTEGER errIO, iUnit
C-- Namelist
NAMELIST //EBM_PARM01
& tauThetaZonRelax, lambdaThetaZonRelax,
& scale_runoff,
& RunoffFile
_BEGIN_MASTER(myThid)
WRITE(msgBuf,'(A)') ' ebm_readparms: opening data.ebm'
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
& SQUEEZE_RIGHT , 1)
CALL OPEN_COPY_DATA_FILE(
I 'data.ebm', 'ebm_readparms',
O iUnit, myThid )
C-- set default
tauThetaZonRelax = 0.
lambdaThetaZonRelax = 0.
scale_runoff = 1.
RunoffFile = ' '
C-----------------------------------------------------------------------
C-- Read settings from model parameter file "data.ebm".
READ(UNIT=iUnit,NML=EBM_PARM01,IOSTAT=errIO)
IF ( errIO .LT. 0 ) THEN
WRITE(msgBuf,'(A)')
& 'S/R ebm_readparms'
CALL PRINT_ERROR( msgBuf , 1)
WRITE(msgBuf,'(A)')
& 'Error reading numerical model '
CALL PRINT_ERROR( msgBuf , 1)
WRITE(msgBuf,'(A)')
& 'parameter file "data.ebm"'
CALL PRINT_ERROR( msgBuf , 1)
WRITE(msgBuf,'(A)')
& 'Problem in namelist EBM_PARM01'
CALL PRINT_ERROR( msgBuf , 1)
C CALL MODELDATA_EXAMPLE( myThid )
STOP 'ABNORMAL END: S/R ebm_readparms'
ENDIF
CLOSE(iUnit)
WRITE(msgBuf,'(A)') ' ebm_readparms: finished reading data.ebm'
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
& SQUEEZE_RIGHT , 1)
IF ( tauThetaZonRelax .NE. 0. _d 0 ) THEN
lambdaThetaZonRelax = 1./tauThetaZonRelax
ENDIF
_END_MASTER(myThid)
C-- Everyone else must wait for the parameters to be loaded
_BARRIER
#endif /* ALLOW_EBM */
return
end