Back to home page

MITgcm

 
 

    


File indexing completed on 2025-07-08 05:10:40 UTC

view on githubraw file Latest commit 00c7090d on 2025-07-07 16:10:22 UTC
ac0f2a1690 Chri*0001 CBOP
a30418b6b9 Ed H*0002 C     !ROUTINE: PARAMS.h
                0003 C     !INTERFACE:
                0004 C     #include PARAMS.h
                0005 
                0006 C     !DESCRIPTION:
                0007 C     Header file defining model "parameters".  The values from the
                0008 C     model standard input file are stored into the variables held
                0009 C     here. Notes describing the parameters can also be found here.
                0010 
ac0f2a1690 Chri*0011 CEOP
924557e60a Chri*0012 
                0013 C--   Contants
                0014 C     Useful physical values
                0015       Real*8 PI
                0016       PARAMETER ( PI    = 3.14159265358979323844D0   )
                0017       Real*8 deg2rad
                0018       PARAMETER ( deg2rad = 2.D0*PI/360.D0           )
                0019 
                0020 C--   COMMON /PARM_C/ Character valued parameters used by the model.
9fafc42509 Jean*0021 C     buoyancyRelation :: Flag used to indicate which relation to use to
                0022 C                         get buoyancy.
                0023 C     eosType         :: choose the equation of state:
                0024 C                        LINEAR, POLY3, UNESCO, JMD95Z, JMD95P, MDJWF, IDEALGAS
                0025 C     pickupSuff      :: force to start from pickup files (even if nIter0=0)
                0026 C                        and read pickup files with this suffix (max 10 Char.)
                0027 C     mdsioLocalDir   :: read-write tiled file from/to this directory name
                0028 C                        (+ 4 digits Processor-Rank) instead of current dir.
76099ab0aa Jean*0029 C     adTapeDir       :: read-write checkpointing tape files from/to this
83d329dbf1 Mart*0030 C                        directory name instead of current dir. Conflicts
                0031 C                        mdsioLocalDir, so only one of the two can be set.
afed22d369 Jean*0032 C     tRefFile      :: File containing reference Potential Temperat.  tRef (1.D)
                0033 C     sRefFile      :: File containing reference salinity/spec.humid. sRef (1.D)
                0034 C     rhoRefFile    :: File containing reference density profile rhoRef (1.D)
6ef71429db Jean*0035 C     gravityFile   :: File containing gravity vertical profile (1.D)
afed22d369 Jean*0036 C     delRFile      :: File containing vertical grid spacing delR  (1.D array)
                0037 C     delRcFile     :: File containing vertical grid spacing delRc (1.D array)
f15994caab Jean*0038 C     hybSigmFile   :: File containing hybrid-sigma vertical coord. coeff. (2x 1.D)
7feb50e40b Jean*0039 C     delXFile      :: File containing X-spacing grid definition (1.D array)
                0040 C     delYFile      :: File containing Y-spacing grid definition (1.D array)
afed22d369 Jean*0041 C     horizGridFile :: File containing horizontal-grid definition
7feb50e40b Jean*0042 C                        (only when using curvilinear_grid)
9fafc42509 Jean*0043 C     bathyFile       :: File containing bathymetry. If not defined bathymetry
                0044 C                        is taken from inline function.
                0045 C     topoFile        :: File containing the topography of the surface (unit=m)
                0046 C                        (mainly used for the atmosphere = ground height).
26565fca80 Jean*0047 C     addWwallFile    :: File containing 2-D additional Western  cell-edge wall
                0048 C     addSwallFile    :: File containing 2-D additional Southern cell-edge wall
                0049 C                        (e.g., to add "thin-wall" where it is =1)
9fafc42509 Jean*0050 C     hydrogThetaFile :: File containing initial hydrographic data (3-D)
                0051 C                        for potential temperature.
                0052 C     hydrogSaltFile  :: File containing initial hydrographic data (3-D)
                0053 C                        for salinity.
a7c5f770ff Dimi*0054 C     diffKrFile      :: File containing 3D specification of vertical diffusivity
d062b1342f Gael*0055 C     viscAhDfile     :: File containing 3D specification of horizontal viscosity
                0056 C     viscAhZfile     :: File containing 3D specification of horizontal viscosity
                0057 C     viscA4Dfile     :: File containing 3D specification of horizontal viscosity
                0058 C     viscA4Zfile     :: File containing 3D specification of horizontal viscosity
ac0f2a1690 Chri*0059 C     zonalWindFile   :: File containing zonal wind data
                0060 C     meridWindFile   :: File containing meridional wind data
9fafc42509 Jean*0061 C     thetaClimFile   :: File containing surface theta climataology used
0097b465dd Jean*0062 C                        in relaxation term -lambda(theta-theta*)
9fafc42509 Jean*0063 C     saltClimFile    :: File containing surface salt climataology used
0097b465dd Jean*0064 C                        in relaxation term -lambda(salt-salt*)
2d2cc93d4f Jean*0065 C     surfQfile       :: File containing surface heat flux, excluding SW
                0066 C                        (old version, kept for backward compatibility)
                0067 C     surfQnetFile    :: File containing surface net heat flux
                0068 C     surfQswFile     :: File containing surface shortwave radiation
ac0f2a1690 Chri*0069 C     EmPmRfile       :: File containing surface fresh water flux
8f02cfbf56 Dimi*0070 C           NOTE: for backward compatibility EmPmRfile is specified in
                0071 C                 m/s when using external_fields_load.F.  It is converted
                0072 C                 to kg/m2/s by multiplying by rhoConstFresh.
1e273d1bf5 Jean*0073 C     saltFluxFile    :: File containing surface salt flux
395b093796 Mart*0074 C     pLoadFile       :: File containing pressure loading
0320e25227 Mart*0075 C     geoPotAnomFile  :: File containing constant geopotential anomaly due to
                0076 C                        density structure
22dbc402ed Jean*0077 C     addMassFile     :: File containing source/sink of fluid in the interior
43af9695da Gael*0078 C     eddyPsiXFile    :: File containing zonal Eddy streamfunction data
                0079 C     eddyPsiYFile    :: File containing meridional Eddy streamfunction data
7e00d7e8f9 Jean*0080 C     geothermalFile  :: File containing geothermal heat flux
                0081 C     lambdaThetaFile :: File containing SST relaxation coefficient
                0082 C     lambdaSaltFile  :: File containing SSS relaxation coefficient
                0083 C     wghtBalanceFile :: File containing weight used in balancing net EmPmR
a30418b6b9 Ed H*0084 C     the_run_name    :: string identifying the name of the model "run"
9fafc42509 Jean*0085       COMMON /PARM_C/
                0086      &                buoyancyRelation, eosType,
83d329dbf1 Mart*0087      &                pickupSuff, mdsioLocalDir, adTapeDir,
6ef71429db Jean*0088      &                tRefFile, sRefFile, rhoRefFile, gravityFile,
f15994caab Jean*0089      &                delRFile, delRcFile, hybSigmFile,
7feb50e40b Jean*0090      &                delXFile, delYFile, horizGridFile,
26565fca80 Jean*0091      &                bathyFile, topoFile, addWwallFile, addSwallFile,
59cf2de9a0 Jean*0092      &                viscAhDfile, viscAhZfile,
                0093      &                viscA4Dfile, viscA4Zfile,
a7c5f770ff Dimi*0094      &                hydrogThetaFile, hydrogSaltFile, diffKrFile,
42bd47f06f Chri*0095      &                zonalWindFile, meridWindFile, thetaClimFile,
9fafc42509 Jean*0096      &                saltClimFile,
1e273d1bf5 Jean*0097      &                EmPmRfile, saltFluxFile,
                0098      &                surfQfile, surfQnetFile, surfQswFile,
2dcaa8b9a5 Patr*0099      &                uVelInitFile, vVelInitFile, pSurfInitFile,
0320e25227 Mart*0100      &                pLoadFile, geoPotAnomFile, addMassFile,
90929f8806 Patr*0101      &                eddyPsiXFile, eddyPsiYFile, geothermalFile,
7e00d7e8f9 Jean*0102      &                lambdaThetaFile, lambdaSaltFile, wghtBalanceFile,
a30418b6b9 Ed H*0103      &                the_run_name
9fafc42509 Jean*0104       CHARACTER*(MAX_LEN_FNAM) buoyancyRelation
                0105       CHARACTER*(6)  eosType
                0106       CHARACTER*(10) pickupSuff
                0107       CHARACTER*(MAX_LEN_FNAM) mdsioLocalDir
83d329dbf1 Mart*0108       CHARACTER*(MAX_LEN_FNAM) adTapeDir
afed22d369 Jean*0109       CHARACTER*(MAX_LEN_FNAM) tRefFile
                0110       CHARACTER*(MAX_LEN_FNAM) sRefFile
                0111       CHARACTER*(MAX_LEN_FNAM) rhoRefFile
6ef71429db Jean*0112       CHARACTER*(MAX_LEN_FNAM) gravityFile
afed22d369 Jean*0113       CHARACTER*(MAX_LEN_FNAM) delRFile
                0114       CHARACTER*(MAX_LEN_FNAM) delRcFile
f15994caab Jean*0115       CHARACTER*(MAX_LEN_FNAM) hybSigmFile
7feb50e40b Jean*0116       CHARACTER*(MAX_LEN_FNAM) delXFile
                0117       CHARACTER*(MAX_LEN_FNAM) delYFile
50b73ab0f2 Jean*0118       CHARACTER*(MAX_LEN_FNAM) horizGridFile
8194bc4a99 Mart*0119       CHARACTER*(MAX_LEN_FNAM) bathyFile, topoFile
26565fca80 Jean*0120       CHARACTER*(MAX_LEN_FNAM) addWwallFile, addSwallFile
da261b7741 Dimi*0121       CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile, hydrogSaltFile
a7c5f770ff Dimi*0122       CHARACTER*(MAX_LEN_FNAM) diffKrFile
d062b1342f Gael*0123       CHARACTER*(MAX_LEN_FNAM) viscAhDfile
                0124       CHARACTER*(MAX_LEN_FNAM) viscAhZfile
                0125       CHARACTER*(MAX_LEN_FNAM) viscA4Dfile
                0126       CHARACTER*(MAX_LEN_FNAM) viscA4Zfile
81bc00c2f0 Chri*0127       CHARACTER*(MAX_LEN_FNAM) zonalWindFile
                0128       CHARACTER*(MAX_LEN_FNAM) meridWindFile
42bd47f06f Chri*0129       CHARACTER*(MAX_LEN_FNAM) thetaClimFile
                0130       CHARACTER*(MAX_LEN_FNAM) saltClimFile
88830be691 Alis*0131       CHARACTER*(MAX_LEN_FNAM) surfQfile
2d2cc93d4f Jean*0132       CHARACTER*(MAX_LEN_FNAM) surfQnetFile
                0133       CHARACTER*(MAX_LEN_FNAM) surfQswFile
88830be691 Alis*0134       CHARACTER*(MAX_LEN_FNAM) EmPmRfile
1e273d1bf5 Jean*0135       CHARACTER*(MAX_LEN_FNAM) saltFluxFile
e5c33d9529 Alis*0136       CHARACTER*(MAX_LEN_FNAM) uVelInitFile
                0137       CHARACTER*(MAX_LEN_FNAM) vVelInitFile
c53bb77cb3 Alis*0138       CHARACTER*(MAX_LEN_FNAM) pSurfInitFile
22dbc402ed Jean*0139       CHARACTER*(MAX_LEN_FNAM) pLoadFile
0320e25227 Mart*0140       CHARACTER*(MAX_LEN_FNAM) geoPotAnomFile
22dbc402ed Jean*0141       CHARACTER*(MAX_LEN_FNAM) addMassFile
43af9695da Gael*0142       CHARACTER*(MAX_LEN_FNAM) eddyPsiXFile
                0143       CHARACTER*(MAX_LEN_FNAM) eddyPsiYFile
90929f8806 Patr*0144       CHARACTER*(MAX_LEN_FNAM) geothermalFile
28659cf1dc Patr*0145       CHARACTER*(MAX_LEN_FNAM) lambdaThetaFile
                0146       CHARACTER*(MAX_LEN_FNAM) lambdaSaltFile
7e00d7e8f9 Jean*0147       CHARACTER*(MAX_LEN_FNAM) wghtBalanceFile
653d657315 Jean*0148       CHARACTER*(MAX_LEN_PREC/2) the_run_name
66dc79a095 Chri*0149 
924557e60a Chri*0150 C--   COMMON /PARM_I/ Integer valued parameters used by the model.
ac0f2a1690 Chri*0151 C     cg2dMaxIters        :: Maximum number of iterations in the
0097b465dd Jean*0152 C                            two-dimensional con. grad solver.
aecc8b0f47 Mart*0153 C     cg2dMinItersNSA     :: Minimum number of iterations in the
                0154 C                            not-self-adjoint version (cg2d_nsa.F) of the
                0155 C                            two-dimensional con. grad solver (default = 0).
fe587f155a Jean*0156 C     cg2dPreCondFreq     :: Frequency for updating cg2d preconditioner
                0157 C                            (non-linear free-surf.)
84d75049c8 Jean*0158 C     cg2dUseMinResSol    :: =0 : use last-iteration/converged solution
                0159 C                            =1 : use solver minimum-residual solution
ac0f2a1690 Chri*0160 C     cg3dMaxIters        :: Maximum number of iterations in the
0097b465dd Jean*0161 C                            three-dimensional con. grad solver.
38867baced Jean*0162 C     printResidualFreq   :: Frequency for printing residual in CG iterations
ac0f2a1690 Chri*0163 C     nIter0              :: Start time-step number of for this run
                0164 C     nTimeSteps          :: Number of timesteps to execute
6e6f314aa7 Patr*0165 C     nTimeSteps_l2       :: Number of inner timesteps to execute per timestep
c07cd3bfa8 Jean*0166 C     selectCoriMap       :: select setting of Coriolis parameter map:
                0167 C                           =0 f-Plane (Constant Coriolis, = f0)
                0168 C                           =1 Beta-Plane Coriolis (= f0 + beta.y)
                0169 C                           =2 Spherical Coriolis (= 2.omega.sin(phi))
                0170 C                           =3 Read Coriolis 2-d fields from files.
                0171 C     selectSigmaCoord    :: option related to sigma vertical coordinate
ac0f2a1690 Chri*0172 C     nonlinFreeSurf      :: option related to non-linear free surface
b69c172d01 Jean*0173 C                           =0 Linear free surface ; >0 Non-linear
8cd260dad9 Jean*0174 C     select_rStar        :: option related to r* vertical coordinate
                0175 C                           =0 (default) use r coord. ; > 0 use r*
3fcd8a21e5 Jean*0176 C     selectNHfreeSurf    :: option for Non-Hydrostatic (free-)Surface formulation:
                0177 C                           =0 (default) hydrostatic surf. ; > 0 add NH effects.
6ef71429db Jean*0178 C     selectP_inEOS_Zc    :: select which pressure to use in EOS (for z-coords)
                0179 C                           =0: simply: -g*rhoConst*z
                0180 C                           =1: use pRef = integral{-g*rho(Tref,Sref,pRef)*dz}
                0181 C                           =2: use hydrostatic dynamical pressure
                0182 C                           =3: use full (Hyd+NH) dynamical pressure
f42dd9d11c Jean*0183 C     selectAddFluid      :: option to add mass source/sink of fluid in the interior
                0184 C                            (3-D generalisation of oceanic real-fresh water flux)
                0185 C                           =0 off ; =1 add fluid ; =-1 virtual flux (no mass added)
7e00d7e8f9 Jean*0186 C     selectBalanceEmPmR  :: option to balance net surface fresh-water flux:
                0187 C                           =0 off ; =1 uniform correction ; = 2 weighted correction
05dafbe7c6 Jean*0188 C     selectImplicitDrag  :: select Implicit treatment of bottom/top drag
                0189 C                           = 0: fully explicit
                0190 C                           = 1: implicit on provisional velocity
                0191 C                                (i.e., before grad.Eta increment)
                0192 C                           = 2: fully implicit (combined with Impl Surf.Press)
00c7090dc0 Mart*0193 C     selectPenetratingSW :: select treatment of penetrating shortwave radiation
                0194 C                            (requires to define SHORTWAVE_HEATING):
                0195 C                           = 0: no shortwave penetration
                0196 C                           = 1: constant in time and horizontally uniform
                0197 C                                fraction of shortwave penetration (default)
                0198 C                           = 2: constant in time, but non-uniform fraction of
                0199 C                                shortwave penetration (not yet coded)
                0200 C                           > 2: time varying fraction of shortwave penetration
                0201 C                                according to external function (e.g. BGC model,
                0202 C                                not yet coded)
c2b6ed6bfd Jean*0203 C     momForcingOutAB     :: =1: take momentum forcing contribution
0097b465dd Jean*0204 C                            out of (=0: in) Adams-Bashforth time stepping.
c2b6ed6bfd Jean*0205 C     tracForcingOutAB    :: =1: take tracer (Temp,Salt,pTracers) forcing contribution
0097b465dd Jean*0206 C                            out of (=0: in) Adams-Bashforth time stepping.
49efc6c1e0 Jean*0207 C     tempAdvScheme       :: Temp. Horiz.Advection scheme selector
de2fbf2366 Jean*0208 C     tempVertAdvScheme   :: Temp. Vert. Advection scheme selector
49efc6c1e0 Jean*0209 C     saltAdvScheme       :: Salt. Horiz.advection scheme selector
                0210 C     saltVertAdvScheme   :: Salt. Vert. Advection scheme selector
de2fbf2366 Jean*0211 C     selectKEscheme      :: Kinetic Energy scheme selector (Vector Inv.)
e35a804907 Jean*0212 C     selectVortScheme    :: Scheme selector for Vorticity term (Vector Inv.)
427e24e121 Jean*0213 C     selectMetricTerms   :: Scheme selector for Metric terms (Flux-Form)
7843dde2de jm-c 0214 C     selectCoriScheme    :: Scheme selector for Coriolis term
427e24e121 Jean*0215 C     select3dCoriScheme  :: Scheme selector for 3-D Coriolis (in Omega.cos Phi)
f9ef55fa0c Jean*0216 C     selectBotDragQuadr  :: quadratic bottom drag discretisation option:
                0217 C                           =0: average KE from grid center to U & V location
                0218 C                           =1: use local velocity norm @ U & V location
                0219 C                           =2: same with wet-point averaging of other component
d4bae8cf47 Jean*0220 C     pCellMix_select     :: select option to enhance mixing near surface & bottom
                0221 C                            unit digit: near bottom ; tens digit: near surface
                0222 C                            with digit =0 : disable ;
                0223 C                           = 1 : increases mixing linearly with recip_hFac
                0224 C                           = 2,3,4 : increases mixing by recip_hFac^(2,3,4)
a993440a55 Jean*0225 C     readBinaryPrec      :: Precision used for reading binary files
                0226 C     writeBinaryPrec     :: Precision used for writing binary files
                0227 C     rwSuffixType        :: controls the format of the mds file suffix.
                0228 C                          =0 (default): use iteration number (myIter, I10.10);
                0229 C                          =1: 100*myTime (100th sec); =2: myTime (seconds);
                0230 C                          =3: myTime/360 (10th of hr); =4: myTime/3600 (hours).
9f127ffcb6 Jean*0231 C     monitorSelect       :: select group of variables to monitor
                0232 C                            =1 : dynvars ; =2 : + vort ; =3 : + surface
edffd006b2 Jean*0233 C-    debugLevel          :: controls printing of algorithm intermediate results
                0234 C                            and statistics ; higher -> more writing
337b46d524 Jean*0235 C-    plotLevel           :: controls printing of field maps ; higher -> more flds
1dbaea09ee Chri*0236 
924557e60a Chri*0237       COMMON /PARM_I/
aecc8b0f47 Mart*0238      &        cg2dMaxIters, cg2dMinItersNSA,
84d75049c8 Jean*0239      &        cg2dPreCondFreq, cg2dUseMinResSol,
aecc8b0f47 Mart*0240      &        cg3dMaxIters, printResidualFreq,
6e6f314aa7 Patr*0241      &        nIter0, nTimeSteps, nTimeSteps_l2, nEndIter,
c07cd3bfa8 Jean*0242      &        selectCoriMap,
                0243      &        selectSigmaCoord,
8cd260dad9 Jean*0244      &        nonlinFreeSurf, select_rStar,
6ef71429db Jean*0245      &        selectNHfreeSurf, selectP_inEOS_Zc,
7e00d7e8f9 Jean*0246      &        selectAddFluid, selectBalanceEmPmR, selectImplicitDrag,
c2b6ed6bfd Jean*0247      &        momForcingOutAB, tracForcingOutAB,
49efc6c1e0 Jean*0248      &        tempAdvScheme, tempVertAdvScheme,
                0249      &        saltAdvScheme, saltVertAdvScheme,
427e24e121 Jean*0250      &        selectKEscheme, selectVortScheme, selectMetricTerms,
                0251      &        selectCoriScheme, select3dCoriScheme,
00c7090dc0 Mart*0252      &        selectBotDragQuadr, selectPenetratingSW, pCellMix_select,
427e24e121 Jean*0253      &        readBinaryPrec, writeBinaryPrec,
337b46d524 Jean*0254      &        rwSuffixType, monitorSelect, debugLevel, plotLevel
924557e60a Chri*0255       INTEGER cg2dMaxIters
aecc8b0f47 Mart*0256       INTEGER cg2dMinItersNSA
fe587f155a Jean*0257       INTEGER cg2dPreCondFreq
84d75049c8 Jean*0258       INTEGER cg2dUseMinResSol
46dc4f419b Chri*0259       INTEGER cg3dMaxIters
38867baced Jean*0260       INTEGER printResidualFreq
924557e60a Chri*0261       INTEGER nIter0
                0262       INTEGER nTimeSteps
6e6f314aa7 Patr*0263       INTEGER nTimeSteps_l2
d4701cb6da Alis*0264       INTEGER nEndIter
c07cd3bfa8 Jean*0265       INTEGER selectCoriMap
                0266       INTEGER selectSigmaCoord
b69c172d01 Jean*0267       INTEGER nonlinFreeSurf
8cd260dad9 Jean*0268       INTEGER select_rStar
3fcd8a21e5 Jean*0269       INTEGER selectNHfreeSurf
6ef71429db Jean*0270       INTEGER selectP_inEOS_Zc
f42dd9d11c Jean*0271       INTEGER selectAddFluid
7e00d7e8f9 Jean*0272       INTEGER selectBalanceEmPmR
05dafbe7c6 Jean*0273       INTEGER selectImplicitDrag
c2b6ed6bfd Jean*0274       INTEGER momForcingOutAB, tracForcingOutAB
49efc6c1e0 Jean*0275       INTEGER tempAdvScheme, tempVertAdvScheme
                0276       INTEGER saltAdvScheme, saltVertAdvScheme
7548b53ced Jean*0277       INTEGER selectKEscheme
e35a804907 Jean*0278       INTEGER selectVortScheme
427e24e121 Jean*0279       INTEGER selectMetricTerms
7843dde2de jm-c 0280       INTEGER selectCoriScheme
427e24e121 Jean*0281       INTEGER select3dCoriScheme
f9ef55fa0c Jean*0282       INTEGER selectBotDragQuadr
00c7090dc0 Mart*0283       INTEGER selectPenetratingSW
d4bae8cf47 Jean*0284       INTEGER pCellMix_select
a993440a55 Jean*0285       INTEGER readBinaryPrec
                0286       INTEGER writeBinaryPrec
                0287       INTEGER rwSuffixType
9f127ffcb6 Jean*0288       INTEGER monitorSelect
494ad43bae Patr*0289       INTEGER debugLevel
337b46d524 Jean*0290       INTEGER plotLevel
494ad43bae Patr*0291 
924557e60a Chri*0292 C--   COMMON /PARM_L/ Logical valued parameters used by the model.
e13269dd4b Jean*0293 C- Coordinate + Grid params:
                0294 C     fluidIsAir       :: Set to indicate that the fluid major constituent
0097b465dd Jean*0295 C                         is air
e13269dd4b Jean*0296 C     fluidIsWater     :: Set to indicate that the fluid major constituent
0097b465dd Jean*0297 C                         is water
e13269dd4b Jean*0298 C     usingPCoords     :: Set to indicate that we are working in a pressure
0097b465dd Jean*0299 C                         type coordinate (p or p*).
e13269dd4b Jean*0300 C     usingZCoords     :: Set to indicate that we are working in a height
0097b465dd Jean*0301 C                         type coordinate (z or z*)
ac0f2a1690 Chri*0302 C     usingCartesianGrid :: If TRUE grid generation will be in a cartesian
0097b465dd Jean*0303 C                           coordinate frame.
f4e5ffc990 Jean*0304 C     usingSphericalPolarGrid :: If TRUE grid generation will be in a
0097b465dd Jean*0305 C                                spherical polar frame.
e13269dd4b Jean*0306 C     rotateGrid      :: rotate grid coordinates to geographical coordinates
                0307 C                        according to Euler angles phiEuler, thetaEuler, psiEuler
                0308 C     usingCylindricalGrid :: If TRUE grid generation will be Cylindrical
7f7edb5ca4 Jean*0309 C     usingCurvilinearGrid :: If TRUE, use a curvilinear grid (to be provided)
                0310 C     hasWetCSCorners :: domain contains CS-type corners where dynamics is solved
9c29d55c39 Jean*0311 C     deepAtmosphere :: deep model (drop the shallow-atmosphere approximation)
e13269dd4b Jean*0312 C     setInterFDr    :: set Interface depth (put cell-Center at the middle)
                0313 C     setCenterDr    :: set cell-Center depth (put Interface at the middle)
dd9374dd6b Jean*0314 C     useMin4hFacEdges :: set hFacW,hFacS as minimum of adjacent hFacC factor
d4bae8cf47 Jean*0315 C     interViscAr_pCell :: account for partial-cell in interior vert. viscosity
                0316 C     interDiffKr_pCell :: account for partial-cell in interior vert. diffusion
e13269dd4b Jean*0317 C- Momentum params:
                0318 C     no_slip_sides  :: Impose "no-slip" at lateral boundaries.
ac0f2a1690 Chri*0319 C     no_slip_bottom :: Impose "no-slip" at bottom boundary.
f9ef55fa0c Jean*0320 C     bottomVisc_pCell :: account for partial-cell in bottom visc. (no-slip BC)
acaad95e18 Jean*0321 C     useSmag3D      :: Use isotropic 3-D Smagorinsky
e13269dd4b Jean*0322 C     useFullLeith   :: Set to true to use full Leith viscosity(may be unstable
                0323 C                       on irregular grids)
                0324 C     useStrainTensionVisc:: Set to true to use Strain-Tension viscous terms
                0325 C     useAreaViscLength :: Set to true to use old scaling for viscous lengths,
                0326 C                          e.g., L2=Raz.  May be preferable for cube sphere.
ac0f2a1690 Chri*0327 C     momViscosity  :: Flag which turns momentum friction terms on and off.
                0328 C     momAdvection  :: Flag which turns advection of momentum on and off.
8e1649be57 Jean*0329 C     momForcing    :: Flag which turns external forcing of momentum on and off.
                0330 C     momTidalForcing    :: Flag which turns tidal forcing on and off.
ac0f2a1690 Chri*0331 C     momPressureForcing :: Flag which turns pressure term in momentum equation
cf8488c0fd Chri*0332 C                          on and off.
3362dfc756 Jean*0333 C     useNHMTerms   :: If TRUE use non-hydrostatic metric terms.
ac0f2a1690 Chri*0334 C     useCoriolis   :: Flag which turns the coriolis terms on and off.
e13269dd4b Jean*0335 C     useCDscheme   :: use CD-scheme to calculate Coriolis terms.
                0336 C     vectorInvariantMomentum :: use Vector-Invariant form (mom_vecinv package)
                0337 C                                (default = F = use mom_fluxform package)
                0338 C     useJamartMomAdv :: Use wet-point method for V.I. non-linear term
                0339 C     upwindVorticity :: bias interpolation of vorticity in the Coriolis term
                0340 C     highOrderVorticity :: use 3rd/4th order interp. of vorticity (V.I., advection)
                0341 C     useAbsVorticity :: work with f+zeta in Coriolis terms
35c76859f0 Jean*0342 C     upwindShear     :: use 1rst order upwind interp. (V.I., vertical advection)
e13269dd4b Jean*0343 C     momStepping    :: Turns momentum equation time-stepping off
35c76859f0 Jean*0344 C     calc_wVelocity :: Turns vertical velocity calculation off
e13269dd4b Jean*0345 C- Temp. & Salt params:
22dbc402ed Jean*0346 C     tempStepping   :: Turns temperature equation time-stepping on/off
                0347 C     saltStepping   :: Turns salinity equation time-stepping on/off
                0348 C     addFrictionHeating :: account for frictional heating
46918f1b26 Jean*0349 C     temp_stayPositive :: use Smolarkiewicz Hack to ensure Temp stays positive
                0350 C     salt_stayPositive :: use Smolarkiewicz Hack to ensure Salt stays positive
e13269dd4b Jean*0351 C     tempAdvection  :: Flag which turns advection of temperature on and off.
bf6138bedc Jean*0352 C     tempVertDiff4  :: use vertical bi-harmonic diffusion for temperature
e13269dd4b Jean*0353 C     tempIsActiveTr :: Pot.Temp. is a dynamically active tracer
22dbc402ed Jean*0354 C     tempForcing    :: Flag which turns external forcing of temperature on/off
e13269dd4b Jean*0355 C     saltAdvection  :: Flag which turns advection of salinity on and off.
bf6138bedc Jean*0356 C     saltVertDiff4  :: use vertical bi-harmonic diffusion for salinity
e13269dd4b Jean*0357 C     saltIsActiveTr :: Salinity  is a dynamically active tracer
22dbc402ed Jean*0358 C     saltForcing    :: Flag which turns external forcing of salinity on/off
2d01527c7e Jean*0359 C     maskIniTemp    :: apply mask to initial Pot.Temp.
                0360 C     maskIniSalt    :: apply mask to initial salinity
                0361 C     checkIniTemp   :: check for points with identically zero initial Pot.Temp.
                0362 C     checkIniSalt   :: check for points with identically zero initial salinity
23bce0bbb8 Mart*0363 C- Pressure solver related parameters (PARM02)
aecc8b0f47 Mart*0364 C     useNSACGSolver :: Set to true to use "not self-adjoint" conjugate
                0365 C                       gradient solver that stores the iteration history
                0366 C                       for an iterative adjoint as accuate as possible
23bce0bbb8 Mart*0367 C     useSRCGSolver  :: Set to true to use conjugate gradient
                0368 C                       solver with single reduction (only one call of
                0369 C                       s/r mpi_allreduce), default is false
0097b465dd Jean*0370 C- Time-stepping & free-surface params:
ac0f2a1690 Chri*0371 C     rigidLid            :: Set to true to use rigid lid
c6161be44c Jean*0372 C     implicitFreeSurface :: Set to true to use implicit free surface
0097b465dd Jean*0373 C     uniformLin_PhiSurf  :: Set to true to use a uniform Bo_surf in the
                0374 C                            linear relation Phi_surf = Bo_surf*eta
                0375 C     uniformFreeSurfLev  :: TRUE if free-surface level-index is uniform (=1)
ac0f2a1690 Chri*0376 C     exactConserv        :: Set to true to conserve exactly the total Volume
74c7704c2f Davi*0377 C     linFSConserveTr     :: Set to true to correct source/sink of tracer
f4e5ffc990 Jean*0378 C                            at the surface due to Linear Free Surface
0097b465dd Jean*0379 C     useRealFreshWaterFlux :: if True (=Natural BCS), treats P+R-E flux
                0380 C                         as a real Fresh Water (=> changes the Sea Level)
                0381 C                         if F, converts P+R-E to salt flux (no SL effect)
6ef71429db Jean*0382 C     storePhiHyd4Phys :: store hydrostatic potential for use in Physics/EOS
                0383 C                         this requires specific code for restart & exchange
e13269dd4b Jean*0384 C     quasiHydrostatic :: Using non-hydrostatic terms in hydrostatic algorithm
                0385 C     nonHydrostatic   :: Using non-hydrostatic algorithm
                0386 C     use3Dsolver      :: set to true to use 3-D pressure solver
c6161be44c Jean*0387 C     implicitIntGravWave :: treat Internal Gravity Wave implicitly
e13269dd4b Jean*0388 C     staggerTimeStep   :: enable a Stagger time stepping U,V (& W) then T,S
35c76859f0 Jean*0389 C     applyExchUV_early :: Apply EXCH to U,V earlier, just before integr_continuity
01b68e9f05 Jean*0390 C     doResetHFactors   :: Do reset thickness factors @ beginning of each time-step
ac0f2a1690 Chri*0391 C     implicitDiffusion :: Turns implicit vertical diffusion on
                0392 C     implicitViscosity :: Turns implicit vertical viscosity on
f9ef55fa0c Jean*0393 C     tempImplVertAdv   :: Turns on implicit vertical advection for Temperature
                0394 C     saltImplVertAdv   :: Turns on implicit vertical advection for Salinity
                0395 C     momImplVertAdv    :: Turns on implicit vertical advection for Momentum
5aef30157d Jean*0396 C     multiDimAdvection :: Flag that enable multi-dimension advection
ffd0966f4f Jean*0397 C     useMultiDimAdvec  :: True if multi-dim advection is used at least once
c2b6ed6bfd Jean*0398 C     momDissip_In_AB   :: if False, put Dissipation tendency contribution
2f6ccfd84c Jean*0399 C                          out off Adams-Bashforth time stepping.
                0400 C     doAB_onGtGs       :: if the Adams-Bashforth time stepping is used, always
6d61b52b09 Jean*0401 C                          apply AB on tracer tendencies (rather than on Tracer)
e13269dd4b Jean*0402 C- Other forcing params -
                0403 C     balanceQnet     :: substract global mean of Qnet at every time step
                0404 C     balancePrintMean:: print substracted global means to STDOUT
ac0f2a1690 Chri*0405 C     doThetaClimRelax :: Set true if relaxation to temperature
42bd47f06f Chri*0406 C                        climatology is required.
ac0f2a1690 Chri*0407 C     doSaltClimRelax  :: Set true if relaxation to salinity
42bd47f06f Chri*0408 C                        climatology is required.
9e3a303fa3 Gael*0409 C     balanceThetaClimRelax :: substract global mean effect at every time step
                0410 C     balanceSaltClimRelax :: substract global mean effect at every time step
e13269dd4b Jean*0411 C     allowFreezing  :: Allows surface water to freeze and form ice
ac0f2a1690 Chri*0412 C     periodicExternalForcing :: Set true if forcing is time-dependant
e13269dd4b Jean*0413 C- I/O parameters -
59cf2de9a0 Jean*0414 C     globalFiles    :: Selects between "global" and "tiled" files.
                0415 C                       On some platforms with MPI, option globalFiles is either
                0416 C                       slow or does not work. Use useSingleCpuIO instead.
                0417 C     useSingleCpuIO :: moved to EEPARAMS.h
e13269dd4b Jean*0418 C     pickupStrictlyMatch :: check and stop if pickup-file do not stricly match
                0419 C     startFromPickupAB2 :: with AB-3 code, start from an AB-2 pickup
                0420 C     usePickupBeforeC54 :: start from old-pickup files, generated with code from
                0421 C                           before checkpoint-54a, Jul 06, 2004.
a30418b6b9 Ed H*0422 C     pickup_write_mdsio :: use mdsio to write pickups
                0423 C     pickup_read_mdsio  :: use mdsio to read  pickups
                0424 C     pickup_write_immed :: echo the pickup immediately (for conversion)
8c73a5b228 Mart*0425 C     writePickupAtEnd   :: write pickup at the last timestep
a30418b6b9 Ed H*0426 C     timeave_mdsio      :: use mdsio for timeave output
                0427 C     snapshot_mdsio     :: use mdsio for "snapshot" (dumpfreq/diagfreq) output
b6356366ca Ed H*0428 C     monitor_stdio      :: use stdio for monitor output
f4e5ffc990 Jean*0429 C     dumpInitAndLast :: dumps model state to files at Initial (nIter0)
82d0948361 Jean*0430 C                        & Last iteration, in addition multiple of dumpFreq iter.
279d6fcfb9 Mart*0431 
e13269dd4b Jean*0432       COMMON /PARM_L/
                0433      & fluidIsAir, fluidIsWater,
6ef71429db Jean*0434      & usingPCoords, usingZCoords,
e13269dd4b Jean*0435      & usingCartesianGrid, usingSphericalPolarGrid, rotateGrid,
7f7edb5ca4 Jean*0436      & usingCylindricalGrid, usingCurvilinearGrid, hasWetCSCorners,
dd9374dd6b Jean*0437      & deepAtmosphere, setInterFDr, setCenterDr, useMin4hFacEdges,
d4bae8cf47 Jean*0438      & interViscAr_pCell, interDiffKr_pCell,
f9ef55fa0c Jean*0439      & no_slip_sides, no_slip_bottom, bottomVisc_pCell, useSmag3D,
e13269dd4b Jean*0440      & useFullLeith, useStrainTensionVisc, useAreaViscLength,
8e1649be57 Jean*0441      & momViscosity, momAdvection, momForcing, momTidalForcing,
427e24e121 Jean*0442      & momPressureForcing, useNHMTerms,
                0443      & useCoriolis, useCDscheme, vectorInvariantMomentum,
7843dde2de jm-c 0444      & useJamartMomAdv, upwindVorticity, highOrderVorticity,
e13269dd4b Jean*0445      & useAbsVorticity, upwindShear,
e2b579164c Jean*0446      & momStepping, calc_wVelocity, tempStepping, saltStepping,
46918f1b26 Jean*0447      & addFrictionHeating, temp_stayPositive, salt_stayPositive,
bf6138bedc Jean*0448      & tempAdvection, tempVertDiff4, tempIsActiveTr, tempForcing,
                0449      & saltAdvection, saltVertDiff4, saltIsActiveTr, saltForcing,
2d01527c7e Jean*0450      & maskIniTemp, maskIniSalt, checkIniTemp, checkIniSalt,
aecc8b0f47 Mart*0451      & useNSACGSolver, useSRCGSolver,
0097b465dd Jean*0452      & rigidLid, implicitFreeSurface,
                0453      & uniformLin_PhiSurf, uniformFreeSurfLev,
                0454      & exactConserv, linFSConserveTr, useRealFreshWaterFlux,
6ef71429db Jean*0455      & storePhiHyd4Phys, quasiHydrostatic, nonHydrostatic,
                0456      & use3Dsolver, implicitIntGravWave, staggerTimeStep,
35c76859f0 Jean*0457      & applyExchUV_early, doResetHFactors,
05dafbe7c6 Jean*0458      & implicitDiffusion, implicitViscosity,
c0be2284a6 Jean*0459      & tempImplVertAdv, saltImplVertAdv, momImplVertAdv,
7548b53ced Jean*0460      & multiDimAdvection, useMultiDimAdvec,
c2b6ed6bfd Jean*0461      & momDissip_In_AB, doAB_onGtGs,
7e00d7e8f9 Jean*0462      & balanceQnet, balancePrintMean,
9e3a303fa3 Gael*0463      & balanceThetaClimRelax, balanceSaltClimRelax,
e13269dd4b Jean*0464      & doThetaClimRelax, doSaltClimRelax,
e793395f17 Jean*0465      & allowFreezing,
e13269dd4b Jean*0466      & periodicExternalForcing,
59cf2de9a0 Jean*0467      & globalFiles,
f4e5ffc990 Jean*0468      & pickupStrictlyMatch, usePickupBeforeC54, startFromPickupAB2,
a30418b6b9 Ed H*0469      & pickup_read_mdsio, pickup_write_mdsio, pickup_write_immed,
8c73a5b228 Mart*0470      & writePickupAtEnd,
9a87ea5e43 Ed H*0471      & timeave_mdsio, snapshot_mdsio, monitor_stdio,
337b46d524 Jean*0472      & outputTypesInclusive, dumpInitAndLast
cdf6d093b9 Ed H*0473 
e13269dd4b Jean*0474       LOGICAL fluidIsAir
                0475       LOGICAL fluidIsWater
                0476       LOGICAL usingPCoords
                0477       LOGICAL usingZCoords
924557e60a Chri*0478       LOGICAL usingCartesianGrid
e13269dd4b Jean*0479       LOGICAL usingSphericalPolarGrid, rotateGrid
0ac260a803 Andr*0480       LOGICAL usingCylindricalGrid
7f7edb5ca4 Jean*0481       LOGICAL usingCurvilinearGrid, hasWetCSCorners
9c29d55c39 Jean*0482       LOGICAL deepAtmosphere
afed22d369 Jean*0483       LOGICAL setInterFDr
                0484       LOGICAL setCenterDr
dd9374dd6b Jean*0485       LOGICAL useMin4hFacEdges
d4bae8cf47 Jean*0486       LOGICAL interViscAr_pCell
                0487       LOGICAL interDiffKr_pCell
22dbc402ed Jean*0488 
0127add478 Alis*0489       LOGICAL no_slip_sides
                0490       LOGICAL no_slip_bottom
f9ef55fa0c Jean*0491       LOGICAL bottomVisc_pCell
acaad95e18 Jean*0492       LOGICAL useSmag3D
76099ab0aa Jean*0493       LOGICAL useFullLeith
                0494       LOGICAL useStrainTensionVisc
                0495       LOGICAL useAreaViscLength
924557e60a Chri*0496       LOGICAL momViscosity
                0497       LOGICAL momAdvection
                0498       LOGICAL momForcing
8e1649be57 Jean*0499       LOGICAL momTidalForcing
cf8488c0fd Chri*0500       LOGICAL momPressureForcing
22dbc402ed Jean*0501       LOGICAL useNHMTerms
                0502 
924557e60a Chri*0503       LOGICAL useCoriolis
22dbc402ed Jean*0504       LOGICAL useCDscheme
66d5e1666c Alis*0505       LOGICAL vectorInvariantMomentum
22dbc402ed Jean*0506       LOGICAL useJamartMomAdv
                0507       LOGICAL upwindVorticity
                0508       LOGICAL highOrderVorticity
                0509       LOGICAL useAbsVorticity
                0510       LOGICAL upwindShear
                0511       LOGICAL momStepping
                0512       LOGICAL calc_wVelocity
                0513       LOGICAL tempStepping
                0514       LOGICAL saltStepping
                0515       LOGICAL addFrictionHeating
46918f1b26 Jean*0516       LOGICAL temp_stayPositive
                0517       LOGICAL salt_stayPositive
924557e60a Chri*0518       LOGICAL tempAdvection
bf6138bedc Jean*0519       LOGICAL tempVertDiff4
aa2e39692e Jean*0520       LOGICAL tempIsActiveTr
924557e60a Chri*0521       LOGICAL tempForcing
                0522       LOGICAL saltAdvection
bf6138bedc Jean*0523       LOGICAL saltVertDiff4
aa2e39692e Jean*0524       LOGICAL saltIsActiveTr
924557e60a Chri*0525       LOGICAL saltForcing
2d01527c7e Jean*0526       LOGICAL maskIniTemp
                0527       LOGICAL maskIniSalt
                0528       LOGICAL checkIniTemp
                0529       LOGICAL checkIniSalt
aecc8b0f47 Mart*0530       LOGICAL useNSACGSolver
76099ab0aa Jean*0531       LOGICAL useSRCGSolver
c0a4efc370 Chri*0532       LOGICAL rigidLid
aea29c8517 Alis*0533       LOGICAL implicitFreeSurface
0097b465dd Jean*0534       LOGICAL uniformLin_PhiSurf
                0535       LOGICAL uniformFreeSurfLev
aea29c8517 Alis*0536       LOGICAL exactConserv
74c7704c2f Davi*0537       LOGICAL linFSConserveTr
0097b465dd Jean*0538       LOGICAL useRealFreshWaterFlux
6ef71429db Jean*0539       LOGICAL storePhiHyd4Phys
e13269dd4b Jean*0540       LOGICAL quasiHydrostatic
                0541       LOGICAL nonHydrostatic
c82f753998 Jean*0542       LOGICAL use3Dsolver
c6161be44c Jean*0543       LOGICAL implicitIntGravWave
                0544       LOGICAL staggerTimeStep
35c76859f0 Jean*0545       LOGICAL applyExchUV_early
01b68e9f05 Jean*0546       LOGICAL doResetHFactors
b5aba14e85 Alis*0547       LOGICAL implicitDiffusion
ababcf8304 Alis*0548       LOGICAL implicitViscosity
7548b53ced Jean*0549       LOGICAL tempImplVertAdv
                0550       LOGICAL saltImplVertAdv
c0be2284a6 Jean*0551       LOGICAL momImplVertAdv
5aef30157d Jean*0552       LOGICAL multiDimAdvection
ffd0966f4f Jean*0553       LOGICAL useMultiDimAdvec
c2b6ed6bfd Jean*0554       LOGICAL momDissip_In_AB
2f6ccfd84c Jean*0555       LOGICAL doAB_onGtGs
e13269dd4b Jean*0556       LOGICAL balanceQnet
                0557       LOGICAL balancePrintMean
42bd47f06f Chri*0558       LOGICAL doThetaClimRelax
                0559       LOGICAL doSaltClimRelax
9e3a303fa3 Gael*0560       LOGICAL balanceThetaClimRelax
                0561       LOGICAL balanceSaltClimRelax
e13269dd4b Jean*0562       LOGICAL allowFreezing
4edf45584c Alis*0563       LOGICAL periodicExternalForcing
ab42872a05 Alis*0564       LOGICAL globalFiles
f4e5ffc990 Jean*0565       LOGICAL pickupStrictlyMatch
a1bffd2f2d Jean*0566       LOGICAL usePickupBeforeC54
001808f0de Jean*0567       LOGICAL startFromPickupAB2
a30418b6b9 Ed H*0568       LOGICAL pickup_read_mdsio, pickup_write_mdsio
8c73a5b228 Mart*0569       LOGICAL pickup_write_immed, writePickupAtEnd
b6356366ca Ed H*0570       LOGICAL timeave_mdsio, snapshot_mdsio, monitor_stdio
ff63a227b0 Ed H*0571       LOGICAL outputTypesInclusive
e13269dd4b Jean*0572       LOGICAL dumpInitAndLast
924557e60a Chri*0573 
                0574 C--   COMMON /PARM_R/ "Real" valued parameters used by the model.
fe587f155a Jean*0575 C     cg2dTargetResidual
e6e223b277 Jean*0576 C          :: Target residual for cg2d solver ; no unit (RHS normalisation)
aea29c8517 Alis*0577 C     cg2dTargetResWunit
e6e223b277 Jean*0578 C          :: Target residual for cg2d solver ; W unit (No RHS normalisation)
46dc4f419b Chri*0579 C     cg3dTargetResidual
e6e223b277 Jean*0580 C          :: Target residual for cg3d solver ; no unit (RHS normalisation)
                0581 C     cg3dTargetResWunit
                0582 C          :: Target residual for cg3d solver ; W unit (No RHS normalisation)
ac0f2a1690 Chri*0583 C     cg2dpcOffDFac :: Averaging weight for preconditioner off-diagonal.
66dc79a095 Chri*0584 C     Note. 20th May 1998
                0585 C           I made a weird discovery! In the model paper we argue
                0586 C           for the form of the preconditioner used here ( see
                0587 C           A Finite-volume, Incompressible Navier-Stokes Model
                0588 C           ...., Marshall et. al ). The algebra gives a simple
                0589 C           0.5 factor for the averaging of ac and aCw to get a
                0590 C           symmettric pre-conditioner. By using a factor of 0.51
                0591 C           i.e. scaling the off-diagonal terms in the
                0592 C           preconditioner down slightly I managed to get the
                0593 C           number of iterations for convergence in a test case to
                0594 C           drop form 192 -> 134! Need to investigate this further!
                0595 C           For now I have introduced a parameter cg2dpcOffDFac which
                0596 C           defaults to 0.51 but can be set at runtime.
ac0f2a1690 Chri*0597 C     delR      :: Vertical grid spacing ( units of r ).
c28ce1627a Jean*0598 C     delRc     :: Vertical grid spacing between cell centers (r unit).
ac0f2a1690 Chri*0599 C     delX      :: Separation between cell faces (m) or (deg), depending
1e8bf13d3f Jean*0600 C     delY         on input flags. Note: moved to header file SET_GRID.h
9744e36521 Jean*0601 C     xgOrigin   :: Origin of the X-axis (Cartesian Grid) / Longitude of Western
                0602 C                :: most cell face (Lat-Lon grid) (Note: this is an "inert"
                0603 C                :: parameter but it makes geographical references simple.)
                0604 C     ygOrigin   :: Origin of the Y-axis (Cartesian Grid) / Latitude of Southern
                0605 C                :: most face (Lat-Lon grid).
2ad79bdf32 Jean*0606 C     rSphere    :: Radius of sphere for a spherical polar grid ( m ).
                0607 C     recip_rSphere :: Reciprocal radius of sphere ( m^-1 ).
                0608 C     radius_fromHorizGrid :: sphere Radius of input horiz. grid (Curvilinear Grid)
                0609 C     seaLev_Z   :: the reference height of sea-level (usually zero)
                0610 C     top_Pres   :: pressure (P-Coords) or reference pressure (Z-Coords) at the top
6ef71429db Jean*0611 C     rSigmaBnd  :: vertical position (in r-unit) of r/sigma transition (Hybrid-Sigma)
                0612 C     gravity    :: Acceleration due to constant gravity ( m/s^2 )
                0613 C     recip_gravity :: Reciprocal gravity acceleration ( s^2/m )
aad87ebb4c Jean*0614 C     gBaro      :: Accel. due to gravity used in barotropic equation ( m/s^2 )
6ef71429db Jean*0615 C     gravFacC   :: gravity factor (vs surf. gravity) vert. profile at cell-Center
                0616 C     gravFacF   :: gravity factor (vs surf. gravity) vert. profile at cell-interF
aad87ebb4c Jean*0617 C     rhoNil     :: Reference density for the linear equation of state
                0618 C     rhoConst   :: Vertically constant reference density (Boussinesq)
6ef71429db Jean*0619 C     rho1Ref    :: reference vertical profile for density (anelastic)
aad87ebb4c Jean*0620 C     rhoFacC    :: normalized (by rhoConst) reference density at cell-Center
                0621 C     rhoFacF    :: normalized (by rhoConst) reference density at cell-interFace
e305438401 Mart*0622 C     rhoConstFresh :: Constant reference density for fresh water (rain)
6ef71429db Jean*0623 C     thetaConst :: Constant reference for potential temperature
aad87ebb4c Jean*0624 C     tRef       :: reference vertical profile for potential temperature
                0625 C     sRef       :: reference vertical profile for salinity/specific humidity
5b172de0d2 Jean*0626 C     rhoRef     :: density vertical profile from (tRef,sRef) [kg/m^3]
aad87ebb4c Jean*0627 C     dBdrRef    :: vertical gradient of reference buoyancy  [(m/s/r)^2]:
                0628 C                :: z-coord: = N^2_ref = Brunt-Vaissala frequency [s^-2]
                0629 C                :: p-coord: = -(d.alpha/dp)_ref          [(m^2.s/kg)^2]
5b172de0d2 Jean*0630 C     surf_pRef  :: surface reference pressure ( Pa )
                0631 C     pRef4EOS   :: reference pressure used in EOS (case selectP_inEOS_Zc=1)
                0632 C     phiRef     :: reference potential (press/rho, geopot) profile (m^2/s^2)
eba17c6dff Jean*0633 C     rVel2wUnit :: units conversion factor (Non-Hydrostatic code),
                0634 C                :: from r-coordinate vertical velocity to vertical velocity [m/s].
                0635 C                :: z-coord: = 1 ; p-coord: wSpeed [m/s] = rVel [Pa/s] * rVel2wUnit
                0636 C     wUnit2rVel :: units conversion factor (Non-Hydrostatic code),
                0637 C                :: from vertical velocity [m/s] to r-coordinate vertical velocity.
                0638 C                :: z-coord: = 1 ; p-coord: rVel [Pa/s] = wSpeed [m/s] * wUnit2rVel
5b172de0d2 Jean*0639 C     rUnit2z    :: units conversion factor (for ocean in P-coord, only fct of k),
                0640 C                :: from r-coordinate to z [m] (at level center):
                0641 C                :: z-coord: = 1 ; p-coord: dz [m] = dr [Pa] * rUnit2z
                0642 C     z2rUnit    :: units conversion factor (for ocean in P-coord, only fct of k),
                0643 C                :: from z [m] to r-coordinate (at level center):
                0644 C                :: z-coord: = 1 ; p-coord: dr [Pa] = dz [m] * z2rUnit
599be48d9a Jean*0645 C     mass2rUnit :: units conversion factor (surface forcing),
                0646 C                :: from mass per unit area [kg/m2] to vertical r-coordinate unit.
                0647 C                :: z-coord: = 1/rhoConst ( [kg/m2] / rho = [m] ) ;
                0648 C                :: p-coord: = gravity    ( [kg/m2] *  g = [Pa] ) ;
                0649 C     rUnit2mass :: units conversion factor (surface forcing),
                0650 C                :: from vertical r-coordinate unit to mass per unit area [kg/m2].
                0651 C                :: z-coord: = rhoConst  ( [m] * rho = [kg/m2] ) ;
                0652 C                :: p-coord: = 1/gravity ( [Pa] /  g = [kg/m2] ) ;
0320e25227 Mart*0653 C     sIceLoadFac:: factor to scale (and turn off) sIceLoad (sea-ice loading)
                0654 C                   default = 1
9780090eaa Jean*0655 C     f0         :: Reference coriolis parameter ( 1/s )
                0656 C                   ( Southern edge f for beta plane )
                0657 C     beta       :: df/dy ( s^-1.m^-1 )
c07cd3bfa8 Jean*0658 C     fPrime     :: Second Coriolis parameter ( 1/s ), related to Y-component
                0659 C                   of rotation (reference value = 2.Omega.Cos(Phi))
9780090eaa Jean*0660 C     omega      :: Angular velocity ( rad/s )
aa63d8425c Jean*0661 C     rotationPeriod :: Rotation period (s) (= 2.pi/omega)
2d15ad3a83 Jean*0662 C     viscArNr   :: vertical profile of Eddy viscosity coeff.
                0663 C                   for vertical mixing of momentum ( units of r^2/s )
9780090eaa Jean*0664 C     viscAh     :: Eddy viscosity coeff. for mixing of
                0665 C                   momentum laterally ( m^2/s )
                0666 C     viscAhW    :: Eddy viscosity coeff. for mixing of vertical
                0667 C                   momentum laterally, no effect for hydrostatic
acaad95e18 Jean*0668 C                   model, defaults to viscAhD if unset ( m^2/s )
9780090eaa Jean*0669 C                   Not used if variable horiz. viscosity is used.
                0670 C     viscA4     :: Biharmonic viscosity coeff. for mixing of
                0671 C                   momentum laterally ( m^4/s )
                0672 C     viscA4W    :: Biharmonic viscosity coeff. for mixing of vertical
                0673 C                   momentum laterally, no effect for hydrostatic
acaad95e18 Jean*0674 C                   model, defaults to viscA4D if unset ( m^2/s )
9780090eaa Jean*0675 C                   Not used if variable horiz. viscosity is used.
                0676 C     viscAhD    :: Eddy viscosity coeff. for mixing of momentum laterally
                0677 C                   (act on Divergence part) ( m^2/s )
                0678 C     viscAhZ    :: Eddy viscosity coeff. for mixing of momentum laterally
                0679 C                   (act on Vorticity  part) ( m^2/s )
                0680 C     viscA4D    :: Biharmonic viscosity coeff. for mixing of momentum laterally
                0681 C                   (act on Divergence part) ( m^4/s )
                0682 C     viscA4Z    :: Biharmonic viscosity coeff. for mixing of momentum laterally
                0683 C                   (act on Vorticity  part) ( m^4/s )
2d5bb917cc Jean*0684 C     smag3D_coeff     :: Isotropic 3-D Smagorinsky viscosity coefficient (-)
                0685 C     smag3D_diffCoeff :: Isotropic 3-D Smagorinsky diffusivity coefficient (-)
e35a804907 Jean*0686 C     viscC2leith  :: Leith non-dimensional viscosity factor (grad(vort))
1e9e8678dd Bayl*0687 C     viscC2leithD :: Modified Leith non-dimensional visc. factor (grad(div))
f59d76b0dd Ed D*0688 C     viscC2LeithQG:: QG Leith non-dimensional viscosity factor
e35a804907 Jean*0689 C     viscC4leith  :: Leith non-dimensional viscosity factor (grad(vort))
                0690 C     viscC4leithD :: Modified Leith non-dimensional viscosity factor (grad(div))
                0691 C     viscC2smag   :: Smagorinsky non-dimensional viscosity factor (harmonic)
                0692 C     viscC4smag   :: Smagorinsky non-dimensional viscosity factor (biharmonic)
                0693 C     viscAhMax    :: Maximum eddy viscosity coeff. for mixing of
                0694 C                    momentum laterally ( m^2/s )
                0695 C     viscAhReMax  :: Maximum gridscale Reynolds number for eddy viscosity
                0696 C                     coeff. for mixing of momentum laterally (non-dim)
                0697 C     viscAhGrid   :: non-dimensional grid-size dependent viscosity
8f106aecfd Bayl*0698 C     viscAhGridMax:: maximum and minimum harmonic viscosity coefficients ...
1e9e8678dd Bayl*0699 C     viscAhGridMin::  in terms of non-dimensional grid-size dependent visc.
e35a804907 Jean*0700 C     viscA4Max    :: Maximum biharmonic viscosity coeff. for mixing of
                0701 C                     momentum laterally ( m^4/s )
                0702 C     viscA4ReMax  :: Maximum Gridscale Reynolds number for
                0703 C                     biharmonic viscosity coeff. momentum laterally (non-dim)
                0704 C     viscA4Grid   :: non-dimensional grid-size dependent bi-harmonic viscosity
070e727a0d Dimi*0705 C     viscA4GridMax:: maximum and minimum biharmonic viscosity coefficients ...
                0706 C     viscA4GridMin::  in terms of non-dimensional grid-size dependent viscosity
ac0f2a1690 Chri*0707 C     diffKhT   :: Laplacian diffusion coeff. for mixing of
924557e60a Chri*0708 C                 heat laterally ( m^2/s )
ac0f2a1690 Chri*0709 C     diffK4T   :: Biharmonic diffusion coeff. for mixing of
924557e60a Chri*0710 C                 heat laterally ( m^4/s )
bf6138bedc Jean*0711 C     diffKrNrT :: vertical profile of Laplacian diffusion coeff.
                0712 C                 for mixing of heat vertically ( units of r^2/s )
                0713 C     diffKr4T  :: vertical profile of Biharmonic diffusion coeff.
                0714 C                 for mixing of heat vertically ( units of r^4/s )
ac0f2a1690 Chri*0715 C     diffKhS  ::  Laplacian diffusion coeff. for mixing of
924557e60a Chri*0716 C                 salt laterally ( m^2/s )
ac0f2a1690 Chri*0717 C     diffK4S   :: Biharmonic diffusion coeff. for mixing of
924557e60a Chri*0718 C                 salt laterally ( m^4/s )
bf6138bedc Jean*0719 C     diffKrNrS :: vertical profile of Laplacian diffusion coeff.
                0720 C                 for mixing of salt vertically ( units of r^2/s ),
                0721 C     diffKr4S  :: vertical profile of Biharmonic diffusion coeff.
                0722 C                 for mixing of salt vertically ( units of r^4/s )
19ec94aecc Alis*0723 C     diffKrBL79surf :: T/S surface diffusivity (m^2/s) Bryan and Lewis, 1979
                0724 C     diffKrBL79deep :: T/S deep diffusivity (m^2/s) Bryan and Lewis, 1979
                0725 C     diffKrBL79scl  :: depth scale for arctan fn (m) Bryan and Lewis, 1979
                0726 C     diffKrBL79Ho   :: depth offset for arctan fn (m) Bryan and Lewis, 1979
e40c34e398 Dimi*0727 C     BL79LatVary    :: polarwise of this latitude diffKrBL79 is applied with
                0728 C                       gradual transition to diffKrBLEQ towards Equator
                0729 C     diffKrBLEQsurf :: same as diffKrBL79surf but at Equator
                0730 C     diffKrBLEQdeep :: same as diffKrBL79deep but at Equator
                0731 C     diffKrBLEQscl  :: same as diffKrBL79scl but at Equator
                0732 C     diffKrBLEQHo   :: same as diffKrBL79Ho but at Equator
d4bae8cf47 Jean*0733 C     pCellMix_maxFac :: maximum enhanced mixing factor for thin partial-cell
                0734 C     pCellMix_delR   :: thickness criteria   for too thin partial-cell
                0735 C     pCellMix_viscAr :: vertical viscosity   for too thin partial-cell
                0736 C     pCellMix_diffKr :: vertical diffusivity for too thin partial-cell
ac0f2a1690 Chri*0737 C     deltaT    :: Default timestep ( s )
                0738 C     deltaTClock  :: Timestep used as model "clock". This determines the
66dc79a095 Chri*0739 C                    IO frequencies and is used in tagging output. It can
                0740 C                    be totally different to the dynamical time. Typically
                0741 C                    it will be the deep-water timestep for accelerated runs.
                0742 C                    Frequency of checkpointing and dumping of the model state
                0743 C                    are referenced to this clock. ( s )
ac0f2a1690 Chri*0744 C     deltaTMom    :: Timestep for momemtum equations ( s )
062a876ce5 Jean*0745 C     dTtracerLev  :: Timestep for tracer equations ( s ), function of level k
22dbc402ed Jean*0746 C     deltaTFreeSurf :: Timestep for free-surface equation ( s )
0097b465dd Jean*0747 C     freeSurfFac  :: Parameter to turn implicit free surface term on or off
                0748 C                     freeSurFac = 1. uses implicit free surface
                0749 C                     freeSurFac = 0. uses rigid lid
001808f0de Jean*0750 C     abEps        :: Adams-Bashforth-2 stabilizing weight
                0751 C     alph_AB      :: Adams-Bashforth-3 primary factor
                0752 C     beta_AB      :: Adams-Bashforth-3 secondary factor
ac0f2a1690 Chri*0753 C     implicSurfPress :: parameter of the Crank-Nickelson time stepping :
e5f0f23b70 Jean*0754 C                     Implicit part of Surface Pressure Gradient ( 0-1 )
05dafbe7c6 Jean*0755 C     implicDiv2DFlow :: parameter of the Crank-Nickelson time stepping :
e5f0f23b70 Jean*0756 C                     Implicit part of barotropic flow Divergence ( 0-1 )
9f72978e70 Jean*0757 C     implicitNHPress :: parameter of the Crank-Nickelson time stepping :
                0758 C                     Implicit part of Non-Hydrostatic Pressure Gradient ( 0-1 )
ac0f2a1690 Chri*0759 C     hFacMin      :: Minimum fraction size of a cell (affects hFacC etc...)
e2bc96a5d1 Jean*0760 C     hFacMinDz    :: Minimum dimensional size of a cell (affects hFacC etc..., m)
                0761 C     hFacMinDp    :: Minimum dimensional size of a cell (affects hFacC etc..., Pa)
                0762 C     hFacMinDr    :: Minimum dimensional size of a cell (-> hFacC etc..., r units)
ac0f2a1690 Chri*0763 C     hFacInf      :: Threshold (inf and sup) for fraction size of surface cell
e2bc96a5d1 Jean*0764 C     hFacSup          that control vanishing and creating levels
                0765 C     tauCD         :: CD scheme coupling timescale ( s )
                0766 C     rCD           :: CD scheme normalised coupling parameter (= 1 - deltaT/tauCD)
                0767 C     epsAB_CD      :: Adams-Bashforth-2 stabilizing weight used in CD scheme
873c307f71 Jean*0768 C     baseTime      :: model base time (time origin) = time @ iteration zero
ac0f2a1690 Chri*0769 C     startTime     :: Starting time for this integration ( s ).
                0770 C     endTime       :: Ending time for this integration ( s ).
                0771 C     chkPtFreq     :: Frequency of rolling check pointing ( s ).
                0772 C     pChkPtFreq    :: Frequency of permanent check pointing ( s ).
                0773 C     dumpFreq      :: Frequency with which model state is written to
0097b465dd Jean*0774 C                      post-processing files ( s ).
ac0f2a1690 Chri*0775 C     diagFreq      :: Frequency with which model writes diagnostic output
0097b465dd Jean*0776 C                      of intermediate quantities.
427e24e121 Jean*0777 C     afFacMom      :: Advection of momentum term multiplication factor
                0778 C     vfFacMom      :: Momentum viscosity term    multiplication factor
                0779 C     pfFacMom      :: Momentum pressure forcing  multiplication factor
                0780 C     cfFacMom      :: Coriolis term              multiplication factor
                0781 C     foFacMom      :: Momentum forcing           multiplication factor
                0782 C     mtFacMom      :: Metric terms               multiplication factor
ac0f2a1690 Chri*0783 C     cosPower      :: Power of cosine of latitude to multiply viscosity
                0784 C     cAdjFreq      :: Frequency of convective adjustment
15e8c0c8ad Chri*0785 C
e35a804907 Jean*0786 C     taveFreq      :: Frequency with which time-averaged model state
9800a0be87 Jean*0787 C                      is written to post-processing files ( s ).
e35a804907 Jean*0788 C     tave_lastIter :: (for state variable only) fraction of the last time
                0789 C                      step (of each taveFreq period) put in the time average.
9800a0be87 Jean*0790 C                      (fraction for 1rst iter = 1 - tave_lastIter)
ac0f2a1690 Chri*0791 C     tauThetaClimRelax :: Relaxation to climatology time scale ( s ).
                0792 C     tauSaltClimRelax :: Relaxation to climatology time scale ( s ).
36b12bb7ff Jean*0793 C     latBandClimRelax :: latitude band where Relaxation to Clim. is applied,
                0794 C                         i.e. where |yC| <= latBandClimRelax
ac0f2a1690 Chri*0795 C     externForcingPeriod :: Is the period of which forcing varies (eg. 1 month)
                0796 C     externForcingCycle :: Is the repeat time of the forcing (eg. 1 year)
4edf45584c Alis*0797 C                          (note: externForcingCycle must be an integer
                0798 C                           number times externForcingPeriod)
ea4246aae8 Jean*0799 C     convertFW2Salt :: salinity, used to convert Fresh-Water Flux to Salt Flux
                0800 C                       (use model surface (local) value if set to -1)
e35a804907 Jean*0801 C     temp_EvPrRn :: temperature of Rain & Evap.
ea4246aae8 Jean*0802 C     salt_EvPrRn :: salinity of Rain & Evap.
427e24e121 Jean*0803 C     temp_addMass :: temperature of addMass field
                0804 C     salt_addMass :: salinity of addMass field
e35a804907 Jean*0805 C        (notes: a) tracer content of Rain/Evap only used if both
ea4246aae8 Jean*0806 C                     NonLin_FrSurf & useRealFreshWater are set.
                0807 C                b) use model surface (local) value if set to UNSET_RL)
7c01d59526 Davi*0808 C     hMixCriteria:: criteria for mixed-layer diagnostic
                0809 C     dRhoSmall   :: parameter for mixed-layer diagnostic
ab47de63dc Mart*0810 C     hMixSmooth  :: Smoothing parameter for mixed-layer diag
                0811 C                    (default=0: no smoothing)
dcd7aba685 Jean*0812 C     ivdc_kappa  :: implicit vertical diffusivity for convection [m^2/s]
e35a804907 Jean*0813 C     sideDragFactor     :: side-drag scaling factor (used only if no_slip_sides)
f4b9df5e2d Jean*0814 C                           (default=2: full drag ; =1: gives half-slip BC)
01c16836c5 Jean*0815 C     bottomDragLinear    :: Linear    bottom-drag coefficient (units of [r]/s)
                0816 C     bottomDragQuadratic :: Quadratic bottom-drag coefficient (units of [r]/m)
                0817 C               (if using zcoordinate, units becomes linear: m/s, quadratic: [-])
ab47de63dc Mart*0818 C     zRoughBot :: roughness length for quadratic bottom friction coefficient
                0819 C                  (in m, typical values are order 0.01 m)
616600b8d2 Patr*0820 C     smoothAbsFuncRange :: 1/2 of interval around zero, for which FORTRAN ABS
                0821 C                           is to be replace by a smoother function
                0822 C                           (affects myabs, mymin, mymax)
ab47de63dc Mart*0823 C     nh_Am2        :: scales non-hydrostatic terms and changes internal scales
f4b9df5e2d Jean*0824 C                      (i.e. allows convection at different Rayleigh numbers)
22dbc402ed Jean*0825 C     tCylIn        :: Temperature of the cylinder inner boundary
                0826 C     tCylOut       :: Temperature of the cylinder outer boundary
7514c1bd55 Mart*0827 C     phiEuler      :: Euler angle, rotation about original z-axis
                0828 C     thetaEuler    :: Euler angle, rotation about new x-axis
                0829 C     psiEuler      :: Euler angle, rotation about new z-axis
7548b53ced Jean*0830       COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit,
e6e223b277 Jean*0831      & cg2dpcOffDFac, cg3dTargetResidual, cg3dTargetResWunit,
2ad79bdf32 Jean*0832      & delR, delRc, xgOrigin, ygOrigin, rSphere, recip_rSphere,
                0833      & radius_fromHorizGrid, seaLev_Z, top_Pres, rSigmaBnd,
22dbc402ed Jean*0834      & deltaT, deltaTMom, dTtracerLev, deltaTFreeSurf, deltaTClock,
001808f0de Jean*0835      & abEps, alph_AB, beta_AB,
c07cd3bfa8 Jean*0836      & f0, beta, fPrime, omega, rotationPeriod,
2d5bb917cc Jean*0837      & viscFacAdj, viscAh, viscAhW, smag3D_coeff, smag3D_diffCoeff,
acaad95e18 Jean*0838      & viscAhMax, viscAhGrid, viscAhGridMax, viscAhGridMin,
f59d76b0dd Ed D*0839      & viscC2leith, viscC2leithD, viscC2LeithQG,
fb933c6516 Bayl*0840      & viscC2smag, viscC4smag,
915a82d1f5 Jean*0841      & viscAhD, viscAhZ, viscA4D, viscA4Z,
e35a804907 Jean*0842      & viscA4, viscA4W, viscA4Max,
                0843      & viscA4Grid, viscA4GridMax, viscA4GridMin,
                0844      & viscAhReMax, viscA4ReMax,
2d15ad3a83 Jean*0845      & viscC4leith, viscC4leithD, viscArNr,
bf6138bedc Jean*0846      & diffKhT, diffK4T, diffKrNrT, diffKr4T,
                0847      & diffKhS, diffK4S, diffKrNrS, diffKr4S,
19ec94aecc Alis*0848      & diffKrBL79surf, diffKrBL79deep, diffKrBL79scl, diffKrBL79Ho,
e40c34e398 Dimi*0849      & BL79LatVary,
0aefc24df1 Dimi*0850      & diffKrBLEQsurf, diffKrBLEQdeep, diffKrBLEQscl, diffKrBLEQHo,
d4bae8cf47 Jean*0851      & pCellMix_maxFac, pCellMix_delR, pCellMix_viscAr, pCellMix_diffKr,
e2bc96a5d1 Jean*0852      & tauCD, rCD, epsAB_CD,
05dafbe7c6 Jean*0853      & freeSurfFac, implicSurfPress, implicDiv2DFlow, implicitNHPress,
aea29c8517 Alis*0854      & hFacMin, hFacMinDz, hFacInf, hFacSup,
599be48d9a Jean*0855      & gravity, recip_gravity, gBaro,
6ef71429db Jean*0856      & gravFacC, recip_gravFacC, gravFacF, recip_gravFacF,
                0857      & rhoNil, rhoConst, recip_rhoConst, rho1Ref,
                0858      & rhoFacC, recip_rhoFacC, rhoFacF, recip_rhoFacF, rhoConstFresh,
5b172de0d2 Jean*0859      & thetaConst, tRef, sRef, rhoRef, dBdrRef,
                0860      & surf_pRef, pRef4EOS, phiRef,
                0861      & rVel2wUnit, wUnit2rVel, rUnit2z, z2rUnit, mass2rUnit, rUnit2mass,
7548b53ced Jean*0862      & baseTime, startTime, endTime,
                0863      & chkPtFreq, pChkPtFreq, dumpFreq, adjDumpFreq,
dd069a2c40 Patr*0864      & diagFreq, taveFreq, tave_lastIter, monitorFreq, adjMonitorFreq,
b05b067368 Chri*0865      & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom,
c07cd3bfa8 Jean*0866      & cosPower, cAdjFreq,
e13269dd4b Jean*0867      & tauThetaClimRelax, tauSaltClimRelax, latBandClimRelax,
b915494633 Chri*0868      & externForcingCycle, externForcingPeriod,
acf54afd9e Jean*0869      & convertFW2Salt, temp_EvPrRn, salt_EvPrRn,
80d98e0151 Dimi*0870      & temp_addMass, salt_addMass, hFacMinDr, hFacMinDp,
f15994caab Jean*0871      & ivdc_kappa, hMixCriteria, dRhoSmall, hMixSmooth,
ab47de63dc Mart*0872      & sideDragFactor, bottomDragLinear, bottomDragQuadratic,
                0873      & zRoughBot, nh_Am2, smoothAbsFuncRange, sIceLoadFac,
7514c1bd55 Mart*0874      & tCylIn, tCylOut,
                0875      & phiEuler, thetaEuler, psiEuler
b915494633 Chri*0876 
4e41eecc46 Alis*0877       _RL cg2dTargetResidual
aea29c8517 Alis*0878       _RL cg2dTargetResWunit
46dc4f419b Chri*0879       _RL cg3dTargetResidual
e6e223b277 Jean*0880       _RL cg3dTargetResWunit
66dc79a095 Chri*0881       _RL cg2dpcOffDFac
3d6b649e23 Chri*0882       _RL delR(Nr)
c28ce1627a Jean*0883       _RL delRc(Nr+1)
9744e36521 Jean*0884       _RL xgOrigin
                0885       _RL ygOrigin
2ad79bdf32 Jean*0886       _RL rSphere
                0887       _RL recip_rSphere
                0888       _RL radius_fromHorizGrid
                0889       _RL seaLev_Z
                0890       _RL top_Pres
6ef71429db Jean*0891       _RL rSigmaBnd
4e41eecc46 Alis*0892       _RL deltaT
66dc79a095 Chri*0893       _RL deltaTClock
22dbc402ed Jean*0894       _RL deltaTMom
062a876ce5 Jean*0895       _RL dTtracerLev(Nr)
22dbc402ed Jean*0896       _RL deltaTFreeSurf
001808f0de Jean*0897       _RL abEps, alph_AB, beta_AB
4e41eecc46 Alis*0898       _RL f0
c07cd3bfa8 Jean*0899       _RL beta
                0900       _RL fPrime
                0901       _RL omega
                0902       _RL rotationPeriod
c0a4efc370 Chri*0903       _RL freeSurfFac
e5f0f23b70 Jean*0904       _RL implicSurfPress
05dafbe7c6 Jean*0905       _RL implicDiv2DFlow
9f72978e70 Jean*0906       _RL implicitNHPress
174c27c489 Alis*0907       _RL hFacMin
                0908       _RL hFacMinDz
910f05e765 Chri*0909       _RL hFacMinDp
b915494633 Chri*0910       _RL hFacMinDr
aea29c8517 Alis*0911       _RL hFacInf
                0912       _RL hFacSup
2d15ad3a83 Jean*0913       _RL viscArNr(Nr)
ff0e47a5e6 Patr*0914       _RL viscFacAdj
4e41eecc46 Alis*0915       _RL viscAh
6deb815953 Mart*0916       _RL viscAhW
915a82d1f5 Jean*0917       _RL viscAhD
                0918       _RL viscAhZ
2d5bb917cc Jean*0919       _RL smag3D_coeff, smag3D_diffCoeff
396048594e Alis*0920       _RL viscAhMax
1e9e8678dd Bayl*0921       _RL viscAhReMax
e35a804907 Jean*0922       _RL viscAhGrid, viscAhGridMax, viscAhGridMin
e46ec53fc5 Alis*0923       _RL viscC2leith
8f106aecfd Bayl*0924       _RL viscC2leithD
f59d76b0dd Ed D*0925       _RL viscC2LeithQG
f293e6030b Bayl*0926       _RL viscC2smag
7548b53ced Jean*0927       _RL viscA4
0b6cbae535 Mart*0928       _RL viscA4W
915a82d1f5 Jean*0929       _RL viscA4D
                0930       _RL viscA4Z
396048594e Alis*0931       _RL viscA4Max
1e9e8678dd Bayl*0932       _RL viscA4ReMax
070e727a0d Dimi*0933       _RL viscA4Grid, viscA4GridMax, viscA4GridMin
e46ec53fc5 Alis*0934       _RL viscC4leith
8f106aecfd Bayl*0935       _RL viscC4leithD
e35a804907 Jean*0936       _RL viscC4smag
7548b53ced Jean*0937       _RL diffKhT
                0938       _RL diffK4T
bf6138bedc Jean*0939       _RL diffKrNrT(Nr)
                0940       _RL diffKr4T(Nr)
7548b53ced Jean*0941       _RL diffKhS
                0942       _RL diffK4S
bf6138bedc Jean*0943       _RL diffKrNrS(Nr)
                0944       _RL diffKr4S(Nr)
19ec94aecc Alis*0945       _RL diffKrBL79surf
                0946       _RL diffKrBL79deep
                0947       _RL diffKrBL79scl
                0948       _RL diffKrBL79Ho
e40c34e398 Dimi*0949       _RL BL79LatVary
0aefc24df1 Dimi*0950       _RL diffKrBLEQsurf
                0951       _RL diffKrBLEQdeep
                0952       _RL diffKrBLEQscl
                0953       _RL diffKrBLEQHo
d4bae8cf47 Jean*0954       _RL pCellMix_maxFac
                0955       _RL pCellMix_delR
                0956       _RL pCellMix_viscAr(Nr)
                0957       _RL pCellMix_diffKr(Nr)
e2bc96a5d1 Jean*0958       _RL tauCD, rCD, epsAB_CD
6ef71429db Jean*0959       _RL gravity,       recip_gravity
c0a4efc370 Chri*0960       _RL gBaro
6ef71429db Jean*0961       _RL gravFacC(Nr),   recip_gravFacC(Nr)
                0962       _RL gravFacF(Nr+1), recip_gravFacF(Nr+1)
d22f79dd46 Jean*0963       _RL rhoNil
afed22d369 Jean*0964       _RL rhoConst,      recip_rhoConst
6ef71429db Jean*0965       _RL rho1Ref(Nr)
afed22d369 Jean*0966       _RL rhoFacC(Nr),   recip_rhoFacC(Nr)
                0967       _RL rhoFacF(Nr+1), recip_rhoFacF(Nr+1)
e305438401 Mart*0968       _RL rhoConstFresh
6ef71429db Jean*0969       _RL thetaConst
3d6b649e23 Chri*0970       _RL tRef(Nr)
                0971       _RL sRef(Nr)
5b172de0d2 Jean*0972       _RL rhoRef(Nr)
                0973       _RL dBdrRef(Nr)
0bfef71ac3 Jean*0974       _RL surf_pRef, pRef4EOS(Nr)
d72f51c392 Jean*0975       _RL phiRef(2*Nr+1)
eba17c6dff Jean*0976       _RL rVel2wUnit(Nr+1), wUnit2rVel(Nr+1)
5b172de0d2 Jean*0977       _RL rUnit2z(Nr), z2rUnit(Nr)
599be48d9a Jean*0978       _RL mass2rUnit, rUnit2mass
873c307f71 Jean*0979       _RL baseTime
4e41eecc46 Alis*0980       _RL startTime
                0981       _RL endTime
                0982       _RL chkPtFreq
66dc79a095 Chri*0983       _RL pChkPtFreq
4e41eecc46 Alis*0984       _RL dumpFreq
ea0f79f160 Patr*0985       _RL adjDumpFreq
3a279374db Alis*0986       _RL diagFreq
c0c3fe12e2 Alis*0987       _RL taveFreq
9800a0be87 Jean*0988       _RL tave_lastIter
dc684458c1 Alis*0989       _RL monitorFreq
dd069a2c40 Patr*0990       _RL adjMonitorFreq
cf8488c0fd Chri*0991       _RL afFacMom
                0992       _RL vfFacMom
                0993       _RL pfFacMom
                0994       _RL cfFacMom
                0995       _RL foFacMom
3362dfc756 Jean*0996       _RL mtFacMom
d61b70ab90 Alis*0997       _RL cosPower
cf8488c0fd Chri*0998       _RL cAdjFreq
42bd47f06f Chri*0999       _RL tauThetaClimRelax
                1000       _RL tauSaltClimRelax
36b12bb7ff Jean*1001       _RL latBandClimRelax
4edf45584c Alis*1002       _RL externForcingCycle
                1003       _RL externForcingPeriod
ea4246aae8 Jean*1004       _RL convertFW2Salt
                1005       _RL temp_EvPrRn
                1006       _RL salt_EvPrRn
80d98e0151 Dimi*1007       _RL temp_addMass
                1008       _RL salt_addMass
d4701cb6da Alis*1009       _RL ivdc_kappa
dcd7aba685 Jean*1010       _RL hMixCriteria
7c01d59526 Davi*1011       _RL dRhoSmall
d1b0368d70 Davi*1012       _RL hMixSmooth
f4b9df5e2d Jean*1013       _RL sideDragFactor
fb481a83c2 Alis*1014       _RL bottomDragLinear
                1015       _RL bottomDragQuadratic
ab47de63dc Mart*1016       _RL zRoughBot
616600b8d2 Patr*1017       _RL smoothAbsFuncRange
0320e25227 Mart*1018       _RL sIceLoadFac
f4b9df5e2d Jean*1019       _RL nh_Am2
22dbc402ed Jean*1020       _RL tCylIn, tCylOut
7514c1bd55 Mart*1021       _RL phiEuler, thetaEuler, psiEuler
4e41eecc46 Alis*1022 
c95709dc6d Jean*1023 C--   COMMON /PARM_A/ Thermodynamics constants ?
aad87ebb4c Jean*1024       COMMON /PARM_A/ HeatCapacity_Cp
4e41eecc46 Alis*1025       _RL HeatCapacity_Cp
3a4fdb21a1 Alis*1026 
c95709dc6d Jean*1027 C--   COMMON /PARM_ATM/ Atmospheric physical parameters (Ideal Gas EOS, ...)
                1028 C     celsius2K :: convert centigrade (Celsius) degree to Kelvin
be72675163 Jean*1029 C     atm_Po    :: standard reference pressure
                1030 C     atm_Cp    :: specific heat (Cp) of the (dry) air at constant pressure
                1031 C     atm_Rd    :: gas constant for dry air
ac0f2a1690 Chri*1032 C     atm_kappa :: kappa = R/Cp (R: constant of Ideal Gas EOS)
1aedd07e9b Jean*1033 C     atm_Rq    :: water vapour specific volume anomaly relative to dry air
                1034 C                  (e.g. typical value = (29/18 -1) 10^-3 with q [g/kg])
be72675163 Jean*1035 C     integr_GeoPot :: option to select the way we integrate the geopotential
e35a804907 Jean*1036 C                     (still a subject of discussions ...)
be72675163 Jean*1037 C     selectFindRoSurf :: select the way surf. ref. pressure (=Ro_surf) is
                1038 C             derived from the orography. Implemented: 0,1 (see INI_P_GROUND)
7548b53ced Jean*1039       COMMON /PARM_ATM/
c95709dc6d Jean*1040      &            celsius2K,
1aedd07e9b Jean*1041      &            atm_Cp, atm_Rd, atm_kappa, atm_Rq, atm_Po,
c95709dc6d Jean*1042      &            integr_GeoPot, selectFindRoSurf
                1043       _RL celsius2K
1aedd07e9b Jean*1044       _RL atm_Po, atm_Cp, atm_Rd, atm_kappa, atm_Rq
be72675163 Jean*1045       INTEGER integr_GeoPot, selectFindRoSurf
b69c172d01 Jean*1046 
427e24e121 Jean*1047 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
d4bae8cf47 Jean*1048 C-- Logical flags for selecting packages
65594b9008 Jean*1049       LOGICAL useGAD
                1050       LOGICAL useOBCS
                1051       LOGICAL useSHAP_FILT
                1052       LOGICAL useZONAL_FILT
69a7b27187 Mart*1053       LOGICAL useOPPS
830fad566b Mart*1054       LOGICAL usePP81
d8d1486ca1 Jean*1055       LOGICAL useKL10
830fad566b Mart*1056       LOGICAL useMY82
69a7b27187 Mart*1057       LOGICAL useGGL90
de6e9ab483 Patr*1058       LOGICAL useKPP
                1059       LOGICAL useGMRedi
65594b9008 Jean*1060       LOGICAL useDOWN_SLOPE
15338fa568 Dimi*1061       LOGICAL useBBL
7548b53ced Jean*1062       LOGICAL useCAL
                1063       LOGICAL useEXF
65594b9008 Jean*1064       LOGICAL useBulkForce
7548b53ced Jean*1065       LOGICAL useEBM
65594b9008 Jean*1066       LOGICAL useCheapAML
ea7d076e20 Gael*1067       LOGICAL useAUTODIFF
41794ec014 Patr*1068       LOGICAL useGrdchk
e2bc96a5d1 Jean*1069       LOGICAL useSMOOTH
e994210c2e Gael*1070       LOGICAL usePROFILES
de6e9ab483 Patr*1071       LOGICAL useECCO
e2bbdfe9d8 Gael*1072       LOGICAL useCTRL
65594b9008 Jean*1073       LOGICAL useSBO
c806179eb4 Alis*1074       LOGICAL useFLT
5c43c390b6 Alis*1075       LOGICAL usePTRACERS
0a90236bb2 Mart*1076       LOGICAL useGCHEM
aad15a16e0 Step*1077       LOGICAL useRBCS
273603bbbc Jean*1078       LOGICAL useOffLine
7548b53ced Jean*1079       LOGICAL useMATRIX
e0b3e1bdd8 Dimi*1080       LOGICAL useFRAZIL
5ee2971ab8 Patr*1081       LOGICAL useSEAICE
65594b9008 Jean*1082       LOGICAL useSALT_PLUME
420f1345d9 Mart*1083       LOGICAL useShelfIce
00f81e6785 Ou W*1084       LOGICAL useSTIC
5d210a8dab Patr*1085       LOGICAL useStreamIce
5da8ce63fa Dimi*1086       LOGICAL useICEFRONT
4df1d791de Jean*1087       LOGICAL useThSIce
9042972bc7 Jean*1088       LOGICAL useLand
30f180d597 Jeff*1089       LOGICAL useATM2d
65594b9008 Jean*1090       LOGICAL useAIM
9042972bc7 Jean*1091       LOGICAL useAtm_Phys
65594b9008 Jean*1092       LOGICAL useFizhi
                1093       LOGICAL useGridAlt
46979d29da Jean*1094       LOGICAL useDiagnostics
39cebd8084 Ed H*1095       LOGICAL useREGRID
68fac71428 Ryan*1096       LOGICAL useLayers
65594b9008 Jean*1097       LOGICAL useMNC
1eeb28fe07 Alis*1098       LOGICAL useRunClock
0ee646bca5 Ed H*1099       LOGICAL useEMBED_FILES
0dc94a8572 Patr*1100       LOGICAL useMYPACKAGE
f55100cf63 Alis*1101       COMMON /PARM_PACKAGES/
65594b9008 Jean*1102      &        useGAD, useOBCS, useSHAP_FILT, useZONAL_FILT,
d8d1486ca1 Jean*1103      &        useOPPS, usePP81, useKL10, useMY82, useGGL90, useKPP,
f9ef55fa0c Jean*1104      &        useGMRedi, useBBL, useDOWN_SLOPE,
65594b9008 Jean*1105      &        useCAL, useEXF, useBulkForce, useEBM, useCheapAML,
f9ef55fa0c Jean*1106      &        useGrdchk, useSMOOTH, usePROFILES, useECCO, useCTRL,
ea7d076e20 Gael*1107      &        useSBO, useFLT, useAUTODIFF,
7548b53ced Jean*1108      &        usePTRACERS, useGCHEM, useRBCS, useOffLine, useMATRIX,
00f81e6785 Ou W*1109      &        useFRAZIL, useSEAICE, useSALT_PLUME, useShelfIce, useSTIC,
9042972bc7 Jean*1110      &        useStreamIce, useICEFRONT, useThSIce, useLand,
427e24e121 Jean*1111      &        useATM2d, useAIM, useAtm_Phys, useFizhi, useGridAlt,
68fac71428 Ryan*1112      &        useDiagnostics, useREGRID, useLayers, useMNC,
65594b9008 Jean*1113      &        useRunClock, useEMBED_FILES,
514844cf97 Jean*1114      &        useMYPACKAGE
83d329dbf1 Mart*1115 
427e24e121 Jean*1116 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|