154 |
& startTime, endTime, chkPtFreq, |
& startTime, endTime, chkPtFreq, |
155 |
& dumpFreq, taveFreq, tave_lastIter, deltaTClock, diagFreq, |
& dumpFreq, taveFreq, tave_lastIter, deltaTClock, diagFreq, |
156 |
& monitorFreq, pChkPtFreq, cAdjFreq, |
& monitorFreq, pChkPtFreq, cAdjFreq, |
157 |
& tauThetaClimRelax, tauSaltClimRelax, tauTr1ClimRelax, |
& tauThetaClimRelax, tauSaltClimRelax, latBandClimRelax, |
158 |
|
& tauTr1ClimRelax, |
159 |
& periodicExternalForcing, externForcingPeriod, externForcingCycle |
& periodicExternalForcing, externForcingPeriod, externForcingCycle |
160 |
|
|
161 |
C-- Gridding parameters |
C-- Gridding parameters |
196 |
C-- Iniialise retired parameters to unlikely value |
C-- Iniialise retired parameters to unlikely value |
197 |
nRetired = 0 |
nRetired = 0 |
198 |
zonal_filt_lat = UNSET_RL |
zonal_filt_lat = UNSET_RL |
199 |
|
gravitySign = UNSET_RL |
200 |
|
|
201 |
C-- Open the parameter file |
C-- Open the parameter file |
202 |
OPEN(UNIT=scrUnit1,STATUS='SCRATCH') |
OPEN(UNIT=scrUnit1,STATUS='SCRATCH') |
470 |
& ' now read from file "data.zonfilt".' |
& ' now read from file "data.zonfilt".' |
471 |
CALL PRINT_ERROR( msgBuf , myThid) |
CALL PRINT_ERROR( msgBuf , myThid) |
472 |
ENDIF |
ENDIF |
473 |
|
IF ( gravitySign .NE. UNSET_RL ) THEN |
474 |
|
nRetired = nRetired+1 |
475 |
|
WRITE(msgBuf,'(A,A)') |
476 |
|
& 'S/R INI_PARMS: "gravitySign" is set according to vertical ', |
477 |
|
& ' coordinate and is no longer allowed in file "data".' |
478 |
|
CALL PRINT_ERROR( msgBuf , myThid) |
479 |
|
ENDIF |
480 |
|
|
481 |
C-- Elliptic solver parameters |
C-- Elliptic solver parameters |
482 |
READ(UNIT=iUnit,NML=PARM02) !,IOSTAT=errIO) |
READ(UNIT=iUnit,NML=PARM02) !,IOSTAT=errIO) |
503 |
|
|
504 |
C-- Time stepping parameters |
C-- Time stepping parameters |
505 |
rCD = -1.D0 |
rCD = -1.D0 |
506 |
|
latBandClimRelax = UNSET_RL |
507 |
READ(UNIT=iUnit,NML=PARM03) !,IOSTAT=errIO) |
READ(UNIT=iUnit,NML=PARM03) !,IOSTAT=errIO) |
508 |
IF ( errIO .LT. 0 ) THEN |
IF ( errIO .LT. 0 ) THEN |
509 |
WRITE(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
826 |
metricTerms = .FALSE. |
metricTerms = .FALSE. |
827 |
useNHMTerms = .FALSE. |
useNHMTerms = .FALSE. |
828 |
ENDIF |
ENDIF |
829 |
|
C-- Set default for latitude-band where relaxation to climatology applies |
830 |
|
IF ( latBandClimRelax .EQ. UNSET_RL) THEN |
831 |
|
IF ( usingCartesianGrid ) latBandClimRelax = delY(1)*Ny*Ny |
832 |
|
IF ( usingSphericalPolarGrid ) latBandClimRelax= 180. _d 0 |
833 |
|
IF ( usingCurvilinearGrid ) latBandClimRelax= 180. _d 0 |
834 |
|
ENDIF |
835 |
C-- set cell Center depth and put Interface at the middle between 2 C |
C-- set cell Center depth and put Interface at the middle between 2 C |
836 |
setCenterDr = .FALSE. |
setCenterDr = .FALSE. |
837 |
IF (delRc(1).NE.UNSET_RL) setCenterDr=.TRUE. |
IF (delRc(1).NE.UNSET_RL) setCenterDr=.TRUE. |
919 |
rkFac = 1.D0 |
rkFac = 1.D0 |
920 |
horiVertRatio = 1.D0 |
horiVertRatio = 1.D0 |
921 |
ENDIF |
ENDIF |
922 |
|
gravitySign = -1. _d 0 |
923 |
convertEmP2rUnit = 1. _d 0 |
convertEmP2rUnit = 1. _d 0 |
924 |
IF (buoyancyRelation.EQ.'ATMOSPHERIC') |
IF (buoyancyRelation.EQ.'ATMOSPHERIC') THEN |
925 |
& horiVertRatio = Gravity * rhoConst |
gravitySign = 1. _d 0 |
926 |
|
horiVertRatio = Gravity * rhoConst |
927 |
|
ENDIF |
928 |
IF (buoyancyRelation.EQ.'OCEANICP') THEN |
IF (buoyancyRelation.EQ.'OCEANICP') THEN |
929 |
|
gravitySign = 1. _d 0 |
930 |
horiVertRatio = Gravity * rhoConst |
horiVertRatio = Gravity * rhoConst |
931 |
convertEmP2rUnit = Gravity * rhoConstFresh |
convertEmP2rUnit = Gravity * rhoConstFresh |
932 |
ENDIF |
ENDIF |