/[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.102 - (show annotations) (download)
Sat Feb 7 16:27:13 2004 UTC (20 years, 3 months ago) by adcroft
Branch: MAIN
CVS Tags: hrcube4, checkpoint52j_pre, checkpoint52k_post, hrcube_3, checkpoint52j_post
Changes since 1.101: +14 -2 lines
File MIME type: text/plain
Added new grid-dependent viscosity and biharmonic dissipation terms:
 o new parameters = viscAhGrid, viscAhMax, viscA4Grid and viscA4Max
 o new stuff in mom_vi_hdissip.F which is bound to break the adjoint!!!!
This has been "verified" against old experiments **BUT** there is a known
issue involving exch2 - results are dependent on using exch1 or exch2 and
we don't know which is right (if either).

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

  ViewVC Help
Powered by ViewVC 1.1.22