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

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

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


Revision 1.17 - (show annotations) (download)
Wed Jun 10 16:05:39 1998 UTC (25 years, 11 months ago) by adcroft
Branch: MAIN
Changes since 1.16: +5 -2 lines
File MIME type: text/plain
Added code to bring "salt" up-to-date with "theta".
One caveat is that implicit diffusion of salt is done with the
diffusivity of theta. We'll sort this out later. In explicit
mode, diffKzS is used.

1 C $Header: /u/gcmpack/models/MITgcmUV/model/inc/PARAMS.h,v 1.16 1998/06/09 16:48:02 cnh Exp $
2 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
12 C Macros for special grid options
13 #include "PARAMS_MACROS.h"
14
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 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 C-- COMMON /PARM_C/ Character valued parameters used by the model.
35 C checkPtSuff - List of checkpoint file suffices
36 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 COMMON /PARM_C/ checkPtSuff,
44 & bathyFile, hydrogThetaFile, hydrogSaltFile,
45 & zonalWindFile, meridWindFile
46 CHARACTER*(5) checkPtSuff(maxNoChkptLev)
47 CHARACTER*(MAX_LEN_FNAM) bathyFile
48 CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile
49 CHARACTER*(MAX_LEN_FNAM) hydrogSaltFile
50 CHARACTER*(MAX_LEN_FNAM) zonalWindFile
51 CHARACTER*(MAX_LEN_FNAM) meridWindFile
52
53 C-- COMMON /PARM_I/ Integer valued parameters used by the model.
54 C cg2dMaxIters - Maximum number of iterations in the
55 C two-dimensional con. grad solver.
56 C cg2dChkResFreq - Frequency with which to check residual
57 C in con. grad solver.
58 C nIter0 - Start time-step number of for this run
59 C nTimeSteps - Number of timesteps to execute
60 C numStepsPerPickup - For offline setup. Frequency of pickup
61 C of flow fields.
62 C writeStatePrec - Precision used for writing model state.
63 C writeBinaryPrec - Precision used for writing binary files
64 C readBinaryPrec - Precision used for reading binary files
65 C nCheckLev - Holds current checkpoint level
66 COMMON /PARM_I/
67 & cg2dMaxIters,
68 & cg2dChkResFreq,
69 & nIter0, nTimeSteps,
70 & numStepsPerPickup,
71 & writeStatePrec, nCheckLev,
72 & writeBinaryPrec, readBinaryPrec
73 INTEGER cg2dMaxIters
74 INTEGER cg2dChkResFreq
75 INTEGER nIter0
76 INTEGER nTimeSteps
77 INTEGER numStepsPerPickup
78 INTEGER writeStatePrec
79 INTEGER writeBinaryPrec
80 INTEGER readBinaryPrec
81 INTEGER nCheckLev
82
83 C-- COMMON /PARM_L/ Logical valued parameters used by the model.
84 C usingCartesianGrid - If TRUE grid generation will be in a cartesian
85 C coordinate frame.
86 C usingSphericalPolarGrid - If TRUE grid generation will be in a
87 C spherical polar frame.
88 C momViscosity - Flag which turns momentum friction terms on and off.
89 C momAdvection - Flag which turns advection of momentum on and off.
90 C momForcing - Flag which turns external forcing of momentum on
91 C and off.
92 C momPressureForcing - Flag which turns pressure term in momentum equation
93 C on and off.
94 C metricTerms - Flag which turns metric terms on or off.
95 C usingSphericalPolarMTerms - If TRUE use spherical polar metric terms.
96 C useCoriolis - Flag which turns the coriolis terms on and off.
97 C tempDiffusion - Flag which turns diffusion of temperature on
98 C and off.
99 C tempAdvection - Flag which turns advection of temperature on
100 C and off.
101 C tempForcing - Flag which turns external forcing of temperature on
102 C and off.
103 C saltDiffusion - Flag which turns diffusion of salinit on
104 C and off.
105 C saltAdvection - Flag which turns advection of salinit on
106 C and off.
107 C saltForcing - Flag which turns external forcing of salinit on
108 C and off.
109 C implicitFreeSurface - Set to true to use implcit free surface
110 C rigidLid - Set to true to use rigid lid
111 C momStepping - Turns momentum equation time-stepping off
112 C tempStepping - Turns temperature equation time-stepping off
113 C saltStepping - Turns salinity equation time-stepping off
114 C useConstantF - Coriolis parameter set to f0
115 C useBetaPlaneF - Coriolis parameter set to f0 + beta.y
116 C useSphereF - Coriolis parameter set to 2.omega.sin(phi)
117 C implicitDiffusion - Turns implicit vertical diffusion on
118 COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid,
119 & momViscosity, momAdvection, momForcing, useCoriolis, momPressureForcing,
120 & tempDiffusion, tempAdvection, tempForcing,
121 & saltDiffusion, saltAdvection, saltForcing,
122 & implicitFreeSurface, rigidLid,
123 & momStepping, tempStepping, saltStepping,
124 & metricTerms, usingSphericalPolarMTerms,
125 & useConstantF, useBetaPlaneF, useSphereF,
126 & implicitDiffusion
127 LOGICAL usingCartesianGrid
128 LOGICAL usingSphericalPolarGrid
129 LOGICAL usingSphericalPolarMTerms
130 LOGICAL momViscosity
131 LOGICAL momAdvection
132 LOGICAL momForcing
133 LOGICAL momPressureForcing
134 LOGICAL useCoriolis
135 LOGICAL tempDiffusion
136 LOGICAL tempAdvection
137 LOGICAL tempForcing
138 LOGICAL saltDiffusion
139 LOGICAL saltAdvection
140 LOGICAL saltForcing
141 LOGICAL implicitFreeSurface
142 LOGICAL rigidLid
143 LOGICAL momStepping
144 LOGICAL tempStepping
145 LOGICAL saltStepping
146 LOGICAL metricTerms
147 LOGICAL useConstantF
148 LOGICAL useBetaPlaneF
149 LOGICAL useSphereF
150 LOGICAL implicitDiffusion
151
152 C-- COMMON /PARM_R/ "Real" valued parameters used by the model.
153 C cg2dTargetResidual
154 C - Target residual for cg2d solver.
155 C cg2dpcOffDFac - Averaging weight for preconditioner off-diagonal.
156 C Note. 20th May 1998
157 C I made a weird discovery! In the model paper we argue
158 C for the form of the preconditioner used here ( see
159 C A Finite-volume, Incompressible Navier-Stokes Model
160 C ...., Marshall et. al ). The algebra gives a simple
161 C 0.5 factor for the averaging of ac and aCw to get a
162 C symmettric pre-conditioner. By using a factor of 0.51
163 C i.e. scaling the off-diagonal terms in the
164 C preconditioner down slightly I managed to get the
165 C number of iterations for convergence in a test case to
166 C drop form 192 -> 134! Need to investigate this further!
167 C For now I have introduced a parameter cg2dpcOffDFac which
168 C defaults to 0.51 but can be set at runtime.
169 C delZ - Vertical grid spacing ( m ) - delZ is the distance
170 C between "w" surfaces.
171 C delX - Separation between cell faces (m) or (deg), depending
172 C delY on input flags.
173 C gravity - Accel. due to gravity ( m/s^2 )
174 C gBaro - Accel. due to gravity used in barotropic equation ( m/s^2 )
175 C ronil - Reference density
176 C startTime - Start time for model ( s )
177 C phiMin - Latitude of southern most cell face.
178 C thetaMin - Longitude of western most cell face (this
179 C is an "inert" parameter but it is included
180 C to make geographical references simple.)
181 C rSphere - Radius of sphere for a spherical polar grid ( m ).
182 C rRSphere - Reciprocal radius of sphere for a spherical polar grid ( m ).
183 C f0 - Reference coriolis parameter ( 1/s )
184 C ( Southern edge f for beta plane )
185 C beta - df/dy ( s^-1.m^-1 )
186 C omega - Angular velocity ( rad/s )
187 C viscAh - Eddy viscosity coeff. for mixing of
188 C momentum laterally ( m^2/s )
189 C viscAz - Eddy viscosity coeff. for mixing of
190 C momentum vertically ( m^2/s )
191 C viscA4 - Biharmonic viscosity coeff. for mixing of
192 C momentum laterally ( m^4/s )
193 C diffKhT - Laplacian diffusion coeff. for mixing of
194 C heat laterally ( m^2/s )
195 C diffKzT - Laplacian diffusion coeff. for mixing of
196 C heat vertically ( m^2/s )
197 C diffK4T - Biharmonic diffusion coeff. for mixing of
198 C heat laterally ( m^4/s )
199 C diffKhS - Laplacian diffusion coeff. for mixing of
200 C salt laterally ( m^2/s )
201 C diffKzS - Laplacian diffusion coeff. for mixing of
202 C salt vertically ( m^2/s )
203 C diffK4S - Biharmonic diffusion coeff. for mixing of
204 C salt laterally ( m^4/s )
205 C deltaT - Default timestep ( s )
206 C deltaTClock - Timestep used as model "clock". This determines the
207 C IO frequencies and is used in tagging output. It can
208 C be totally different to the dynamical time. Typically
209 C it will be the deep-water timestep for accelerated runs.
210 C Frequency of checkpointing and dumping of the model state
211 C are referenced to this clock. ( s )
212 C deltaTMom - Timestep for momemtum equations ( s )
213 C deltaTtracer - Timestep for tracer equations ( s )
214 C freesurfFac - Parameter to turn implicit free surface term on or off
215 C freesurfac = 1. uses implicit free surface
216 C freesurfac = 0. uses rigid lid
217 C tauCD - CD scheme coupling timescale ( 1/s )
218 C rCD - CD scheme normalised coupling parameter ( 0-1 )
219 C GMmaxslope - max. slope allowed in GM/Redi tensor
220 C GMlength - Length to use in Visbeck et al. formula for K (m)
221 C GMalpha - alpha to use in Visbeck et al. formula for K
222 C GMdepth - Depth over which to integrate Richardson # (Visbeck et al.)
223 C GMkbackground - background value of GM/Redi coefficient
224 C startTime - Starting time for this integration ( s ).
225 C endTime - Ending time for this integration ( s ).
226 C chkPtFreq - Frequency of rolling check pointing ( s ).
227 C pChkPtFreq - Frequency of permanent check pointing ( s ).
228 C dumpFreq - Frequency with which model state is written to
229 C post-processing files ( s ).
230 C afFacMom - Advection of momentum term scaling parameter
231 C vfFacMom - Momentum viscosity scaling parameter
232 C pfFacMom - Momentum pressure forcing parameter
233 C cfFacMom - Coriolis term scaling parameter
234 C foFacMom - Momentum forcing scaling parameter
235 C mtFacMom - Metric terms scaling parameter
236 C cAdjFreq - Frequency of convective adjustment
237 COMMON /PARM_R/ cg2dTargetResidual, cg2dpcOffDFac, delZ, delX, delY,
238 & deltaT,deltaTmom, deltaTtracer, deltaTClock,abeps, startTime, phiMin,
239 & thetaMin, rSphere, rRSphere, f0, fCori, beta, viscAh, viscAz, viscA4,
240 & diffKhT, diffKzT, diffK4T, diffKhS, diffKzS, diffK4S, delT,
241 & tauCD, rCD, freeSurfFac,
242 & GMmaxslope,GMlength,GMalpha,GMdepth,GMkbackground,
243 & gravity, gBaro, rhonil, tRef, sRef,
244 & endTime, chkPtFreq, pchkPtFreq, dumpFreq,
245 & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom,
246 & cAdjFreq, omega
247 _RL cg2dTargetResidual
248 _RL cg2dpcOffDFac
249 _RL delZ(Nz)
250 _RL delX(Nx)
251 _RL delY(Ny)
252 _RL deltaT
253 _RL deltaTClock
254 _RL deltaTmom
255 _RL deltaTtracer
256 _RL abeps
257 _RL phiMin
258 _RL thetaMin
259 _RL rSphere
260 _RL rRSphere
261 _RL f0
262 _RL freeSurfFac
263 _RL beta
264 _RL viscAh
265 _RL viscAz
266 _RL viscA4
267 _RL diffKhT
268 _RL diffKzT
269 _RL diffK4T
270 _RL diffKhS
271 _RL diffKzS
272 _RL diffK4S
273 _RL delt
274 _RL tauCD
275 _RL rCD
276 _RL GMmaxslope
277 _RL GMlength
278 _RL GMalpha
279 _RL GMdepth
280 _RL GMkbackground
281 _RL gravity
282 _RL gBaro
283 _RL rhonil
284 _RL tRef(Nz)
285 _RL sRef(Nz)
286 _RS Fcori(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
287 _RL startTime
288 _RL endTime
289 _RL chkPtFreq
290 _RL pChkPtFreq
291 _RL dumpFreq
292 _RL afFacMom
293 _RL vfFacMom
294 _RL pfFacMom
295 _RL cfFacMom
296 _RL foFacMom
297 _RL mTFacMom
298 _RL cAdjFreq
299 _RL omega
300
301 COMMON /PARM_A/ HeatCapacity_Cp,
302 & Lamba_theta
303 _RL HeatCapacity_Cp
304 _RL Lamba_theta
305
306 C Equation of State (polynomial coeffients)
307 COMMON /PARM_EOS_NL/ eosC,eosSig0,eosRefT,eosRefS
308 _RL eosC(9,Nz+1),eosSig0(Nz+1),eosRefT(Nz+1),eosRefS(Nz+1)
309 C Linear equation of state
310 C tAlpha - Linear EOS thermal expansion coefficient ( 1/degree ).
311 C sBeta - Linear EOS haline contraction coefficient.
312 COMMON /PARM_EOS_LIN/ tAlpha,sBeta,eosType
313 _RL tAlpha
314 _RL sBeta
315 character*(6) eosType
316

  ViewVC Help
Powered by ViewVC 1.1.22