/[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.22 - (hide annotations) (download)
Wed Jul 29 18:33:47 1998 UTC (25 years, 9 months ago) by adcroft
Branch: MAIN
Changes since 1.21: +6 -2 lines
File MIME type: text/plain
Changed Z co-ordinate and lopping code:
o Z now increases upwards (ie. for the ocean, z<0)
  This needed changes only in ini_vertical_grid() where zC and zFace
  are calculated and in ini_masks_etc() where hFacC is calculated
  using IF's (eg. IF H(i,j,bi,bj).LT.zFace(K) ...).
o The lopping code needed a correction to the hydrostatic pressure
  calculation.
o Two new parameters control the lopping:
  hFacMin   - is the lower limit for water fraction in a cell
  hFacMinDz - is the lower limit for water thickness in lopped cells
  Both default to 0 so that pure lopping is the default.
  To force full cells, using continuous bathymetry, set hFacMin=1

1 adcroft 1.22 C $Header: /u/gcmpack/models/MITgcmUV/model/inc/PARAMS.h,v 1.21 1998/07/16 15:23:43 adcroft Exp $
2 cnh 1.1 C
3     C /==========================================================\
4     C | PARAMS.h |
5     C | o Header file defining model "parameters". |
6     C |==========================================================|
7     C | The values from the model's standard input file are |
8     C | stored into the variables held here. Notes describing |
9     C | the parameters can also be found here. |
10     C \==========================================================/
11 cnh 1.13
12     C Macros for special grid options
13     #include "PARAMS_MACROS.h"
14 cnh 1.1
15     C-- Contants
16     C Useful physical values
17     Real*8 PI
18     PARAMETER ( PI = 3.14159265358979323844D0 )
19     Real*8 deg2rad
20     PARAMETER ( deg2rad = 2.D0*PI/360.D0 )
21    
22 cnh 1.7 C Symbolic values
23     C precXXXX - Used to indicate what precision to use for
24     C dumping model state.
25     INTEGER precFloat32
26     PARAMETER ( precFloat32 = 0 )
27     INTEGER precFloat64
28     PARAMETER ( precFloat64 = 1 )
29    
30     C Checkpoint data
31     INTEGER maxNoChkptLev
32     PARAMETER ( maxNoChkptLev = 2 )
33    
34 cnh 1.1 C-- COMMON /PARM_C/ Character valued parameters used by the model.
35 cnh 1.7 C checkPtSuff - List of checkpoint file suffices
36 cnh 1.16 C bathyFile - File containing bathymetry. If not defined bathymetry
37     C is taken from inline function.
38     C hydrogThetaFile - File containing initial hydrographic data for potential
39     C temperature.
40     C hydrogSaltFile - File containing initial hydrographic data for salinity.
41     C zonalWindFile - File containing zonal wind data
42     C meridWindFile - File containing meridional wind data
43 cnh 1.18 C thetaClimFile - File containing theta climataology used
44     C in relaxation term -lambda(theta-theta*)
45     C saltClimFile - File containing salt climataology used
46     C in relaxation term -lambda(salt-salt*)
47 cnh 1.16 COMMON /PARM_C/ checkPtSuff,
48     & bathyFile, hydrogThetaFile, hydrogSaltFile,
49 cnh 1.18 & zonalWindFile, meridWindFile, thetaClimFile,
50     & saltClimFile
51 cnh 1.7 CHARACTER*(5) checkPtSuff(maxNoChkptLev)
52 cnh 1.16 CHARACTER*(MAX_LEN_FNAM) bathyFile
53     CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile
54     CHARACTER*(MAX_LEN_FNAM) hydrogSaltFile
55     CHARACTER*(MAX_LEN_FNAM) zonalWindFile
56     CHARACTER*(MAX_LEN_FNAM) meridWindFile
57 cnh 1.18 CHARACTER*(MAX_LEN_FNAM) thetaClimFile
58     CHARACTER*(MAX_LEN_FNAM) saltClimFile
59 cnh 1.7
60 cnh 1.1 C-- COMMON /PARM_I/ Integer valued parameters used by the model.
61     C cg2dMaxIters - Maximum number of iterations in the
62     C two-dimensional con. grad solver.
63     C cg2dChkResFreq - Frequency with which to check residual
64     C in con. grad solver.
65     C nIter0 - Start time-step number of for this run
66     C nTimeSteps - Number of timesteps to execute
67     C numStepsPerPickup - For offline setup. Frequency of pickup
68     C of flow fields.
69 cnh 1.7 C writeStatePrec - Precision used for writing model state.
70     C writeBinaryPrec - Precision used for writing binary files
71     C readBinaryPrec - Precision used for reading binary files
72     C nCheckLev - Holds current checkpoint level
73 cnh 1.1 COMMON /PARM_I/
74     & cg2dMaxIters,
75     & cg2dChkResFreq,
76     & nIter0, nTimeSteps,
77 cnh 1.7 & numStepsPerPickup,
78     & writeStatePrec, nCheckLev,
79     & writeBinaryPrec, readBinaryPrec
80 cnh 1.1 INTEGER cg2dMaxIters
81     INTEGER cg2dChkResFreq
82     INTEGER nIter0
83     INTEGER nTimeSteps
84     INTEGER numStepsPerPickup
85 cnh 1.7 INTEGER writeStatePrec
86     INTEGER writeBinaryPrec
87     INTEGER readBinaryPrec
88     INTEGER nCheckLev
89 cnh 1.1
90     C-- COMMON /PARM_L/ Logical valued parameters used by the model.
91     C usingCartesianGrid - If TRUE grid generation will be in a cartesian
92     C coordinate frame.
93     C usingSphericalPolarGrid - If TRUE grid generation will be in a
94     C spherical polar frame.
95     C momViscosity - Flag which turns momentum friction terms on and off.
96     C momAdvection - Flag which turns advection of momentum on and off.
97     C momForcing - Flag which turns external forcing of momentum on
98     C and off.
99 cnh 1.9 C momPressureForcing - Flag which turns pressure term in momentum equation
100     C on and off.
101 cnh 1.15 C metricTerms - Flag which turns metric terms on or off.
102     C usingSphericalPolarMTerms - If TRUE use spherical polar metric terms.
103 cnh 1.1 C useCoriolis - Flag which turns the coriolis terms on and off.
104     C tempDiffusion - Flag which turns diffusion of temperature on
105     C and off.
106     C tempAdvection - Flag which turns advection of temperature on
107     C and off.
108     C tempForcing - Flag which turns external forcing of temperature on
109     C and off.
110     C saltDiffusion - Flag which turns diffusion of salinit on
111     C and off.
112     C saltAdvection - Flag which turns advection of salinit on
113     C and off.
114     C saltForcing - Flag which turns external forcing of salinit on
115     C and off.
116 cnh 1.8 C implicitFreeSurface - Set to true to use implcit free surface
117     C rigidLid - Set to true to use rigid lid
118 cnh 1.10 C momStepping - Turns momentum equation time-stepping off
119 cnh 1.15 C tempStepping - Turns temperature equation time-stepping off
120 adcroft 1.17 C saltStepping - Turns salinity equation time-stepping off
121 cnh 1.15 C useConstantF - Coriolis parameter set to f0
122     C useBetaPlaneF - Coriolis parameter set to f0 + beta.y
123     C useSphereF - Coriolis parameter set to 2.omega.sin(phi)
124 adcroft 1.14 C implicitDiffusion - Turns implicit vertical diffusion on
125 cnh 1.18 C doThetaClimRelax - Set true if relaxation to temperature
126     C climatology is required.
127     C doSaltClimRelax - Set true if relaxation to salinity
128     C climatology is required.
129 adcroft 1.19 C periodicExternalForcing - Set true if forcing is time-dependant
130 cnh 1.1 COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid,
131 cnh 1.9 & momViscosity, momAdvection, momForcing, useCoriolis, momPressureForcing,
132 cnh 1.1 & tempDiffusion, tempAdvection, tempForcing,
133 cnh 1.8 & saltDiffusion, saltAdvection, saltForcing,
134 adcroft 1.17 & implicitFreeSurface, rigidLid,
135     & momStepping, tempStepping, saltStepping,
136 cnh 1.15 & metricTerms, usingSphericalPolarMTerms,
137     & useConstantF, useBetaPlaneF, useSphereF,
138 adcroft 1.19 & implicitDiffusion, doThetaClimRelax, doSaltClimRelax,
139     & periodicExternalForcing
140 cnh 1.1 LOGICAL usingCartesianGrid
141     LOGICAL usingSphericalPolarGrid
142 cnh 1.15 LOGICAL usingSphericalPolarMTerms
143 cnh 1.1 LOGICAL momViscosity
144     LOGICAL momAdvection
145     LOGICAL momForcing
146 cnh 1.9 LOGICAL momPressureForcing
147 cnh 1.1 LOGICAL useCoriolis
148     LOGICAL tempDiffusion
149     LOGICAL tempAdvection
150     LOGICAL tempForcing
151     LOGICAL saltDiffusion
152     LOGICAL saltAdvection
153     LOGICAL saltForcing
154 cnh 1.8 LOGICAL implicitFreeSurface
155     LOGICAL rigidLid
156 cnh 1.10 LOGICAL momStepping
157     LOGICAL tempStepping
158 adcroft 1.17 LOGICAL saltStepping
159 cnh 1.15 LOGICAL metricTerms
160     LOGICAL useConstantF
161     LOGICAL useBetaPlaneF
162     LOGICAL useSphereF
163 adcroft 1.14 LOGICAL implicitDiffusion
164 cnh 1.18 LOGICAL doThetaClimRelax
165     LOGICAL doSaltClimRelax
166 adcroft 1.19 LOGICAL periodicExternalForcing
167 cnh 1.1
168     C-- COMMON /PARM_R/ "Real" valued parameters used by the model.
169     C cg2dTargetResidual
170     C - Target residual for cg2d solver.
171 cnh 1.7 C cg2dpcOffDFac - Averaging weight for preconditioner off-diagonal.
172     C Note. 20th May 1998
173     C I made a weird discovery! In the model paper we argue
174     C for the form of the preconditioner used here ( see
175     C A Finite-volume, Incompressible Navier-Stokes Model
176     C ...., Marshall et. al ). The algebra gives a simple
177     C 0.5 factor for the averaging of ac and aCw to get a
178     C symmettric pre-conditioner. By using a factor of 0.51
179     C i.e. scaling the off-diagonal terms in the
180     C preconditioner down slightly I managed to get the
181     C number of iterations for convergence in a test case to
182     C drop form 192 -> 134! Need to investigate this further!
183     C For now I have introduced a parameter cg2dpcOffDFac which
184     C defaults to 0.51 but can be set at runtime.
185 cnh 1.3 C delZ - Vertical grid spacing ( m ) - delZ is the distance
186 cnh 1.1 C between "w" surfaces.
187     C delX - Separation between cell faces (m) or (deg), depending
188     C delY on input flags.
189     C gravity - Accel. due to gravity ( m/s^2 )
190 cnh 1.8 C gBaro - Accel. due to gravity used in barotropic equation ( m/s^2 )
191 cnh 1.1 C ronil - Reference density
192 cnh 1.3 C startTime - Start time for model ( s )
193 cnh 1.1 C phiMin - Latitude of southern most cell face.
194     C thetaMin - Longitude of western most cell face (this
195     C is an "inert" parameter but it is included
196     C to make geographical references simple.)
197 cnh 1.3 C rSphere - Radius of sphere for a spherical polar grid ( m ).
198 cnh 1.15 C rRSphere - Reciprocal radius of sphere for a spherical polar grid ( m ).
199 cnh 1.1 C f0 - Reference coriolis parameter ( 1/s )
200     C ( Southern edge f for beta plane )
201     C beta - df/dy ( s^-1.m^-1 )
202 cnh 1.15 C omega - Angular velocity ( rad/s )
203 cnh 1.1 C viscAh - Eddy viscosity coeff. for mixing of
204     C momentum laterally ( m^2/s )
205     C viscAz - Eddy viscosity coeff. for mixing of
206     C momentum vertically ( m^2/s )
207     C viscA4 - Biharmonic viscosity coeff. for mixing of
208     C momentum laterally ( m^4/s )
209     C diffKhT - Laplacian diffusion coeff. for mixing of
210     C heat laterally ( m^2/s )
211     C diffKzT - Laplacian diffusion coeff. for mixing of
212     C heat vertically ( m^2/s )
213     C diffK4T - Biharmonic diffusion coeff. for mixing of
214     C heat laterally ( m^4/s )
215     C diffKhS - Laplacian diffusion coeff. for mixing of
216     C salt laterally ( m^2/s )
217     C diffKzS - Laplacian diffusion coeff. for mixing of
218     C salt vertically ( m^2/s )
219     C diffK4S - Biharmonic diffusion coeff. for mixing of
220     C salt laterally ( m^4/s )
221 cnh 1.3 C deltaT - Default timestep ( s )
222 cnh 1.7 C deltaTClock - Timestep used as model "clock". This determines the
223     C IO frequencies and is used in tagging output. It can
224     C be totally different to the dynamical time. Typically
225     C it will be the deep-water timestep for accelerated runs.
226     C Frequency of checkpointing and dumping of the model state
227     C are referenced to this clock. ( s )
228 cnh 1.3 C deltaTMom - Timestep for momemtum equations ( s )
229     C deltaTtracer - Timestep for tracer equations ( s )
230 cnh 1.8 C freesurfFac - Parameter to turn implicit free surface term on or off
231     C freesurfac = 1. uses implicit free surface
232     C freesurfac = 0. uses rigid lid
233 adcroft 1.22 C hFacMin - Minimum fraction size of a cell (affects hFacC etc...)
234     C hFacMinDz - Minimum dimesional size of a cell (affects hFacC etc...)
235 cnh 1.1 C tauCD - CD scheme coupling timescale ( 1/s )
236     C rCD - CD scheme normalised coupling parameter ( 0-1 )
237 adcroft 1.6 C GMmaxslope - max. slope allowed in GM/Redi tensor
238 cnh 1.8 C GMlength - Length to use in Visbeck et al. formula for K (m)
239 adcroft 1.6 C GMalpha - alpha to use in Visbeck et al. formula for K
240     C GMdepth - Depth over which to integrate Richardson # (Visbeck et al.)
241 cnh 1.8 C GMkbackground - background value of GM/Redi coefficient
242 adcroft 1.21 C GMmaxval - max. value of KapGM allowed in GM/Redi scheme
243 cnh 1.1 C startTime - Starting time for this integration ( s ).
244     C endTime - Ending time for this integration ( s ).
245 cnh 1.7 C chkPtFreq - Frequency of rolling check pointing ( s ).
246     C pChkPtFreq - Frequency of permanent check pointing ( s ).
247 cnh 1.1 C dumpFreq - Frequency with which model state is written to
248     C post-processing files ( s ).
249 adcroft 1.20 C taveFreq - Frequency with which time-averaged model state is written to
250     C post-processing files ( s ).
251 cnh 1.9 C afFacMom - Advection of momentum term scaling parameter
252     C vfFacMom - Momentum viscosity scaling parameter
253     C pfFacMom - Momentum pressure forcing parameter
254     C cfFacMom - Coriolis term scaling parameter
255     C foFacMom - Momentum forcing scaling parameter
256 cnh 1.15 C mtFacMom - Metric terms scaling parameter
257 cnh 1.9 C cAdjFreq - Frequency of convective adjustment
258 cnh 1.18 C tauThetaClimRelax - Relaxation to climatology time scale ( s ).
259     C lambdaThetaClimRelax - Inverse time scale for relaxation ( 1/s ).
260     C tauSaltClimRelax - Relaxation to climatology time scale ( s ).
261     C lambdaSaltClimRelax - Inverse time scale for relaxation ( 1/s ).
262 adcroft 1.19 C externForcingPeriod - Is the period of which forcing varies (eg. 1 month)
263     C externForcingCycle - Is the repeat time of the forcing (eg. 1 year)
264     C (note: externForcingCycle must be an integer
265     C number times externForcingPeriod)
266 cnh 1.7 COMMON /PARM_R/ cg2dTargetResidual, cg2dpcOffDFac, delZ, delX, delY,
267     & deltaT,deltaTmom, deltaTtracer, deltaTClock,abeps, startTime, phiMin,
268 cnh 1.15 & thetaMin, rSphere, rRSphere, f0, fCori, beta, viscAh, viscAz, viscA4,
269 cnh 1.7 & diffKhT, diffKzT, diffK4T, diffKhS, diffKzS, diffK4S, delT,
270 adcroft 1.22 & tauCD, rCD, freeSurfFac, hFacMin, hFacMinDz,
271 adcroft 1.21 & GMmaxslope,GMlength,GMalpha,GMdepth,GMkbackground,GMmaxval,
272 cnh 1.8 & gravity, gBaro, rhonil, tRef, sRef,
273 adcroft 1.20 & endTime, chkPtFreq, pchkPtFreq, dumpFreq, taveFreq,
274 cnh 1.15 & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom,
275 cnh 1.18 & cAdjFreq, omega, tauThetaClimRelax, lambdaThetaClimRelax,
276 adcroft 1.19 & tauSaltClimRelax, lambdaSaltClimRelax,
277     & externForcingCycle, externForcingPeriod
278 adcroft 1.6 _RL cg2dTargetResidual
279 cnh 1.7 _RL cg2dpcOffDFac
280 adcroft 1.6 _RL delZ(Nz)
281     _RL delX(Nx)
282     _RL delY(Ny)
283     _RL deltaT
284 cnh 1.7 _RL deltaTClock
285 adcroft 1.6 _RL deltaTmom
286     _RL deltaTtracer
287     _RL abeps
288     _RL phiMin
289     _RL thetaMin
290     _RL rSphere
291 cnh 1.15 _RL rRSphere
292 adcroft 1.6 _RL f0
293 cnh 1.8 _RL freeSurfFac
294 adcroft 1.22 _RL hFacMin
295     _RL hFacMinDz
296 adcroft 1.6 _RL beta
297     _RL viscAh
298     _RL viscAz
299     _RL viscA4
300     _RL diffKhT
301     _RL diffKzT
302     _RL diffK4T
303     _RL diffKhS
304     _RL diffKzS
305     _RL diffK4S
306     _RL delt
307     _RL tauCD
308     _RL rCD
309     _RL GMmaxslope
310     _RL GMlength
311     _RL GMalpha
312     _RL GMdepth
313     _RL GMkbackground
314 adcroft 1.21 _RL GMmaxval
315 adcroft 1.6 _RL gravity
316 cnh 1.8 _RL gBaro
317 adcroft 1.6 _RL rhonil
318     _RL tRef(Nz)
319     _RL sRef(Nz)
320 cnh 1.11 _RS Fcori(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
321 adcroft 1.6 _RL startTime
322     _RL endTime
323     _RL chkPtFreq
324 cnh 1.7 _RL pChkPtFreq
325 adcroft 1.6 _RL dumpFreq
326 adcroft 1.20 _RL taveFreq
327 cnh 1.9 _RL afFacMom
328     _RL vfFacMom
329     _RL pfFacMom
330     _RL cfFacMom
331     _RL foFacMom
332 cnh 1.15 _RL mTFacMom
333 cnh 1.9 _RL cAdjFreq
334 cnh 1.15 _RL omega
335 cnh 1.18 _RL tauThetaClimRelax
336     _RL lambdaThetaClimRelax
337     _RL tauSaltClimRelax
338     _RL lambdaSaltClimRelax
339 adcroft 1.19 _RL externForcingCycle
340     _RL externForcingPeriod
341 adcroft 1.6
342 cnh 1.1 COMMON /PARM_A/ HeatCapacity_Cp,
343     & Lamba_theta
344 adcroft 1.6 _RL HeatCapacity_Cp
345     _RL Lamba_theta
346 adcroft 1.5
347     C Equation of State (polynomial coeffients)
348     COMMON /PARM_EOS_NL/ eosC,eosSig0,eosRefT,eosRefS
349 adcroft 1.12 _RL eosC(9,Nz+1),eosSig0(Nz+1),eosRefT(Nz+1),eosRefS(Nz+1)
350 adcroft 1.5 C Linear equation of state
351     C tAlpha - Linear EOS thermal expansion coefficient ( 1/degree ).
352     C sBeta - Linear EOS haline contraction coefficient.
353 adcroft 1.12 COMMON /PARM_EOS_LIN/ tAlpha,sBeta,eosType
354 adcroft 1.6 _RL tAlpha
355     _RL sBeta
356 adcroft 1.12 character*(6) eosType
357 cnh 1.7

  ViewVC Help
Powered by ViewVC 1.1.22