63 |
|
|
64 |
C-- Elliptic solver parameters |
C-- Elliptic solver parameters |
65 |
NAMELIST /PARM02/ |
NAMELIST /PARM02/ |
66 |
& cg2dMaxIters, cg2dChkResFreq, cg2dTargetResidual |
& cg2dMaxIters, cg2dChkResFreq, cg2dTargetResidual, cg2dpcOffDFac |
67 |
|
|
68 |
C-- Time stepping parammeters |
C-- Time stepping parammeters |
69 |
NAMELIST /PARM03/ |
NAMELIST /PARM03/ |
70 |
& nIter0, nTimeSteps, deltaT, deltaTmom, deltaTtracer, abEps, tauCD, rCD, |
& nIter0, nTimeSteps, deltaT, deltaTmom, deltaTtracer, abEps, tauCD, rCD, |
71 |
& startTime, endTime, chkPtFreq, dumpFreq |
& startTime, endTime, chkPtFreq, dumpFreq, deltaTClock, pChkPtFreq |
72 |
|
|
73 |
C-- Gridding parameters |
C-- Gridding parameters |
74 |
NAMELIST /PARM04/ |
NAMELIST /PARM04/ |
184 |
cg2dMaxIters = 150 |
cg2dMaxIters = 150 |
185 |
cg2dTargetResidual = 1. _d -7 |
cg2dTargetResidual = 1. _d -7 |
186 |
cg2dChkResFreq = 1 |
cg2dChkResFreq = 1 |
187 |
|
cg2dpcOffDFac = 0.51 _d 0 |
188 |
READ(UNIT=iUnit,NML=PARM02,IOSTAT=errIO,err=5) |
READ(UNIT=iUnit,NML=PARM02,IOSTAT=errIO,err=5) |
189 |
IF ( errIO .GE. 0 ) GOTO 6 |
IF ( errIO .GE. 0 ) GOTO 6 |
190 |
5 CONTINUE |
5 CONTINUE |
210 |
endTime = 0. |
endTime = 0. |
211 |
nIter0 = 0 |
nIter0 = 0 |
212 |
deltaT = 0. |
deltaT = 0. |
213 |
|
deltaTClock = 0. |
214 |
deltaTtracer = 0. |
deltaTtracer = 0. |
215 |
deltaTMom = 0. |
deltaTMom = 0. |
216 |
abEps = 0.01 |
abEps = 0.01 |
217 |
|
pchkPtFreq = 0. |
218 |
chkPtFreq = 3600.*25 |
chkPtFreq = 3600.*25 |
219 |
dumpFreq = 3600.*100 |
dumpFreq = 3600.*100 |
220 |
|
writeStatePrec = precFloat32 |
221 |
|
nCheckLev = 1 |
222 |
|
checkPtSuff(1) = 'ckptA' |
223 |
|
checkPtSuff(2) = 'ckptB' |
224 |
READ(UNIT=iUnit,NML=PARM03,IOSTAT=errIO,err=7) |
READ(UNIT=iUnit,NML=PARM03,IOSTAT=errIO,err=7) |
225 |
IF ( errIO .GE. 0 ) GOTO 8 |
IF ( errIO .GE. 0 ) GOTO 8 |
226 |
7 CONTINUE |
7 CONTINUE |
245 |
IF ( deltaT .EQ. 0. ) deltaT = deltaTtracer |
IF ( deltaT .EQ. 0. ) deltaT = deltaTtracer |
246 |
IF ( deltaTmom .EQ. 0. ) deltaTmom = deltaT |
IF ( deltaTmom .EQ. 0. ) deltaTmom = deltaT |
247 |
IF ( deltaTtracer .EQ. 0. ) deltaTtracer = deltaT |
IF ( deltaTtracer .EQ. 0. ) deltaTtracer = deltaT |
248 |
|
IF ( deltaTClock .EQ. 0. ) deltaTClock = deltaT |
249 |
C o Time step count |
C o Time step count |
250 |
IF ( endTime .NE. 0 ) THEN |
IF ( endTime .NE. 0 ) THEN |
251 |
IF ( deltaT .NE. 0 ) nTimeSteps = INT(endTime/deltaT) |
IF ( deltaTClock .NE. 0 ) nTimeSteps = |
252 |
|
& INT((endTime-startTime)/deltaTClock) |
253 |
ENDIF |
ENDIF |
254 |
C o Finish time |
C o Finish time |
255 |
IF ( endTime .EQ. 0. ) endTime = FLOAT(nTimeSteps)*deltaT |
IF ( endTime .EQ. 0. ) endTime = FLOAT(nTimeSteps)*deltaTClock |
256 |
|
|
257 |
C-- Grid parameters |
C-- Grid parameters |
258 |
C In cartesian coords distances are in metres |
C In cartesian coords distances are in metres |