/[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.4 by cnh, Mon Apr 27 04:24:22 1998 UTC revision 1.115 by jmc, Sat Jun 26 02:37:17 2004 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2    C $Name$
3  C  C
4  C     /==========================================================\  CBOP
5  C     | PARAMS.h                                                 |  C    !ROUTINE: PARAMS.h
6  C     | o Header file defining model "parameters".               |  C    !INTERFACE:
7  C     |==========================================================|  C    include PARAMS.h
8  C     | The values from the model's standard input file are      |  C    !DESCRIPTION: \bv
9  C     | stored into the variables held here. Notes describing    |  C     *==========================================================*
10  C     | the parameters can also be found here.                   |  C     | PARAMS.h                                                  
11  C     \==========================================================/  C     | o Header file defining model "parameters".                
12    C     *==========================================================*
13    C     | The values from the model standard input file are        
14    C     | stored into the variables held here. Notes describing    
15    C     | the parameters can also be found here.                    
16    C     *==========================================================*
17    C     \ev
18    CEOP
19    
20    C     Macros for special grid options
21    #include "PARAMS_MACROS.h"
22    
23  C--   Contants  C--   Contants
 C     nOBands - No. of offline data time bands  
       INTEGER nOBands  
       PARAMETER ( nOBands = 12 )  
24  C     Useful physical values  C     Useful physical values
25        Real*8 PI        Real*8 PI
26        PARAMETER ( PI    = 3.14159265358979323844D0   )        PARAMETER ( PI    = 3.14159265358979323844D0   )
27        Real*8 deg2rad        Real*8 deg2rad
28        PARAMETER ( deg2rad = 2.D0*PI/360.D0           )        PARAMETER ( deg2rad = 2.D0*PI/360.D0           )
29    
30    C     Symbolic values
31    C     precXXXX :: Used to indicate what precision to use for
32    C                dumping model state.
33          INTEGER precFloat32
34          PARAMETER ( precFloat32 = 32 )
35          INTEGER precFloat64
36          PARAMETER ( precFloat64 = 64 )
37    C     UNSET_xxx :: Used to indicate variables that have not been given a value
38          Real*8 UNSET_FLOAT8
39          PARAMETER ( UNSET_FLOAT8 = 1.234567D5 )
40          Real*4 UNSET_FLOAT4
41          PARAMETER ( UNSET_FLOAT4 = 1.234567E5 )
42          _RL    UNSET_RL    
43          PARAMETER ( UNSET_RL     = 1.234567D5 )
44          _RS    UNSET_RS    
45          PARAMETER ( UNSET_RS     = 1.234567E5 )
46          INTEGER UNSET_I
47          PARAMETER ( UNSET_I      = 123456789  )
48    
49    C     Checkpoint data
50          INTEGER maxNoChkptLev
51          PARAMETER ( maxNoChkptLev = 2 )
52    
53  C--   COMMON /PARM_C/ Character valued parameters used by the model.  C--   COMMON /PARM_C/ Character valued parameters used by the model.
54  C     oBandId  - Offline dataset identifiers for different periods.  C     checkPtSuff :: List of checkpoint file suffices
55        COMMON /PARM_C/ oBandId  C     bathyFile   :: File containing bathymetry. If not defined bathymetry
56        CHARACTER*3 oBandId(nOBands)  C                   is taken from inline function.
57    C     topoFile    :: File containing the topography of the surface (unit=m)
58    C                   (mainly used for the atmosphere = ground height).
59    C     hydrogThetaFile :: File containing initial hydrographic data for potential
60    C                       temperature.
61    C     hydrogSaltFile  :: File containing initial hydrographic data for salinity.
62    C     zonalWindFile   :: File containing zonal wind data
63    C     meridWindFile   :: File containing meridional wind data
64    C     thetaClimFile   :: File containing theta climataology used
65    C                       in relaxation term -lambda(theta-theta*)
66    C     saltClimFile    :: File containing salt climataology used
67    C                       in relaxation term -lambda(salt-salt*)
68    C     surfQfile       :: File containing surface heat flux
69    C     surfQswfile     :: File containing surface shortwave radiation
70    C     dQdTfile        :: File containing thermal relaxation coefficient
71    C     EmPmRfile       :: File containing surface fresh water flux
72    C     pLoadFile       :: File containing pressure loading
73    C     buoyancyRelation :: Flag used to indicate which relation to use to
74    C                        get buoyancy.
75    C     eosType         :: choose the equation of state:
76    C                        LINEAR, POLY3, UNESCO, JMD95Z, JMD95P, MDJWF, IDEALGAS
77          COMMON /PARM_C/ checkPtSuff,
78         &                bathyFile, topoFile,
79         &                hydrogThetaFile, hydrogSaltFile,
80         &                zonalWindFile, meridWindFile, thetaClimFile,
81         &                saltClimFile, buoyancyRelation,
82         &                EmPmRfile, surfQfile, surfQswfile,
83         &                uVelInitFile, vVelInitFile, pSurfInitFile,
84         &                dQdTfile, ploadFile,
85         &                eosType, pickupSuff,
86         &                mdsioLocalDir, tCyl
87          CHARACTER*(5) checkPtSuff(maxNoChkptLev)
88          CHARACTER*(MAX_LEN_FNAM) bathyFile, topoFile
89          CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile
90          CHARACTER*(MAX_LEN_FNAM) hydrogSaltFile
91          CHARACTER*(MAX_LEN_FNAM) zonalWindFile
92          CHARACTER*(MAX_LEN_FNAM) meridWindFile
93          CHARACTER*(MAX_LEN_FNAM) thetaClimFile
94          CHARACTER*(MAX_LEN_FNAM) saltClimFile
95          CHARACTER*(MAX_LEN_FNAM) surfQfile
96          CHARACTER*(MAX_LEN_FNAM) surfQswfile
97          CHARACTER*(MAX_LEN_FNAM) EmPmRfile
98          CHARACTER*(MAX_LEN_FNAM) buoyancyRelation
99          CHARACTER*(MAX_LEN_FNAM) uVelInitFile
100          CHARACTER*(MAX_LEN_FNAM) vVelInitFile
101          CHARACTER*(MAX_LEN_FNAM) pSurfInitFile
102          CHARACTER*(MAX_LEN_FNAM) dQdTfile
103          CHARACTER*(MAX_LEN_FNAM) ploadFile
104          CHARACTER*(MAX_LEN_FNAM) mdsioLocalDir
105          CHARACTER*(6) eosType
106          CHARACTER*(10) pickupSuff
107          _RL tCyl
108    
109  C--   COMMON /PARM_I/ Integer valued parameters used by the model.  C--   COMMON /PARM_I/ Integer valued parameters used by the model.
110  C     cg2dMaxIters        - Maximum number of iterations in the  C     cg2dMaxIters        :: Maximum number of iterations in the
111  C                           two-dimensional con. grad solver.  C                           two-dimensional con. grad solver.
112  C     cg2dChkResFreq      - Frequency with which to check residual  C     cg2dChkResFreq      :: Frequency with which to check residual
113    C                           in con. grad solver.
114    C     cg3dMaxIters        :: Maximum number of iterations in the
115    C                           three-dimensional con. grad solver.
116    C     cg3dChkResFreq      :: Frequency with which to check residual
117  C                           in con. grad solver.  C                           in con. grad solver.
118  C     nIter0              - Start time-step number of for this run  C     nIter0              :: Start time-step number of for this run
119  C     nTimeSteps          - Number of timesteps to execute  C     nTimeSteps          :: Number of timesteps to execute
120  C     numStepsPerPickup   - For offline setup. Frequency of pickup  C     numStepsPerPickup   :: For offline setup. Frequency of pickup
121  C                           of flow fields.  C                           of flow fields.
122    C     writeStatePrec      :: Precision used for writing model state.
123    C     writeBinaryPrec     :: Precision used for writing binary files
124    C     readBinaryPrec      :: Precision used for reading binary files
125    C     nCheckLev           :: Holds current checkpoint level
126    C     nonlinFreeSurf      :: option related to non-linear free surface
127    C                           =0 Linear free surface ; >0 Non-linear
128    C     select_rStar        :: option related to r* vertical coordinate
129    C                           =0 (default) use r coord. ; > 0 use r*
130    C     tempAdvScheme       :: Temp. Horiz.Advection scheme selector
131    C     tempVertAdvScheme   :: Temp. Vert. Advection scheme selector
132    C     saltAdvScheme       :: Salt. Horiz.advection scheme selector
133    C     saltVertAdvScheme   :: Salt. Vert. Advection scheme selector
134    C     debugLevel          :: debug level selector: higher -> more writing
135    
136        COMMON /PARM_I/        COMMON /PARM_I/
137       &        cg2dMaxIters,       &        cg2dMaxIters,
138       &        cg2dChkResFreq,       &        cg2dChkResFreq,
139       &        nIter0, nTimeSteps,       &        cg3dMaxIters,
140       &        numStepsPerPickup       &        cg3dChkResFreq,
141         &        nIter0, nTimeSteps, nEndIter,
142         &        numStepsPerPickup,
143         &        writeStatePrec, nCheckLev,
144         &        writeBinaryPrec, readBinaryPrec,
145         &        nonlinFreeSurf, select_rStar,
146         &        tempAdvScheme, tempVertAdvScheme,
147         &        saltAdvScheme, saltVertAdvScheme,
148         &        tracerAdvScheme,
149         &        debugLevel
150        INTEGER cg2dMaxIters        INTEGER cg2dMaxIters
151        INTEGER cg2dChkResFreq        INTEGER cg2dChkResFreq
152          INTEGER cg3dMaxIters
153          INTEGER cg3dChkResFreq
154        INTEGER nIter0        INTEGER nIter0
155        INTEGER nTimeSteps        INTEGER nTimeSteps
156          INTEGER nEndIter
157        INTEGER numStepsPerPickup        INTEGER numStepsPerPickup
158          INTEGER writeStatePrec
159          INTEGER writeBinaryPrec
160          INTEGER readBinaryPrec
161          INTEGER nCheckLev
162          INTEGER nonlinFreeSurf
163          INTEGER select_rStar
164          INTEGER tempAdvScheme, tempVertAdvScheme
165          INTEGER saltAdvScheme, saltVertAdvScheme
166          INTEGER tracerAdvScheme
167          INTEGER debugLevel
168    
169    C
170          INTEGER debLevZero
171          PARAMETER(debLevZero=0)
172          INTEGER debLevA
173          PARAMETER(debLevA=1)
174          INTEGER debLevB
175          PARAMETER(debLevB=2)
176    
177  C--   COMMON /PARM_L/ Logical valued parameters used by the model.  C--   COMMON /PARM_L/ Logical valued parameters used by the model.
178  C     usingCartesianGrid - If TRUE grid generation will be in a cartesian  C     usingCartesianGrid :: If TRUE grid generation will be in a cartesian
179  C                          coordinate frame.  C                          coordinate frame.
180  C     usingSphericalPolarGrid - If TRUE grid generation will be in a  C     usingSphericalPolarGrid :: If TRUE grid generation will be in a
181  C                               spherical polar frame.  C                               spherical polar frame.
182  C     momViscosity  - Flag which turns momentum friction terms on and off.  C     usingCylindricalGrid :: If TRUE grid generation will be Cylindrical
183  C     momAdvection  - Flag which turns advection of momentum on and off.  C     no_slip_sides :: Impose "no-slip" at lateral boundaries.
184  C     momForcing    - Flag which turns external forcing of momentum on  C     no_slip_bottom :: Impose "no-slip" at bottom boundary.
185    C     staggerTimeStep :: enable a Stagger time stepping T,S Rho then U,V
186    C     momViscosity  :: Flag which turns momentum friction terms on and off.
187    C     momAdvection  :: Flag which turns advection of momentum on and off.
188    C     momForcing    :: Flag which turns external forcing of momentum on
189  C                     and off.  C                     and off.
190  C     useCoriolis   - Flag which turns the coriolis terms on and off.  C     momPressureForcing :: Flag which turns pressure term in momentum equation
191  C     tempDiffusion - Flag which turns diffusion of temperature on  C                          on and off.
192    C     metricTerms   :: Flag which turns metric terms on or off.
193    C     usingSphericalPolarMTerms :: If TRUE use spherical polar metric terms.
194    C     useNHMTerms :: If TRUE use non-hydrostatic metric terms.
195    C     useCoriolis   :: Flag which turns the coriolis terms on and off.
196    C     tempDiffusion :: Flag which turns diffusion of temperature on
197  C                     and off.  C                     and off.
198  C     tempAdvection - Flag which turns advection of temperature on  C     tempAdvection :: Flag which turns advection of temperature on
199  C                     and off.  C                     and off.
200  C     tempForcing   - Flag which turns external forcing of temperature on  C     tempForcing   :: Flag which turns external forcing of temperature on
201  C                     and off.  C                     and off.
202  C     saltDiffusion - Flag which turns diffusion of salinit on  C     saltDiffusion :: Flag which turns diffusion of salinity on
203  C                     and off.  C                     and off.
204  C     saltAdvection - Flag which turns advection of salinit on  C     saltAdvection :: Flag which turns advection of salinity on
205  C                     and off.  C                     and off.
206  C     saltForcing   - Flag which turns external forcing of salinit on  C     saltForcing   :: Flag which turns external forcing of salinity on
207  C                     and off.  C                     and off.
208    C     useRealFreshWaterFlux :: if True (=Natural BCS), treats P+R-E flux
209    C                         as a real Fresh Water (=> changes the Sea Level)
210    C                         if F, converts P+R-E to salt flux (no SL effect)
211    C     rigidLid            :: Set to true to use rigid lid
212    C     implicitFreeSurface :: Set to true to use implcit free surface
213    C     exactConserv        :: Set to true to conserve exactly the total Volume
214    C     uniformLin_PhiSurf  :: Set to true to use a uniform Bo_surf in the
215    C                           linear relation Phi_surf = Bo_surf*eta
216    C     momStepping   :: Turns momentum equation time-stepping off
217    C     tempStepping  :: Turns temperature equation time-stepping off
218    C     saltStepping  :: Turns salinity equation time-stepping off
219    C     tr1Stepping   :: Turns passive tracer 1 time-stepping on/off
220    C     useConstantF  :: Coriolis parameter set to f0
221    C     useBetaPlaneF :: Coriolis parameter set to f0 + beta.y
222    C     useSphereF    :: Coriolis parameter set to 2.omega.sin(phi)
223    C     useCDscheme   :: use CD-scheme to calculate Coriolis terms.
224    C     useJamartWetPoints :: Use wet-point method for Coriolis (Jamart and Ozer, 1986)
225    C     useJamartMomAdv :: Use wet-point method for V.I. non-linear term
226    C     SadournyCoriolis :: use the enstrophy conserving scheme by Sadourny
227    C     upwindVorticity :: bias interpolation of vorticity in the Coriolis term
228    C     highOrderVorticity :: use 3rd/4th order interp. of vorticity in Coriolis
229    C     useAbsVorticity :: work with f+zeta in Coriolis terms
230    C     implicitDiffusion :: Turns implicit vertical diffusion on
231    C     implicitViscosity :: Turns implicit vertical viscosity on
232    C     tempImplVertAdv :: Turns on implicit vertical advection for Temperature
233    C     saltImplVertAdv :: Turns on implicit vertical advection for Salinity
234    C     momImplVertAdv  :: Turns on implicit vertical advection for Momentum
235    C     multiDimAdvection :: Flag that enable multi-dimension advection
236    C     forcing_In_AB :: if False, put forcing (Temp,Salt,Tracers) contribution
237    C                      out off Adams-Bashforth time stepping.
238    C     doThetaClimRelax :: Set true if relaxation to temperature
239    C                        climatology is required.
240    C     doSaltClimRelax  :: Set true if relaxation to salinity
241    C                        climatology is required.
242    C     periodicExternalForcing :: Set true if forcing is time-dependant
243    C     usingPCoords     :: Set to indicate that we are working in pressure
244    C                        coords. (jmc: is it still used ?)
245    C     usingZCoords     :: Set to indicate that we are working in height
246    C                        coords. (jmc: is it still used ?)
247    C     useDynP_inEos_Zc :: use the dynamical pressure in EOS (with Z-coord.)
248    C                         this requires specific code for restart & exchange
249    C     setCenterDr    :: set cell Center depth and put Interface at the middle
250    C     nonHydrostatic :: Using non-hydrostatic terms
251    C     quasiHydrostatic :: Using non-hydrostatic terms in hydrostatic algorithm
252    C     globalFiles    :: Selects between "global" and "tiled" files
253    C     useSingleCpuIO :: On SGI platforms, option globalFiles is either
254    C                       slow (f77) or does not work (f90).  When
255    C                       useSingleCpuIO is set, mdsio_writefield.F
256    C                       outputs from master mpi process only.
257    C     allowFreezing  :: Allows surface water to freeze and form ice
258    C     useOldFreezing :: use the old version (before checkpoint52a_pre, 2003-11-12)
259    C     groundAtK1  :: put the surface(k=1) at the Lower Boundary (=ground)
260        COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid,        COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid,
261       & momViscosity, momAdvection, momForcing, useCoriolis,       & usingCurvilinearGrid, usingCylindricalGrid,
262         & no_slip_sides,no_slip_bottom,
263         & staggerTimeStep,
264         & momViscosity, momAdvection, momForcing, useCoriolis,
265         & momPressureForcing, vectorInvariantMomentum,
266       & tempDiffusion, tempAdvection, tempForcing,       & tempDiffusion, tempAdvection, tempForcing,
267       & saltDiffusion, saltAdvection, saltForcing       & saltDiffusion, saltAdvection, saltForcing,
268         & useRealFreshWaterFlux,
269         & rigidLid, implicitFreeSurface, exactConserv, uniformLin_PhiSurf,
270         & momStepping, tempStepping, saltStepping, tr1Stepping,
271         & metricTerms, usingSphericalPolarMTerms, useNHMTerms,
272         & useConstantF, useBetaPlaneF, useSphereF,
273         & useCDscheme,
274         & useEnergyConservingCoriolis, useJamartWetPoints, useJamartMomAdv,
275         & SadournyCoriolis, upwindVorticity, highOrderVorticity,
276         & useAbsVorticity,
277         & implicitDiffusion, implicitViscosity,
278         & tempImplVertAdv, saltImplVertAdv, momImplVertAdv,
279         & multiDimAdvection, forcing_In_AB,
280         & doThetaClimRelax, doSaltClimRelax, doTr1ClimRelax,
281         & periodicExternalForcing,
282         & usingPCoords, usingZCoords, useDynP_inEos_Zc, setCenterDr,
283         & nonHydrostatic, quasiHydrostatic, globalFiles, useSingleCpuIO,
284         & allowFreezing, useOldFreezing, groundAtK1,
285         & usePickupBeforeC35, debugMode,
286         & readPickupWithTracer, writePickupWithTracer
287        LOGICAL usingCartesianGrid        LOGICAL usingCartesianGrid
288        LOGICAL usingSphericalPolarGrid        LOGICAL usingSphericalPolarGrid
289          LOGICAL usingCylindricalGrid
290          LOGICAL usingCurvilinearGrid
291          LOGICAL usingSphericalPolarMTerms
292          LOGICAL useNHMTerms
293          LOGICAL no_slip_sides
294          LOGICAL no_slip_bottom
295          LOGICAL staggerTimeStep
296        LOGICAL momViscosity        LOGICAL momViscosity
297        LOGICAL momAdvection        LOGICAL momAdvection
298        LOGICAL momForcing        LOGICAL momForcing
299          LOGICAL momPressureForcing
300        LOGICAL useCoriolis        LOGICAL useCoriolis
301          LOGICAL vectorInvariantMomentum
302        LOGICAL tempDiffusion        LOGICAL tempDiffusion
303        LOGICAL tempAdvection        LOGICAL tempAdvection
304        LOGICAL tempForcing        LOGICAL tempForcing
305        LOGICAL saltDiffusion        LOGICAL saltDiffusion
306        LOGICAL saltAdvection        LOGICAL saltAdvection
307        LOGICAL saltForcing        LOGICAL saltForcing
308          LOGICAL useRealFreshWaterFlux
309          LOGICAL rigidLid
310          LOGICAL implicitFreeSurface
311          LOGICAL exactConserv
312          LOGICAL uniformLin_PhiSurf
313          LOGICAL momStepping
314          LOGICAL tempStepping
315          LOGICAL saltStepping
316          LOGICAL tr1Stepping
317          LOGICAL metricTerms
318          LOGICAL useConstantF
319          LOGICAL useBetaPlaneF
320          LOGICAL useSphereF
321          LOGICAL useCDscheme
322          LOGICAL useEnergyConservingCoriolis
323          LOGICAL useJamartWetPoints
324          LOGICAL useJamartMomAdv
325          LOGICAL SadournyCoriolis
326          LOGICAL upwindVorticity
327          LOGICAL highOrderVorticity
328          LOGICAL useAbsVorticity
329          LOGICAL implicitDiffusion
330          LOGICAL implicitViscosity
331          LOGICAL tempImplVertAdv
332          LOGICAL saltImplVertAdv
333          LOGICAL momImplVertAdv
334          LOGICAL multiDimAdvection
335          LOGICAL forcing_In_AB
336          LOGICAL doThetaClimRelax
337          LOGICAL doSaltClimRelax
338          LOGICAL doTr1ClimRelax
339          LOGICAL periodicExternalForcing
340          LOGICAL usingPCoords
341          LOGICAL usingZCoords
342          LOGICAL useDynP_inEos_Zc
343          LOGICAL setCenterDr
344          LOGICAL nonHydrostatic
345          LOGICAL quasiHydrostatic
346          LOGICAL globalFiles
347          LOGICAL useSingleCpuIO
348          LOGICAL allowFreezing
349          LOGICAL useOldFreezing
350          LOGICAL groundAtK1
351          LOGICAL usePickupBeforeC35
352          LOGICAL debugMode
353          LOGICAL readPickupWithTracer
354          LOGICAL writePickupWithTracer
355    
356  C--   COMMON /PARM_R/ "Real" valued parameters used by the model.  C--   COMMON /PARM_R/ "Real" valued parameters used by the model.
357  C     cg2dTargetResidual  C     gg2dTargetResidual
358  C               - Target residual for cg2d solver.  C          :: Target residual for cg2d solver; no unit (RHS normalisation)
359  C     delZ      - Vertical grid spacing ( m ) - delZ is the distance  C     cg2dTargetResWunit
360  C                 between "w" surfaces.  C          :: Target residual for cg2d solver; W unit (No RHS normalisation)
361  C     delX      - Separation between cell faces (m) or (deg), depending  C     cg3dTargetResidual
362    C               :: Target residual for cg3d solver.
363    C     cg2dpcOffDFac :: Averaging weight for preconditioner off-diagonal.
364    C     Note. 20th May 1998
365    C           I made a weird discovery! In the model paper we argue
366    C           for the form of the preconditioner used here ( see
367    C           A Finite-volume, Incompressible Navier-Stokes Model
368    C           ...., Marshall et. al ). The algebra gives a simple
369    C           0.5 factor for the averaging of ac and aCw to get a
370    C           symmettric pre-conditioner. By using a factor of 0.51
371    C           i.e. scaling the off-diagonal terms in the
372    C           preconditioner down slightly I managed to get the
373    C           number of iterations for convergence in a test case to
374    C           drop form 192 -> 134! Need to investigate this further!
375    C           For now I have introduced a parameter cg2dpcOffDFac which
376    C           defaults to 0.51 but can be set at runtime.
377    C     delR      :: Vertical grid spacing ( units of r ).
378    C     delRc     :: Vertical grid spacing between cell centers (r unit).
379    C     delX      :: Separation between cell faces (m) or (deg), depending
380  C     delY        on input flags.  C     delY        on input flags.
381  C     gravity   - Accel. due to gravity ( m/s^2 )  C     gravity   :: Accel. due to gravity ( m/s^2 )
382  C     ronil     - Reference density  C     recip_gravity and its inverse
383  C     startTime - Start time for model ( s )  C     gBaro     :: Accel. due to gravity used in barotropic equation ( m/s^2 )
384  C     phiMin    - Latitude of southern most cell face.  C     rhoNil    :: Reference density for the linear equation of state
385  C     thetaMin  - Longitude of western most cell face (this  C     rhoConst  :: Vertically constant reference density
386    C     rhoConstFresh :: Constant reference density for fresh water (rain)
387    C     startTime :: Start time for model ( s )
388    C     phiMin    :: Latitude of southern most cell face.
389    C     thetaMin  :: Longitude of western most cell face (this
390  C                 is an "inert" parameter but it is included  C                 is an "inert" parameter but it is included
391  C                 to make geographical references simple.)  C                 to make geographical references simple.)
392  C     rSphere   - Radius of sphere for a spherical polar grid ( m ).  C     rSphere   :: Radius of sphere for a spherical polar grid ( m ).
393  C     f0        - Reference coriolis parameter ( 1/s )  C     recip_RSphere  :: Reciprocal radius of sphere ( m ).
394    C     f0        :: Reference coriolis parameter ( 1/s )
395  C                 ( Southern edge f for beta plane )  C                 ( Southern edge f for beta plane )
396  C     beta      - df/dy ( s^-1.m^-1 )  C     beta      :: df/dy ( s^-1.m^-1 )
397  C     viscAh    - Eddy viscosity coeff. for mixing of  C     omega     :: Angular velocity ( rad/s )
398    C     rotationPeriod :: Rotation period (s) (= 2.pi/omega)
399    C     viscAh    :: Eddy viscosity coeff. for mixing of
400    C                 momentum laterally ( m^2/s )
401    C     viscAr    :: Eddy viscosity coeff. for mixing of
402    C                 momentum vertically ( units of r^2/s )
403    C     viscA4    :: Biharmonic viscosity coeff. for mixing of
404    C                 momentum laterally ( m^4/s )
405    C     viscC2leith :: Leith non-dimensional viscosity factor
406    C     viscAhMax :: Maximum eddy viscosity coeff. for mixing of
407  C                 momentum laterally ( m^2/s )  C                 momentum laterally ( m^2/s )
408  C     viscAz    - Eddy viscosity coeff. for mixing of  C     viscA4Max :: Maximum biharmonic viscosity coeff. for mixing of
 C                 momentum vertically ( m^2/s )  
 C     viscA4    - Biharmonic viscosity coeff. for mixing of  
409  C                 momentum laterally ( m^4/s )  C                 momentum laterally ( m^4/s )
410  C     diffKhT   - Laplacian diffusion coeff. for mixing of  C     viscAhGrid:: non-dimensional grid-size dependent viscosity
411    C     viscA4Grid:: non-dimensional grid-size dependent bi-harmonic viscosity
412    C     viscC4leith :: Leith non-dimensional viscosity factor
413    C     diffKhT   :: Laplacian diffusion coeff. for mixing of
414  C                 heat laterally ( m^2/s )  C                 heat laterally ( m^2/s )
415  C     diffKzT   - Laplacian diffusion coeff. for mixing of  C     diffKrT   :: Laplacian diffusion coeff. for mixing of
416  C                 heat vertically ( m^2/s )  C                 heat vertically ( units of r^2/s )
417  C     diffK4T   - Biharmonic diffusion coeff. for mixing of  C     diffK4T   :: Biharmonic diffusion coeff. for mixing of
418  C                 heat laterally ( m^4/s )  C                 heat laterally ( m^4/s )
419  C     diffKhS  -  Laplacian diffusion coeff. for mixing of  C     diffKhS  ::  Laplacian diffusion coeff. for mixing of
420  C                 salt laterally ( m^2/s )  C                 salt laterally ( m^2/s )
421  C     diffKzS   - Laplacian diffusion coeff. for mixing of  C     diffKrS   :: Laplacian diffusion coeff. for mixing of
422  C                 salt vertically ( m^2/s )  C                 salt vertically ( units of r^2/s )
423  C     diffK4S   - Biharmonic diffusion coeff. for mixing of  C     diffK4S   :: Biharmonic diffusion coeff. for mixing of
424  C                 salt laterally ( m^4/s )  C                 salt laterally ( m^4/s )
425  C     tAlpha    - Linear EOS thermal expansion coefficient ( 1/degree ).  C     diffKrBL79surf :: T/S surface diffusivity (m^2/s) Bryan and Lewis, 1979
426  C     sBeta     - Linear EOS haline contraction coefficient.  C     diffKrBL79deep :: T/S deep diffusivity (m^2/s) Bryan and Lewis, 1979
427  C     deltaT    - Default timestep ( s )  C     diffKrBL79scl  :: depth scale for arctan fn (m) Bryan and Lewis, 1979
428  C     deltaTMom    - Timestep for momemtum equations ( s )  C     diffKrBL79Ho   :: depth offset for arctan fn (m) Bryan and Lewis, 1979
429  C     deltaTtracer - Timestep for tracer equations ( s )  C     deltaT    :: Default timestep ( s )
430  C     tauCD     - CD scheme coupling timescale ( 1/s )  C     deltaTClock  :: Timestep used as model "clock". This determines the
431  C     rCD       - CD scheme normalised coupling parameter ( 0-1 )  C                    IO frequencies and is used in tagging output. It can
432  C     startTime - Starting time for this integration ( s ).  C                    be totally different to the dynamical time. Typically
433  C     endTime   - Ending time for this integration ( s ).  C                    it will be the deep-water timestep for accelerated runs.
434  C     chkPtFreq - Frequency of check pointing ( s ).  C                    Frequency of checkpointing and dumping of the model state
435  C     dumpFreq  - Frequency with which model state is written to  C                    are referenced to this clock. ( s )
436  C                 post-processing files ( s ).  C     deltaTMom    :: Timestep for momemtum equations ( s )
437        COMMON /PARM_R/ cg2dTargetResidual, delZ, delX, delY, deltaT,  C     deltaTtracer :: Timestep for tracer equations ( s )
438       & deltaTmom, deltaTtracer, abeps, startTime, phiMin, thetaMin,  C     deltaTfreesurf :: Timestep for free-surface equation ( s )
439       & rSphere, f0, fCori, beta, viscAh, viscAz, viscA4, diffKhT, diffKzT,  C     freesurfFac  :: Parameter to turn implicit free surface term on or off
440       & diffK4T, diffKhS, diffKzS, diffK4S, delT, tauCD, rCD,  C                    freesurfac = 1. uses implicit free surface
441       & tAlpha, sBeta, gravity, rhonil, tRef, sRef,  C                    freesurfac = 0. uses rigid lid
442       & endTime, chkPtFreq, dumpFreq  C     implicSurfPress :: parameter of the Crank-Nickelson time stepping :
443        REAL cg2dTargetResidual  C                     Implicit part of Surface Pressure Gradient ( 0-1 )
444        REAL delZ(Nz)  C     implicDiv2Dflow :: parameter of the Crank-Nickelson time stepping :
445        REAL delX(Nx)  C                     Implicit part of barotropic flow Divergence ( 0-1 )
446        REAL delY(Ny)  C     hFacMin      :: Minimum fraction size of a cell (affects hFacC etc...)
447        REAL deltaT  C     hFacMinDz    :: Minimum dimesional size of a cell (affects hFacC etc..., m)
448        REAL deltaTmom  C     hFacMinDp    :: Minimum dimesional size of a cell (affects hFacC etc..., Pa)
449        REAL deltaTtracer  C     hFacMinDr    :: Minimum dimesional size of a cell (affects hFacC etc..., units of r)
450        REAL abeps  C     hFacInf      :: Threshold (inf and sup) for fraction size of surface cell
451        REAL phiMin  C     hFacSup        that control vanishing and creating levels
452        REAL thetaMin  C     tauCD        :: CD scheme coupling timescale ( 1/s )
453        REAL rSphere  C     rCD          :: CD scheme normalised coupling parameter ( 0-1 )
454        REAL f0  C     startTime     :: Starting time for this integration ( s ).
455        _RL  beta  C     endTime       :: Ending time for this integration ( s ).
456        REAL viscAh  C     chkPtFreq     :: Frequency of rolling check pointing ( s ).
457        REAL viscAz  C     pChkPtFreq    :: Frequency of permanent check pointing ( s ).
458        REAL viscA4  C     dumpFreq      :: Frequency with which model state is written to
459        REAL diffKhT  C                     post-processing files ( s ).
460        REAL diffKzT  C     diagFreq      :: Frequency with which model writes diagnostic output
461        REAL diffK4T  C                     of intermediate quantities.
462        REAL diffKhS  C     afFacMom      :: Advection of momentum term tracer parameter
463        REAL diffKzS  C     vfFacMom      :: Momentum viscosity tracer parameter
464        REAL diffK4S  C     pfFacMom      :: Momentum pressure forcing tracer parameter
465        REAL delt  C     cfFacMom      :: Coriolis term tracer parameter
466        REAL tauCD  C     foFacMom      :: Momentum forcing tracer parameter
467        REAL rCD  C     mtFacMom      :: Metric terms tracer parameter
468        REAL tAlpha  C     cosPower      :: Power of cosine of latitude to multiply viscosity
469        REAL sBeta  C     cAdjFreq      :: Frequency of convective adjustment
470        REAL gravity  C
471        REAL rhonil  C     taveFreq      :: Frequency with which time-averaged model state
472        REAL tRef(Nz)  C                      is written to post-processing files ( s ).
473        REAL sRef(Nz)  C     tave_lastIter :: (for state variable only) fraction of the last time
474        real Fcori(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)  C                      step (of each taveFreq period) put in the time average.
475        REAL startTime  C                      (fraction for 1rst iter = 1 - tave_lastIter)
476        REAL endTime  C     tauThetaClimRelax :: Relaxation to climatology time scale ( s ).
477        REAL chkPtFreq  C     lambdaThetaClimRelax :: Inverse time scale for relaxation ( 1/s ).
478        REAL dumpFreq  C     tauSaltClimRelax :: Relaxation to climatology time scale ( s ).
479        COMMON /PARM_A/ HeatCapacity_Cp,  C     lambdaSaltClimRelax :: Inverse time scale for relaxation ( 1/s ).
480       &                Lamba_theta  C     latBandClimRelax :: latitude band where Relaxation to Clim. is applied,
481        REAL HeatCapacity_Cp  C                         i.e. where |yC| <= latBandClimRelax
482        REAL Lamba_theta  C     externForcingPeriod :: Is the period of which forcing varies (eg. 1 month)
483    C     externForcingCycle :: Is the repeat time of the forcing (eg. 1 year)
484    C                          (note: externForcingCycle must be an integer
485    C                           number times externForcingPeriod)
486    C     convertFW2Salt :: salinity, used to convert Fresh-Water Flux to Salt Flux
487    C                       (use model surface (local) value if set to -1)
488    C     temp_EvPrRn :: temperature of Rain & Evap.
489    C     salt_EvPrRn :: salinity of Rain & Evap.
490    C     trac_EvPrRn :: tracer concentration in Rain & Evap.
491    C        (notes: a) tracer content of Rain/Evap only used if both
492    C                     NonLin_FrSurf & useRealFreshWater are set.
493    C                b) use model surface (local) value if set to UNSET_RL)
494    C     horiVertRatio      :: Ratio on units in vertical to units in horizontal.
495    C     recip_horiVertRatio  ( 1 if horiz in m and vertical in m ).
496    C                          ( g*rho if horiz in m and vertical in Pa ).
497    C     Ro_SeaLevel        :: standard position of Sea-Level in "R" coordinate, used as
498    C                          starting value (k=1) for vertical coordinate (rf(1)=Ro_SeaLevel)
499    C     bottomDragLinear   :: Drag coefficient built in to core dynamics
500    C      --"-"--  Quadratic  ( linear: 1/s, quadratic: 1/m )
501          COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit,
502         & cg2dpcOffDFac, cg3dTargetResidual,
503         & delR, delRc, delX, delY,
504         & deltaT, deltaTmom, deltaTtracer, deltaTfreesurf, deltaTClock,
505         & abeps, startTime,
506         & phiMin, thetaMin, rSphere, recip_RSphere, f0, beta,
507         & fCori, fCoriG, fCoriCos,
508         & viscAh,  viscAhMax, viscAhGrid, viscC2leith,
509         & viscA4,  viscA4Max, viscA4Grid, viscC4leith,
510         & viscAr, viscAstrain, viscAtension,
511         & diffKhT, diffK4T, diffKrT,
512         & diffKhS, diffK4S, diffKrS,
513         & diffKrBL79surf, diffKrBL79deep, diffKrBL79scl, diffKrBL79Ho,
514         & delT, tauCD, rCD, freeSurfFac, implicSurfPress, implicDiv2Dflow,
515         & hFacMin, hFacMinDz, hFacInf, hFacSup,
516         & gravity, recip_Gravity, gBaro, rhonil, recip_rhonil,
517         & recip_rhoConst, rhoConst,
518         & rhoConstFresh, convertEmP2rUnit, tRef, sRef,
519         & endTime, chkPtFreq, pchkPtFreq, dumpFreq, adjDumpFreq,
520         & diagFreq, taveFreq, tave_lastIter, monitorFreq,
521         & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom,
522         & cosPower, cAdjFreq, omega, rotationPeriod,
523         & tauThetaClimRelax, lambdaThetaClimRelax,
524         & tauSaltClimRelax, lambdaSaltClimRelax,
525         & tauTr1ClimRelax, lambdaTr1ClimRelax, latBandClimRelax,
526         & externForcingCycle, externForcingPeriod,
527         & convertFW2Salt, temp_EvPrRn, salt_EvPrRn, trac_EvPrRn,
528         & hFacMinDr, hFacMinDp,
529         & horiVertRatio, recip_horiVertRatio,
530         & ivdc_kappa, Ro_SeaLevel,
531         & bottomDragLinear,bottomDragQuadratic
532    
533          _RL cg2dTargetResidual
534          _RL cg2dTargetResWunit
535          _RL cg3dTargetResidual
536          _RL cg2dpcOffDFac
537          _RL delR(Nr)
538          _RL delRc(Nr+1)
539          _RL delX(Nx)
540          _RL delY(Ny)
541          _RL deltaT
542          _RL deltaTClock
543          _RL deltaTmom
544          _RL deltaTtracer
545          _RL deltaTfreesurf
546          _RL abeps
547          _RL phiMin
548          _RL thetaMin
549          _RL rSphere
550          _RL recip_RSphere
551          _RL f0
552          _RL freeSurfFac
553          _RL implicSurfPress
554          _RL implicDiv2Dflow
555          _RL hFacMin
556          _RL hFacMinDz
557          _RL hFacMinDp
558          _RL hFacMinDr
559          _RL hFacInf
560          _RL hFacSup
561          _RL beta
562          _RL viscAh
563          _RL viscAhMax
564          _RL viscAhGrid
565          _RL viscC2leith
566          _RL viscAstrain
567          _RL viscAtension
568          _RL viscAr
569          _RL viscA4
570          _RL viscA4Max
571          _RL viscA4Grid
572          _RL viscC4leith
573          _RL diffKhT
574          _RL diffKrT
575          _RL diffK4T
576          _RL diffKhS
577          _RL diffKrS
578          _RL diffK4S
579          _RL diffKrBL79surf
580          _RL diffKrBL79deep
581          _RL diffKrBL79scl
582          _RL diffKrBL79Ho
583          _RL delt
584          _RL tauCD
585          _RL rCD
586          _RL gravity
587          _RL recip_gravity
588          _RL gBaro
589          _RL rhonil
590          _RL recip_rhonil
591          _RL rhoConst
592          _RL recip_rhoConst
593          _RL rhoConstFresh
594          _RL convertEmP2rUnit
595          _RL tRef(Nr)
596          _RL sRef(Nr)
597          _RS fCori(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
598          _RS fCoriG(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
599          _RS fCoriCos(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
600          _RL startTime
601          _RL endTime
602          _RL chkPtFreq
603          _RL pChkPtFreq
604          _RL dumpFreq
605          _RL adjDumpFreq
606          _RL diagFreq
607          _RL taveFreq
608          _RL tave_lastIter
609          _RL monitorFreq
610          _RL afFacMom
611          _RL vfFacMom
612          _RL pfFacMom
613          _RL cfFacMom
614          _RL foFacMom
615          _RL mTFacMom
616          _RL cosPower
617          _RL cAdjFreq
618          _RL omega
619          _RL rotationPeriod
620          _RL tauThetaClimRelax
621          _RL lambdaThetaClimRelax
622          _RL tauSaltClimRelax
623          _RL lambdaSaltClimRelax
624          _RL tauTr1ClimRelax
625          _RL lambdaTr1ClimRelax
626          _RL latBandClimRelax
627          _RL externForcingCycle
628          _RL externForcingPeriod
629          _RL convertFW2Salt
630          _RL temp_EvPrRn
631          _RL salt_EvPrRn
632          _RL trac_EvPrRn
633          _RL horiVertRatio
634          _RL recip_horiVertRatio
635          _RL ivdc_kappa
636          _RL Ro_SeaLevel
637          _RL bottomDragLinear
638          _RL bottomDragQuadratic
639    
640    C--   COMMON /PARM_A/ Thermodynamics constants ?
641          COMMON /PARM_A/ HeatCapacity_Cp,recip_Cp
642          _RL HeatCapacity_Cp
643          _RL recip_Cp
644    
645    C--   COMMON /PARM_ATM/ Atmospheric physical parameters (Ideal Gas EOS, ...)
646    C     celsius2K :: convert centigrade (Celsius) degree to Kelvin
647    C     atm_Po    :: standard reference pressure
648    C     atm_Cp    :: specific heat (Cp) of the (dry) air at constant pressure
649    C     atm_Rd    :: gas constant for dry air
650    C     atm_kappa :: kappa = R/Cp (R: constant of Ideal Gas EOS)
651    C     atm_Rq    :: water vapour specific volume anomaly relative to dry air
652    C                  (e.g. typical value = (29/18 -1) 10^-3 with q [g/kg])
653    C     integr_GeoPot :: option to select the way we integrate the geopotential
654    C                     (still a subject of discussions ...)
655    C     selectFindRoSurf :: select the way surf. ref. pressure (=Ro_surf) is
656    C             derived from the orography. Implemented: 0,1 (see INI_P_GROUND)
657          COMMON /PARM_ATM/
658         &            celsius2K,
659         &            atm_Cp, atm_Rd, atm_kappa, atm_Rq, atm_Po,
660         &            integr_GeoPot, selectFindRoSurf
661          _RL celsius2K
662          _RL atm_Po, atm_Cp, atm_Rd, atm_kappa, atm_Rq
663          INTEGER integr_GeoPot, selectFindRoSurf
664    
665    C Logical flags for selecting packages
666          LOGICAL useKPP
667          LOGICAL useGMRedi
668          LOGICAL useOBCS
669          LOGICAL useAIM
670          LOGICAL useLand
671          LOGICAL useGrdchk
672          LOGICAL useECCO
673          LOGICAL useSHAP_FILT
674          LOGICAL useZONAL_FILT
675          LOGICAL useFLT
676          LOGICAL usePTRACERS
677          LOGICAL useSBO
678          LOGICAL useSEAICE
679          LOGICAL useBulkForce
680          LOGICAL useThSIce
681          LOGICAL usefizhi
682          LOGICAL usegridalt
683          LOGICAL usediagnostics
684          LOGICAL useEBM
685          COMMON /PARM_PACKAGES/
686         &        useKPP, useGMRedi, useOBCS, useAIM, useLand, useECCO,
687         &        useSHAP_FILT, useZONAL_FILT, useGrdchk, useFLT,
688         &        usePTRACERS,  useSBO, useSEAICE, useThSIce, useBulkForce,
689         &        usefizhi,  usegridalt, usediagnostics, useEBM
690    
691    C     Run-time flags for early-initialization of MNC
692          LOGICAL
693         &     useMNC,
694         &     mnc_use_indir, mnc_use_outdir, mnc_outdir_date,
695         &     mnc_echo_gvtypes, mnc_pickup_write, mnc_pickup_read,
696         &     mnc_use_for_mon
697          CHARACTER*(MAX_LEN_FNAM) mnc_outdir_str
698          CHARACTER*(MAX_LEN_FNAM) mnc_indir_str
699          COMMON /PARM_MNC/
700         &     useMNC,
701         &     mnc_use_indir, mnc_use_outdir, mnc_outdir_date,
702         &     mnc_echo_gvtypes, mnc_pickup_write, mnc_pickup_read,
703         &     mnc_outdir_str, mnc_indir_str,
704         &     mnc_use_for_mon
705    
706    
707    CEH3 ;;; Local Variables: ***
708    CEH3 ;;; mode:fortran ***
709    CEH3 ;;; End: ***

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.115

  ViewVC Help
Powered by ViewVC 1.1.22