58 |
& GMmaxslope,GMlength,GMalpha,GMdepth,GMkbackground, |
& GMmaxslope,GMlength,GMalpha,GMdepth,GMkbackground, |
59 |
& tRef, sRef, |
& tRef, sRef, |
60 |
& momViscosity, momAdvection, momForcing, useCoriolis, |
& momViscosity, momAdvection, momForcing, useCoriolis, |
61 |
|
& momPressureForcing, |
62 |
& tempDiffusion, tempAdvection, tempForcing, |
& tempDiffusion, tempAdvection, tempForcing, |
63 |
& saltDiffusion, saltAdvection, saltForcing, |
& saltDiffusion, saltAdvection, saltForcing, |
64 |
& implicitFreeSurface, rigidLid, freeSurfFac |
& implicitFreeSurface, rigidLid, freeSurfFac |
70 |
C-- Time stepping parammeters |
C-- Time stepping parammeters |
71 |
NAMELIST /PARM03/ |
NAMELIST /PARM03/ |
72 |
& nIter0, nTimeSteps, deltaT, deltaTmom, deltaTtracer, abEps, tauCD, rCD, |
& nIter0, nTimeSteps, deltaT, deltaTmom, deltaTtracer, abEps, tauCD, rCD, |
73 |
& startTime, endTime, chkPtFreq, dumpFreq, deltaTClock, pChkPtFreq |
& startTime, endTime, chkPtFreq, dumpFreq, deltaTClock, pChkPtFreq, |
74 |
|
& cAdjFreq |
75 |
|
|
76 |
C-- Gridding parameters |
C-- Gridding parameters |
77 |
NAMELIST /PARM04/ |
NAMELIST /PARM04/ |
168 |
implicitFreeSurface = .TRUE. |
implicitFreeSurface = .TRUE. |
169 |
rigidLid = .FALSE. |
rigidLid = .FALSE. |
170 |
freeSurfFac = 1. _d 0 |
freeSurfFac = 1. _d 0 |
171 |
|
momViscosity = .TRUE. |
172 |
|
momAdvection = .TRUE. |
173 |
|
momForcing = .TRUE. |
174 |
|
useCoriolis = .TRUE. |
175 |
|
momPressureForcing = .TRUE. |
176 |
READ(UNIT=iUnit,NML=PARM01,IOSTAT=errIO,err=3) |
READ(UNIT=iUnit,NML=PARM01,IOSTAT=errIO,err=3) |
177 |
IF ( errIO .GE. 0 ) GOTO 4 |
IF ( errIO .GE. 0 ) GOTO 4 |
178 |
3 CONTINUE |
3 CONTINUE |
193 |
4 CONTINUE |
4 CONTINUE |
194 |
IF ( implicitFreeSurface ) freeSurfFac = 1. _d 0 |
IF ( implicitFreeSurface ) freeSurfFac = 1. _d 0 |
195 |
IF ( rigidLid ) freeSurfFac = 0. _d 0 |
IF ( rigidLid ) freeSurfFac = 0. _d 0 |
196 |
|
IF ( momViscosity ) THEN |
197 |
|
vfFacMom = 1. _d 0 |
198 |
|
ELSE |
199 |
|
vfFacMom = 0. _d 0 |
200 |
|
ENDIF |
201 |
|
IF ( momAdvection ) THEN |
202 |
|
afFacMom = 1. _d 0 |
203 |
|
ELSE |
204 |
|
afFacMom = 0. _d 0 |
205 |
|
ENDIF |
206 |
|
IF ( momForcing ) THEN |
207 |
|
foFacMom = 1. _d 0 |
208 |
|
ELSE |
209 |
|
foFacMom = 0. _d 0 |
210 |
|
ENDIF |
211 |
|
IF ( useCoriolis ) THEN |
212 |
|
cfFacMom = 1. _d 0 |
213 |
|
ELSE |
214 |
|
cfFacMom = 0. _d 0 |
215 |
|
ENDIF |
216 |
|
IF ( momPressureForcing ) THEN |
217 |
|
pfFacMom = 1. _d 0 |
218 |
|
ELSE |
219 |
|
pfFacMom = 0. _d 0 |
220 |
|
ENDIF |
221 |
|
|
222 |
IF ( implicitFreeSurface .AND. rigidLid ) THEN |
IF ( implicitFreeSurface .AND. rigidLid ) THEN |
223 |
WRITE(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
267 |
nCheckLev = 1 |
nCheckLev = 1 |
268 |
checkPtSuff(1) = 'ckptA' |
checkPtSuff(1) = 'ckptA' |
269 |
checkPtSuff(2) = 'ckptB' |
checkPtSuff(2) = 'ckptB' |
270 |
|
cAdjFreq = -1. _d 0 |
271 |
READ(UNIT=iUnit,NML=PARM03,IOSTAT=errIO,err=7) |
READ(UNIT=iUnit,NML=PARM03,IOSTAT=errIO,err=7) |
272 |
IF ( errIO .GE. 0 ) GOTO 8 |
IF ( errIO .GE. 0 ) GOTO 8 |
273 |
7 CONTINUE |
7 CONTINUE |
293 |
IF ( deltaTmom .EQ. 0. ) deltaTmom = deltaT |
IF ( deltaTmom .EQ. 0. ) deltaTmom = deltaT |
294 |
IF ( deltaTtracer .EQ. 0. ) deltaTtracer = deltaT |
IF ( deltaTtracer .EQ. 0. ) deltaTtracer = deltaT |
295 |
IF ( deltaTClock .EQ. 0. ) deltaTClock = deltaT |
IF ( deltaTClock .EQ. 0. ) deltaTClock = deltaT |
296 |
|
C o Convection frequency |
297 |
|
IF ( cAdjFreq .LT. 0. ) THEN |
298 |
|
cAdjFreq = deltaTClock |
299 |
|
ENDIF |
300 |
C o Time step count |
C o Time step count |
301 |
IF ( endTime .NE. 0 ) THEN |
IF ( endTime .NE. 0 ) THEN |
302 |
IF ( deltaTClock .NE. 0 ) nTimeSteps = |
IF ( deltaTClock .NE. 0 ) nTimeSteps = |