C $Header: /home/ubuntu/mnt/e9_copy/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