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

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

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


Revision 1.138 - (hide annotations) (download)
Fri Nov 19 01:33:31 2004 UTC (19 years, 6 months ago) by mlosch
Branch: MAIN
CVS Tags: checkpoint56b_post, checkpoint56a_post, checkpoint56c_post
Changes since 1.137: +5 -3 lines
File MIME type: text/plain
GCHEM: introduced a useGCHEM runtime flag

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

  ViewVC Help
Powered by ViewVC 1.1.22