/[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.123 - (show annotations) (download)
Tue Sep 7 21:32:09 2004 UTC (19 years, 8 months ago) by edhill
Branch: MAIN
Changes since 1.122: +5 -2 lines
File MIME type: text/plain
 o make the mon_iotype setup in monitor the poster child for MNC/MDSIO
   flag handling

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

  ViewVC Help
Powered by ViewVC 1.1.22