/[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.140 - (hide annotations) (download)
Thu Dec 9 09:01:07 2004 UTC (19 years, 5 months ago) by mlosch
Branch: MAIN
CVS Tags: checkpoint57b_post, checkpoint57, checkpoint57a_post, checkpoint57a_pre
Changes since 1.139: +7 -2 lines
File MIME type: text/plain
add horizontal bi-harmonic viscosity of vertical viscosity
- used only in non-hydrostatic code
- add a parameter viscA4W that defaults to viscA4 if unset, otherwise
  usefull if you want to use the Leith viscosity for horizontal
  velocity an biharmonic viscosity in the vertical.

1 mlosch 1.140 C $Header: /u/gcmpack/MITgcm/model/inc/PARAMS.h,v 1.139 2004/12/04 00:10:33 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 mlosch 1.140 C viscA4W :: Biharmonic viscosity coeff. for mixing of vertical
430     C momentum laterally, no effect for hydrostatic
431     C model, defaults to viscA4 if unset ( m^2/s )
432 jmc 1.135 C viscAhD :: Eddy viscosity coeff. for mixing of momentum laterally
433     C (act on Divergence part) ( m^2/s )
434     C viscAhZ :: Eddy viscosity coeff. for mixing of momentum laterally
435     C (act on Vorticity part) ( m^2/s )
436     C viscA4D :: Biharmonic viscosity coeff. for mixing of momentum laterally
437     C (act on Divergence part) ( m^4/s )
438     C viscA4Z :: Biharmonic viscosity coeff. for mixing of momentum laterally
439     C (act on Vorticity part) ( m^4/s )
440 adcroft 1.110 C viscC2leith :: Leith non-dimensional viscosity factor
441 adcroft 1.102 C viscAhMax :: Maximum eddy viscosity coeff. for mixing of
442     C momentum laterally ( m^2/s )
443     C viscA4Max :: Maximum biharmonic viscosity coeff. for mixing of
444     C momentum laterally ( m^4/s )
445     C viscAhGrid:: non-dimensional grid-size dependent viscosity
446     C viscA4Grid:: non-dimensional grid-size dependent bi-harmonic viscosity
447 dimitri 1.136 C viscA4GridMax:: maximum and minimum biharmonic viscosity coefficients ...
448     C viscA4GridMin:: in terms of non-dimensional grid-size dependent viscosity
449 adcroft 1.110 C viscC4leith :: Leith non-dimensional viscosity factor
450 cnh 1.63 C diffKhT :: Laplacian diffusion coeff. for mixing of
451 cnh 1.1 C heat laterally ( m^2/s )
452 jmc 1.132 C diffKrNrT :: vertical profile of Laplacian diffusion coeff.
453     C for mixing of heat vertically ( units of r^2/s )
454 cnh 1.63 C diffK4T :: Biharmonic diffusion coeff. for mixing of
455 cnh 1.1 C heat laterally ( m^4/s )
456 cnh 1.63 C diffKhS :: Laplacian diffusion coeff. for mixing of
457 cnh 1.1 C salt laterally ( m^2/s )
458 jmc 1.132 C diffKrNrS :: vertical profile of Laplacian diffusion coeff.
459     C for mixing of salt vertically ( units of r^2/s ),
460 cnh 1.63 C diffK4S :: Biharmonic diffusion coeff. for mixing of
461 cnh 1.1 C salt laterally ( m^4/s )
462 adcroft 1.112 C diffKrBL79surf :: T/S surface diffusivity (m^2/s) Bryan and Lewis, 1979
463     C diffKrBL79deep :: T/S deep diffusivity (m^2/s) Bryan and Lewis, 1979
464     C diffKrBL79scl :: depth scale for arctan fn (m) Bryan and Lewis, 1979
465     C diffKrBL79Ho :: depth offset for arctan fn (m) Bryan and Lewis, 1979
466 cnh 1.63 C deltaT :: Default timestep ( s )
467     C deltaTClock :: Timestep used as model "clock". This determines the
468 cnh 1.7 C IO frequencies and is used in tagging output. It can
469     C be totally different to the dynamical time. Typically
470     C it will be the deep-water timestep for accelerated runs.
471     C Frequency of checkpointing and dumping of the model state
472     C are referenced to this clock. ( s )
473 cnh 1.63 C deltaTMom :: Timestep for momemtum equations ( s )
474 jmc 1.139 C dTtracerLev :: Timestep for tracer equations ( s ), function of level k
475 adcroft 1.72 C deltaTfreesurf :: Timestep for free-surface equation ( s )
476 cnh 1.63 C freesurfFac :: Parameter to turn implicit free surface term on or off
477 cnh 1.8 C freesurfac = 1. uses implicit free surface
478     C freesurfac = 0. uses rigid lid
479 cnh 1.63 C implicSurfPress :: parameter of the Crank-Nickelson time stepping :
480 jmc 1.48 C Implicit part of Surface Pressure Gradient ( 0-1 )
481 cnh 1.63 C implicDiv2Dflow :: parameter of the Crank-Nickelson time stepping :
482 jmc 1.48 C Implicit part of barotropic flow Divergence ( 0-1 )
483 cnh 1.63 C hFacMin :: Minimum fraction size of a cell (affects hFacC etc...)
484     C hFacMinDz :: Minimum dimesional size of a cell (affects hFacC etc..., m)
485     C hFacMinDp :: Minimum dimesional size of a cell (affects hFacC etc..., Pa)
486     C hFacMinDr :: Minimum dimesional size of a cell (affects hFacC etc..., units of r)
487     C hFacInf :: Threshold (inf and sup) for fraction size of surface cell
488 adcroft 1.52 C hFacSup that control vanishing and creating levels
489 cnh 1.63 C tauCD :: CD scheme coupling timescale ( 1/s )
490     C rCD :: CD scheme normalised coupling parameter ( 0-1 )
491     C startTime :: Starting time for this integration ( s ).
492     C endTime :: Ending time for this integration ( s ).
493     C chkPtFreq :: Frequency of rolling check pointing ( s ).
494     C pChkPtFreq :: Frequency of permanent check pointing ( s ).
495     C dumpFreq :: Frequency with which model state is written to
496 cnh 1.24 C post-processing files ( s ).
497 cnh 1.63 C diagFreq :: Frequency with which model writes diagnostic output
498 adcroft 1.59 C of intermediate quantities.
499 cnh 1.63 C afFacMom :: Advection of momentum term tracer parameter
500     C vfFacMom :: Momentum viscosity tracer parameter
501     C pfFacMom :: Momentum pressure forcing tracer parameter
502     C cfFacMom :: Coriolis term tracer parameter
503     C foFacMom :: Momentum forcing tracer parameter
504     C mtFacMom :: Metric terms tracer parameter
505     C cosPower :: Power of cosine of latitude to multiply viscosity
506     C cAdjFreq :: Frequency of convective adjustment
507 cnh 1.24 C
508 jmc 1.76 C taveFreq :: Frequency with which time-averaged model state
509     C is written to post-processing files ( s ).
510     C tave_lastIter :: (for state variable only) fraction of the last time
511     C step (of each taveFreq period) put in the time average.
512     C (fraction for 1rst iter = 1 - tave_lastIter)
513 cnh 1.63 C tauThetaClimRelax :: Relaxation to climatology time scale ( s ).
514     C lambdaThetaClimRelax :: Inverse time scale for relaxation ( 1/s ).
515     C tauSaltClimRelax :: Relaxation to climatology time scale ( s ).
516     C lambdaSaltClimRelax :: Inverse time scale for relaxation ( 1/s ).
517 jmc 1.95 C latBandClimRelax :: latitude band where Relaxation to Clim. is applied,
518     C i.e. where |yC| <= latBandClimRelax
519 cnh 1.63 C externForcingPeriod :: Is the period of which forcing varies (eg. 1 month)
520     C externForcingCycle :: Is the repeat time of the forcing (eg. 1 year)
521 adcroft 1.19 C (note: externForcingCycle must be an integer
522     C number times externForcingPeriod)
523 jmc 1.68 C convertFW2Salt :: salinity, used to convert Fresh-Water Flux to Salt Flux
524     C (use model surface (local) value if set to -1)
525     C temp_EvPrRn :: temperature of Rain & Evap.
526     C salt_EvPrRn :: salinity of Rain & Evap.
527     C (notes: a) tracer content of Rain/Evap only used if both
528     C NonLin_FrSurf & useRealFreshWater are set.
529     C b) use model surface (local) value if set to UNSET_RL)
530 cnh 1.63 C horiVertRatio :: Ratio on units in vertical to units in horizontal.
531 cnh 1.31 C recip_horiVertRatio ( 1 if horiz in m and vertical in m ).
532 cnh 1.30 C ( g*rho if horiz in m and vertical in Pa ).
533 cnh 1.63 C Ro_SeaLevel :: standard position of Sea-Level in "R" coordinate, used as
534 adcroft 1.46 C starting value (k=1) for vertical coordinate (rf(1)=Ro_SeaLevel)
535 cnh 1.63 C bottomDragLinear :: Drag coefficient built in to core dynamics
536 adcroft 1.64 C --"-"-- Quadratic ( linear: 1/s, quadratic: 1/m )
537 adcroft 1.52 COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit,
538     & cg2dpcOffDFac, cg3dTargetResidual,
539 jmc 1.96 & delR, delRc, delX, delY,
540 jmc 1.139 & deltaT, deltaTmom, dTtracerLev, deltaTfreesurf, deltaTClock,
541 adcroft 1.72 & abeps, startTime,
542 adcroft 1.52 & phiMin, thetaMin, rSphere, recip_RSphere, f0, beta,
543 adcroft 1.78 & fCori, fCoriG, fCoriCos,
544 mlosch 1.128 & viscAh, viscAhW, viscAhMax, viscAhGrid, viscC2leith,
545 jmc 1.135 & viscAhD, viscAhZ, viscA4D, viscA4Z,
546 mlosch 1.140 & viscA4, viscA4W,
547     & viscA4Max, viscA4Grid, viscA4GridMax, viscA4GridMin,
548 dimitri 1.136 & viscC4leith, viscAr, viscAstrain, viscAtension,
549 jmc 1.132 & diffKhT, diffK4T, diffKrNrT,
550     & diffKhS, diffK4S, diffKrNrS,
551 adcroft 1.112 & diffKrBL79surf, diffKrBL79deep, diffKrBL79scl, diffKrBL79Ho,
552 jmc 1.48 & delT, tauCD, rCD, freeSurfFac, implicSurfPress, implicDiv2Dflow,
553 adcroft 1.52 & hFacMin, hFacMinDz, hFacInf, hFacSup,
554 cnh 1.32 & gravity, recip_Gravity, gBaro, rhonil, recip_rhonil,
555 mlosch 1.75 & recip_rhoConst, rhoConst,
556 jmc 1.76 & rhoConstFresh, convertEmP2rUnit, tRef, sRef,
557 heimbach 1.103 & endTime, chkPtFreq, pchkPtFreq, dumpFreq, adjDumpFreq,
558 jmc 1.76 & diagFreq, taveFreq, tave_lastIter, monitorFreq,
559 cnh 1.15 & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom,
560 jmc 1.88 & cosPower, cAdjFreq, omega, rotationPeriod,
561 heimbach 1.56 & tauThetaClimRelax, lambdaThetaClimRelax,
562 adcroft 1.19 & tauSaltClimRelax, lambdaSaltClimRelax,
563 jmc 1.95 & tauTr1ClimRelax, lambdaTr1ClimRelax, latBandClimRelax,
564 cnh 1.27 & externForcingCycle, externForcingPeriod,
565 jmc 1.137 & convertFW2Salt, temp_EvPrRn, salt_EvPrRn,
566 jmc 1.96 & hFacMinDr, hFacMinDp,
567 jmc 1.68 & horiVertRatio, recip_horiVertRatio,
568 jmc 1.67 & ivdc_kappa, Ro_SeaLevel,
569 afe 1.116 & bottomDragLinear,bottomDragQuadratic,
570     & tCyl
571 cnh 1.27
572 adcroft 1.6 _RL cg2dTargetResidual
573 adcroft 1.52 _RL cg2dTargetResWunit
574 cnh 1.33 _RL cg3dTargetResidual
575 cnh 1.7 _RL cg2dpcOffDFac
576 cnh 1.25 _RL delR(Nr)
577 jmc 1.70 _RL delRc(Nr+1)
578 adcroft 1.6 _RL delX(Nx)
579     _RL delY(Ny)
580     _RL deltaT
581 cnh 1.7 _RL deltaTClock
582 adcroft 1.6 _RL deltaTmom
583 jmc 1.139 _RL dTtracerLev(Nr)
584 adcroft 1.72 _RL deltaTfreesurf
585 adcroft 1.6 _RL abeps
586     _RL phiMin
587     _RL thetaMin
588     _RL rSphere
589 cnh 1.25 _RL recip_RSphere
590 adcroft 1.6 _RL f0
591 cnh 1.8 _RL freeSurfFac
592 jmc 1.48 _RL implicSurfPress
593     _RL implicDiv2Dflow
594 adcroft 1.22 _RL hFacMin
595     _RL hFacMinDz
596 cnh 1.28 _RL hFacMinDp
597 cnh 1.27 _RL hFacMinDr
598 adcroft 1.52 _RL hFacInf
599     _RL hFacSup
600 adcroft 1.6 _RL beta
601     _RL viscAh
602 mlosch 1.128 _RL viscAhW
603 jmc 1.135 _RL viscAhD
604     _RL viscAhZ
605 adcroft 1.102 _RL viscAhMax
606     _RL viscAhGrid
607 adcroft 1.110 _RL viscC2leith
608 adcroft 1.60 _RL viscAstrain
609     _RL viscAtension
610 cnh 1.25 _RL viscAr
611 adcroft 1.6 _RL viscA4
612 mlosch 1.140 _RL viscA4W
613 jmc 1.135 _RL viscA4D
614     _RL viscA4Z
615 adcroft 1.102 _RL viscA4Max
616 dimitri 1.136 _RL viscA4Grid, viscA4GridMax, viscA4GridMin
617 adcroft 1.110 _RL viscC4leith
618 adcroft 1.6 _RL diffKhT
619 jmc 1.132 _RL diffKrNrT(Nr)
620 adcroft 1.6 _RL diffK4T
621     _RL diffKhS
622 jmc 1.132 _RL diffKrNrS(Nr)
623 adcroft 1.6 _RL diffK4S
624 adcroft 1.112 _RL diffKrBL79surf
625     _RL diffKrBL79deep
626     _RL diffKrBL79scl
627     _RL diffKrBL79Ho
628 adcroft 1.6 _RL delt
629     _RL tauCD
630     _RL rCD
631     _RL gravity
632 cnh 1.32 _RL recip_gravity
633 cnh 1.8 _RL gBaro
634 adcroft 1.6 _RL rhonil
635 cnh 1.25 _RL recip_rhonil
636     _RL rhoConst
637 cnh 1.26 _RL recip_rhoConst
638 mlosch 1.75 _RL rhoConstFresh
639 jmc 1.76 _RL convertEmP2rUnit
640 cnh 1.25 _RL tRef(Nr)
641     _RL sRef(Nr)
642 adcroft 1.52 _RS fCori(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
643     _RS fCoriG(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
644 adcroft 1.78 _RS fCoriCos(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
645 adcroft 1.6 _RL startTime
646     _RL endTime
647     _RL chkPtFreq
648 cnh 1.7 _RL pChkPtFreq
649 adcroft 1.6 _RL dumpFreq
650 heimbach 1.103 _RL adjDumpFreq
651 adcroft 1.59 _RL diagFreq
652 adcroft 1.20 _RL taveFreq
653 jmc 1.76 _RL tave_lastIter
654 adcroft 1.53 _RL monitorFreq
655 cnh 1.9 _RL afFacMom
656     _RL vfFacMom
657     _RL pfFacMom
658     _RL cfFacMom
659     _RL foFacMom
660 cnh 1.15 _RL mTFacMom
661 adcroft 1.39 _RL cosPower
662 cnh 1.9 _RL cAdjFreq
663 cnh 1.15 _RL omega
664 jmc 1.88 _RL rotationPeriod
665 cnh 1.18 _RL tauThetaClimRelax
666     _RL lambdaThetaClimRelax
667     _RL tauSaltClimRelax
668     _RL lambdaSaltClimRelax
669 heimbach 1.56 _RL tauTr1ClimRelax
670     _RL lambdaTr1ClimRelax
671 jmc 1.95 _RL latBandClimRelax
672 adcroft 1.19 _RL externForcingCycle
673     _RL externForcingPeriod
674 jmc 1.68 _RL convertFW2Salt
675     _RL temp_EvPrRn
676     _RL salt_EvPrRn
677 cnh 1.30 _RL horiVertRatio
678 cnh 1.31 _RL recip_horiVertRatio
679 adcroft 1.41 _RL ivdc_kappa
680 adcroft 1.46 _RL Ro_SeaLevel
681     _RL bottomDragLinear
682     _RL bottomDragQuadratic
683 afe 1.116 _RL tCyl
684 adcroft 1.6
685 jmc 1.91 C-- COMMON /PARM_A/ Thermodynamics constants ?
686     COMMON /PARM_A/ HeatCapacity_Cp,recip_Cp
687 adcroft 1.6 _RL HeatCapacity_Cp
688 adcroft 1.36 _RL recip_Cp
689 jmc 1.55
690 jmc 1.91 C-- COMMON /PARM_ATM/ Atmospheric physical parameters (Ideal Gas EOS, ...)
691     C celsius2K :: convert centigrade (Celsius) degree to Kelvin
692 jmc 1.83 C atm_Po :: standard reference pressure
693     C atm_Cp :: specific heat (Cp) of the (dry) air at constant pressure
694     C atm_Rd :: gas constant for dry air
695 cnh 1.63 C atm_kappa :: kappa = R/Cp (R: constant of Ideal Gas EOS)
696 jmc 1.94 C atm_Rq :: water vapour specific volume anomaly relative to dry air
697     C (e.g. typical value = (29/18 -1) 10^-3 with q [g/kg])
698 jmc 1.83 C integr_GeoPot :: option to select the way we integrate the geopotential
699 jmc 1.55 C (still a subject of discussions ...)
700 jmc 1.83 C selectFindRoSurf :: select the way surf. ref. pressure (=Ro_surf) is
701     C derived from the orography. Implemented: 0,1 (see INI_P_GROUND)
702 jmc 1.91 COMMON /PARM_ATM/
703     & celsius2K,
704 jmc 1.94 & atm_Cp, atm_Rd, atm_kappa, atm_Rq, atm_Po,
705 jmc 1.91 & integr_GeoPot, selectFindRoSurf
706     _RL celsius2K
707 jmc 1.94 _RL atm_Po, atm_Cp, atm_Rd, atm_kappa, atm_Rq
708 jmc 1.83 INTEGER integr_GeoPot, selectFindRoSurf
709 cnh 1.7
710 adcroft 1.44 C Logical flags for selecting packages
711 mlosch 1.126 LOGICAL useOPPS
712 mlosch 1.121 LOGICAL usePP81
713     LOGICAL useMY82
714 mlosch 1.126 LOGICAL useGGL90
715 heimbach 1.45 LOGICAL useKPP
716     LOGICAL useGMRedi
717 adcroft 1.46 LOGICAL useOBCS
718 jmc 1.49 LOGICAL useAIM
719 jmc 1.91 LOGICAL useLand
720 heimbach 1.56 LOGICAL useGrdchk
721 heimbach 1.45 LOGICAL useECCO
722 adcroft 1.52 LOGICAL useSHAP_FILT
723 jmc 1.67 LOGICAL useZONAL_FILT
724 adcroft 1.62 LOGICAL useFLT
725 adcroft 1.69 LOGICAL usePTRACERS
726 mlosch 1.138 LOGICAL useGCHEM
727 dimitri 1.86 LOGICAL useSBO
728 heimbach 1.80 LOGICAL useSEAICE
729 jmc 1.98 LOGICAL useBulkForce
730     LOGICAL useThSIce
731 molod 1.99 LOGICAL usefizhi
732     LOGICAL usegridalt
733 molod 1.101 LOGICAL usediagnostics
734 heimbach 1.109 LOGICAL useEBM
735 edhill 1.130 LOGICAL useMNC
736 adcroft 1.44 COMMON /PARM_PACKAGES/
737 jmc 1.91 & useKPP, useGMRedi, useOBCS, useAIM, useLand, useECCO,
738 adcroft 1.69 & useSHAP_FILT, useZONAL_FILT, useGrdchk, useFLT,
739 mlosch 1.138 & usePTRACERS, useGCHEM,
740     & useSBO, useSEAICE, useThSIce, useBulkForce,
741     & usefizhi, usegridalt, usediagnostics, useEBM, useMNC,
742 mlosch 1.126 & usePP81, useMY82, useOPPS, useGGL90
743 edhill 1.105
744     CEH3 ;;; Local Variables: ***
745     CEH3 ;;; mode:fortran ***
746     CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22