/[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.113 - (show annotations) (download)
Mon Jun 14 17:48:13 2004 UTC (19 years, 11 months ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint53d_post
Changes since 1.112: +4 -2 lines
File MIME type: text/plain
Added new flag to fix aim.5l_cs
 - useJamartMomAdv distingiushes the non-linear terms from linear Coriolis
   when using Jamart wet points

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

  ViewVC Help
Powered by ViewVC 1.1.22