47 |
C checkPtSuff - List of checkpoint file suffices |
C checkPtSuff - List of checkpoint file suffices |
48 |
C bathyFile - File containing bathymetry. If not defined bathymetry |
C bathyFile - File containing bathymetry. If not defined bathymetry |
49 |
C is taken from inline function. |
C is taken from inline function. |
50 |
|
C topoFile - File containing the topography of the surface (unit=m) |
51 |
|
C (mainly used for the atmosphere = ground height). |
52 |
C hydrogThetaFile - File containing initial hydrographic data for potential |
C hydrogThetaFile - File containing initial hydrographic data for potential |
53 |
C temperature. |
C temperature. |
54 |
C hydrogSaltFile - File containing initial hydrographic data for salinity. |
C hydrogSaltFile - File containing initial hydrographic data for salinity. |
65 |
C buoyancyRelation - Flag used to indicate which relation to use to |
C buoyancyRelation - Flag used to indicate which relation to use to |
66 |
C get buoyancy. |
C get buoyancy. |
67 |
COMMON /PARM_C/ checkPtSuff, |
COMMON /PARM_C/ checkPtSuff, |
68 |
& bathyFile, hydrogThetaFile, hydrogSaltFile, |
& bathyFile, topoFile, |
69 |
|
& hydrogThetaFile, hydrogSaltFile, |
70 |
& zonalWindFile, meridWindFile, thetaClimFile, |
& zonalWindFile, meridWindFile, thetaClimFile, |
71 |
& saltClimFile, buoyancyRelation, |
& saltClimFile, buoyancyRelation, |
72 |
& EmPmRfile, surfQfile, surfQswfile, |
& EmPmRfile, surfQfile, surfQswfile, |
73 |
& uVelInitFile, vVelInitFile, pSurfInitFile, |
& uVelInitFile, vVelInitFile, pSurfInitFile, |
74 |
& dQdTfile |
& dQdTfile |
75 |
CHARACTER*(5) checkPtSuff(maxNoChkptLev) |
CHARACTER*(5) checkPtSuff(maxNoChkptLev) |
76 |
CHARACTER*(MAX_LEN_FNAM) bathyFile |
CHARACTER*(MAX_LEN_FNAM) bathyFile, topoFile |
77 |
CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile |
CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile |
78 |
CHARACTER*(MAX_LEN_FNAM) hydrogSaltFile |
CHARACTER*(MAX_LEN_FNAM) hydrogSaltFile |
79 |
CHARACTER*(MAX_LEN_FNAM) zonalWindFile |
CHARACTER*(MAX_LEN_FNAM) zonalWindFile |
106 |
C writeBinaryPrec - Precision used for writing binary files |
C writeBinaryPrec - Precision used for writing binary files |
107 |
C readBinaryPrec - Precision used for reading binary files |
C readBinaryPrec - Precision used for reading binary files |
108 |
C nCheckLev - Holds current checkpoint level |
C nCheckLev - Holds current checkpoint level |
109 |
C nShap - "Order" of shapiro filter to apply to |
C nonlinFreeSurf - option related to non-linear free surface |
110 |
C model prognositic fields. |
C =0 Linear free surface ; >0 Non-linear |
|
C nShap == 1 => del2 |
|
|
C nShap == 2 => del4 |
|
|
C nShap == 3 => del6 |
|
|
C etc... |
|
111 |
|
|
112 |
COMMON /PARM_I/ |
COMMON /PARM_I/ |
113 |
& cg2dMaxIters, |
& cg2dMaxIters, |
118 |
& numStepsPerPickup, |
& numStepsPerPickup, |
119 |
& writeStatePrec, nCheckLev, |
& writeStatePrec, nCheckLev, |
120 |
& writeBinaryPrec, readBinaryPrec, |
& writeBinaryPrec, readBinaryPrec, |
121 |
& nShap, zonal_filt_sinpow, zonal_filt_cospow |
& nonlinFreeSurf, |
122 |
|
& zonal_filt_sinpow, zonal_filt_cospow, |
123 |
|
& tempAdvScheme, saltAdvScheme, tracerAdvScheme |
124 |
INTEGER cg2dMaxIters |
INTEGER cg2dMaxIters |
125 |
INTEGER cg2dChkResFreq |
INTEGER cg2dChkResFreq |
126 |
INTEGER cg3dMaxIters |
INTEGER cg3dMaxIters |
133 |
INTEGER writeBinaryPrec |
INTEGER writeBinaryPrec |
134 |
INTEGER readBinaryPrec |
INTEGER readBinaryPrec |
135 |
INTEGER nCheckLev |
INTEGER nCheckLev |
136 |
INTEGER nShap |
INTEGER nonlinFreeSurf |
137 |
INTEGER zonal_filt_sinpow |
INTEGER zonal_filt_sinpow |
138 |
INTEGER zonal_filt_cospow |
INTEGER zonal_filt_cospow |
139 |
|
INTEGER tempAdvScheme |
140 |
|
INTEGER saltAdvScheme |
141 |
|
INTEGER tracerAdvScheme |
142 |
|
|
143 |
C-- COMMON /PARM_L/ Logical valued parameters used by the model. |
C-- COMMON /PARM_L/ Logical valued parameters used by the model. |
144 |
C usingCartesianGrid - If TRUE grid generation will be in a cartesian |
C usingCartesianGrid - If TRUE grid generation will be in a cartesian |
169 |
C and off. |
C and off. |
170 |
C saltForcing - Flag which turns external forcing of salinit on |
C saltForcing - Flag which turns external forcing of salinit on |
171 |
C and off. |
C and off. |
|
C implicitFreeSurface - Set to true to use implcit free surface |
|
172 |
C rigidLid - Set to true to use rigid lid |
C rigidLid - Set to true to use rigid lid |
173 |
|
C implicitFreeSurface - Set to true to use implcit free surface |
174 |
|
C exactConserv - Set to true to conserve exactly the total Volume |
175 |
|
C uniformLin_PhiSurf - Set to true to use a uniform Bo_surf in the |
176 |
|
C linear relation Phi_surf = Bo_surf*eta |
177 |
C momStepping - Turns momentum equation time-stepping off |
C momStepping - Turns momentum equation time-stepping off |
178 |
C tempStepping - Turns temperature equation time-stepping off |
C tempStepping - Turns temperature equation time-stepping off |
179 |
C saltStepping - Turns salinity equation time-stepping off |
C saltStepping - Turns salinity equation time-stepping off |
180 |
|
C tr1Stepping - Turns passive tracer 1 time-stepping on/off |
181 |
C useConstantF - Coriolis parameter set to f0 |
C useConstantF - Coriolis parameter set to f0 |
182 |
C useBetaPlaneF - Coriolis parameter set to f0 + beta.y |
C useBetaPlaneF - Coriolis parameter set to f0 + beta.y |
183 |
C useSphereF - Coriolis parameter set to 2.omega.sin(phi) |
C useSphereF - Coriolis parameter set to 2.omega.sin(phi) |
197 |
C allowFreezing - Allows water to freeze and form ice |
C allowFreezing - Allows water to freeze and form ice |
198 |
C groundAtK1 - put the surface(k=1) at the Lower Boundary (=ground) |
C groundAtK1 - put the surface(k=1) at the Lower Boundary (=ground) |
199 |
COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid, |
COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid, |
200 |
|
& usingCurvilinearGrid, |
201 |
& no_slip_sides,no_slip_bottom, |
& no_slip_sides,no_slip_bottom, |
202 |
& staggerTimeStep, |
& staggerTimeStep, |
203 |
& momViscosity, momAdvection, momForcing, useCoriolis, |
& momViscosity, momAdvection, momForcing, useCoriolis, |
204 |
& momPressureForcing,tempDiffusion, tempAdvection, tempForcing, |
& momPressureForcing, vectorInvariantMomentum, |
205 |
|
& tempDiffusion, tempAdvection, tempForcing, |
206 |
& saltDiffusion, saltAdvection, saltForcing, |
& saltDiffusion, saltAdvection, saltForcing, |
207 |
& implicitFreeSurface, rigidLid, |
& rigidLid, implicitFreeSurface, exactConserv, uniformLin_PhiSurf, |
208 |
& momStepping, tempStepping, saltStepping, |
& momStepping, tempStepping, saltStepping, tr1Stepping, |
209 |
& metricTerms, usingSphericalPolarMTerms, |
& metricTerms, usingSphericalPolarMTerms, |
210 |
& useConstantF, useBetaPlaneF, useSphereF, |
& useConstantF, useBetaPlaneF, useSphereF, |
211 |
& implicitDiffusion, implicitViscosity, |
& implicitDiffusion, implicitViscosity, |
212 |
& doThetaClimRelax, doSaltClimRelax, |
& doThetaClimRelax, doSaltClimRelax, doTr1ClimRelax, |
213 |
& periodicExternalForcing, usingPCoords, usingZCoords, |
& periodicExternalForcing, usingPCoords, usingZCoords, |
214 |
& nonHydrostatic, globalFiles, |
& nonHydrostatic, globalFiles, |
215 |
& allowFreezing, groundAtK1, |
& allowFreezing, groundAtK1, |
216 |
& usePickupBeforeC35 |
& usePickupBeforeC35, debugMode, |
217 |
|
& readPickupWithTracer, writePickupWithTracer, |
218 |
|
& multiDimAdvection |
219 |
LOGICAL usingCartesianGrid |
LOGICAL usingCartesianGrid |
220 |
LOGICAL usingSphericalPolarGrid |
LOGICAL usingSphericalPolarGrid |
221 |
|
LOGICAL usingCurvilinearGrid |
222 |
LOGICAL usingSphericalPolarMTerms |
LOGICAL usingSphericalPolarMTerms |
223 |
LOGICAL no_slip_sides |
LOGICAL no_slip_sides |
224 |
LOGICAL no_slip_bottom |
LOGICAL no_slip_bottom |
228 |
LOGICAL momForcing |
LOGICAL momForcing |
229 |
LOGICAL momPressureForcing |
LOGICAL momPressureForcing |
230 |
LOGICAL useCoriolis |
LOGICAL useCoriolis |
231 |
|
LOGICAL vectorInvariantMomentum |
232 |
LOGICAL tempDiffusion |
LOGICAL tempDiffusion |
233 |
LOGICAL tempAdvection |
LOGICAL tempAdvection |
234 |
LOGICAL tempForcing |
LOGICAL tempForcing |
235 |
LOGICAL saltDiffusion |
LOGICAL saltDiffusion |
236 |
LOGICAL saltAdvection |
LOGICAL saltAdvection |
237 |
LOGICAL saltForcing |
LOGICAL saltForcing |
|
LOGICAL implicitFreeSurface |
|
238 |
LOGICAL rigidLid |
LOGICAL rigidLid |
239 |
|
LOGICAL implicitFreeSurface |
240 |
|
LOGICAL exactConserv |
241 |
|
LOGICAL uniformLin_PhiSurf |
242 |
LOGICAL momStepping |
LOGICAL momStepping |
243 |
LOGICAL tempStepping |
LOGICAL tempStepping |
244 |
LOGICAL saltStepping |
LOGICAL saltStepping |
245 |
|
LOGICAL tr1Stepping |
246 |
LOGICAL metricTerms |
LOGICAL metricTerms |
247 |
LOGICAL useConstantF |
LOGICAL useConstantF |
248 |
LOGICAL useBetaPlaneF |
LOGICAL useBetaPlaneF |
251 |
LOGICAL implicitViscosity |
LOGICAL implicitViscosity |
252 |
LOGICAL doThetaClimRelax |
LOGICAL doThetaClimRelax |
253 |
LOGICAL doSaltClimRelax |
LOGICAL doSaltClimRelax |
254 |
|
LOGICAL doTr1ClimRelax |
255 |
LOGICAL periodicExternalForcing |
LOGICAL periodicExternalForcing |
256 |
LOGICAL usingPCoords |
LOGICAL usingPCoords |
257 |
LOGICAL usingZCoords |
LOGICAL usingZCoords |
260 |
LOGICAL allowFreezing |
LOGICAL allowFreezing |
261 |
LOGICAL groundAtK1 |
LOGICAL groundAtK1 |
262 |
LOGICAL usePickupBeforeC35 |
LOGICAL usePickupBeforeC35 |
263 |
|
LOGICAL debugMode |
264 |
|
LOGICAL readPickupWithTracer |
265 |
|
LOGICAL writePickupWithTracer |
266 |
|
LOGICAL multiDimAdvection |
267 |
|
|
268 |
C-- COMMON /PARM_R/ "Real" valued parameters used by the model. |
C-- COMMON /PARM_R/ "Real" valued parameters used by the model. |
269 |
C cg2dTargetResidual |
C gg2dTargetResidual |
270 |
C - Target residual for cg2d solver. |
C - Target residual for cg2d solver; no unit (RHS normalisation) |
271 |
|
C cg2dTargetResWunit |
272 |
|
C - Target residual for cg2d solver; W unit (No RHS normalisation) |
273 |
C cg3dTargetResidual |
C cg3dTargetResidual |
274 |
C - Target residual for cg3d solver. |
C - Target residual for cg3d solver. |
275 |
C cg2dpcOffDFac - Averaging weight for preconditioner off-diagonal. |
C cg2dpcOffDFac - Averaging weight for preconditioner off-diagonal. |
357 |
C hFacMinDz - Minimum dimesional size of a cell (affects hFacC etc..., m) |
C hFacMinDz - Minimum dimesional size of a cell (affects hFacC etc..., m) |
358 |
C hFacMinDp - Minimum dimesional size of a cell (affects hFacC etc..., Pa) |
C hFacMinDp - Minimum dimesional size of a cell (affects hFacC etc..., Pa) |
359 |
C hFacMinDr - Minimum dimesional size of a cell (affects hFacC etc..., units of r) |
C hFacMinDr - Minimum dimesional size of a cell (affects hFacC etc..., units of r) |
360 |
|
C hFacInf - Threshold (inf and sup) for fraction size of surface cell |
361 |
|
C hFacSup that control vanishing and creating levels |
362 |
C tauCD - CD scheme coupling timescale ( 1/s ) |
C tauCD - CD scheme coupling timescale ( 1/s ) |
363 |
C rCD - CD scheme normalised coupling parameter ( 0-1 ) |
C rCD - CD scheme normalised coupling parameter ( 0-1 ) |
364 |
C startTime - Starting time for this integration ( s ). |
C startTime - Starting time for this integration ( s ). |
367 |
C pChkPtFreq - Frequency of permanent check pointing ( s ). |
C pChkPtFreq - Frequency of permanent check pointing ( s ). |
368 |
C dumpFreq - Frequency with which model state is written to |
C dumpFreq - Frequency with which model state is written to |
369 |
C post-processing files ( s ). |
C post-processing files ( s ). |
370 |
|
C diagFreq - Frequency with which model writes diagnostic output |
371 |
|
C of intermediate quantities. |
372 |
C afFacMom - Advection of momentum term tracer parameter |
C afFacMom - Advection of momentum term tracer parameter |
373 |
C vfFacMom - Momentum viscosity tracer parameter |
C vfFacMom - Momentum viscosity tracer parameter |
374 |
C pfFacMom - Momentum pressure forcing tracer parameter |
C pfFacMom - Momentum pressure forcing tracer parameter |
397 |
C starting value (k=1) for vertical coordinate (rf(1)=Ro_SeaLevel) |
C starting value (k=1) for vertical coordinate (rf(1)=Ro_SeaLevel) |
398 |
C bottomDragLinear - Drag coefficient built in to core dynamics |
C bottomDragLinear - Drag coefficient built in to core dynamics |
399 |
C " Quadratic ( linear: 1/s, quadratic: 1/m ) |
C " Quadratic ( linear: 1/s, quadratic: 1/m ) |
400 |
COMMON /PARM_R/ cg2dTargetResidual, cg2dpcOffDFac, |
COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit, |
401 |
& cg3dTargetResidual, |
& cg2dpcOffDFac, cg3dTargetResidual, |
402 |
& delP, delZ, delR, delX, delY, |
& delP, delZ, delR, delX, delY, |
403 |
& deltaT,deltaTmom, deltaTtracer, deltaTClock,abeps, startTime, |
& deltaT,deltaTmom, deltaTtracer, deltaTClock,abeps, startTime, |
404 |
& phiMin, thetaMin, rSphere, recip_RSphere, f0, fCori, beta, |
& phiMin, thetaMin, rSphere, recip_RSphere, f0, beta, |
405 |
& viscAh, viscAz, viscA4, viscAr, |
& fCori, fCoriG, |
406 |
|
& viscAh, viscAz, viscA4, viscAr, viscAstrain, viscAtension, |
407 |
& diffKhT, diffKzT, diffK4T, diffKrT, |
& diffKhT, diffKzT, diffK4T, diffKrT, |
408 |
& diffKhS, diffKzS, diffK4S, diffKrS, |
& diffKhS, diffKzS, diffK4S, diffKrS, |
409 |
& delT, tauCD, rCD, freeSurfFac, implicSurfPress, implicDiv2Dflow, |
& delT, tauCD, rCD, freeSurfFac, implicSurfPress, implicDiv2Dflow, |
410 |
& hFacMin, hFacMinDz, |
& hFacMin, hFacMinDz, hFacInf, hFacSup, |
411 |
& gravity, recip_Gravity, gBaro, rhonil, recip_rhonil, |
& gravity, recip_Gravity, gBaro, rhonil, recip_rhonil, |
412 |
& recip_rhoConst, rhoConst, tRef, sRef, |
& recip_rhoConst, rhoConst, tRef, sRef, |
413 |
& endTime, chkPtFreq, pchkPtFreq, dumpFreq, taveFreq, |
& endTime, chkPtFreq, pchkPtFreq, dumpFreq, |
414 |
|
& diagFreq, taveFreq, monitorFreq, |
415 |
& afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom, |
& afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom, |
416 |
& cosPower, |
& cosPower, cAdjFreq, omega, |
417 |
& cAdjFreq, omega, tauThetaClimRelax, lambdaThetaClimRelax, |
& tauThetaClimRelax, lambdaThetaClimRelax, |
418 |
& tauSaltClimRelax, lambdaSaltClimRelax, |
& tauSaltClimRelax, lambdaSaltClimRelax, |
419 |
|
& tauTr1ClimRelax, lambdaTr1ClimRelax, |
420 |
& externForcingCycle, externForcingPeriod, |
& externForcingCycle, externForcingPeriod, |
421 |
& viscAp, diffKpT, diffKpS, hFacMinDr, hFacMinDp, |
& viscAp, diffKpT, diffKpS, hFacMinDr, hFacMinDp, |
422 |
& theta_S, specVol_S, horiVertRatio, recip_horiVertRatio, |
& theta_S, specVol_S, horiVertRatio, recip_horiVertRatio, |
424 |
& bottomDragLinear,bottomDragQuadratic |
& bottomDragLinear,bottomDragQuadratic |
425 |
|
|
426 |
_RL cg2dTargetResidual |
_RL cg2dTargetResidual |
427 |
|
_RL cg2dTargetResWunit |
428 |
_RL cg3dTargetResidual |
_RL cg3dTargetResidual |
429 |
_RL cg2dpcOffDFac |
_RL cg2dpcOffDFac |
430 |
_RL delZ(Nr) |
_RL delZ(Nr) |
449 |
_RL hFacMinDz |
_RL hFacMinDz |
450 |
_RL hFacMinDp |
_RL hFacMinDp |
451 |
_RL hFacMinDr |
_RL hFacMinDr |
452 |
|
_RL hFacInf |
453 |
|
_RL hFacSup |
454 |
_RL beta |
_RL beta |
455 |
_RL viscAh |
_RL viscAh |
456 |
|
_RL viscAstrain |
457 |
|
_RL viscAtension |
458 |
_RL viscAz |
_RL viscAz |
459 |
_RL viscAp |
_RL viscAp |
460 |
_RL viscAr |
_RL viscAr |
483 |
_RL tRef(Nr) |
_RL tRef(Nr) |
484 |
_RL theta_S(Nr) |
_RL theta_S(Nr) |
485 |
_RL sRef(Nr) |
_RL sRef(Nr) |
486 |
_RS Fcori(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS fCori(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
487 |
|
_RS fCoriG(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
488 |
_RL startTime |
_RL startTime |
489 |
_RL endTime |
_RL endTime |
490 |
_RL chkPtFreq |
_RL chkPtFreq |
491 |
_RL pChkPtFreq |
_RL pChkPtFreq |
492 |
_RL dumpFreq |
_RL dumpFreq |
493 |
|
_RL diagFreq |
494 |
_RL taveFreq |
_RL taveFreq |
495 |
|
_RL monitorFreq |
496 |
_RL afFacMom |
_RL afFacMom |
497 |
_RL vfFacMom |
_RL vfFacMom |
498 |
_RL pfFacMom |
_RL pfFacMom |
506 |
_RL lambdaThetaClimRelax |
_RL lambdaThetaClimRelax |
507 |
_RL tauSaltClimRelax |
_RL tauSaltClimRelax |
508 |
_RL lambdaSaltClimRelax |
_RL lambdaSaltClimRelax |
509 |
|
_RL tauTr1ClimRelax |
510 |
|
_RL lambdaTr1ClimRelax |
511 |
_RL externForcingCycle |
_RL externForcingCycle |
512 |
_RL externForcingPeriod |
_RL externForcingPeriod |
513 |
_RL horiVertRatio |
_RL horiVertRatio |
536 |
_RL sBeta |
_RL sBeta |
537 |
character*(6) eosType |
character*(6) eosType |
538 |
|
|
539 |
|
C Atmospheric physical parameters (Ideal Gas EOS, ...) |
540 |
|
C atm_po - standard reference pressure |
541 |
|
C atm_cp - specific heat (Cp) of the (dry) air at constant pressure |
542 |
|
C atm_kappa - kappa = R/Cp (R: constant of Ideal Gas EOS) |
543 |
|
C Integr_GeoPot - option to select the way we integrate the geopotential |
544 |
|
C (still a subject of discussions ...) |
545 |
|
COMMON /PARM_ATM/ atm_cp, atm_kappa, atm_po, |
546 |
|
& Integr_GeoPot |
547 |
|
_RL atm_cp, atm_kappa, atm_po |
548 |
|
INTEGER Integr_GeoPot |
549 |
|
|
550 |
C Logical flags for selecting packages |
C Logical flags for selecting packages |
551 |
LOGICAL useKPP |
LOGICAL useKPP |
552 |
LOGICAL useGMRedi |
LOGICAL useGMRedi |
553 |
LOGICAL useOBCS |
LOGICAL useOBCS |
554 |
LOGICAL useAIM |
LOGICAL useAIM |
555 |
|
LOGICAL useGrdchk |
556 |
LOGICAL useECCO |
LOGICAL useECCO |
557 |
|
LOGICAL useSHAP_FILT |
558 |
|
LOGICAL useFLT |
559 |
COMMON /PARM_PACKAGES/ |
COMMON /PARM_PACKAGES/ |
560 |
& useKPP, useGMRedi, useOBCS, useAIM, useECCO |
& useKPP, useGMRedi, useOBCS, useAIM, useECCO, |
561 |
|
& useSHAP_FILT, useGrdchk, useFLT |
562 |
|
|