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

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

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


Revision 1.118 - (show annotations) (download)
Wed Jul 7 22:22:18 2004 UTC (19 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint54b_post
Changes since 1.117: +4 -2 lines
File MIME type: text/plain
needs valid U,V in halo region for multi-Dim-Advec; do Exch(U,V) if staggerTimeStep

1 C $Header: /u/gcmpack/MITgcm/model/inc/PARAMS.h,v 1.117 2004/07/06 00:51:35 jmc Exp $
2 C $Name: $
3 C
4 CBOP
5 C !ROUTINE: PARAMS.h
6 C !INTERFACE:
7 C include PARAMS.h
8 C !DESCRIPTION: \bv
9 C *==========================================================*
10 C | PARAMS.h
11 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
24 C Useful physical values
25 Real*8 PI
26 PARAMETER ( PI = 3.14159265358979323844D0 )
27 Real*8 deg2rad
28 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.
54 C checkPtSuff :: List of checkpoint file suffices
55 C bathyFile :: File containing bathymetry. If not defined bathymetry
56 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
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
108 C-- COMMON /PARM_I/ Integer valued parameters used by the model.
109 C cg2dMaxIters :: Maximum number of iterations in the
110 C two-dimensional con. grad solver.
111 C cg2dChkResFreq :: Frequency with which to check residual
112 C in con. grad solver.
113 C cg3dMaxIters :: Maximum number of iterations in the
114 C three-dimensional con. grad solver.
115 C cg3dChkResFreq :: Frequency with which to check residual
116 C in con. grad solver.
117 C nIter0 :: Start time-step number of for this run
118 C nTimeSteps :: Number of timesteps to execute
119 C numStepsPerPickup :: For offline setup. Frequency of pickup
120 C of flow fields.
121 C writeStatePrec :: Precision used for writing model state.
122 C writeBinaryPrec :: Precision used for writing binary files
123 C readBinaryPrec :: Precision used for reading binary files
124 C nCheckLev :: Holds current checkpoint level
125 C nonlinFreeSurf :: option related to non-linear free surface
126 C =0 Linear free surface ; >0 Non-linear
127 C select_rStar :: option related to r* vertical coordinate
128 C =0 (default) use r coord. ; > 0 use r*
129 C tempAdvScheme :: Temp. Horiz.Advection scheme selector
130 C tempVertAdvScheme :: Temp. Vert. Advection scheme selector
131 C saltAdvScheme :: Salt. Horiz.advection scheme selector
132 C saltVertAdvScheme :: Salt. Vert. Advection scheme selector
133 C debugLevel :: debug level selector: higher -> more writing
134
135 COMMON /PARM_I/
136 & cg2dMaxIters,
137 & cg2dChkResFreq,
138 & cg3dMaxIters,
139 & cg3dChkResFreq,
140 & nIter0, nTimeSteps, nEndIter,
141 & numStepsPerPickup,
142 & writeStatePrec, nCheckLev,
143 & writeBinaryPrec, readBinaryPrec,
144 & nonlinFreeSurf, select_rStar,
145 & tempAdvScheme, tempVertAdvScheme,
146 & saltAdvScheme, saltVertAdvScheme,
147 & tracerAdvScheme,
148 & debugLevel
149 INTEGER cg2dMaxIters
150 INTEGER cg2dChkResFreq
151 INTEGER cg3dMaxIters
152 INTEGER cg3dChkResFreq
153 INTEGER nIter0
154 INTEGER nTimeSteps
155 INTEGER nEndIter
156 INTEGER numStepsPerPickup
157 INTEGER writeStatePrec
158 INTEGER writeBinaryPrec
159 INTEGER readBinaryPrec
160 INTEGER nCheckLev
161 INTEGER nonlinFreeSurf
162 INTEGER select_rStar
163 INTEGER tempAdvScheme, tempVertAdvScheme
164 INTEGER saltAdvScheme, saltVertAdvScheme
165 INTEGER tracerAdvScheme
166 INTEGER debugLevel
167
168 C
169 INTEGER debLevZero
170 PARAMETER(debLevZero=0)
171 INTEGER debLevA
172 PARAMETER(debLevA=1)
173 INTEGER debLevB
174 PARAMETER(debLevB=2)
175
176 C-- COMMON /PARM_L/ Logical valued parameters used by the model.
177 C usingCartesianGrid :: If TRUE grid generation will be in a cartesian
178 C coordinate frame.
179 C usingSphericalPolarGrid :: If TRUE grid generation will be in a
180 C spherical polar frame.
181 C usingCylindricalGrid :: If TRUE grid generation will be Cylindrical
182 C no_slip_sides :: Impose "no-slip" at lateral boundaries.
183 C no_slip_bottom :: Impose "no-slip" at bottom boundary.
184 C staggerTimeStep :: enable a Stagger time stepping T,S Rho then U,V
185 C momViscosity :: Flag which turns momentum friction terms on and off.
186 C momAdvection :: Flag which turns advection of momentum on and off.
187 C momForcing :: Flag which turns external forcing of momentum on
188 C and off.
189 C momPressureForcing :: Flag which turns pressure term in momentum equation
190 C on and off.
191 C metricTerms :: Flag which turns metric terms on or off.
192 C usingSphericalPolarMTerms :: If TRUE use spherical polar metric terms.
193 C useNHMTerms :: If TRUE use non-hydrostatic metric terms.
194 C useCoriolis :: Flag which turns the coriolis terms on and off.
195 C tempDiffusion :: Flag which turns diffusion of temperature on
196 C and off.
197 C tempAdvection :: Flag which turns advection of temperature on
198 C and off.
199 C tempForcing :: Flag which turns external forcing of temperature on
200 C and off.
201 C saltDiffusion :: Flag which turns diffusion of salinity on
202 C and off.
203 C saltAdvection :: Flag which turns advection of salinity on
204 C and off.
205 C saltForcing :: Flag which turns external forcing of salinity on
206 C and off.
207 C useRealFreshWaterFlux :: if True (=Natural BCS), treats P+R-E flux
208 C as a real Fresh Water (=> changes the Sea Level)
209 C if F, converts P+R-E to salt flux (no SL effect)
210 C rigidLid :: Set to true to use rigid lid
211 C implicitFreeSurface :: Set to true to use implcit free surface
212 C exactConserv :: Set to true to conserve exactly the total Volume
213 C uniformLin_PhiSurf :: Set to true to use a uniform Bo_surf in the
214 C linear relation Phi_surf = Bo_surf*eta
215 C momStepping :: Turns momentum equation time-stepping off
216 C tempStepping :: Turns temperature equation time-stepping off
217 C saltStepping :: Turns salinity equation time-stepping off
218 C tr1Stepping :: Turns passive tracer 1 time-stepping on/off
219 C useConstantF :: Coriolis parameter set to f0
220 C useBetaPlaneF :: Coriolis parameter set to f0 + beta.y
221 C useSphereF :: Coriolis parameter set to 2.omega.sin(phi)
222 C useCDscheme :: use CD-scheme to calculate Coriolis terms.
223 C useJamartWetPoints :: Use wet-point method for Coriolis (Jamart and Ozer, 1986)
224 C useJamartMomAdv :: Use wet-point method for V.I. non-linear term
225 C SadournyCoriolis :: use the enstrophy conserving scheme by Sadourny
226 C upwindVorticity :: bias interpolation of vorticity in the Coriolis term
227 C highOrderVorticity :: use 3rd/4th order interp. of vorticity in Coriolis
228 C useAbsVorticity :: work with f+zeta in Coriolis terms
229 C implicitDiffusion :: Turns implicit vertical diffusion on
230 C implicitViscosity :: Turns implicit vertical viscosity on
231 C tempImplVertAdv :: Turns on implicit vertical advection for Temperature
232 C saltImplVertAdv :: Turns on implicit vertical advection for Salinity
233 C momImplVertAdv :: Turns on implicit vertical advection for Momentum
234 C multiDimAdvection :: Flag that enable multi-dimension advection
235 C useMultiDimAdvec :: True if multi-dim advection is used at least once
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,
261 & usingCurvilinearGrid, usingCylindricalGrid,
262 & no_slip_sides,no_slip_bottom,
263 & staggerTimeStep,
264 & momViscosity, momAdvection, momForcing, useCoriolis,
265 & momPressureForcing, vectorInvariantMomentum,
266 & tempDiffusion, tempAdvection, tempForcing,
267 & 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, useMultiDimAdvec, 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, usePickupBeforeC54, debugMode,
286 & readPickupWithTracer, writePickupWithTracer
287 LOGICAL usingCartesianGrid
288 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
297 LOGICAL momAdvection
298 LOGICAL momForcing
299 LOGICAL momPressureForcing
300 LOGICAL useCoriolis
301 LOGICAL vectorInvariantMomentum
302 LOGICAL tempDiffusion
303 LOGICAL tempAdvection
304 LOGICAL tempForcing
305 LOGICAL saltDiffusion
306 LOGICAL saltAdvection
307 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 useMultiDimAdvec
336 LOGICAL forcing_In_AB
337 LOGICAL doThetaClimRelax
338 LOGICAL doSaltClimRelax
339 LOGICAL doTr1ClimRelax
340 LOGICAL periodicExternalForcing
341 LOGICAL usingPCoords
342 LOGICAL usingZCoords
343 LOGICAL useDynP_inEos_Zc
344 LOGICAL setCenterDr
345 LOGICAL nonHydrostatic
346 LOGICAL quasiHydrostatic
347 LOGICAL globalFiles
348 LOGICAL useSingleCpuIO
349 LOGICAL allowFreezing
350 LOGICAL useOldFreezing
351 LOGICAL groundAtK1
352 LOGICAL usePickupBeforeC35
353 LOGICAL usePickupBeforeC54
354 LOGICAL debugMode
355 LOGICAL readPickupWithTracer
356 LOGICAL writePickupWithTracer
357
358 C-- COMMON /PARM_R/ "Real" valued parameters used by the model.
359 C gg2dTargetResidual
360 C :: Target residual for cg2d solver; no unit (RHS normalisation)
361 C cg2dTargetResWunit
362 C :: Target residual for cg2d solver; W unit (No RHS normalisation)
363 C cg3dTargetResidual
364 C :: Target residual for cg3d solver.
365 C cg2dpcOffDFac :: Averaging weight for preconditioner off-diagonal.
366 C Note. 20th May 1998
367 C I made a weird discovery! In the model paper we argue
368 C for the form of the preconditioner used here ( see
369 C A Finite-volume, Incompressible Navier-Stokes Model
370 C ...., Marshall et. al ). The algebra gives a simple
371 C 0.5 factor for the averaging of ac and aCw to get a
372 C symmettric pre-conditioner. By using a factor of 0.51
373 C i.e. scaling the off-diagonal terms in the
374 C preconditioner down slightly I managed to get the
375 C number of iterations for convergence in a test case to
376 C drop form 192 -> 134! Need to investigate this further!
377 C For now I have introduced a parameter cg2dpcOffDFac which
378 C defaults to 0.51 but can be set at runtime.
379 C delR :: Vertical grid spacing ( units of r ).
380 C delRc :: Vertical grid spacing between cell centers (r unit).
381 C delX :: Separation between cell faces (m) or (deg), depending
382 C delY on input flags.
383 C gravity :: Accel. due to gravity ( m/s^2 )
384 C recip_gravity and its inverse
385 C gBaro :: Accel. due to gravity used in barotropic equation ( m/s^2 )
386 C rhoNil :: Reference density for the linear equation of state
387 C rhoConst :: Vertically constant reference density
388 C rhoConstFresh :: Constant reference density for fresh water (rain)
389 C startTime :: Start time for model ( s )
390 C phiMin :: Latitude of southern most cell face.
391 C thetaMin :: Longitude of western most cell face (this
392 C is an "inert" parameter but it is included
393 C to make geographical references simple.)
394 C rSphere :: Radius of sphere for a spherical polar grid ( m ).
395 C recip_RSphere :: Reciprocal radius of sphere ( m ).
396 C f0 :: Reference coriolis parameter ( 1/s )
397 C ( Southern edge f for beta plane )
398 C beta :: df/dy ( s^-1.m^-1 )
399 C omega :: Angular velocity ( rad/s )
400 C rotationPeriod :: Rotation period (s) (= 2.pi/omega)
401 C viscAh :: Eddy viscosity coeff. for mixing of
402 C momentum laterally ( m^2/s )
403 C viscAr :: Eddy viscosity coeff. for mixing of
404 C momentum vertically ( units of r^2/s )
405 C viscA4 :: Biharmonic viscosity coeff. for mixing of
406 C momentum laterally ( m^4/s )
407 C viscC2leith :: Leith non-dimensional viscosity factor
408 C viscAhMax :: Maximum eddy viscosity coeff. for mixing of
409 C momentum laterally ( m^2/s )
410 C viscA4Max :: Maximum biharmonic viscosity coeff. for mixing of
411 C momentum laterally ( m^4/s )
412 C viscAhGrid:: non-dimensional grid-size dependent viscosity
413 C viscA4Grid:: non-dimensional grid-size dependent bi-harmonic viscosity
414 C viscC4leith :: Leith non-dimensional viscosity factor
415 C diffKhT :: Laplacian diffusion coeff. for mixing of
416 C heat laterally ( m^2/s )
417 C diffKrT :: Laplacian diffusion coeff. for mixing of
418 C heat vertically ( units of r^2/s )
419 C diffK4T :: Biharmonic diffusion coeff. for mixing of
420 C heat laterally ( m^4/s )
421 C diffKhS :: Laplacian diffusion coeff. for mixing of
422 C salt laterally ( m^2/s )
423 C diffKrS :: Laplacian diffusion coeff. for mixing of
424 C salt vertically ( units of r^2/s )
425 C diffK4S :: Biharmonic diffusion coeff. for mixing of
426 C salt laterally ( m^4/s )
427 C diffKrBL79surf :: T/S surface diffusivity (m^2/s) Bryan and Lewis, 1979
428 C diffKrBL79deep :: T/S deep diffusivity (m^2/s) Bryan and Lewis, 1979
429 C diffKrBL79scl :: depth scale for arctan fn (m) Bryan and Lewis, 1979
430 C diffKrBL79Ho :: depth offset for arctan fn (m) Bryan and Lewis, 1979
431 C deltaT :: Default timestep ( s )
432 C deltaTClock :: Timestep used as model "clock". This determines the
433 C IO frequencies and is used in tagging output. It can
434 C be totally different to the dynamical time. Typically
435 C it will be the deep-water timestep for accelerated runs.
436 C Frequency of checkpointing and dumping of the model state
437 C are referenced to this clock. ( s )
438 C deltaTMom :: Timestep for momemtum equations ( s )
439 C deltaTtracer :: Timestep for tracer equations ( s )
440 C deltaTfreesurf :: Timestep for free-surface equation ( s )
441 C freesurfFac :: Parameter to turn implicit free surface term on or off
442 C freesurfac = 1. uses implicit free surface
443 C freesurfac = 0. uses rigid lid
444 C implicSurfPress :: parameter of the Crank-Nickelson time stepping :
445 C Implicit part of Surface Pressure Gradient ( 0-1 )
446 C implicDiv2Dflow :: parameter of the Crank-Nickelson time stepping :
447 C Implicit part of barotropic flow Divergence ( 0-1 )
448 C hFacMin :: Minimum fraction size of a cell (affects hFacC etc...)
449 C hFacMinDz :: Minimum dimesional size of a cell (affects hFacC etc..., m)
450 C hFacMinDp :: Minimum dimesional size of a cell (affects hFacC etc..., Pa)
451 C hFacMinDr :: Minimum dimesional size of a cell (affects hFacC etc..., units of r)
452 C hFacInf :: Threshold (inf and sup) for fraction size of surface cell
453 C hFacSup that control vanishing and creating levels
454 C tauCD :: CD scheme coupling timescale ( 1/s )
455 C rCD :: CD scheme normalised coupling parameter ( 0-1 )
456 C startTime :: Starting time for this integration ( s ).
457 C endTime :: Ending time for this integration ( s ).
458 C chkPtFreq :: Frequency of rolling check pointing ( s ).
459 C pChkPtFreq :: Frequency of permanent check pointing ( s ).
460 C dumpFreq :: Frequency with which model state is written to
461 C post-processing files ( s ).
462 C diagFreq :: Frequency with which model writes diagnostic output
463 C of intermediate quantities.
464 C afFacMom :: Advection of momentum term tracer parameter
465 C vfFacMom :: Momentum viscosity tracer parameter
466 C pfFacMom :: Momentum pressure forcing tracer parameter
467 C cfFacMom :: Coriolis term tracer parameter
468 C foFacMom :: Momentum forcing tracer parameter
469 C mtFacMom :: Metric terms tracer parameter
470 C cosPower :: Power of cosine of latitude to multiply viscosity
471 C cAdjFreq :: Frequency of convective adjustment
472 C
473 C taveFreq :: Frequency with which time-averaged model state
474 C is written to post-processing files ( s ).
475 C tave_lastIter :: (for state variable only) fraction of the last time
476 C step (of each taveFreq period) put in the time average.
477 C (fraction for 1rst iter = 1 - tave_lastIter)
478 C tauThetaClimRelax :: Relaxation to climatology time scale ( s ).
479 C lambdaThetaClimRelax :: Inverse time scale for relaxation ( 1/s ).
480 C tauSaltClimRelax :: Relaxation to climatology time scale ( s ).
481 C lambdaSaltClimRelax :: Inverse time scale for relaxation ( 1/s ).
482 C latBandClimRelax :: latitude band where Relaxation to Clim. is applied,
483 C i.e. where |yC| <= latBandClimRelax
484 C externForcingPeriod :: Is the period of which forcing varies (eg. 1 month)
485 C externForcingCycle :: Is the repeat time of the forcing (eg. 1 year)
486 C (note: externForcingCycle must be an integer
487 C number times externForcingPeriod)
488 C convertFW2Salt :: salinity, used to convert Fresh-Water Flux to Salt Flux
489 C (use model surface (local) value if set to -1)
490 C temp_EvPrRn :: temperature of Rain & Evap.
491 C salt_EvPrRn :: salinity of Rain & Evap.
492 C trac_EvPrRn :: tracer concentration in Rain & Evap.
493 C (notes: a) tracer content of Rain/Evap only used if both
494 C NonLin_FrSurf & useRealFreshWater are set.
495 C b) use model surface (local) value if set to UNSET_RL)
496 C horiVertRatio :: Ratio on units in vertical to units in horizontal.
497 C recip_horiVertRatio ( 1 if horiz in m and vertical in m ).
498 C ( g*rho if horiz in m and vertical in Pa ).
499 C Ro_SeaLevel :: standard position of Sea-Level in "R" coordinate, used as
500 C starting value (k=1) for vertical coordinate (rf(1)=Ro_SeaLevel)
501 C bottomDragLinear :: Drag coefficient built in to core dynamics
502 C --"-"-- Quadratic ( linear: 1/s, quadratic: 1/m )
503 COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit,
504 & cg2dpcOffDFac, cg3dTargetResidual,
505 & delR, delRc, delX, delY,
506 & deltaT, deltaTmom, deltaTtracer, deltaTfreesurf, deltaTClock,
507 & abeps, startTime,
508 & phiMin, thetaMin, rSphere, recip_RSphere, f0, beta,
509 & fCori, fCoriG, fCoriCos,
510 & viscAh, viscAhMax, viscAhGrid, viscC2leith,
511 & viscA4, viscA4Max, viscA4Grid, viscC4leith,
512 & viscAr, viscAstrain, viscAtension,
513 & diffKhT, diffK4T, diffKrT,
514 & diffKhS, diffK4S, diffKrS,
515 & diffKrBL79surf, diffKrBL79deep, diffKrBL79scl, diffKrBL79Ho,
516 & delT, tauCD, rCD, freeSurfFac, implicSurfPress, implicDiv2Dflow,
517 & hFacMin, hFacMinDz, hFacInf, hFacSup,
518 & gravity, recip_Gravity, gBaro, rhonil, recip_rhonil,
519 & recip_rhoConst, rhoConst,
520 & rhoConstFresh, convertEmP2rUnit, tRef, sRef,
521 & endTime, chkPtFreq, pchkPtFreq, dumpFreq, adjDumpFreq,
522 & diagFreq, taveFreq, tave_lastIter, monitorFreq,
523 & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom,
524 & cosPower, cAdjFreq, omega, rotationPeriod,
525 & tauThetaClimRelax, lambdaThetaClimRelax,
526 & tauSaltClimRelax, lambdaSaltClimRelax,
527 & tauTr1ClimRelax, lambdaTr1ClimRelax, latBandClimRelax,
528 & externForcingCycle, externForcingPeriod,
529 & convertFW2Salt, temp_EvPrRn, salt_EvPrRn, trac_EvPrRn,
530 & hFacMinDr, hFacMinDp,
531 & horiVertRatio, recip_horiVertRatio,
532 & ivdc_kappa, Ro_SeaLevel,
533 & bottomDragLinear,bottomDragQuadratic,
534 & tCyl
535
536 _RL cg2dTargetResidual
537 _RL cg2dTargetResWunit
538 _RL cg3dTargetResidual
539 _RL cg2dpcOffDFac
540 _RL delR(Nr)
541 _RL delRc(Nr+1)
542 _RL delX(Nx)
543 _RL delY(Ny)
544 _RL deltaT
545 _RL deltaTClock
546 _RL deltaTmom
547 _RL deltaTtracer
548 _RL deltaTfreesurf
549 _RL abeps
550 _RL phiMin
551 _RL thetaMin
552 _RL rSphere
553 _RL recip_RSphere
554 _RL f0
555 _RL freeSurfFac
556 _RL implicSurfPress
557 _RL implicDiv2Dflow
558 _RL hFacMin
559 _RL hFacMinDz
560 _RL hFacMinDp
561 _RL hFacMinDr
562 _RL hFacInf
563 _RL hFacSup
564 _RL beta
565 _RL viscAh
566 _RL viscAhMax
567 _RL viscAhGrid
568 _RL viscC2leith
569 _RL viscAstrain
570 _RL viscAtension
571 _RL viscAr
572 _RL viscA4
573 _RL viscA4Max
574 _RL viscA4Grid
575 _RL viscC4leith
576 _RL diffKhT
577 _RL diffKrT
578 _RL diffK4T
579 _RL diffKhS
580 _RL diffKrS
581 _RL diffK4S
582 _RL diffKrBL79surf
583 _RL diffKrBL79deep
584 _RL diffKrBL79scl
585 _RL diffKrBL79Ho
586 _RL delt
587 _RL tauCD
588 _RL rCD
589 _RL gravity
590 _RL recip_gravity
591 _RL gBaro
592 _RL rhonil
593 _RL recip_rhonil
594 _RL rhoConst
595 _RL recip_rhoConst
596 _RL rhoConstFresh
597 _RL convertEmP2rUnit
598 _RL tRef(Nr)
599 _RL sRef(Nr)
600 _RS fCori(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
601 _RS fCoriG(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
602 _RS fCoriCos(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
603 _RL startTime
604 _RL endTime
605 _RL chkPtFreq
606 _RL pChkPtFreq
607 _RL dumpFreq
608 _RL adjDumpFreq
609 _RL diagFreq
610 _RL taveFreq
611 _RL tave_lastIter
612 _RL monitorFreq
613 _RL afFacMom
614 _RL vfFacMom
615 _RL pfFacMom
616 _RL cfFacMom
617 _RL foFacMom
618 _RL mTFacMom
619 _RL cosPower
620 _RL cAdjFreq
621 _RL omega
622 _RL rotationPeriod
623 _RL tauThetaClimRelax
624 _RL lambdaThetaClimRelax
625 _RL tauSaltClimRelax
626 _RL lambdaSaltClimRelax
627 _RL tauTr1ClimRelax
628 _RL lambdaTr1ClimRelax
629 _RL latBandClimRelax
630 _RL externForcingCycle
631 _RL externForcingPeriod
632 _RL convertFW2Salt
633 _RL temp_EvPrRn
634 _RL salt_EvPrRn
635 _RL trac_EvPrRn
636 _RL horiVertRatio
637 _RL recip_horiVertRatio
638 _RL ivdc_kappa
639 _RL Ro_SeaLevel
640 _RL bottomDragLinear
641 _RL bottomDragQuadratic
642 _RL tCyl
643
644 C-- COMMON /PARM_A/ Thermodynamics constants ?
645 COMMON /PARM_A/ HeatCapacity_Cp,recip_Cp
646 _RL HeatCapacity_Cp
647 _RL recip_Cp
648
649 C-- COMMON /PARM_ATM/ Atmospheric physical parameters (Ideal Gas EOS, ...)
650 C celsius2K :: convert centigrade (Celsius) degree to Kelvin
651 C atm_Po :: standard reference pressure
652 C atm_Cp :: specific heat (Cp) of the (dry) air at constant pressure
653 C atm_Rd :: gas constant for dry air
654 C atm_kappa :: kappa = R/Cp (R: constant of Ideal Gas EOS)
655 C atm_Rq :: water vapour specific volume anomaly relative to dry air
656 C (e.g. typical value = (29/18 -1) 10^-3 with q [g/kg])
657 C integr_GeoPot :: option to select the way we integrate the geopotential
658 C (still a subject of discussions ...)
659 C selectFindRoSurf :: select the way surf. ref. pressure (=Ro_surf) is
660 C derived from the orography. Implemented: 0,1 (see INI_P_GROUND)
661 COMMON /PARM_ATM/
662 & celsius2K,
663 & atm_Cp, atm_Rd, atm_kappa, atm_Rq, atm_Po,
664 & integr_GeoPot, selectFindRoSurf
665 _RL celsius2K
666 _RL atm_Po, atm_Cp, atm_Rd, atm_kappa, atm_Rq
667 INTEGER integr_GeoPot, selectFindRoSurf
668
669 C Logical flags for selecting packages
670 LOGICAL useKPP
671 LOGICAL useGMRedi
672 LOGICAL useOBCS
673 LOGICAL useAIM
674 LOGICAL useLand
675 LOGICAL useGrdchk
676 LOGICAL useECCO
677 LOGICAL useSHAP_FILT
678 LOGICAL useZONAL_FILT
679 LOGICAL useFLT
680 LOGICAL usePTRACERS
681 LOGICAL useSBO
682 LOGICAL useSEAICE
683 LOGICAL useBulkForce
684 LOGICAL useThSIce
685 LOGICAL usefizhi
686 LOGICAL usegridalt
687 LOGICAL usediagnostics
688 LOGICAL useEBM
689 COMMON /PARM_PACKAGES/
690 & useKPP, useGMRedi, useOBCS, useAIM, useLand, useECCO,
691 & useSHAP_FILT, useZONAL_FILT, useGrdchk, useFLT,
692 & usePTRACERS, useSBO, useSEAICE, useThSIce, useBulkForce,
693 & usefizhi, usegridalt, usediagnostics, useEBM
694
695 C Run-time flags for early-initialization of MNC
696 LOGICAL
697 & useMNC,
698 & mnc_use_indir, mnc_use_outdir, mnc_outdir_date,
699 & mnc_echo_gvtypes, mnc_pickup_write, mnc_pickup_read,
700 & mnc_use_for_mon
701 CHARACTER*(MAX_LEN_FNAM) mnc_outdir_str
702 CHARACTER*(MAX_LEN_FNAM) mnc_indir_str
703 COMMON /PARM_MNC/
704 & useMNC,
705 & mnc_use_indir, mnc_use_outdir, mnc_outdir_date,
706 & mnc_echo_gvtypes, mnc_pickup_write, mnc_pickup_read,
707 & mnc_outdir_str, mnc_indir_str,
708 & mnc_use_for_mon
709
710
711 CEH3 ;;; Local Variables: ***
712 CEH3 ;;; mode:fortran ***
713 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22