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 |
INTEGER cg2dMaxIters |
INTEGER cg2dMaxIters |
124 |
INTEGER cg2dChkResFreq |
INTEGER cg2dChkResFreq |
125 |
INTEGER cg3dMaxIters |
INTEGER cg3dMaxIters |
132 |
INTEGER writeBinaryPrec |
INTEGER writeBinaryPrec |
133 |
INTEGER readBinaryPrec |
INTEGER readBinaryPrec |
134 |
INTEGER nCheckLev |
INTEGER nCheckLev |
135 |
INTEGER nShap |
INTEGER nonlinFreeSurf |
136 |
INTEGER zonal_filt_sinpow |
INTEGER zonal_filt_sinpow |
137 |
INTEGER zonal_filt_cospow |
INTEGER zonal_filt_cospow |
138 |
|
|
165 |
C and off. |
C and off. |
166 |
C saltForcing - Flag which turns external forcing of salinit on |
C saltForcing - Flag which turns external forcing of salinit on |
167 |
C and off. |
C and off. |
|
C implicitFreeSurface - Set to true to use implcit free surface |
|
168 |
C rigidLid - Set to true to use rigid lid |
C rigidLid - Set to true to use rigid lid |
169 |
|
C implicitFreeSurface - Set to true to use implcit free surface |
170 |
|
C exactConserv - Set to true to conserve exactly the total Volume |
171 |
|
C uniformLin_PhiSurf - Set to true to use a uniform Bo_surf in the |
172 |
|
C linear relation Phi_surf = Bo_surf*eta |
173 |
C momStepping - Turns momentum equation time-stepping off |
C momStepping - Turns momentum equation time-stepping off |
174 |
C tempStepping - Turns temperature equation time-stepping off |
C tempStepping - Turns temperature equation time-stepping off |
175 |
C saltStepping - Turns salinity equation time-stepping off |
C saltStepping - Turns salinity equation time-stepping off |
192 |
C allowFreezing - Allows water to freeze and form ice |
C allowFreezing - Allows water to freeze and form ice |
193 |
C groundAtK1 - put the surface(k=1) at the Lower Boundary (=ground) |
C groundAtK1 - put the surface(k=1) at the Lower Boundary (=ground) |
194 |
COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid, |
COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid, |
195 |
|
& usingCurvilinearGrid, |
196 |
& no_slip_sides,no_slip_bottom, |
& no_slip_sides,no_slip_bottom, |
197 |
& staggerTimeStep, |
& staggerTimeStep, |
198 |
& momViscosity, momAdvection, momForcing, useCoriolis, |
& momViscosity, momAdvection, momForcing, useCoriolis, |
199 |
& momPressureForcing,tempDiffusion, tempAdvection, tempForcing, |
& momPressureForcing,tempDiffusion, tempAdvection, tempForcing, |
200 |
& saltDiffusion, saltAdvection, saltForcing, |
& saltDiffusion, saltAdvection, saltForcing, |
201 |
& implicitFreeSurface, rigidLid, |
& rigidLid, implicitFreeSurface, exactConserv, uniformLin_PhiSurf, |
202 |
& momStepping, tempStepping, saltStepping, |
& momStepping, tempStepping, saltStepping, |
203 |
& metricTerms, usingSphericalPolarMTerms, |
& metricTerms, usingSphericalPolarMTerms, |
204 |
& useConstantF, useBetaPlaneF, useSphereF, |
& useConstantF, useBetaPlaneF, useSphereF, |
207 |
& periodicExternalForcing, usingPCoords, usingZCoords, |
& periodicExternalForcing, usingPCoords, usingZCoords, |
208 |
& nonHydrostatic, globalFiles, |
& nonHydrostatic, globalFiles, |
209 |
& allowFreezing, groundAtK1, |
& allowFreezing, groundAtK1, |
210 |
& usePickupBeforeC35 |
& usePickupBeforeC35, debugMode |
211 |
LOGICAL usingCartesianGrid |
LOGICAL usingCartesianGrid |
212 |
LOGICAL usingSphericalPolarGrid |
LOGICAL usingSphericalPolarGrid |
213 |
|
LOGICAL usingCurvilinearGrid |
214 |
LOGICAL usingSphericalPolarMTerms |
LOGICAL usingSphericalPolarMTerms |
215 |
LOGICAL no_slip_sides |
LOGICAL no_slip_sides |
216 |
LOGICAL no_slip_bottom |
LOGICAL no_slip_bottom |
226 |
LOGICAL saltDiffusion |
LOGICAL saltDiffusion |
227 |
LOGICAL saltAdvection |
LOGICAL saltAdvection |
228 |
LOGICAL saltForcing |
LOGICAL saltForcing |
|
LOGICAL implicitFreeSurface |
|
229 |
LOGICAL rigidLid |
LOGICAL rigidLid |
230 |
|
LOGICAL implicitFreeSurface |
231 |
|
LOGICAL exactConserv |
232 |
|
LOGICAL uniformLin_PhiSurf |
233 |
LOGICAL momStepping |
LOGICAL momStepping |
234 |
LOGICAL tempStepping |
LOGICAL tempStepping |
235 |
LOGICAL saltStepping |
LOGICAL saltStepping |
249 |
LOGICAL allowFreezing |
LOGICAL allowFreezing |
250 |
LOGICAL groundAtK1 |
LOGICAL groundAtK1 |
251 |
LOGICAL usePickupBeforeC35 |
LOGICAL usePickupBeforeC35 |
252 |
|
LOGICAL debugMode |
253 |
|
|
254 |
C-- COMMON /PARM_R/ "Real" valued parameters used by the model. |
C-- COMMON /PARM_R/ "Real" valued parameters used by the model. |
255 |
C cg2dTargetResidual |
C gg2dTargetResidual |
256 |
C - Target residual for cg2d solver. |
C - Target residual for cg2d solver; no unit (RHS normalisation) |
257 |
|
C cg2dTargetResWunit |
258 |
|
C - Target residual for cg2d solver; W unit (No RHS normalisation) |
259 |
C cg3dTargetResidual |
C cg3dTargetResidual |
260 |
C - Target residual for cg3d solver. |
C - Target residual for cg3d solver. |
261 |
C cg2dpcOffDFac - Averaging weight for preconditioner off-diagonal. |
C cg2dpcOffDFac - Averaging weight for preconditioner off-diagonal. |
343 |
C hFacMinDz - Minimum dimesional size of a cell (affects hFacC etc..., m) |
C hFacMinDz - Minimum dimesional size of a cell (affects hFacC etc..., m) |
344 |
C hFacMinDp - Minimum dimesional size of a cell (affects hFacC etc..., Pa) |
C hFacMinDp - Minimum dimesional size of a cell (affects hFacC etc..., Pa) |
345 |
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) |
346 |
|
C hFacInf - Threshold (inf and sup) for fraction size of surface cell |
347 |
|
C hFacSup that control vanishing and creating levels |
348 |
C tauCD - CD scheme coupling timescale ( 1/s ) |
C tauCD - CD scheme coupling timescale ( 1/s ) |
349 |
C rCD - CD scheme normalised coupling parameter ( 0-1 ) |
C rCD - CD scheme normalised coupling parameter ( 0-1 ) |
350 |
C startTime - Starting time for this integration ( s ). |
C startTime - Starting time for this integration ( s ). |
381 |
C starting value (k=1) for vertical coordinate (rf(1)=Ro_SeaLevel) |
C starting value (k=1) for vertical coordinate (rf(1)=Ro_SeaLevel) |
382 |
C bottomDragLinear - Drag coefficient built in to core dynamics |
C bottomDragLinear - Drag coefficient built in to core dynamics |
383 |
C " Quadratic ( linear: 1/s, quadratic: 1/m ) |
C " Quadratic ( linear: 1/s, quadratic: 1/m ) |
384 |
COMMON /PARM_R/ cg2dTargetResidual, cg2dpcOffDFac, |
COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit, |
385 |
& cg3dTargetResidual, |
& cg2dpcOffDFac, cg3dTargetResidual, |
386 |
& delP, delZ, delR, delX, delY, |
& delP, delZ, delR, delX, delY, |
387 |
& deltaT,deltaTmom, deltaTtracer, deltaTClock,abeps, startTime, |
& deltaT,deltaTmom, deltaTtracer, deltaTClock,abeps, startTime, |
388 |
& phiMin, thetaMin, rSphere, recip_RSphere, f0, fCori, beta, |
& phiMin, thetaMin, rSphere, recip_RSphere, f0, beta, |
389 |
|
& fCori, fCoriG, |
390 |
& viscAh, viscAz, viscA4, viscAr, |
& viscAh, viscAz, viscA4, viscAr, |
391 |
& diffKhT, diffKzT, diffK4T, diffKrT, |
& diffKhT, diffKzT, diffK4T, diffKrT, |
392 |
& diffKhS, diffKzS, diffK4S, diffKrS, |
& diffKhS, diffKzS, diffK4S, diffKrS, |
393 |
& delT, tauCD, rCD, freeSurfFac, implicSurfPress, implicDiv2Dflow, |
& delT, tauCD, rCD, freeSurfFac, implicSurfPress, implicDiv2Dflow, |
394 |
& hFacMin, hFacMinDz, |
& hFacMin, hFacMinDz, hFacInf, hFacSup, |
395 |
& gravity, recip_Gravity, gBaro, rhonil, recip_rhonil, |
& gravity, recip_Gravity, gBaro, rhonil, recip_rhonil, |
396 |
& recip_rhoConst, rhoConst, tRef, sRef, |
& recip_rhoConst, rhoConst, tRef, sRef, |
397 |
& endTime, chkPtFreq, pchkPtFreq, dumpFreq, taveFreq, |
& endTime, chkPtFreq, pchkPtFreq, dumpFreq, taveFreq, monitorFreq, |
398 |
& afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom, |
& afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom, |
399 |
& cosPower, |
& cosPower, |
400 |
& cAdjFreq, omega, tauThetaClimRelax, lambdaThetaClimRelax, |
& cAdjFreq, omega, tauThetaClimRelax, lambdaThetaClimRelax, |
406 |
& bottomDragLinear,bottomDragQuadratic |
& bottomDragLinear,bottomDragQuadratic |
407 |
|
|
408 |
_RL cg2dTargetResidual |
_RL cg2dTargetResidual |
409 |
|
_RL cg2dTargetResWunit |
410 |
_RL cg3dTargetResidual |
_RL cg3dTargetResidual |
411 |
_RL cg2dpcOffDFac |
_RL cg2dpcOffDFac |
412 |
_RL delZ(Nr) |
_RL delZ(Nr) |
431 |
_RL hFacMinDz |
_RL hFacMinDz |
432 |
_RL hFacMinDp |
_RL hFacMinDp |
433 |
_RL hFacMinDr |
_RL hFacMinDr |
434 |
|
_RL hFacInf |
435 |
|
_RL hFacSup |
436 |
_RL beta |
_RL beta |
437 |
_RL viscAh |
_RL viscAh |
438 |
_RL viscAz |
_RL viscAz |
463 |
_RL tRef(Nr) |
_RL tRef(Nr) |
464 |
_RL theta_S(Nr) |
_RL theta_S(Nr) |
465 |
_RL sRef(Nr) |
_RL sRef(Nr) |
466 |
_RS Fcori(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS fCori(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
467 |
|
_RS fCoriG(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
468 |
_RL startTime |
_RL startTime |
469 |
_RL endTime |
_RL endTime |
470 |
_RL chkPtFreq |
_RL chkPtFreq |
471 |
_RL pChkPtFreq |
_RL pChkPtFreq |
472 |
_RL dumpFreq |
_RL dumpFreq |
473 |
_RL taveFreq |
_RL taveFreq |
474 |
|
_RL monitorFreq |
475 |
_RL afFacMom |
_RL afFacMom |
476 |
_RL vfFacMom |
_RL vfFacMom |
477 |
_RL pfFacMom |
_RL pfFacMom |
513 |
_RL sBeta |
_RL sBeta |
514 |
character*(6) eosType |
character*(6) eosType |
515 |
|
|
516 |
|
C Atmospheric physical parameters (Ideal Gas EOS, ...) |
517 |
|
C atm_po - standard reference pressure |
518 |
|
C atm_cp - specific heat (Cp) of the (dry) air at constant pressure |
519 |
|
C atm_kappa - kappa = R/Cp (R: constant of Ideal Gas EOS) |
520 |
|
C Integr_GeoPot - option to select the way we integrate the geopotential |
521 |
|
C (still a subject of discussions ...) |
522 |
|
COMMON /PARM_ATM/ atm_cp, atm_kappa, atm_po, |
523 |
|
& Integr_GeoPot |
524 |
|
_RL atm_cp, atm_kappa, atm_po |
525 |
|
INTEGER Integr_GeoPot |
526 |
|
|
527 |
C Logical flags for selecting packages |
C Logical flags for selecting packages |
528 |
LOGICAL useKPP |
LOGICAL useKPP |
529 |
LOGICAL useGMRedi |
LOGICAL useGMRedi |
530 |
LOGICAL useOBCS |
LOGICAL useOBCS |
531 |
LOGICAL useAIM |
LOGICAL useAIM |
532 |
LOGICAL useECCO |
LOGICAL useECCO |
533 |
|
LOGICAL useSHAP_FILT |
534 |
COMMON /PARM_PACKAGES/ |
COMMON /PARM_PACKAGES/ |
535 |
& useKPP, useGMRedi, useOBCS, useAIM, useECCO |
& useKPP, useGMRedi, useOBCS, useAIM, useECCO, useSHAP_FILT |
536 |
|
|