/[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.6 by adcroft, Wed May 20 21:29:31 1998 UTC revision 1.18 by cnh, Mon Jun 15 05:13:55 1998 UTC
# 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  C     bathyFile   - File containing bathymetry. If not defined bathymetry
37        CHARACTER*3 oBandId(nOBands)  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    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          COMMON /PARM_C/ checkPtSuff,
48         &                bathyFile, hydrogThetaFile, hydrogSaltFile,
49         &                zonalWindFile, meridWindFile, thetaClimFile,
50         &                saltClimFile
51          CHARACTER*(5) checkPtSuff(maxNoChkptLev)
52          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          CHARACTER*(MAX_LEN_FNAM) thetaClimFile
58          CHARACTER*(MAX_LEN_FNAM) saltClimFile
59    
60  C--   COMMON /PARM_I/ Integer valued parameters used by the model.  C--   COMMON /PARM_I/ Integer valued parameters used by the model.
61  C     cg2dMaxIters        - Maximum number of iterations in the  C     cg2dMaxIters        - Maximum number of iterations in the
62  C                           two-dimensional con. grad solver.  C                           two-dimensional con. grad solver.
# Line 32  C     nIter0              - Start time-s Line 66  C     nIter0              - Start time-s
66  C     nTimeSteps          - Number of timesteps to execute  C     nTimeSteps          - Number of timesteps to execute
67  C     numStepsPerPickup   - For offline setup. Frequency of pickup  C     numStepsPerPickup   - For offline setup. Frequency of pickup
68  C                           of flow fields.  C                           of flow fields.
69    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        COMMON /PARM_I/        COMMON /PARM_I/
74       &        cg2dMaxIters,       &        cg2dMaxIters,
75       &        cg2dChkResFreq,       &        cg2dChkResFreq,
76       &        nIter0, nTimeSteps,       &        nIter0, nTimeSteps,
77       &        numStepsPerPickup       &        numStepsPerPickup,
78         &        writeStatePrec, nCheckLev,
79         &        writeBinaryPrec, readBinaryPrec
80        INTEGER cg2dMaxIters        INTEGER cg2dMaxIters
81        INTEGER cg2dChkResFreq        INTEGER cg2dChkResFreq
82        INTEGER nIter0        INTEGER nIter0
83        INTEGER nTimeSteps        INTEGER nTimeSteps
84        INTEGER numStepsPerPickup        INTEGER numStepsPerPickup
85          INTEGER writeStatePrec
86          INTEGER writeBinaryPrec
87          INTEGER readBinaryPrec
88          INTEGER nCheckLev
89    
90  C--   COMMON /PARM_L/ Logical valued parameters used by the model.  C--   COMMON /PARM_L/ Logical valued parameters used by the model.
91  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 96  C     momViscosity  - Flag which turns m
96  C     momAdvection  - Flag which turns advection of momentum on and off.  C     momAdvection  - Flag which turns advection of momentum on and off.
97  C     momForcing    - Flag which turns external forcing of momentum on  C     momForcing    - Flag which turns external forcing of momentum on
98  C                     and off.  C                     and off.
99    C     momPressureForcing - Flag which turns pressure term in momentum equation
100    C                          on and off.
101    C     metricTerms   - Flag which turns metric terms on or off.
102    C     usingSphericalPolarMTerms - If TRUE use spherical polar metric terms.
103  C     useCoriolis   - Flag which turns the coriolis terms on and off.  C     useCoriolis   - Flag which turns the coriolis terms on and off.
104  C     tempDiffusion - Flag which turns diffusion of temperature on  C     tempDiffusion - Flag which turns diffusion of temperature on
105  C                     and off.  C                     and off.
# Line 65  C     saltAdvection - Flag which turns a Line 113  C     saltAdvection - Flag which turns a
113  C                     and off.  C                     and off.
114  C     saltForcing   - Flag which turns external forcing of salinit on  C     saltForcing   - Flag which turns external forcing of salinit on
115  C                     and off.  C                     and off.
116    C     implicitFreeSurface - Set to true to use implcit free surface
117    C     rigidLid            - Set to true to use rigid lid
118    C     momStepping   - Turns momentum equation time-stepping off
119    C     tempStepping  - Turns temperature equation time-stepping off
120    C     saltStepping  - Turns salinity equation time-stepping off
121    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    C     implicitDiffusion - Turns implicit vertical diffusion on
125    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        COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid,        COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid,
130       & momViscosity, momAdvection, momForcing, useCoriolis,       & momViscosity, momAdvection, momForcing, useCoriolis, momPressureForcing,
131       & tempDiffusion, tempAdvection, tempForcing,       & tempDiffusion, tempAdvection, tempForcing,
132       & saltDiffusion, saltAdvection, saltForcing       & saltDiffusion, saltAdvection, saltForcing,
133         & implicitFreeSurface, rigidLid,
134         & momStepping, tempStepping, saltStepping,
135         & metricTerms, usingSphericalPolarMTerms,
136         & useConstantF, useBetaPlaneF, useSphereF,
137         & implicitDiffusion, doThetaClimRelax, doSaltClimRelax
138        LOGICAL usingCartesianGrid        LOGICAL usingCartesianGrid
139        LOGICAL usingSphericalPolarGrid        LOGICAL usingSphericalPolarGrid
140          LOGICAL usingSphericalPolarMTerms
141        LOGICAL momViscosity        LOGICAL momViscosity
142        LOGICAL momAdvection        LOGICAL momAdvection
143        LOGICAL momForcing        LOGICAL momForcing
144          LOGICAL momPressureForcing
145        LOGICAL useCoriolis        LOGICAL useCoriolis
146        LOGICAL tempDiffusion        LOGICAL tempDiffusion
147        LOGICAL tempAdvection        LOGICAL tempAdvection
# Line 81  C                     and off. Line 149  C                     and off.
149        LOGICAL saltDiffusion        LOGICAL saltDiffusion
150        LOGICAL saltAdvection        LOGICAL saltAdvection
151        LOGICAL saltForcing        LOGICAL saltForcing
152          LOGICAL implicitFreeSurface
153          LOGICAL rigidLid
154          LOGICAL momStepping
155          LOGICAL tempStepping
156          LOGICAL saltStepping
157          LOGICAL metricTerms
158          LOGICAL useConstantF
159          LOGICAL useBetaPlaneF
160          LOGICAL useSphereF
161          LOGICAL implicitDiffusion
162          LOGICAL doThetaClimRelax
163          LOGICAL doSaltClimRelax
164    
165  C--   COMMON /PARM_R/ "Real" valued parameters used by the model.  C--   COMMON /PARM_R/ "Real" valued parameters used by the model.
166  C     cg2dTargetResidual  C     cg2dTargetResidual
167  C               - Target residual for cg2d solver.  C               - Target residual for cg2d solver.
168    C     cg2dpcOffDFac - Averaging weight for preconditioner off-diagonal.
169    C     Note. 20th May 1998
170    C           I made a weird discovery! In the model paper we argue
171    C           for the form of the preconditioner used here ( see
172    C           A Finite-volume, Incompressible Navier-Stokes Model
173    C           ...., Marshall et. al ). The algebra gives a simple
174    C           0.5 factor for the averaging of ac and aCw to get a
175    C           symmettric pre-conditioner. By using a factor of 0.51
176    C           i.e. scaling the off-diagonal terms in the
177    C           preconditioner down slightly I managed to get the
178    C           number of iterations for convergence in a test case to
179    C           drop form 192 -> 134! Need to investigate this further!
180    C           For now I have introduced a parameter cg2dpcOffDFac which
181    C           defaults to 0.51 but can be set at runtime.
182  C     delZ      - Vertical grid spacing ( m ) - delZ is the distance  C     delZ      - Vertical grid spacing ( m ) - delZ is the distance
183  C                 between "w" surfaces.  C                 between "w" surfaces.
184  C     delX      - Separation between cell faces (m) or (deg), depending  C     delX      - Separation between cell faces (m) or (deg), depending
185  C     delY        on input flags.  C     delY        on input flags.
186  C     gravity   - Accel. due to gravity ( m/s^2 )  C     gravity   - Accel. due to gravity ( m/s^2 )
187    C     gBaro     - Accel. due to gravity used in barotropic equation ( m/s^2 )
188  C     ronil     - Reference density  C     ronil     - Reference density
189  C     startTime - Start time for model ( s )  C     startTime - Start time for model ( s )
190  C     phiMin    - Latitude of southern most cell face.  C     phiMin    - Latitude of southern most cell face.
# Line 97  C     thetaMin  - Longitude of western m Line 192  C     thetaMin  - Longitude of western m
192  C                 is an "inert" parameter but it is included  C                 is an "inert" parameter but it is included
193  C                 to make geographical references simple.)  C                 to make geographical references simple.)
194  C     rSphere   - Radius of sphere for a spherical polar grid ( m ).  C     rSphere   - Radius of sphere for a spherical polar grid ( m ).
195    C     rRSphere  - Reciprocal radius of sphere for a spherical polar grid ( m ).
196  C     f0        - Reference coriolis parameter ( 1/s )  C     f0        - Reference coriolis parameter ( 1/s )
197  C                 ( Southern edge f for beta plane )  C                 ( Southern edge f for beta plane )
198  C     beta      - df/dy ( s^-1.m^-1 )  C     beta      - df/dy ( s^-1.m^-1 )
199    C     omega     - Angular velocity ( rad/s )
200  C     viscAh    - Eddy viscosity coeff. for mixing of  C     viscAh    - Eddy viscosity coeff. for mixing of
201  C                 momentum laterally ( m^2/s )  C                 momentum laterally ( m^2/s )
202  C     viscAz    - Eddy viscosity coeff. for mixing of  C     viscAz    - Eddy viscosity coeff. for mixing of
# Line 119  C                 salt vertically ( m^2/ Line 216  C                 salt vertically ( m^2/
216  C     diffK4S   - Biharmonic diffusion coeff. for mixing of  C     diffK4S   - Biharmonic diffusion coeff. for mixing of
217  C                 salt laterally ( m^4/s )  C                 salt laterally ( m^4/s )
218  C     deltaT    - Default timestep ( s )  C     deltaT    - Default timestep ( s )
219    C     deltaTClock  - Timestep used as model "clock". This determines the
220    C                    IO frequencies and is used in tagging output. It can
221    C                    be totally different to the dynamical time. Typically
222    C                    it will be the deep-water timestep for accelerated runs.
223    C                    Frequency of checkpointing and dumping of the model state
224    C                    are referenced to this clock. ( s )
225  C     deltaTMom    - Timestep for momemtum equations ( s )  C     deltaTMom    - Timestep for momemtum equations ( s )
226  C     deltaTtracer - Timestep for tracer equations ( s )  C     deltaTtracer - Timestep for tracer equations ( s )
227    C     freesurfFac  - Parameter to turn implicit free surface term on or off
228    C                    freesurfac = 1. uses implicit free surface
229    C                    freesurfac = 0. uses rigid lid
230  C     tauCD     - CD scheme coupling timescale ( 1/s )  C     tauCD     - CD scheme coupling timescale ( 1/s )
231  C     rCD       - CD scheme normalised coupling parameter ( 0-1 )  C     rCD       - CD scheme normalised coupling parameter ( 0-1 )
232  C     GMmaxslope  - max. slope allowed in GM/Redi tensor  C     GMmaxslope  - max. slope allowed in GM/Redi tensor
233  C     GMlength  - Length to use in Visbeck et al. formula for K  C     GMlength  - Length to use in Visbeck et al. formula for K (m)
234  C     GMalpha   - alpha to use in Visbeck et al. formula for K  C     GMalpha   - alpha to use in Visbeck et al. formula for K
235  C     GMdepth   - Depth over which to integrate Richardson # (Visbeck et al.)  C     GMdepth   - Depth over which to integrate Richardson # (Visbeck et al.)
236  C     GMbackground - background value of GM/Redi coefficient  C     GMkbackground - background value of GM/Redi coefficient
237  C     startTime - Starting time for this integration ( s ).  C     startTime - Starting time for this integration ( s ).
238  C     endTime   - Ending time for this integration ( s ).  C     endTime   - Ending time for this integration ( s ).
239  C     chkPtFreq - Frequency of check pointing ( s ).  C     chkPtFreq  - Frequency of rolling check pointing ( s ).
240    C     pChkPtFreq - Frequency of permanent check pointing ( s ).
241  C     dumpFreq  - Frequency with which model state is written to  C     dumpFreq  - Frequency with which model state is written to
242  C                 post-processing files ( s ).  C                 post-processing files ( s ).
243        COMMON /PARM_R/ cg2dTargetResidual, delZ, delX, delY, deltaT,  C     afFacMom  - Advection of momentum term scaling parameter
244       & deltaTmom, deltaTtracer, abeps, startTime, phiMin, thetaMin,  C     vfFacMom  - Momentum viscosity scaling parameter
245       & rSphere, f0, fCori, beta, viscAh, viscAz, viscA4, diffKhT, diffKzT,  C     pfFacMom  - Momentum pressure forcing parameter
246       & diffK4T, diffKhS, diffKzS, diffK4S, delT, tauCD, rCD,  C     cfFacMom  - Coriolis term scaling parameter
247    C     foFacMom  - Momentum forcing scaling parameter
248    C     mtFacMom  - Metric terms scaling parameter
249    C     cAdjFreq  - Frequency of convective adjustment
250    C     tauThetaClimRelax - Relaxation to climatology time scale ( s ).
251    C     lambdaThetaClimRelax - Inverse time scale for relaxation ( 1/s ).
252    C     tauSaltClimRelax - Relaxation to climatology time scale ( s ).
253    C     lambdaSaltClimRelax - Inverse time scale for relaxation ( 1/s ).
254          COMMON /PARM_R/ cg2dTargetResidual, cg2dpcOffDFac, delZ, delX, delY,
255         & deltaT,deltaTmom, deltaTtracer, deltaTClock,abeps, startTime, phiMin,
256         & thetaMin, rSphere, rRSphere, f0, fCori, beta, viscAh, viscAz, viscA4,
257         & diffKhT, diffKzT, diffK4T, diffKhS, diffKzS, diffK4S, delT,
258         & tauCD, rCD, freeSurfFac,
259       & GMmaxslope,GMlength,GMalpha,GMdepth,GMkbackground,       & GMmaxslope,GMlength,GMalpha,GMdepth,GMkbackground,
260       & gravity, rhonil, tRef, sRef,       & gravity, gBaro, rhonil, tRef, sRef,
261       & endTime, chkPtFreq, dumpFreq       & endTime, chkPtFreq, pchkPtFreq, dumpFreq,
262         & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom,
263         & cAdjFreq, omega, tauThetaClimRelax, lambdaThetaClimRelax,
264         & tauSaltClimRelax, lambdaSaltClimRelax
265        _RL cg2dTargetResidual        _RL cg2dTargetResidual
266          _RL cg2dpcOffDFac
267        _RL delZ(Nz)        _RL delZ(Nz)
268        _RL delX(Nx)        _RL delX(Nx)
269        _RL delY(Ny)        _RL delY(Ny)
270        _RL deltaT        _RL deltaT
271          _RL deltaTClock
272        _RL deltaTmom        _RL deltaTmom
273        _RL deltaTtracer        _RL deltaTtracer
274        _RL abeps        _RL abeps
275        _RL phiMin        _RL phiMin
276        _RL thetaMin        _RL thetaMin
277        _RL rSphere        _RL rSphere
278          _RL rRSphere
279        _RL f0        _RL f0
280          _RL freeSurfFac
281        _RL beta        _RL beta
282        _RL viscAh        _RL viscAh
283        _RL viscAz        _RL viscAz
# Line 171  C                 post-processing files Line 297  C                 post-processing files
297        _RL GMdepth        _RL GMdepth
298        _RL GMkbackground        _RL GMkbackground
299        _RL gravity        _RL gravity
300          _RL gBaro
301        _RL rhonil        _RL rhonil
302        _RL tRef(Nz)        _RL tRef(Nz)
303        _RL sRef(Nz)        _RL sRef(Nz)
304        _RL Fcori(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RS Fcori(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
305        _RL startTime        _RL startTime
306        _RL endTime        _RL endTime
307        _RL chkPtFreq        _RL chkPtFreq
308          _RL pChkPtFreq
309        _RL dumpFreq        _RL dumpFreq
310          _RL afFacMom
311          _RL vfFacMom
312          _RL pfFacMom
313          _RL cfFacMom
314          _RL foFacMom
315          _RL mTFacMom
316          _RL cAdjFreq
317          _RL omega
318          _RL tauThetaClimRelax
319          _RL lambdaThetaClimRelax
320          _RL tauSaltClimRelax
321          _RL lambdaSaltClimRelax
322    
323        COMMON /PARM_A/ HeatCapacity_Cp,        COMMON /PARM_A/ HeatCapacity_Cp,
324       &                Lamba_theta       &                Lamba_theta
# Line 187  C                 post-processing files Line 327  C                 post-processing files
327    
328  C Equation of State (polynomial coeffients)  C Equation of State (polynomial coeffients)
329        COMMON /PARM_EOS_NL/ eosC,eosSig0,eosRefT,eosRefS        COMMON /PARM_EOS_NL/ eosC,eosSig0,eosRefT,eosRefS
330        _RL eosC(Nz+1,9),eosSig0(Nz+1),eosRefT(Nz+1),eosRefS(Nz+1)        _RL eosC(9,Nz+1),eosSig0(Nz+1),eosRefT(Nz+1),eosRefS(Nz+1)
331  C Linear equation of state  C Linear equation of state
332  C     tAlpha    - Linear EOS thermal expansion coefficient ( 1/degree ).  C     tAlpha    - Linear EOS thermal expansion coefficient ( 1/degree ).
333  C     sBeta     - Linear EOS haline contraction coefficient.  C     sBeta     - Linear EOS haline contraction coefficient.
334        COMMON /PARM_EOS_LIN/ tAlpha,sBeta        COMMON /PARM_EOS_LIN/ tAlpha,sBeta,eosType
335        _RL tAlpha        _RL tAlpha
336        _RL sBeta        _RL sBeta
337          character*(6) eosType
338    

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.18

  ViewVC Help
Powered by ViewVC 1.1.22