/[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.141 - (hide annotations) (download)
Tue Jan 4 15:56:38 2005 UTC (19 years, 4 months ago) by jmc
Branch: MAIN
Changes since 1.140: +5 -2 lines
File MIME type: text/plain
add saltFlux(+File) forcing capability with periodicExternalForcing

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

  ViewVC Help
Powered by ViewVC 1.1.22