49 |
|
|
50 |
C-- COMMON /PARM_C/ Character valued parameters used by the model. |
C-- COMMON /PARM_C/ Character valued parameters used by the model. |
51 |
C checkPtSuff :: List of checkpoint file suffices |
C checkPtSuff :: List of checkpoint file suffices |
52 |
|
C tRefFile :: File containing reference Potential Temperat. tRef (1.D) |
53 |
|
C sRefFile :: File containing reference salinity/spec.humid. sRef (1.D) |
54 |
|
C rhoRefFile :: File containing reference density profile rhoRef (1.D) |
55 |
|
C delRFile :: File containing vertical grid spacing delR (1.D array) |
56 |
|
C delRcFile :: File containing vertical grid spacing delRc (1.D array) |
57 |
C delXFile :: File containing X-spacing grid definition (1.D array) |
C delXFile :: File containing X-spacing grid definition (1.D array) |
58 |
C delYFile :: File containing Y-spacing grid definition (1.D array) |
C delYFile :: File containing Y-spacing grid definition (1.D array) |
59 |
C horizGridFile :: File containing horizontal-grid definition |
C horizGridFile :: File containing horizontal-grid definition |
60 |
C (only when using curvilinear_grid) |
C (only when using curvilinear_grid) |
61 |
C bathyFile :: File containing bathymetry. If not defined bathymetry |
C bathyFile :: File containing bathymetry. If not defined bathymetry |
62 |
C is taken from inline function. |
C is taken from inline function. |
89 |
C LINEAR, POLY3, UNESCO, JMD95Z, JMD95P, MDJWF, IDEALGAS |
C LINEAR, POLY3, UNESCO, JMD95Z, JMD95P, MDJWF, IDEALGAS |
90 |
C the_run_name :: string identifying the name of the model "run" |
C the_run_name :: string identifying the name of the model "run" |
91 |
COMMON /PARM_C/ checkPtSuff, |
COMMON /PARM_C/ checkPtSuff, |
92 |
|
& tRefFile, sRefFile, rhoRefFile, |
93 |
|
& delRFile, delRcFile, |
94 |
& delXFile, delYFile, horizGridFile, |
& delXFile, delYFile, horizGridFile, |
95 |
& bathyFile, topoFile, shelfIceFile, |
& bathyFile, topoFile, shelfIceFile, |
96 |
& hydrogThetaFile, hydrogSaltFile, |
& hydrogThetaFile, hydrogSaltFile, |
106 |
& mdsioLocalDir, |
& mdsioLocalDir, |
107 |
& the_run_name |
& the_run_name |
108 |
CHARACTER*(5) checkPtSuff(maxNoChkptLev) |
CHARACTER*(5) checkPtSuff(maxNoChkptLev) |
109 |
|
CHARACTER*(MAX_LEN_FNAM) tRefFile |
110 |
|
CHARACTER*(MAX_LEN_FNAM) sRefFile |
111 |
|
CHARACTER*(MAX_LEN_FNAM) rhoRefFile |
112 |
|
CHARACTER*(MAX_LEN_FNAM) delRFile |
113 |
|
CHARACTER*(MAX_LEN_FNAM) delRcFile |
114 |
CHARACTER*(MAX_LEN_FNAM) delXFile |
CHARACTER*(MAX_LEN_FNAM) delXFile |
115 |
CHARACTER*(MAX_LEN_FNAM) delYFile |
CHARACTER*(MAX_LEN_FNAM) delYFile |
116 |
CHARACTER*(MAX_LEN_FNAM) horizGridFile |
CHARACTER*(MAX_LEN_FNAM) horizGridFile |
137 |
CHARACTER*(MAX_LEN_FNAM) lambdaThetaFile |
CHARACTER*(MAX_LEN_FNAM) lambdaThetaFile |
138 |
CHARACTER*(MAX_LEN_FNAM) lambdaSaltFile |
CHARACTER*(MAX_LEN_FNAM) lambdaSaltFile |
139 |
CHARACTER*(MAX_LEN_FNAM) mdsioLocalDir |
CHARACTER*(MAX_LEN_FNAM) mdsioLocalDir |
140 |
CHARACTER*(MAX_LEN_FNAM) the_run_name |
CHARACTER*(MAX_LEN_PREC/2) the_run_name |
141 |
CHARACTER*(6) eosType |
CHARACTER*(6) eosType |
142 |
CHARACTER*(10) pickupSuff |
CHARACTER*(10) pickupSuff |
143 |
|
|
225 |
C usingSphericalPolarGrid :: If TRUE grid generation will be in a |
C usingSphericalPolarGrid :: If TRUE grid generation will be in a |
226 |
C spherical polar frame. |
C spherical polar frame. |
227 |
C usingCylindricalGrid :: If TRUE grid generation will be Cylindrical |
C usingCylindricalGrid :: If TRUE grid generation will be Cylindrical |
228 |
|
C usingCurvilinearGrid :: If TRUE, use a curvilinear grid (to be provided) |
229 |
|
C deepAtmosphere :: deep model (drop the shallow-atmosphere approximation) |
230 |
C no_slip_sides :: Impose "no-slip" at lateral boundaries. |
C no_slip_sides :: Impose "no-slip" at lateral boundaries. |
231 |
C no_slip_bottom :: Impose "no-slip" at bottom boundary. |
C no_slip_bottom :: Impose "no-slip" at bottom boundary. |
232 |
C momViscosity :: Flag which turns momentum friction terms on and off. |
C momViscosity :: Flag which turns momentum friction terms on and off. |
257 |
C rigidLid :: Set to true to use rigid lid |
C rigidLid :: Set to true to use rigid lid |
258 |
C implicitFreeSurface :: Set to true to use implicit free surface |
C implicitFreeSurface :: Set to true to use implicit free surface |
259 |
C exactConserv :: Set to true to conserve exactly the total Volume |
C exactConserv :: Set to true to conserve exactly the total Volume |
260 |
|
C linFSConserveTr :: Set to true to correct source/sink of tracer |
261 |
|
C at the surface due to Linear Free Surface |
262 |
C uniformLin_PhiSurf :: Set to true to use a uniform Bo_surf in the |
C uniformLin_PhiSurf :: Set to true to use a uniform Bo_surf in the |
263 |
C linear relation Phi_surf = Bo_surf*eta |
C linear relation Phi_surf = Bo_surf*eta |
264 |
C use3Dsolver :: set to true to use 3-D pressure solver |
C use3Dsolver :: set to true to use 3-D pressure solver |
270 |
C useConstantF :: Coriolis parameter set to f0 |
C useConstantF :: Coriolis parameter set to f0 |
271 |
C useBetaPlaneF :: Coriolis parameter set to f0 + beta.y |
C useBetaPlaneF :: Coriolis parameter set to f0 + beta.y |
272 |
C useSphereF :: Coriolis parameter set to 2.omega.sin(phi) |
C useSphereF :: Coriolis parameter set to 2.omega.sin(phi) |
273 |
|
C use3dCoriolis :: Turns the 3-D coriolis terms (in Omega.cos Phi) on - off |
274 |
C useCDscheme :: use CD-scheme to calculate Coriolis terms. |
C useCDscheme :: use CD-scheme to calculate Coriolis terms. |
275 |
C useJamartWetPoints :: Use wet-point method for Coriolis (Jamart and Ozer, 1986) |
C useJamartWetPoints :: Use wet-point method for Coriolis (Jamart and Ozer, 1986) |
276 |
C useJamartMomAdv :: Use wet-point method for V.I. non-linear term |
C useJamartMomAdv :: Use wet-point method for V.I. non-linear term |
306 |
C is water |
C is water |
307 |
C useDynP_inEos_Zc :: use the dynamical pressure in EOS (with Z-coord.) |
C useDynP_inEos_Zc :: use the dynamical pressure in EOS (with Z-coord.) |
308 |
C this requires specific code for restart & exchange |
C this requires specific code for restart & exchange |
309 |
C setCenterDr :: set cell Center depth and put Interface at the middle |
C setInterFDr :: set Interface depth (put cell-Center at the middle) |
310 |
|
C setCenterDr :: set cell-Center depth (put Interface at the middle) |
311 |
C nonHydrostatic :: Using non-hydrostatic terms |
C nonHydrostatic :: Using non-hydrostatic terms |
312 |
C quasiHydrostatic :: Using non-hydrostatic terms in hydrostatic algorithm |
C quasiHydrostatic :: Using non-hydrostatic terms in hydrostatic algorithm |
313 |
C globalFiles :: Selects between "global" and "tiled" files |
C globalFiles :: Selects between "global" and "tiled" files |
331 |
|
|
332 |
COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid, |
COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid, |
333 |
& usingCurvilinearGrid, usingCylindricalGrid, |
& usingCurvilinearGrid, usingCylindricalGrid, |
334 |
|
& deepAtmosphere, setInterFDr, setCenterDr, |
335 |
& no_slip_sides,no_slip_bottom, |
& no_slip_sides,no_slip_bottom, |
336 |
& momViscosity, momAdvection, momForcing, useCoriolis, |
& momViscosity, momAdvection, momForcing, useCoriolis, |
337 |
& momPressureForcing, vectorInvariantMomentum, |
& momPressureForcing, vectorInvariantMomentum, |
340 |
& useRealFreshWaterFlux, |
& useRealFreshWaterFlux, |
341 |
& useFullLeith, useStrainTensionVisc, |
& useFullLeith, useStrainTensionVisc, |
342 |
& useAreaViscLength, |
& useAreaViscLength, |
343 |
& rigidLid, implicitFreeSurface, exactConserv, uniformLin_PhiSurf, |
& rigidLid, implicitFreeSurface, exactConserv, linFSConserveTr, |
344 |
|
& uniformLin_PhiSurf, |
345 |
& use3Dsolver, implicitIntGravWave, staggerTimeStep, |
& use3Dsolver, implicitIntGravWave, staggerTimeStep, |
346 |
& momStepping, tempStepping, saltStepping, |
& momStepping, tempStepping, saltStepping, |
347 |
& metricTerms, useNHMTerms, |
& metricTerms, useNHMTerms, |
348 |
& useConstantF, useBetaPlaneF, useSphereF, |
& useConstantF, useBetaPlaneF, useSphereF, use3dCoriolis, |
349 |
& useCDscheme, |
& useCDscheme, |
350 |
& useEnergyConservingCoriolis, useJamartWetPoints, useJamartMomAdv, |
& useEnergyConservingCoriolis, useJamartWetPoints, useJamartMomAdv, |
351 |
& SadournyCoriolis, upwindVorticity, highOrderVorticity, |
& SadournyCoriolis, upwindVorticity, highOrderVorticity, |
357 |
& doThetaClimRelax, doSaltClimRelax, doTr1ClimRelax, |
& doThetaClimRelax, doSaltClimRelax, doTr1ClimRelax, |
358 |
& periodicExternalForcing, |
& periodicExternalForcing, |
359 |
& fluidIsAir, fluidIsWater, |
& fluidIsAir, fluidIsWater, |
360 |
& usingPCoords, usingZCoords, useDynP_inEos_Zc, setCenterDr, |
& usingPCoords, usingZCoords, useDynP_inEos_Zc, |
361 |
& nonHydrostatic, quasiHydrostatic, globalFiles, useSingleCpuIO, |
& nonHydrostatic, quasiHydrostatic, globalFiles, useSingleCpuIO, |
362 |
& allowFreezing, useOldFreezing, |
& allowFreezing, useOldFreezing, |
363 |
& usePickupBeforeC35, usePickupBeforeC54, startFromPickupAB2, |
& usePickupBeforeC35, usePickupBeforeC54, startFromPickupAB2, |
371 |
LOGICAL usingSphericalPolarGrid |
LOGICAL usingSphericalPolarGrid |
372 |
LOGICAL usingCylindricalGrid |
LOGICAL usingCylindricalGrid |
373 |
LOGICAL usingCurvilinearGrid |
LOGICAL usingCurvilinearGrid |
374 |
|
LOGICAL deepAtmosphere |
375 |
|
LOGICAL setInterFDr |
376 |
|
LOGICAL setCenterDr |
377 |
LOGICAL useNHMTerms |
LOGICAL useNHMTerms |
378 |
LOGICAL no_slip_sides |
LOGICAL no_slip_sides |
379 |
LOGICAL no_slip_bottom |
LOGICAL no_slip_bottom |
394 |
LOGICAL rigidLid |
LOGICAL rigidLid |
395 |
LOGICAL implicitFreeSurface |
LOGICAL implicitFreeSurface |
396 |
LOGICAL exactConserv |
LOGICAL exactConserv |
397 |
|
LOGICAL linFSConserveTr |
398 |
LOGICAL uniformLin_PhiSurf |
LOGICAL uniformLin_PhiSurf |
399 |
LOGICAL use3Dsolver |
LOGICAL use3Dsolver |
400 |
LOGICAL implicitIntGravWave |
LOGICAL implicitIntGravWave |
406 |
LOGICAL useConstantF |
LOGICAL useConstantF |
407 |
LOGICAL useBetaPlaneF |
LOGICAL useBetaPlaneF |
408 |
LOGICAL useSphereF |
LOGICAL useSphereF |
409 |
|
LOGICAL use3dCoriolis |
410 |
LOGICAL useCDscheme |
LOGICAL useCDscheme |
411 |
LOGICAL useEnergyConservingCoriolis |
LOGICAL useEnergyConservingCoriolis |
412 |
LOGICAL useJamartWetPoints |
LOGICAL useJamartWetPoints |
434 |
LOGICAL usingPCoords |
LOGICAL usingPCoords |
435 |
LOGICAL usingZCoords |
LOGICAL usingZCoords |
436 |
LOGICAL useDynP_inEos_Zc |
LOGICAL useDynP_inEos_Zc |
|
LOGICAL setCenterDr |
|
437 |
LOGICAL nonHydrostatic |
LOGICAL nonHydrostatic |
438 |
LOGICAL quasiHydrostatic |
LOGICAL quasiHydrostatic |
439 |
LOGICAL globalFiles |
LOGICAL globalFiles |
484 |
C recip_gravity and its inverse |
C recip_gravity and its inverse |
485 |
C gBaro :: Accel. due to gravity used in barotropic equation ( m/s^2 ) |
C gBaro :: Accel. due to gravity used in barotropic equation ( m/s^2 ) |
486 |
C rhoNil :: Reference density for the linear equation of state |
C rhoNil :: Reference density for the linear equation of state |
487 |
C rhoConst :: Vertically constant reference density |
C rhoConst :: Vertically constant reference density |
488 |
|
C rhoFacC :: normalized (by rhoConst) reference density at cell-Center |
489 |
|
C rhoFacF :: normalized (by rhoConst) reference density at cell-interFace |
490 |
C rhoConstFresh :: Constant reference density for fresh water (rain) |
C rhoConstFresh :: Constant reference density for fresh water (rain) |
491 |
C tRef :: reference vertical profile for potential temperature |
C tRef :: reference vertical profile for potential temperature |
492 |
C sRef :: reference vertical profile for salinity/specific humidity |
C sRef :: reference vertical profile for salinity/specific humidity |
493 |
C phiRef :: reference potential (pressure/rho, geopotential) profile |
C phiRef :: reference potential (pressure/rho, geopotential) profile |
494 |
C dBdrRef :: vertical gradient of reference boyancy [(m/s/r)^2)]: |
C dBdrRef :: vertical gradient of reference boyancy [(m/s/r)^2)]: |
495 |
C :: z-coord: = N^2_ref = Brunt-Vaissala frequency [s^-2] |
C :: z-coord: = N^2_ref = Brunt-Vaissala frequency [s^-2] |
496 |
C :: p-coord: = -(d.alpha/dp)_ref [(m^2.s/kg)^2] |
C :: p-coord: = -(d.alpha/dp)_ref [(m^2.s/kg)^2] |
499 |
C is an "inert" parameter but it is included |
C is an "inert" parameter but it is included |
500 |
C to make geographical references simple.) |
C to make geographical references simple.) |
501 |
C rSphere :: Radius of sphere for a spherical polar grid ( m ). |
C rSphere :: Radius of sphere for a spherical polar grid ( m ). |
502 |
C recip_RSphere :: Reciprocal radius of sphere ( m ). |
C recip_rSphere :: Reciprocal radius of sphere ( m ). |
503 |
C f0 :: Reference coriolis parameter ( 1/s ) |
C f0 :: Reference coriolis parameter ( 1/s ) |
504 |
C ( Southern edge f for beta plane ) |
C ( Southern edge f for beta plane ) |
505 |
C beta :: df/dy ( s^-1.m^-1 ) |
C beta :: df/dy ( s^-1.m^-1 ) |
510 |
C viscAhW :: Eddy viscosity coeff. for mixing of vertical |
C viscAhW :: Eddy viscosity coeff. for mixing of vertical |
511 |
C momentum laterally, no effect for hydrostatic |
C momentum laterally, no effect for hydrostatic |
512 |
C model, defaults to viscAh if unset ( m^2/s ) |
C model, defaults to viscAh if unset ( m^2/s ) |
513 |
|
C Not used if variable horiz. viscosity is used. |
514 |
C viscAr :: Eddy viscosity coeff. for mixing of |
C viscAr :: Eddy viscosity coeff. for mixing of |
515 |
C momentum vertically ( units of r^2/s ) |
C momentum vertically ( units of r^2/s ) |
516 |
C viscA4 :: Biharmonic viscosity coeff. for mixing of |
C viscA4 :: Biharmonic viscosity coeff. for mixing of |
518 |
C viscA4W :: Biharmonic viscosity coeff. for mixing of vertical |
C viscA4W :: Biharmonic viscosity coeff. for mixing of vertical |
519 |
C momentum laterally, no effect for hydrostatic |
C momentum laterally, no effect for hydrostatic |
520 |
C model, defaults to viscA4 if unset ( m^2/s ) |
C model, defaults to viscA4 if unset ( m^2/s ) |
521 |
|
C Not used if variable horiz. viscosity is used. |
522 |
C viscAhD :: Eddy viscosity coeff. for mixing of momentum laterally |
C viscAhD :: Eddy viscosity coeff. for mixing of momentum laterally |
523 |
C (act on Divergence part) ( m^2/s ) |
C (act on Divergence part) ( m^2/s ) |
524 |
C viscAhZ :: Eddy viscosity coeff. for mixing of momentum laterally |
C viscAhZ :: Eddy viscosity coeff. for mixing of momentum laterally |
664 |
& diffKrBL79surf, diffKrBL79deep, diffKrBL79scl, diffKrBL79Ho, |
& diffKrBL79surf, diffKrBL79deep, diffKrBL79scl, diffKrBL79Ho, |
665 |
& delT, tauCD, rCD, freeSurfFac, implicSurfPress, implicDiv2Dflow, |
& delT, tauCD, rCD, freeSurfFac, implicSurfPress, implicDiv2Dflow, |
666 |
& hFacMin, hFacMinDz, hFacInf, hFacSup, |
& hFacMin, hFacMinDz, hFacInf, hFacSup, |
667 |
& gravity, recip_Gravity, gBaro, rhonil, recip_rhonil, |
& gravity, recip_Gravity, gBaro, |
668 |
& recip_rhoConst, rhoConst, |
& rhonil, recip_rhonil, rhoConst, recip_rhoConst, |
669 |
|
& rhoFacC, recip_rhoFacC, rhoFacF, recip_rhoFacF, |
670 |
& rhoConstFresh, convertEmP2rUnit, tRef, sRef, phiRef, dBdrRef, |
& rhoConstFresh, convertEmP2rUnit, tRef, sRef, phiRef, dBdrRef, |
671 |
& baseTime, startTime, endTime, |
& baseTime, startTime, endTime, |
672 |
& chkPtFreq, pChkPtFreq, dumpFreq, adjDumpFreq, |
& chkPtFreq, pChkPtFreq, dumpFreq, adjDumpFreq, |
681 |
& horiVertRatio, recip_horiVertRatio, |
& horiVertRatio, recip_horiVertRatio, |
682 |
& ivdc_kappa, Ro_SeaLevel, |
& ivdc_kappa, Ro_SeaLevel, |
683 |
& sideDragFactor, bottomDragLinear, bottomDragQuadratic, nh_Am2, |
& sideDragFactor, bottomDragLinear, bottomDragQuadratic, nh_Am2, |
684 |
& smoothAbsFuncRange, |
& smoothAbsFuncRange, |
685 |
& tCylIn, tCylOut |
& tCylIn, tCylOut |
686 |
|
|
687 |
_RL cg2dTargetResidual |
_RL cg2dTargetResidual |
701 |
_RL phiMin |
_RL phiMin |
702 |
_RL thetaMin |
_RL thetaMin |
703 |
_RL rSphere |
_RL rSphere |
704 |
_RL recip_RSphere |
_RL recip_rSphere |
705 |
_RL f0 |
_RL f0 |
706 |
_RL freeSurfFac |
_RL freeSurfFac |
707 |
_RL implicSurfPress |
_RL implicSurfPress |
752 |
_RL gravity |
_RL gravity |
753 |
_RL recip_gravity |
_RL recip_gravity |
754 |
_RL gBaro |
_RL gBaro |
755 |
_RL rhonil |
_RL rhonil, recip_rhonil |
756 |
_RL recip_rhonil |
_RL rhoConst, recip_rhoConst |
757 |
_RL rhoConst |
_RL rhoFacC(Nr), recip_rhoFacC(Nr) |
758 |
_RL recip_rhoConst |
_RL rhoFacF(Nr+1), recip_rhoFacF(Nr+1) |
759 |
_RL rhoConstFresh |
_RL rhoConstFresh |
760 |
_RL convertEmP2rUnit |
_RL convertEmP2rUnit |
761 |
_RL tRef(Nr) |
_RL tRef(Nr) |
858 |
LOGICAL useSEAICE |
LOGICAL useSEAICE |
859 |
LOGICAL useShelfIce |
LOGICAL useShelfIce |
860 |
LOGICAL useThSIce |
LOGICAL useThSIce |
861 |
|
LOGICAL useATM2d |
862 |
LOGICAL useBulkForce |
LOGICAL useBulkForce |
863 |
LOGICAL usefizhi |
LOGICAL usefizhi |
864 |
LOGICAL usegridalt |
LOGICAL usegridalt |
865 |
LOGICAL useDiagnostics |
LOGICAL useDiagnostics |
866 |
LOGICAL useMNC |
LOGICAL useMNC |
867 |
|
LOGICAL useREGRID |
868 |
LOGICAL useRunClock |
LOGICAL useRunClock |
869 |
LOGICAL useEMBED_FILES |
LOGICAL useEMBED_FILES |
870 |
|
LOGICAL useMYPACKAGE |
871 |
COMMON /PARM_PACKAGES/ |
COMMON /PARM_PACKAGES/ |
872 |
& useOPPS, usePP81, useMY82, useGGL90, useKPP, |
& useOPPS, usePP81, useMY82, useGGL90, useKPP, |
873 |
& useGMRedi, useOBCS, useAIM, useLand, |
& useGMRedi, useOBCS, useAIM, useLand, |
874 |
& useCAL, useEXF, useEBM, useGrdchk, useECCO, |
& useCAL, useEXF, useEBM, useGrdchk, useECCO, |
875 |
& useSHAP_FILT, useZONAL_FILT, useFLT, |
& useSHAP_FILT, useZONAL_FILT, useFLT, |
876 |
& usePTRACERS, useGCHEM, useRBCS, useOffLine, useMATRIX, |
& usePTRACERS, useGCHEM, useRBCS, useOffLine, useMATRIX, |
877 |
& useSBO, useSEAICE, useShelfIce, useThSIce, useBulkForce, |
& useSBO, useSEAICE, useShelfIce, |
878 |
& usefizhi, usegridalt, useDiagnostics, useMNC, |
& useThSIce, useATM2D, useBulkForce, |
879 |
& useRunClock, useEMBED_FILES |
& usefizhi, usegridalt, useDiagnostics, useMNC, useREGRID, |
880 |
|
& useRunClock, useEMBED_FILES, useMYPACKAGE |
881 |
|
|
882 |
CEH3 ;;; Local Variables: *** |
CEH3 ;;; Local Variables: *** |
883 |
CEH3 ;;; mode:fortran *** |
CEH3 ;;; mode:fortran *** |