C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/pkg/offline/offline_readparms.F,v 1.9 2010/04/04 14:16:32 jmc Exp $ C $Name: checkpoint62k $ #include "OFFLINE_OPTIONS.h" SUBROUTINE OFFLINE_READPARMS( myThid ) C *==========================================================* C | SUBROUTINE OFFLINE_READPARMS C | o Routine to initialize OFFLINE variables and constants. C *==========================================================* C | Initialize OFFLINE parameters, read in data.off C *==========================================================* IMPLICIT NONE C === Global variables === #include "SIZE.h" #include "EEPARAMS.h" #include "PARAMS.h" #ifdef ALLOW_OFFLINE #include "OFFLINE.h" #endif C === Routine arguments === INTEGER myThid #ifdef ALLOW_OFFLINE C === Local variables === C msgBuf :: Informational/error message buffer C iUnit :: Work variable for IO unit number CHARACTER*(MAX_LEN_MBUF) msgBuf INTEGER iUnit C Retired main data.offline file parameters CHARACTER*(MAX_LEN_FNAM) KPP_ghatFile C-- Bulk Formula parameter NAMELIST /OFFLINE_PARM01/ & UvelFile, VvelFile, WvelFile, ThetFile, & SaltFile, ConvFile, GMwxFile, GMwyFile, & GMwzFile, HfluxFile, SfluxFile, & KPP_DiffSFile, KPP_ghatKFile, ICEFile, & KPP_ghatFile NAMELIST /OFFLINE_PARM02/ & offlineIter0, offlineOffsetIter, & deltaToffline, offlineForcingPeriod, & offlineForcingCycle, offlineLoadPrec C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| _BEGIN_MASTER(myThid) WRITE(msgBuf,'(A)') ' OFFLINE_READPARMS: opening data.off' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT, myThid ) CALL OPEN_COPY_DATA_FILE( I 'data.off', 'OFFLINE_READPARMS', O iUnit, I myThid ) C-- Default values for params in OFFLINE_PARM01 : UvelFile=' ' VvelFile=' ' WvelFile=' ' ThetFile=' ' SaltFile=' ' ConvFile=' ' GMwxFile=' ' GMwyFile=' ' GMwzFile=' ' HFluxFile=' ' SFluxFile=' ' KPP_DiffSFile=' ' KPP_ghatKFile=' ' KPP_ghatFile='KPP_ghatFile has been replaced by KPP_ghatKFile' ICEFile=' ' C-- Read parameters from open data file READ(UNIT=iUnit,NML=OFFLINE_PARM01) IF ( KPP_ghatFile .NE. & 'KPP_ghatFile has been replaced by KPP_ghatKFile' ) THEN c nRetired = nRetired+1 WRITE(msgBuf,'(A,A)') 'S/R OFFLINE_READPARMS: "KPP_ghatFile"', & ' is no longer allowed in file "data.off"' CALL PRINT_ERROR( msgBuf, myThid ) WRITE(msgBuf,'(A,A)') 'S/R OFFLINE_READPARMS: read instead ', & 'the product ghat*diffKz from file "KPP_ghatKFile"' CALL PRINT_ERROR( msgBuf, myThid ) STOP 'ABNORMAL END: S/R OFFLINE_READPARMS' ENDIF C-- Default values for params in OFFLINE_PARM02 : deltaToffline=deltaTclock offlineIter0=nIter0 !initial offline field timestep offlineOffsetIter=0 !offset offlineForcingPeriod=2592000. offlineForcingCycle=31104000. offlineLoadPrec=readBinaryPrec C-- Read parameters from open data file READ(UNIT=iUnit,NML=OFFLINE_PARM02) WRITE(msgBuf,'(A)') & ' OFFLINE_READPARMS: finished reading data.off' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT, myThid ) C-- Close the open data file CLOSE(iUnit) _END_MASTER(myThid) C-- Everyone else must wait for the parameters to be loaded _BARRIER #endif /* ALLOW_OFFLINE */ RETURN END