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

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

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

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

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.15

  ViewVC Help
Powered by ViewVC 1.1.22