/[MITgcm]/MITgcm/model/inc/PARAMS.h
ViewVC logotype

Diff of /MITgcm/model/inc/PARAMS.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.263 by gforget, Sat Jun 30 01:23:05 2012 UTC revision 1.282 by jmc, Mon Feb 15 17:59:02 2016 UTC
# Line 14  C     here. Notes describing the paramet Line 14  C     here. Notes describing the paramet
14    
15  CEOP  CEOP
16    
 C     Macros for special grid options  
 #include "PARAMS_MACROS.h"  
   
17  C--   Contants  C--   Contants
18  C     Useful physical values  C     Useful physical values
19        Real*8 PI        Real*8 PI
# Line 41  C                        must exist befo Line 38  C                        must exist befo
38  C     tRefFile      :: File containing reference Potential Temperat.  tRef (1.D)  C     tRefFile      :: File containing reference Potential Temperat.  tRef (1.D)
39  C     sRefFile      :: File containing reference salinity/spec.humid. sRef (1.D)  C     sRefFile      :: File containing reference salinity/spec.humid. sRef (1.D)
40  C     rhoRefFile    :: File containing reference density profile rhoRef (1.D)  C     rhoRefFile    :: File containing reference density profile rhoRef (1.D)
41    C     gravityFile   :: File containing gravity vertical profile (1.D)
42  C     delRFile      :: File containing vertical grid spacing delR  (1.D array)  C     delRFile      :: File containing vertical grid spacing delR  (1.D array)
43  C     delRcFile     :: File containing vertical grid spacing delRc (1.D array)  C     delRcFile     :: File containing vertical grid spacing delRc (1.D array)
44  C     hybSigmFile   :: File containing hybrid-sigma vertical coord. coeff. (2x 1.D)  C     hybSigmFile   :: File containing hybrid-sigma vertical coord. coeff. (2x 1.D)
# Line 52  C     bathyFile       :: File containing Line 50  C     bathyFile       :: File containing
50  C                        is taken from inline function.  C                        is taken from inline function.
51  C     topoFile        :: File containing the topography of the surface (unit=m)  C     topoFile        :: File containing the topography of the surface (unit=m)
52  C                        (mainly used for the atmosphere = ground height).  C                        (mainly used for the atmosphere = ground height).
53    C     addWwallFile    :: File containing 2-D additional Western  cell-edge wall
54    C     addSwallFile    :: File containing 2-D additional Southern cell-edge wall
55    C                        (e.g., to add "thin-wall" where it is =1)
56  C     hydrogThetaFile :: File containing initial hydrographic data (3-D)  C     hydrogThetaFile :: File containing initial hydrographic data (3-D)
57  C                        for potential temperature.  C                        for potential temperature.
58  C     hydrogSaltFile  :: File containing initial hydrographic data (3-D)  C     hydrogSaltFile  :: File containing initial hydrographic data (3-D)
# Line 71  C     surfQfile       :: File containing Line 72  C     surfQfile       :: File containing
72  C                        (old version, kept for backward compatibility)  C                        (old version, kept for backward compatibility)
73  C     surfQnetFile    :: File containing surface net heat flux  C     surfQnetFile    :: File containing surface net heat flux
74  C     surfQswFile     :: File containing surface shortwave radiation  C     surfQswFile     :: File containing surface shortwave radiation
 C     dQdTfile        :: File containing thermal relaxation coefficient  
75  C     EmPmRfile       :: File containing surface fresh water flux  C     EmPmRfile       :: File containing surface fresh water flux
76  C           NOTE: for backward compatibility EmPmRfile is specified in  C           NOTE: for backward compatibility EmPmRfile is specified in
77  C                 m/s when using external_fields_load.F.  It is converted  C                 m/s when using external_fields_load.F.  It is converted
78  C                 to kg/m2/s by multiplying by rhoConstFresh.  C                 to kg/m2/s by multiplying by rhoConstFresh.
79  C     saltFluxFile    :: File containing surface salt flux  C     saltFluxFile    :: File containing surface salt flux
80  C     pLoadFile       :: File containing pressure loading  C     pLoadFile       :: File containing pressure loading
81    C     addMassFile     :: File containing source/sink of fluid in the interior
82  C     eddyPsiXFile    :: File containing zonal Eddy streamfunction data  C     eddyPsiXFile    :: File containing zonal Eddy streamfunction data
83  C     eddyPsiYFile    :: File containing meridional Eddy streamfunction data  C     eddyPsiYFile    :: File containing meridional Eddy streamfunction data
84  C     the_run_name    :: string identifying the name of the model "run"  C     the_run_name    :: string identifying the name of the model "run"
85        COMMON /PARM_C/        COMMON /PARM_C/
86       &                buoyancyRelation, eosType,       &                buoyancyRelation, eosType,
87       &                pickupSuff, mdsioLocalDir, adTapeDir,       &                pickupSuff, mdsioLocalDir, adTapeDir,
88       &                tRefFile, sRefFile, rhoRefFile,       &                tRefFile, sRefFile, rhoRefFile, gravityFile,
89       &                delRFile, delRcFile, hybSigmFile,       &                delRFile, delRcFile, hybSigmFile,
90       &                delXFile, delYFile, horizGridFile,       &                delXFile, delYFile, horizGridFile,
91       &                bathyFile, topoFile,       &                bathyFile, topoFile, addWwallFile, addSwallFile,
92       &                viscAhDfile, viscAhZfile,       &                viscAhDfile, viscAhZfile,
93       &                viscA4Dfile, viscA4Zfile,       &                viscA4Dfile, viscA4Zfile,
94       &                hydrogThetaFile, hydrogSaltFile, diffKrFile,       &                hydrogThetaFile, hydrogSaltFile, diffKrFile,
# Line 97  C     the_run_name    :: string identify Line 98  C     the_run_name    :: string identify
98       &                surfQfile, surfQnetFile, surfQswFile,       &                surfQfile, surfQnetFile, surfQswFile,
99       &                lambdaThetaFile, lambdaSaltFile,       &                lambdaThetaFile, lambdaSaltFile,
100       &                uVelInitFile, vVelInitFile, pSurfInitFile,       &                uVelInitFile, vVelInitFile, pSurfInitFile,
101       &                dQdTfile, ploadFile,       &                pLoadFile, addMassFile,
102       &                eddyPsiXFile, eddyPsiYFile,       &                eddyPsiXFile, eddyPsiYFile, geothermalFile,
103       &                the_run_name       &                the_run_name
104        CHARACTER*(MAX_LEN_FNAM) buoyancyRelation        CHARACTER*(MAX_LEN_FNAM) buoyancyRelation
105        CHARACTER*(6)  eosType        CHARACTER*(6)  eosType
# Line 108  C     the_run_name    :: string identify Line 109  C     the_run_name    :: string identify
109        CHARACTER*(MAX_LEN_FNAM) tRefFile        CHARACTER*(MAX_LEN_FNAM) tRefFile
110        CHARACTER*(MAX_LEN_FNAM) sRefFile        CHARACTER*(MAX_LEN_FNAM) sRefFile
111        CHARACTER*(MAX_LEN_FNAM) rhoRefFile        CHARACTER*(MAX_LEN_FNAM) rhoRefFile
112          CHARACTER*(MAX_LEN_FNAM) gravityFile
113        CHARACTER*(MAX_LEN_FNAM) delRFile        CHARACTER*(MAX_LEN_FNAM) delRFile
114        CHARACTER*(MAX_LEN_FNAM) delRcFile        CHARACTER*(MAX_LEN_FNAM) delRcFile
115        CHARACTER*(MAX_LEN_FNAM) hybSigmFile        CHARACTER*(MAX_LEN_FNAM) hybSigmFile
# Line 115  C     the_run_name    :: string identify Line 117  C     the_run_name    :: string identify
117        CHARACTER*(MAX_LEN_FNAM) delYFile        CHARACTER*(MAX_LEN_FNAM) delYFile
118        CHARACTER*(MAX_LEN_FNAM) horizGridFile        CHARACTER*(MAX_LEN_FNAM) horizGridFile
119        CHARACTER*(MAX_LEN_FNAM) bathyFile, topoFile        CHARACTER*(MAX_LEN_FNAM) bathyFile, topoFile
120          CHARACTER*(MAX_LEN_FNAM) addWwallFile, addSwallFile
121        CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile, hydrogSaltFile        CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile, hydrogSaltFile
122        CHARACTER*(MAX_LEN_FNAM) diffKrFile        CHARACTER*(MAX_LEN_FNAM) diffKrFile
123        CHARACTER*(MAX_LEN_FNAM) viscAhDfile        CHARACTER*(MAX_LEN_FNAM) viscAhDfile
# Line 133  C     the_run_name    :: string identify Line 136  C     the_run_name    :: string identify
136        CHARACTER*(MAX_LEN_FNAM) uVelInitFile        CHARACTER*(MAX_LEN_FNAM) uVelInitFile
137        CHARACTER*(MAX_LEN_FNAM) vVelInitFile        CHARACTER*(MAX_LEN_FNAM) vVelInitFile
138        CHARACTER*(MAX_LEN_FNAM) pSurfInitFile        CHARACTER*(MAX_LEN_FNAM) pSurfInitFile
139        CHARACTER*(MAX_LEN_FNAM) dQdTfile        CHARACTER*(MAX_LEN_FNAM) pLoadFile
140        CHARACTER*(MAX_LEN_FNAM) ploadFile        CHARACTER*(MAX_LEN_FNAM) addMassFile
141        CHARACTER*(MAX_LEN_FNAM) eddyPsiXFile        CHARACTER*(MAX_LEN_FNAM) eddyPsiXFile
142        CHARACTER*(MAX_LEN_FNAM) eddyPsiYFile        CHARACTER*(MAX_LEN_FNAM) eddyPsiYFile
143          CHARACTER*(MAX_LEN_FNAM) geothermalFile
144        CHARACTER*(MAX_LEN_FNAM) lambdaThetaFile        CHARACTER*(MAX_LEN_FNAM) lambdaThetaFile
145        CHARACTER*(MAX_LEN_FNAM) lambdaSaltFile        CHARACTER*(MAX_LEN_FNAM) lambdaSaltFile
146        CHARACTER*(MAX_LEN_PREC/2) the_run_name        CHARACTER*(MAX_LEN_PREC/2) the_run_name
# Line 148  C     cg2dChkResFreq      :: Frequency w Line 152  C     cg2dChkResFreq      :: Frequency w
152  C                            in con. grad solver.  C                            in con. grad solver.
153  C     cg2dPreCondFreq     :: Frequency for updating cg2d preconditioner  C     cg2dPreCondFreq     :: Frequency for updating cg2d preconditioner
154  C                            (non-linear free-surf.)  C                            (non-linear free-surf.)
155    C     cg2dUseMinResSol    :: =0 : use last-iteration/converged solution
156    C                            =1 : use solver minimum-residual solution
157  C     cg3dMaxIters        :: Maximum number of iterations in the  C     cg3dMaxIters        :: Maximum number of iterations in the
158  C                            three-dimensional con. grad solver.  C                            three-dimensional con. grad solver.
159  C     cg3dChkResFreq      :: Frequency with which to check residual  C     cg3dChkResFreq      :: Frequency with which to check residual
# Line 155  C                            in con. gra Line 161  C                            in con. gra
161  C     printResidualFreq   :: Frequency for printing residual in CG iterations  C     printResidualFreq   :: Frequency for printing residual in CG iterations
162  C     nIter0              :: Start time-step number of for this run  C     nIter0              :: Start time-step number of for this run
163  C     nTimeSteps          :: Number of timesteps to execute  C     nTimeSteps          :: Number of timesteps to execute
164    C     nTimeSteps_l2       :: Number of inner timesteps to execute per timestep
165  C     writeStatePrec      :: Precision used for writing model state.  C     writeStatePrec      :: Precision used for writing model state.
166  C     writeBinaryPrec     :: Precision used for writing binary files  C     writeBinaryPrec     :: Precision used for writing binary files
167  C     readBinaryPrec      :: Precision used for reading binary files  C     readBinaryPrec      :: Precision used for reading binary files
# Line 170  C     select_rStar        :: option rela Line 177  C     select_rStar        :: option rela
177  C                           =0 (default) use r coord. ; > 0 use r*  C                           =0 (default) use r coord. ; > 0 use r*
178  C     selectNHfreeSurf    :: option for Non-Hydrostatic (free-)Surface formulation:  C     selectNHfreeSurf    :: option for Non-Hydrostatic (free-)Surface formulation:
179  C                           =0 (default) hydrostatic surf. ; > 0 add NH effects.  C                           =0 (default) hydrostatic surf. ; > 0 add NH effects.
180    C     selectP_inEOS_Zc    :: select which pressure to use in EOS (for z-coords)
181    C                           =0: simply: -g*rhoConst*z
182    C                           =1: use pRef = integral{-g*rho(Tref,Sref,pRef)*dz}
183    C                           =2: use hydrostatic dynamical pressure
184    C                           =3: use full (Hyd+NH) dynamical pressure
185  C     selectAddFluid      :: option to add mass source/sink of fluid in the interior  C     selectAddFluid      :: option to add mass source/sink of fluid in the interior
186  C                            (3-D generalisation of oceanic real-fresh water flux)  C                            (3-D generalisation of oceanic real-fresh water flux)
187  C                           =0 off ; =1 add fluid ; =-1 virtual flux (no mass added)  C                           =0 off ; =1 add fluid ; =-1 virtual flux (no mass added)
# Line 183  C     saltAdvScheme       :: Salt. Horiz Line 195  C     saltAdvScheme       :: Salt. Horiz
195  C     saltVertAdvScheme   :: Salt. Vert. Advection scheme selector  C     saltVertAdvScheme   :: Salt. Vert. Advection scheme selector
196  C     selectKEscheme      :: Kinetic Energy scheme selector (Vector Inv.)  C     selectKEscheme      :: Kinetic Energy scheme selector (Vector Inv.)
197  C     selectVortScheme    :: Scheme selector for Vorticity term (Vector Inv.)  C     selectVortScheme    :: Scheme selector for Vorticity term (Vector Inv.)
198    C     selectBotDragQuadr  :: quadratic bottom drag discretisation option:
199    C                           =0: average KE from grid center to U & V location
200    C                           =1: use local velocity norm @ U & V location
201    C                           =2: same with wet-point averaging of other component
202  C     monitorSelect       :: select group of variables to monitor  C     monitorSelect       :: select group of variables to monitor
203  C                            =1 : dynvars ; =2 : + vort ; =3 : + surface  C                            =1 : dynvars ; =2 : + vort ; =3 : + surface
204  C-    debugLevel          :: controls printing of algorithm intermediate results  C-    debugLevel          :: controls printing of algorithm intermediate results
205  C                            and statistics ; higher -> more writing  C                            and statistics ; higher -> more writing
206    
207        COMMON /PARM_I/        COMMON /PARM_I/
208       &        cg2dMaxIters, cg2dChkResFreq, cg2dPreCondFreq,       &        cg2dMaxIters, cg2dChkResFreq,
209         &        cg2dPreCondFreq, cg2dUseMinResSol,
210       &        cg3dMaxIters, cg3dChkResFreq,       &        cg3dMaxIters, cg3dChkResFreq,
211       &        printResidualFreq,       &        printResidualFreq,
212       &        nIter0, nTimeSteps, nEndIter,       &        nIter0, nTimeSteps, nTimeSteps_l2, nEndIter,
213       &        writeStatePrec,       &        writeStatePrec,
214       &        writeBinaryPrec, readBinaryPrec,       &        writeBinaryPrec, readBinaryPrec,
215       &        selectCoriMap,       &        selectCoriMap,
216       &        selectSigmaCoord,       &        selectSigmaCoord,
217       &        nonlinFreeSurf, select_rStar,       &        nonlinFreeSurf, select_rStar,
218       &        selectNHfreeSurf,       &        selectNHfreeSurf, selectP_inEOS_Zc,
219       &        selectAddFluid,       &        selectAddFluid,
220       &        momForcingOutAB, tracForcingOutAB,       &        momForcingOutAB, tracForcingOutAB,
221       &        tempAdvScheme, tempVertAdvScheme,       &        tempAdvScheme, tempVertAdvScheme,
222       &        saltAdvScheme, saltVertAdvScheme,       &        saltAdvScheme, saltVertAdvScheme,
223       &        selectKEscheme, selectVortScheme,       &        selectKEscheme, selectVortScheme,
224         &        selectBotDragQuadr,
225       &        monitorSelect, debugLevel       &        monitorSelect, debugLevel
226        INTEGER cg2dMaxIters        INTEGER cg2dMaxIters
227        INTEGER cg2dChkResFreq        INTEGER cg2dChkResFreq
228        INTEGER cg2dPreCondFreq        INTEGER cg2dPreCondFreq
229          INTEGER cg2dUseMinResSol
230        INTEGER cg3dMaxIters        INTEGER cg3dMaxIters
231        INTEGER cg3dChkResFreq        INTEGER cg3dChkResFreq
232        INTEGER printResidualFreq        INTEGER printResidualFreq
233        INTEGER nIter0        INTEGER nIter0
234        INTEGER nTimeSteps        INTEGER nTimeSteps
235          INTEGER nTimeSteps_l2
236        INTEGER nEndIter        INTEGER nEndIter
237        INTEGER writeStatePrec        INTEGER writeStatePrec
238        INTEGER writeBinaryPrec        INTEGER writeBinaryPrec
# Line 222  C                            and statist Line 242  C                            and statist
242        INTEGER nonlinFreeSurf        INTEGER nonlinFreeSurf
243        INTEGER select_rStar        INTEGER select_rStar
244        INTEGER selectNHfreeSurf        INTEGER selectNHfreeSurf
245          INTEGER selectP_inEOS_Zc
246        INTEGER selectAddFluid        INTEGER selectAddFluid
247        INTEGER momForcingOutAB, tracForcingOutAB        INTEGER momForcingOutAB, tracForcingOutAB
248        INTEGER tempAdvScheme, tempVertAdvScheme        INTEGER tempAdvScheme, tempVertAdvScheme
249        INTEGER saltAdvScheme, saltVertAdvScheme        INTEGER saltAdvScheme, saltVertAdvScheme
250        INTEGER selectKEscheme        INTEGER selectKEscheme
251        INTEGER selectVortScheme        INTEGER selectVortScheme
252          INTEGER selectBotDragQuadr
253        INTEGER monitorSelect        INTEGER monitorSelect
254        INTEGER debugLevel        INTEGER debugLevel
255    
# Line 241  C     usingPCoords     :: Set to indicat Line 263  C     usingPCoords     :: Set to indicat
263  C                         type coordinate (p or p*).  C                         type coordinate (p or p*).
264  C     usingZCoords     :: Set to indicate that we are working in a height  C     usingZCoords     :: Set to indicate that we are working in a height
265  C                         type coordinate (z or z*)  C                         type coordinate (z or z*)
 C     useDynP_inEos_Zc   :: use the dynamical pressure in EOS (with Z-coord.)  
 C                           this requires specific code for restart & exchange  
266  C     usingCartesianGrid :: If TRUE grid generation will be in a cartesian  C     usingCartesianGrid :: If TRUE grid generation will be in a cartesian
267  C                           coordinate frame.  C                           coordinate frame.
268  C     usingSphericalPolarGrid :: If TRUE grid generation will be in a  C     usingSphericalPolarGrid :: If TRUE grid generation will be in a
269  C                                spherical polar frame.  C                                spherical polar frame.
270  C     rotateGrid      :: rotate grid coordinates to geographical coordinates  C     rotateGrid      :: rotate grid coordinates to geographical coordinates
271  C                        according to Euler angles phiEuler, thetaEuler, psiEuler  C                        according to Euler angles phiEuler, thetaEuler, psiEuler
 C     usingCurvilinearGrid :: If TRUE, use a curvilinear grid (to be provided)  
272  C     usingCylindricalGrid :: If TRUE grid generation will be Cylindrical  C     usingCylindricalGrid :: If TRUE grid generation will be Cylindrical
273    C     usingCurvilinearGrid :: If TRUE, use a curvilinear grid (to be provided)
274    C     hasWetCSCorners :: domain contains CS-type corners where dynamics is solved
275  C     deepAtmosphere :: deep model (drop the shallow-atmosphere approximation)  C     deepAtmosphere :: deep model (drop the shallow-atmosphere approximation)
276  C     setInterFDr    :: set Interface depth (put cell-Center at the middle)  C     setInterFDr    :: set Interface depth (put cell-Center at the middle)
277  C     setCenterDr    :: set cell-Center depth (put Interface at the middle)  C     setCenterDr    :: set cell-Center depth (put Interface at the middle)
278  C- Momentum params:  C- Momentum params:
279  C     no_slip_sides  :: Impose "no-slip" at lateral boundaries.  C     no_slip_sides  :: Impose "no-slip" at lateral boundaries.
280  C     no_slip_bottom :: Impose "no-slip" at bottom boundary.  C     no_slip_bottom :: Impose "no-slip" at bottom boundary.
281    C     bottomVisc_pCell :: account for partial-cell in bottom visc. (no-slip BC)
282    C     useSmag3D      :: Use isotropic 3-D Smagorinsky
283  C     useFullLeith   :: Set to true to use full Leith viscosity(may be unstable  C     useFullLeith   :: Set to true to use full Leith viscosity(may be unstable
284  C                       on irregular grids)  C                       on irregular grids)
285  C     useStrainTensionVisc:: Set to true to use Strain-Tension viscous terms  C     useStrainTensionVisc:: Set to true to use Strain-Tension viscous terms
# Line 280  C     useJamartMomAdv :: Use wet-point m Line 303  C     useJamartMomAdv :: Use wet-point m
303  C     upwindVorticity :: bias interpolation of vorticity in the Coriolis term  C     upwindVorticity :: bias interpolation of vorticity in the Coriolis term
304  C     highOrderVorticity :: use 3rd/4th order interp. of vorticity (V.I., advection)  C     highOrderVorticity :: use 3rd/4th order interp. of vorticity (V.I., advection)
305  C     useAbsVorticity :: work with f+zeta in Coriolis terms  C     useAbsVorticity :: work with f+zeta in Coriolis terms
306  C     upwindShear        :: use 1rst order upwind interp. (V.I., vertical advection)  C     upwindShear     :: use 1rst order upwind interp. (V.I., vertical advection)
307  C     momStepping    :: Turns momentum equation time-stepping off  C     momStepping    :: Turns momentum equation time-stepping off
308  C     calc_wVelocity :: Turns of vertical velocity calculation off  C     calc_wVelocity :: Turns vertical velocity calculation off
309  C- Temp. & Salt params:  C- Temp. & Salt params:
310  C     tempStepping   :: Turns temperature equation time-stepping off  C     tempStepping   :: Turns temperature equation time-stepping on/off
311  C     saltStepping   :: Turns salinity equation time-stepping off  C     saltStepping   :: Turns salinity equation time-stepping on/off
312    C     addFrictionHeating :: account for frictional heating
313  C     tempAdvection  :: Flag which turns advection of temperature on and off.  C     tempAdvection  :: Flag which turns advection of temperature on and off.
314  C     tempVertDiff4  :: use vertical bi-harmonic diffusion for temperature  C     tempVertDiff4  :: use vertical bi-harmonic diffusion for temperature
315  C     tempIsActiveTr :: Pot.Temp. is a dynamically active tracer  C     tempIsActiveTr :: Pot.Temp. is a dynamically active tracer
316  C     tempForcing    :: Flag which turns external forcing of temperature on  C     tempForcing    :: Flag which turns external forcing of temperature on/off
 C                       and off.  
317  C     saltAdvection  :: Flag which turns advection of salinity on and off.  C     saltAdvection  :: Flag which turns advection of salinity on and off.
318  C     saltVertDiff4  :: use vertical bi-harmonic diffusion for salinity  C     saltVertDiff4  :: use vertical bi-harmonic diffusion for salinity
319  C     saltIsActiveTr :: Salinity  is a dynamically active tracer  C     saltIsActiveTr :: Salinity  is a dynamically active tracer
320  C     saltForcing    :: Flag which turns external forcing of salinity on  C     saltForcing    :: Flag which turns external forcing of salinity on/off
 C                       and off.  
321  C     maskIniTemp    :: apply mask to initial Pot.Temp.  C     maskIniTemp    :: apply mask to initial Pot.Temp.
322  C     maskIniSalt    :: apply mask to initial salinity  C     maskIniSalt    :: apply mask to initial salinity
323  C     checkIniTemp   :: check for points with identically zero initial Pot.Temp.  C     checkIniTemp   :: check for points with identically zero initial Pot.Temp.
# Line 316  C                            at the surf Line 338  C                            at the surf
338  C     useRealFreshWaterFlux :: if True (=Natural BCS), treats P+R-E flux  C     useRealFreshWaterFlux :: if True (=Natural BCS), treats P+R-E flux
339  C                         as a real Fresh Water (=> changes the Sea Level)  C                         as a real Fresh Water (=> changes the Sea Level)
340  C                         if F, converts P+R-E to salt flux (no SL effect)  C                         if F, converts P+R-E to salt flux (no SL effect)
341    C     storePhiHyd4Phys :: store hydrostatic potential for use in Physics/EOS
342    C                         this requires specific code for restart & exchange
343  C     quasiHydrostatic :: Using non-hydrostatic terms in hydrostatic algorithm  C     quasiHydrostatic :: Using non-hydrostatic terms in hydrostatic algorithm
344  C     nonHydrostatic   :: Using non-hydrostatic algorithm  C     nonHydrostatic   :: Using non-hydrostatic algorithm
345  C     use3Dsolver      :: set to true to use 3-D pressure solver  C     use3Dsolver      :: set to true to use 3-D pressure solver
346  C     implicitIntGravWave :: treat Internal Gravity Wave implicitly  C     implicitIntGravWave :: treat Internal Gravity Wave implicitly
347  C     staggerTimeStep   :: enable a Stagger time stepping U,V (& W) then T,S  C     staggerTimeStep   :: enable a Stagger time stepping U,V (& W) then T,S
348    C     applyExchUV_early :: Apply EXCH to U,V earlier, just before integr_continuity
349  C     doResetHFactors   :: Do reset thickness factors @ beginning of each time-step  C     doResetHFactors   :: Do reset thickness factors @ beginning of each time-step
350  C     implicitDiffusion :: Turns implicit vertical diffusion on  C     implicitDiffusion :: Turns implicit vertical diffusion on
351  C     implicitViscosity :: Turns implicit vertical viscosity on  C     implicitViscosity :: Turns implicit vertical viscosity on
352  C     tempImplVertAdv :: Turns on implicit vertical advection for Temperature  C     implBottomFriction :: Turns on implicit bottom friction (drag & no-slip BC)
353  C     saltImplVertAdv :: Turns on implicit vertical advection for Salinity  C     tempImplVertAdv   :: Turns on implicit vertical advection for Temperature
354  C     momImplVertAdv  :: Turns on implicit vertical advection for Momentum  C     saltImplVertAdv   :: Turns on implicit vertical advection for Salinity
355    C     momImplVertAdv    :: Turns on implicit vertical advection for Momentum
356  C     multiDimAdvection :: Flag that enable multi-dimension advection  C     multiDimAdvection :: Flag that enable multi-dimension advection
357  C     useMultiDimAdvec  :: True if multi-dim advection is used at least once  C     useMultiDimAdvec  :: True if multi-dim advection is used at least once
358  C     momDissip_In_AB   :: if False, put Dissipation tendency contribution  C     momDissip_In_AB   :: if False, put Dissipation tendency contribution
# Line 344  C                        climatology is Line 370  C                        climatology is
370  C     balanceThetaClimRelax :: substract global mean effect at every time step  C     balanceThetaClimRelax :: substract global mean effect at every time step
371  C     balanceSaltClimRelax :: substract global mean effect at every time step  C     balanceSaltClimRelax :: substract global mean effect at every time step
372  C     allowFreezing  :: Allows surface water to freeze and form ice  C     allowFreezing  :: Allows surface water to freeze and form ice
 C     useOldFreezing :: use the old version (before checkpoint52a_pre, 2003-11-12)  
373  C     periodicExternalForcing :: Set true if forcing is time-dependant  C     periodicExternalForcing :: Set true if forcing is time-dependant
374  C- I/O parameters -  C- I/O parameters -
375  C     globalFiles    :: Selects between "global" and "tiled" files.  C     globalFiles    :: Selects between "global" and "tiled" files.
# Line 368  C     printDomain     :: controls printi Line 393  C     printDomain     :: controls printi
393    
394        COMMON /PARM_L/        COMMON /PARM_L/
395       & fluidIsAir, fluidIsWater,       & fluidIsAir, fluidIsWater,
396       & usingPCoords, usingZCoords, useDynP_inEos_Zc,       & usingPCoords, usingZCoords,
397       & usingCartesianGrid, usingSphericalPolarGrid, rotateGrid,       & usingCartesianGrid, usingSphericalPolarGrid, rotateGrid,
398       & usingCurvilinearGrid, usingCylindricalGrid,       & usingCylindricalGrid, usingCurvilinearGrid, hasWetCSCorners,
399       & deepAtmosphere, setInterFDr, setCenterDr,       & deepAtmosphere, setInterFDr, setCenterDr,
400       & no_slip_sides, no_slip_bottom,       & no_slip_sides, no_slip_bottom, bottomVisc_pCell, useSmag3D,
401       & useFullLeith, useStrainTensionVisc, useAreaViscLength,       & useFullLeith, useStrainTensionVisc, useAreaViscLength,
402       & momViscosity, momAdvection, momForcing,       & momViscosity, momAdvection, momForcing,
403       & momPressureForcing, metricTerms, useNHMTerms,       & momPressureForcing, metricTerms, useNHMTerms,
# Line 382  C     printDomain     :: controls printi Line 407  C     printDomain     :: controls printi
407       & upwindVorticity, highOrderVorticity,       & upwindVorticity, highOrderVorticity,
408       & useAbsVorticity, upwindShear,       & useAbsVorticity, upwindShear,
409       & momStepping, calc_wVelocity, tempStepping, saltStepping,       & momStepping, calc_wVelocity, tempStepping, saltStepping,
410         & addFrictionHeating,
411       & tempAdvection, tempVertDiff4, tempIsActiveTr, tempForcing,       & tempAdvection, tempVertDiff4, tempIsActiveTr, tempForcing,
412       & saltAdvection, saltVertDiff4, saltIsActiveTr, saltForcing,       & saltAdvection, saltVertDiff4, saltIsActiveTr, saltForcing,
413       & maskIniTemp, maskIniSalt, checkIniTemp, checkIniSalt,       & maskIniTemp, maskIniSalt, checkIniTemp, checkIniSalt,
# Line 389  C     printDomain     :: controls printi Line 415  C     printDomain     :: controls printi
415       & rigidLid, implicitFreeSurface,       & rigidLid, implicitFreeSurface,
416       & uniformLin_PhiSurf, uniformFreeSurfLev,       & uniformLin_PhiSurf, uniformFreeSurfLev,
417       & exactConserv, linFSConserveTr, useRealFreshWaterFlux,       & exactConserv, linFSConserveTr, useRealFreshWaterFlux,
418       & quasiHydrostatic, nonHydrostatic, use3Dsolver,       & storePhiHyd4Phys, quasiHydrostatic, nonHydrostatic,
419       & implicitIntGravWave, staggerTimeStep, doResetHFactors,       & use3Dsolver, implicitIntGravWave, staggerTimeStep,
420       & implicitDiffusion, implicitViscosity,       & applyExchUV_early, doResetHFactors,
421         & implicitDiffusion, implicitViscosity, implBottomFriction,
422       & tempImplVertAdv, saltImplVertAdv, momImplVertAdv,       & tempImplVertAdv, saltImplVertAdv, momImplVertAdv,
423       & multiDimAdvection, useMultiDimAdvec,       & multiDimAdvection, useMultiDimAdvec,
424       & momDissip_In_AB, doAB_onGtGs,       & momDissip_In_AB, doAB_onGtGs,
425       & balanceEmPmR, balanceQnet, balancePrintMean,       & balanceEmPmR, balanceQnet, balancePrintMean,
426       & balanceThetaClimRelax, balanceSaltClimRelax,       & balanceThetaClimRelax, balanceSaltClimRelax,
427       & doThetaClimRelax, doSaltClimRelax,       & doThetaClimRelax, doSaltClimRelax,
428       & allowFreezing, useOldFreezing,       & allowFreezing,
429       & periodicExternalForcing,       & periodicExternalForcing,
430       & globalFiles,       & globalFiles,
431       & pickupStrictlyMatch, usePickupBeforeC54, startFromPickupAB2,       & pickupStrictlyMatch, usePickupBeforeC54, startFromPickupAB2,
# Line 406  C     printDomain     :: controls printi Line 433  C     printDomain     :: controls printi
433       & writePickupAtEnd,       & writePickupAtEnd,
434       & timeave_mdsio, snapshot_mdsio, monitor_stdio,       & timeave_mdsio, snapshot_mdsio, monitor_stdio,
435       & outputTypesInclusive, dumpInitAndLast,       & outputTypesInclusive, dumpInitAndLast,
436       & printDomain,       & printDomain
      & inAdMode, inAdTrue, inAdFalse, inAdExact  
437    
438        LOGICAL fluidIsAir        LOGICAL fluidIsAir
439        LOGICAL fluidIsWater        LOGICAL fluidIsWater
440        LOGICAL usingPCoords        LOGICAL usingPCoords
441        LOGICAL usingZCoords        LOGICAL usingZCoords
       LOGICAL useDynP_inEos_Zc  
442        LOGICAL usingCartesianGrid        LOGICAL usingCartesianGrid
443        LOGICAL usingSphericalPolarGrid, rotateGrid        LOGICAL usingSphericalPolarGrid, rotateGrid
444        LOGICAL usingCylindricalGrid        LOGICAL usingCylindricalGrid
445        LOGICAL usingCurvilinearGrid        LOGICAL usingCurvilinearGrid, hasWetCSCorners
446        LOGICAL deepAtmosphere        LOGICAL deepAtmosphere
447        LOGICAL setInterFDr        LOGICAL setInterFDr
448        LOGICAL setCenterDr        LOGICAL setCenterDr
449        LOGICAL useNHMTerms  
450        LOGICAL no_slip_sides        LOGICAL no_slip_sides
451        LOGICAL no_slip_bottom        LOGICAL no_slip_bottom
452          LOGICAL bottomVisc_pCell
453          LOGICAL useSmag3D
454        LOGICAL useFullLeith        LOGICAL useFullLeith
455        LOGICAL useStrainTensionVisc        LOGICAL useStrainTensionVisc
456        LOGICAL useAreaViscLength        LOGICAL useAreaViscLength
# Line 431  C     printDomain     :: controls printi Line 458  C     printDomain     :: controls printi
458        LOGICAL momAdvection        LOGICAL momAdvection
459        LOGICAL momForcing        LOGICAL momForcing
460        LOGICAL momPressureForcing        LOGICAL momPressureForcing
461          LOGICAL metricTerms
462          LOGICAL useNHMTerms
463    
464        LOGICAL useCoriolis        LOGICAL useCoriolis
465          LOGICAL use3dCoriolis
466          LOGICAL useCDscheme
467        LOGICAL vectorInvariantMomentum        LOGICAL vectorInvariantMomentum
468          LOGICAL useEnergyConservingCoriolis
469          LOGICAL useJamartWetPoints
470          LOGICAL useJamartMomAdv
471          LOGICAL upwindVorticity
472          LOGICAL highOrderVorticity
473          LOGICAL useAbsVorticity
474          LOGICAL upwindShear
475          LOGICAL momStepping
476          LOGICAL calc_wVelocity
477          LOGICAL tempStepping
478          LOGICAL saltStepping
479          LOGICAL addFrictionHeating
480        LOGICAL tempAdvection        LOGICAL tempAdvection
481        LOGICAL tempVertDiff4        LOGICAL tempVertDiff4
482        LOGICAL tempIsActiveTr        LOGICAL tempIsActiveTr
# Line 453  C     printDomain     :: controls printi Line 497  C     printDomain     :: controls printi
497        LOGICAL exactConserv        LOGICAL exactConserv
498        LOGICAL linFSConserveTr        LOGICAL linFSConserveTr
499        LOGICAL useRealFreshWaterFlux        LOGICAL useRealFreshWaterFlux
500          LOGICAL storePhiHyd4Phys
501        LOGICAL quasiHydrostatic        LOGICAL quasiHydrostatic
502        LOGICAL nonHydrostatic        LOGICAL nonHydrostatic
503        LOGICAL use3Dsolver        LOGICAL use3Dsolver
504        LOGICAL implicitIntGravWave        LOGICAL implicitIntGravWave
505        LOGICAL staggerTimeStep        LOGICAL staggerTimeStep
506          LOGICAL applyExchUV_early
507        LOGICAL doResetHFactors        LOGICAL doResetHFactors
       LOGICAL momStepping  
       LOGICAL calc_wVelocity  
       LOGICAL tempStepping  
       LOGICAL saltStepping  
       LOGICAL metricTerms  
       LOGICAL use3dCoriolis  
       LOGICAL useCDscheme  
       LOGICAL useEnergyConservingCoriolis  
       LOGICAL useJamartWetPoints  
       LOGICAL useJamartMomAdv  
       LOGICAL upwindVorticity  
       LOGICAL highOrderVorticity  
       LOGICAL useAbsVorticity  
       LOGICAL upwindShear  
508        LOGICAL implicitDiffusion        LOGICAL implicitDiffusion
509        LOGICAL implicitViscosity        LOGICAL implicitViscosity
510          LOGICAL implBottomFriction
511        LOGICAL tempImplVertAdv        LOGICAL tempImplVertAdv
512        LOGICAL saltImplVertAdv        LOGICAL saltImplVertAdv
513        LOGICAL momImplVertAdv        LOGICAL momImplVertAdv
# Line 490  C     printDomain     :: controls printi Line 523  C     printDomain     :: controls printi
523        LOGICAL balanceThetaClimRelax        LOGICAL balanceThetaClimRelax
524        LOGICAL balanceSaltClimRelax        LOGICAL balanceSaltClimRelax
525        LOGICAL allowFreezing        LOGICAL allowFreezing
       LOGICAL useOldFreezing  
526        LOGICAL periodicExternalForcing        LOGICAL periodicExternalForcing
527        LOGICAL globalFiles        LOGICAL globalFiles
528        LOGICAL pickupStrictlyMatch        LOGICAL pickupStrictlyMatch
# Line 502  C     printDomain     :: controls printi Line 534  C     printDomain     :: controls printi
534        LOGICAL outputTypesInclusive        LOGICAL outputTypesInclusive
535        LOGICAL dumpInitAndLast        LOGICAL dumpInitAndLast
536        LOGICAL printDomain        LOGICAL printDomain
       LOGICAL inAdMode, inAdTrue, inAdFalse, inAdExact  
537    
538  C--   COMMON /PARM_R/ "Real" valued parameters used by the model.  C--   COMMON /PARM_R/ "Real" valued parameters used by the model.
539  C     cg2dTargetResidual  C     cg2dTargetResidual
# Line 534  C                :: most cell face (Lat- Line 565  C                :: most cell face (Lat-
565  C                :: parameter but it makes geographical references simple.)  C                :: parameter but it makes geographical references simple.)
566  C     ygOrigin   :: Origin of the Y-axis (Cartesian Grid) / Latitude of Southern  C     ygOrigin   :: Origin of the Y-axis (Cartesian Grid) / Latitude of Southern
567  C                :: most face (Lat-Lon grid).  C                :: most face (Lat-Lon grid).
568  C     gravity   :: Accel. due to gravity ( m/s^2 )  C     Ro_SeaLevel :: Origin of the vertical R-coords axis (often at sea-level)
569  C     recip_gravity and its inverse  C                 :: corresponding to rF(k=1)
570  C     gBaro     :: Accel. due to gravity used in barotropic equation ( m/s^2 )  C     rSigmaBnd  :: vertical position (in r-unit) of r/sigma transition (Hybrid-Sigma)
571  C     rhoNil    :: Reference density for the linear equation of state  C     gravity    :: Acceleration due to constant gravity ( m/s^2 )
572  C     rhoConst  :: Vertically constant reference density (Boussinesq)  C     recip_gravity :: Reciprocal gravity acceleration ( s^2/m )
573  C     rhoFacC   :: normalized (by rhoConst) reference density at cell-Center  C     gBaro      :: Accel. due to gravity used in barotropic equation ( m/s^2 )
574  C     rhoFacF   :: normalized (by rhoConst) reference density at cell-interFace  C     gravFacC   :: gravity factor (vs surf. gravity) vert. profile at cell-Center
575    C     gravFacF   :: gravity factor (vs surf. gravity) vert. profile at cell-interF
576    C     rhoNil     :: Reference density for the linear equation of state
577    C     rhoConst   :: Vertically constant reference density (Boussinesq)
578    C     rho1Ref    :: reference vertical profile for density (anelastic)
579    C     rhoFacC    :: normalized (by rhoConst) reference density at cell-Center
580    C     rhoFacF    :: normalized (by rhoConst) reference density at cell-interFace
581  C     rhoConstFresh :: Constant reference density for fresh water (rain)  C     rhoConstFresh :: Constant reference density for fresh water (rain)
582  C     rho1Ref   :: reference vertical profile for density  C     thetaConst :: Constant reference for potential temperature
583  C     tRef      :: reference vertical profile for potential temperature  C     tRef       :: reference vertical profile for potential temperature
584  C     sRef      :: reference vertical profile for salinity/specific humidity  C     sRef       :: reference vertical profile for salinity/specific humidity
585  C     phiRef    :: reference potential (pressure/rho, geopotential) profile  C     pRef4EOS   :: reference pressure used in EOS (case selectP_inEOS_Zc=1)
586  C     dBdrRef   :: vertical gradient of reference buoyancy  [(m/s/r)^2]:  C     phiRef     :: reference potential (press/rho, geopot) profile (m^2/s^2)
587  C               :: z-coord: = N^2_ref = Brunt-Vaissala frequency [s^-2]  C     phi0Ref    :: reference [pressure/geo] potential at origin r = rF(1)
588  C               :: p-coord: = -(d.alpha/dp)_ref          [(m^2.s/kg)^2]  C     dBdrRef    :: vertical gradient of reference buoyancy  [(m/s/r)^2]:
589    C                :: z-coord: = N^2_ref = Brunt-Vaissala frequency [s^-2]
590    C                :: p-coord: = -(d.alpha/dp)_ref          [(m^2.s/kg)^2]
591  C     rVel2wUnit :: units conversion factor (Non-Hydrostatic code),  C     rVel2wUnit :: units conversion factor (Non-Hydrostatic code),
592  C                :: from r-coordinate vertical velocity to vertical velocity [m/s].  C                :: from r-coordinate vertical velocity to vertical velocity [m/s].
593  C                :: z-coord: = 1 ; p-coord: wSpeed [m/s] = rVel [Pa/s] * rVel2wUnit  C                :: z-coord: = 1 ; p-coord: wSpeed [m/s] = rVel [Pa/s] * rVel2wUnit
# Line 564  C                :: from vertical r-coor Line 603  C                :: from vertical r-coor
603  C                :: z-coord: = rhoConst  ( [m] * rho = [kg/m2] ) ;  C                :: z-coord: = rhoConst  ( [m] * rho = [kg/m2] ) ;
604  C                :: p-coord: = 1/gravity ( [Pa] /  g = [kg/m2] ) ;  C                :: p-coord: = 1/gravity ( [Pa] /  g = [kg/m2] ) ;
605  C     rSphere    :: Radius of sphere for a spherical polar grid ( m ).  C     rSphere    :: Radius of sphere for a spherical polar grid ( m ).
606  C     recip_rSphere  :: Reciprocal radius of sphere ( m ).  C     recip_rSphere :: Reciprocal radius of sphere ( m^-1 ).
607  C     radius_fromHorizGrid :: sphere Radius of input horiz. grid (Curvilinear Grid)  C     radius_fromHorizGrid :: sphere Radius of input horiz. grid (Curvilinear Grid)
608  C     f0         :: Reference coriolis parameter ( 1/s )  C     f0         :: Reference coriolis parameter ( 1/s )
609  C                   ( Southern edge f for beta plane )  C                   ( Southern edge f for beta plane )
# Line 579  C     viscAh     :: Eddy viscosity coeff Line 618  C     viscAh     :: Eddy viscosity coeff
618  C                   momentum laterally ( m^2/s )  C                   momentum laterally ( m^2/s )
619  C     viscAhW    :: Eddy viscosity coeff. for mixing of vertical  C     viscAhW    :: Eddy viscosity coeff. for mixing of vertical
620  C                   momentum laterally, no effect for hydrostatic  C                   momentum laterally, no effect for hydrostatic
621  C                   model, defaults to viscAh if unset ( m^2/s )  C                   model, defaults to viscAhD if unset ( m^2/s )
622  C                   Not used if variable horiz. viscosity is used.  C                   Not used if variable horiz. viscosity is used.
623  C     viscA4     :: Biharmonic viscosity coeff. for mixing of  C     viscA4     :: Biharmonic viscosity coeff. for mixing of
624  C                   momentum laterally ( m^4/s )  C                   momentum laterally ( m^4/s )
625  C     viscA4W    :: Biharmonic viscosity coeff. for mixing of vertical  C     viscA4W    :: Biharmonic viscosity coeff. for mixing of vertical
626  C                   momentum laterally, no effect for hydrostatic  C                   momentum laterally, no effect for hydrostatic
627  C                   model, defaults to viscA4 if unset ( m^2/s )  C                   model, defaults to viscA4D if unset ( m^2/s )
628  C                   Not used if variable horiz. viscosity is used.  C                   Not used if variable horiz. viscosity is used.
629  C     viscAhD    :: Eddy viscosity coeff. for mixing of momentum laterally  C     viscAhD    :: Eddy viscosity coeff. for mixing of momentum laterally
630  C                   (act on Divergence part) ( m^2/s )  C                   (act on Divergence part) ( m^2/s )
# Line 595  C     viscA4D    :: Biharmonic viscosity Line 634  C     viscA4D    :: Biharmonic viscosity
634  C                   (act on Divergence part) ( m^4/s )  C                   (act on Divergence part) ( m^4/s )
635  C     viscA4Z    :: Biharmonic viscosity coeff. for mixing of momentum laterally  C     viscA4Z    :: Biharmonic viscosity coeff. for mixing of momentum laterally
636  C                   (act on Vorticity  part) ( m^4/s )  C                   (act on Vorticity  part) ( m^4/s )
637    C     smag3D_coeff :: Isotropic 3-D Smagorinsky coefficient (-)
638  C     viscC2leith  :: Leith non-dimensional viscosity factor (grad(vort))  C     viscC2leith  :: Leith non-dimensional viscosity factor (grad(vort))
639  C     viscC2leithD :: Modified Leith non-dimensional visc. factor (grad(div))  C     viscC2leithD :: Modified Leith non-dimensional visc. factor (grad(div))
640  C     viscC4leith  :: Leith non-dimensional viscosity factor (grad(vort))  C     viscC4leith  :: Leith non-dimensional viscosity factor (grad(vort))
# Line 650  C                    Frequency of checkp Line 690  C                    Frequency of checkp
690  C                    are referenced to this clock. ( s )  C                    are referenced to this clock. ( s )
691  C     deltaTMom    :: Timestep for momemtum equations ( s )  C     deltaTMom    :: Timestep for momemtum equations ( s )
692  C     dTtracerLev  :: Timestep for tracer equations ( s ), function of level k  C     dTtracerLev  :: Timestep for tracer equations ( s ), function of level k
693  C     deltaTfreesurf :: Timestep for free-surface equation ( s )  C     deltaTFreeSurf :: Timestep for free-surface equation ( s )
694  C     freeSurfFac  :: Parameter to turn implicit free surface term on or off  C     freeSurfFac  :: Parameter to turn implicit free surface term on or off
695  C                     freeSurFac = 1. uses implicit free surface  C                     freeSurFac = 1. uses implicit free surface
696  C                     freeSurFac = 0. uses rigid lid  C                     freeSurFac = 0. uses rigid lid
# Line 716  C     hMixCriteria:: criteria for mixed- Line 756  C     hMixCriteria:: criteria for mixed-
756  C     dRhoSmall   :: parameter for mixed-layer diagnostic  C     dRhoSmall   :: parameter for mixed-layer diagnostic
757  C     hMixSmooth  :: Smoothing parameter for mixed-layer diag (default=0=no smoothing)  C     hMixSmooth  :: Smoothing parameter for mixed-layer diag (default=0=no smoothing)
758  C     ivdc_kappa  :: implicit vertical diffusivity for convection [m^2/s]  C     ivdc_kappa  :: implicit vertical diffusivity for convection [m^2/s]
 C     Ro_SeaLevel :: standard position of Sea-Level in "R" coordinate, used as  
 C                    starting value (k=1) for vertical coordinate (rf(1)=Ro_SeaLevel)  
 C     rSigmaBnd   :: vertical position (in r-unit) of r/sigma transition (Hybrid-Sigma)  
759  C     sideDragFactor     :: side-drag scaling factor (used only if no_slip_sides)  C     sideDragFactor     :: side-drag scaling factor (used only if no_slip_sides)
760  C                           (default=2: full drag ; =1: gives half-slip BC)  C                           (default=2: full drag ; =1: gives half-slip BC)
761  C     bottomDragLinear    :: Linear    bottom-drag coefficient (units of [r]/s)  C     bottomDragLinear    :: Linear    bottom-drag coefficient (units of [r]/s)
# Line 729  C                           is to be rep Line 766  C                           is to be rep
766  C                           (affects myabs, mymin, mymax)  C                           (affects myabs, mymin, mymax)
767  C     nh_Am2        :: scales the non-hydrostatic terms and changes internal scales  C     nh_Am2        :: scales the non-hydrostatic terms and changes internal scales
768  C                      (i.e. allows convection at different Rayleigh numbers)  C                      (i.e. allows convection at different Rayleigh numbers)
769    C     tCylIn        :: Temperature of the cylinder inner boundary
770    C     tCylOut       :: Temperature of the cylinder outer boundary
771  C     phiEuler      :: Euler angle, rotation about original z-axis  C     phiEuler      :: Euler angle, rotation about original z-axis
772  C     thetaEuler    :: Euler angle, rotation about new x-axis  C     thetaEuler    :: Euler angle, rotation about new x-axis
773  C     psiEuler      :: Euler angle, rotation about new z-axis  C     psiEuler      :: Euler angle, rotation about new z-axis
774        COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit,        COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit,
775       & cg2dpcOffDFac, cg3dTargetResidual,       & cg2dpcOffDFac, cg3dTargetResidual,
776       & delR, delRc, xgOrigin, ygOrigin,       & delR, delRc, xgOrigin, ygOrigin, Ro_SeaLevel, rSigmaBnd,
777       & deltaT, deltaTmom, dTtracerLev, deltaTfreesurf, deltaTClock,       & deltaT, deltaTMom, dTtracerLev, deltaTFreeSurf, deltaTClock,
778       & abEps, alph_AB, beta_AB,       & abEps, alph_AB, beta_AB,
779       & rSphere, recip_rSphere, radius_fromHorizGrid,       & rSphere, recip_rSphere, radius_fromHorizGrid,
780       & f0, beta, fPrime, omega, rotationPeriod,       & f0, beta, fPrime, omega, rotationPeriod,
781       & viscFacAdj, viscAh, viscAhW, viscAhMax,       & viscFacAdj, viscAh, viscAhW, smag3D_coeff,
782       & viscAhGrid, viscAhGridMax, viscAhGridMin,       & viscAhMax, viscAhGrid, viscAhGridMax, viscAhGridMin,
783       & viscC2leith, viscC2leithD,       & viscC2leith, viscC2leithD,
784       & viscC2smag, viscC4smag,       & viscC2smag, viscC4smag,
785       & viscAhD, viscAhZ, viscA4D, viscA4Z,       & viscAhD, viscAhZ, viscA4D, viscA4Z,
# Line 757  C     psiEuler      :: Euler angle, rota Line 796  C     psiEuler      :: Euler angle, rota
796       & freeSurfFac, implicSurfPress, implicDiv2Dflow, implicitNHPress,       & freeSurfFac, implicSurfPress, implicDiv2Dflow, implicitNHPress,
797       & hFacMin, hFacMinDz, hFacInf, hFacSup,       & hFacMin, hFacMinDz, hFacInf, hFacSup,
798       & gravity, recip_gravity, gBaro,       & gravity, recip_gravity, gBaro,
799       & rhoNil, rhoConst, recip_rhoConst,       & gravFacC, recip_gravFacC, gravFacF, recip_gravFacF,
800       & rhoFacC, recip_rhoFacC, rhoFacF, recip_rhoFacF,       & rhoNil, rhoConst, recip_rhoConst, rho1Ref,
801       & rhoConstFresh, rho1Ref, tRef, sRef, phiRef, dBdrRef,       & rhoFacC, recip_rhoFacC, rhoFacF, recip_rhoFacF, rhoConstFresh,
802         & thetaConst, tRef, sRef, pRef4EOS, phiRef, phi0Ref, dBdrRef,
803       & rVel2wUnit, wUnit2rVel, mass2rUnit, rUnit2mass,       & rVel2wUnit, wUnit2rVel, mass2rUnit, rUnit2mass,
804       & baseTime, startTime, endTime,       & baseTime, startTime, endTime,
805       & chkPtFreq, pChkPtFreq, dumpFreq, adjDumpFreq,       & chkPtFreq, pChkPtFreq, dumpFreq, adjDumpFreq,
# Line 771  C     psiEuler      :: Euler angle, rota Line 811  C     psiEuler      :: Euler angle, rota
811       & convertFW2Salt, temp_EvPrRn, salt_EvPrRn,       & convertFW2Salt, temp_EvPrRn, salt_EvPrRn,
812       & temp_addMass, salt_addMass, hFacMinDr, hFacMinDp,       & temp_addMass, salt_addMass, hFacMinDr, hFacMinDp,
813       & ivdc_kappa, hMixCriteria, dRhoSmall, hMixSmooth,       & ivdc_kappa, hMixCriteria, dRhoSmall, hMixSmooth,
      & Ro_SeaLevel, rSigmaBnd,  
814       & sideDragFactor, bottomDragLinear, bottomDragQuadratic, nh_Am2,       & sideDragFactor, bottomDragLinear, bottomDragQuadratic, nh_Am2,
815       & smoothAbsFuncRange,       & smoothAbsFuncRange,
816       & tCylIn, tCylOut,       & tCylIn, tCylOut,
# Line 785  C     psiEuler      :: Euler angle, rota Line 824  C     psiEuler      :: Euler angle, rota
824        _RL delRc(Nr+1)        _RL delRc(Nr+1)
825        _RL xgOrigin        _RL xgOrigin
826        _RL ygOrigin        _RL ygOrigin
827          _RL Ro_SeaLevel
828          _RL rSigmaBnd
829        _RL deltaT        _RL deltaT
830        _RL deltaTClock        _RL deltaTClock
831        _RL deltaTmom        _RL deltaTMom
832        _RL dTtracerLev(Nr)        _RL dTtracerLev(Nr)
833        _RL deltaTfreesurf        _RL deltaTFreeSurf
834        _RL abEps, alph_AB, beta_AB        _RL abEps, alph_AB, beta_AB
835        _RL rSphere        _RL rSphere
836        _RL recip_rSphere        _RL recip_rSphere
# Line 815  C     psiEuler      :: Euler angle, rota Line 856  C     psiEuler      :: Euler angle, rota
856        _RL viscAhW        _RL viscAhW
857        _RL viscAhD        _RL viscAhD
858        _RL viscAhZ        _RL viscAhZ
859          _RL smag3D_coeff
860        _RL viscAhMax        _RL viscAhMax
861        _RL viscAhReMax        _RL viscAhReMax
862        _RL viscAhGrid, viscAhGridMax, viscAhGridMin        _RL viscAhGrid, viscAhGridMax, viscAhGridMin
# Line 849  C     psiEuler      :: Euler angle, rota Line 891  C     psiEuler      :: Euler angle, rota
891        _RL diffKrBLEQscl        _RL diffKrBLEQscl
892        _RL diffKrBLEQHo        _RL diffKrBLEQHo
893        _RL tauCD, rCD, epsAB_CD        _RL tauCD, rCD, epsAB_CD
894        _RL gravity        _RL gravity,       recip_gravity
       _RL recip_gravity  
895        _RL gBaro        _RL gBaro
896          _RL gravFacC(Nr),   recip_gravFacC(Nr)
897          _RL gravFacF(Nr+1), recip_gravFacF(Nr+1)
898        _RL rhoNil        _RL rhoNil
899        _RL rhoConst,      recip_rhoConst        _RL rhoConst,      recip_rhoConst
900          _RL rho1Ref(Nr)
901        _RL rhoFacC(Nr),   recip_rhoFacC(Nr)        _RL rhoFacC(Nr),   recip_rhoFacC(Nr)
902        _RL rhoFacF(Nr+1), recip_rhoFacF(Nr+1)        _RL rhoFacF(Nr+1), recip_rhoFacF(Nr+1)
903        _RL rhoConstFresh        _RL rhoConstFresh
904        _RL rho1Ref(Nr)        _RL thetaConst
905        _RL tRef(Nr)        _RL tRef(Nr)
906        _RL sRef(Nr)        _RL sRef(Nr)
907          _RL pRef4EOS(Nr)
908        _RL phiRef(2*Nr+1)        _RL phiRef(2*Nr+1)
909          _RL phi0Ref
910        _RL dBdrRef(Nr)        _RL dBdrRef(Nr)
911        _RL rVel2wUnit(Nr+1), wUnit2rVel(Nr+1)        _RL rVel2wUnit(Nr+1), wUnit2rVel(Nr+1)
912        _RL mass2rUnit, rUnit2mass        _RL mass2rUnit, rUnit2mass
# Line 898  C     psiEuler      :: Euler angle, rota Line 944  C     psiEuler      :: Euler angle, rota
944        _RL hMixCriteria        _RL hMixCriteria
945        _RL dRhoSmall        _RL dRhoSmall
946        _RL hMixSmooth        _RL hMixSmooth
       _RL Ro_SeaLevel  
       _RL rSigmaBnd  
947        _RL sideDragFactor        _RL sideDragFactor
948        _RL bottomDragLinear        _RL bottomDragLinear
949        _RL bottomDragQuadratic        _RL bottomDragQuadratic
950        _RL smoothAbsFuncRange        _RL smoothAbsFuncRange
951        _RL nh_Am2        _RL nh_Am2
952        _RL tCylIn        _RL tCylIn, tCylOut
       _RL tCylOut  
953        _RL phiEuler, thetaEuler, psiEuler        _RL phiEuler, thetaEuler, psiEuler
954    
955  C--   COMMON /PARM_A/ Thermodynamics constants ?  C--   COMMON /PARM_A/ Thermodynamics constants ?
956        COMMON /PARM_A/ HeatCapacity_Cp,recip_Cp        COMMON /PARM_A/ HeatCapacity_Cp
957        _RL HeatCapacity_Cp        _RL HeatCapacity_Cp
       _RL recip_Cp  
958    
959  C--   COMMON /PARM_ATM/ Atmospheric physical parameters (Ideal Gas EOS, ...)  C--   COMMON /PARM_ATM/ Atmospheric physical parameters (Ideal Gas EOS, ...)
960  C     celsius2K :: convert centigrade (Celsius) degree to Kelvin  C     celsius2K :: convert centigrade (Celsius) degree to Kelvin
# Line 941  C Logical flags for selecting packages Line 983  C Logical flags for selecting packages
983        LOGICAL useZONAL_FILT        LOGICAL useZONAL_FILT
984        LOGICAL useOPPS        LOGICAL useOPPS
985        LOGICAL usePP81        LOGICAL usePP81
986          LOGICAL useKL10
987        LOGICAL useMY82        LOGICAL useMY82
988        LOGICAL useGGL90        LOGICAL useGGL90
989        LOGICAL useKPP        LOGICAL useKPP
# Line 952  C Logical flags for selecting packages Line 995  C Logical flags for selecting packages
995        LOGICAL useBulkForce        LOGICAL useBulkForce
996        LOGICAL useEBM        LOGICAL useEBM
997        LOGICAL useCheapAML        LOGICAL useCheapAML
998          LOGICAL useAUTODIFF
999        LOGICAL useGrdchk        LOGICAL useGrdchk
1000        LOGICAL useSMOOTH        LOGICAL useSMOOTH
1001        LOGICAL usePROFILES        LOGICAL usePROFILES
1002        LOGICAL useECCO        LOGICAL useECCO
1003          LOGICAL useCTRL
1004        LOGICAL useSBO        LOGICAL useSBO
1005        LOGICAL useFLT        LOGICAL useFLT
1006        LOGICAL usePTRACERS        LOGICAL usePTRACERS
# Line 970  C Logical flags for selecting packages Line 1015  C Logical flags for selecting packages
1015        LOGICAL useStreamIce        LOGICAL useStreamIce
1016        LOGICAL useICEFRONT        LOGICAL useICEFRONT
1017        LOGICAL useThSIce        LOGICAL useThSIce
1018          LOGICAL useLand
1019        LOGICAL useATM2d        LOGICAL useATM2d
1020        LOGICAL useAIM        LOGICAL useAIM
1021        LOGICAL useLand        LOGICAL useAtm_Phys
1022        LOGICAL useFizhi        LOGICAL useFizhi
1023        LOGICAL useGridAlt        LOGICAL useGridAlt
1024        LOGICAL useDiagnostics        LOGICAL useDiagnostics
# Line 984  C Logical flags for selecting packages Line 1030  C Logical flags for selecting packages
1030        LOGICAL useMYPACKAGE        LOGICAL useMYPACKAGE
1031        COMMON /PARM_PACKAGES/        COMMON /PARM_PACKAGES/
1032       &        useGAD, useOBCS, useSHAP_FILT, useZONAL_FILT,       &        useGAD, useOBCS, useSHAP_FILT, useZONAL_FILT,
1033       &        useOPPS, usePP81, useMY82, useGGL90, useKPP,       &        useOPPS, usePP81, useKL10, useMY82, useGGL90, useKPP,
1034       &        useGMRedi, useBBL, useDOWN_SLOPE,       &        useGMRedi, useBBL, useDOWN_SLOPE,
1035       &        useCAL, useEXF, useBulkForce, useEBM, useCheapAML,       &        useCAL, useEXF, useBulkForce, useEBM, useCheapAML,
1036       &        useGrdchk,useSMOOTH,usePROFILES,useECCO,useSBO, useFLT,       &        useGrdchk, useSMOOTH, usePROFILES, useECCO, useCTRL,
1037         &        useSBO, useFLT, useAUTODIFF,
1038       &        usePTRACERS, useGCHEM, useRBCS, useOffLine, useMATRIX,       &        usePTRACERS, useGCHEM, useRBCS, useOffLine, useMATRIX,
1039       &        useFRAZIL, useSEAICE, useSALT_PLUME, useShelfIce,       &        useFRAZIL, useSEAICE, useSALT_PLUME, useShelfIce,
1040       &        useStreamIce, useICEFRONT, useThSIce,       &        useStreamIce, useICEFRONT, useThSIce, useLand,
1041       &        useATM2D, useAIM, useLand, useFizhi, useGridAlt,       &        useATM2D, useAIM, useAtm_Phys, useFizhi, useGridAlt,
1042       &        useDiagnostics, useREGRID, useLayers, useMNC,       &        useDiagnostics, useREGRID, useLayers, useMNC,
1043       &        useRunClock, useEMBED_FILES,       &        useRunClock, useEMBED_FILES,
1044       &        useMYPACKAGE       &        useMYPACKAGE
1045    
 C     Logical flags for turning off parts of the code in adjoint mode  
       LOGICAL useKPPinAdMode, useKPPinFwdMode  
       LOGICAL useGMrediInAdMode, useGMrediInFwdMode  
       LOGICAL useSEAICEinAdMode, useSEAICEinFwdMode  
       COMMON /PARM_PACKAGES_ADJ/  
      &       useKPPinAdMode, useKPPinFwdMode,  
      &       useGMrediInAdMode, useGMrediInFwdMode,  
      &       useSEAICEinAdMode, useSEAICEinFwdMode  
   
1046  CEH3 ;;; Local Variables: ***  CEH3 ;;; Local Variables: ***
1047  CEH3 ;;; mode:fortran ***  CEH3 ;;; mode:fortran ***
1048  CEH3 ;;; End: ***  CEH3 ;;; End: ***

Legend:
Removed from v.1.263  
changed lines
  Added in v.1.282

  ViewVC Help
Powered by ViewVC 1.1.22