/[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.35 by adcroft, Tue Dec 8 19:44:28 1998 UTC revision 1.50 by heimbach, Sun Mar 25 22:33:52 2001 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2    C $Name$
3  C  C
4  C     /==========================================================\  C     /==========================================================\
5  C     | PARAMS.h                                                 |  C     | PARAMS.h                                                 |
# Line 23  C     Symbolic values Line 24  C     Symbolic values
24  C     precXXXX - Used to indicate what precision to use for  C     precXXXX - Used to indicate what precision to use for
25  C                dumping model state.  C                dumping model state.
26        INTEGER precFloat32        INTEGER precFloat32
27        PARAMETER ( precFloat32 = 0 )        PARAMETER ( precFloat32 = 32 )
28        INTEGER precFloat64        INTEGER precFloat64
29        PARAMETER ( precFloat64 = 1 )        PARAMETER ( precFloat64 = 64 )
30  C     UNSET_xxx - Used to indicate variables that have not been given a value  C     UNSET_xxx - Used to indicate variables that have not been given a value
31        Real*8 UNSET_FLOAT8        Real*8 UNSET_FLOAT8
32        PARAMETER ( UNSET_FLOAT8 = 1.234567D5 )        PARAMETER ( UNSET_FLOAT8 = 1.234567D5 )
# Line 55  C     thetaClimFile   - File containing Line 56  C     thetaClimFile   - File containing
56  C                       in relaxation term -lambda(theta-theta*)  C                       in relaxation term -lambda(theta-theta*)
57  C     saltClimFile    - File containing salt climataology used  C     saltClimFile    - File containing salt climataology used
58  C                       in relaxation term -lambda(salt-salt*)  C                       in relaxation term -lambda(salt-salt*)
59    C     surfQfile       - File containing surface heat flux
60    C     surfQswfile     - File containing surface shortwave radiation
61    C     dQdTfile        - File containing thermal relaxation coefficient
62    C     EmPmRfile       - File containing surface fresh water flux
63  C     buoyancyRelation - Flag used to indicate which relation to use to  C     buoyancyRelation - Flag used to indicate which relation to use to
64  C                        get buoyancy.  C                        get buoyancy.
65        COMMON /PARM_C/ checkPtSuff,        COMMON /PARM_C/ checkPtSuff,
66       &                bathyFile, hydrogThetaFile, hydrogSaltFile,       &                bathyFile, hydrogThetaFile, hydrogSaltFile,
67       &                zonalWindFile, meridWindFile, thetaClimFile,       &                zonalWindFile, meridWindFile, thetaClimFile,
68       &                saltClimFile, buoyancyRelation       &                saltClimFile, buoyancyRelation,
69         &                EmPmRfile, surfQfile, surfQswfile,
70         &                uVelInitFile, vVelInitFile, pSurfInitFile,
71         &                dQdTfile
72        CHARACTER*(5) checkPtSuff(maxNoChkptLev)        CHARACTER*(5) checkPtSuff(maxNoChkptLev)
73        CHARACTER*(MAX_LEN_FNAM) bathyFile        CHARACTER*(MAX_LEN_FNAM) bathyFile
74        CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile        CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile
# Line 69  C                        get buoyancy. Line 77  C                        get buoyancy.
77        CHARACTER*(MAX_LEN_FNAM) meridWindFile        CHARACTER*(MAX_LEN_FNAM) meridWindFile
78        CHARACTER*(MAX_LEN_FNAM) thetaClimFile        CHARACTER*(MAX_LEN_FNAM) thetaClimFile
79        CHARACTER*(MAX_LEN_FNAM) saltClimFile        CHARACTER*(MAX_LEN_FNAM) saltClimFile
80          CHARACTER*(MAX_LEN_FNAM) surfQfile
81          CHARACTER*(MAX_LEN_FNAM) surfQswfile
82          CHARACTER*(MAX_LEN_FNAM) EmPmRfile
83        CHARACTER*(MAX_LEN_FNAM) buoyancyRelation        CHARACTER*(MAX_LEN_FNAM) buoyancyRelation
84          CHARACTER*(MAX_LEN_FNAM) uVelInitFile
85          CHARACTER*(MAX_LEN_FNAM) vVelInitFile
86          CHARACTER*(MAX_LEN_FNAM) pSurfInitFile
87          CHARACTER*(MAX_LEN_FNAM) dQdTfile
88    
89  C--   COMMON /PARM_I/ Integer valued parameters used by the model.  C--   COMMON /PARM_I/ Integer valued parameters used by the model.
90  C     cg2dMaxIters        - Maximum number of iterations in the  C     cg2dMaxIters        - Maximum number of iterations in the
# Line 100  C                           etc... Line 115  C                           etc...
115       &        cg2dChkResFreq,       &        cg2dChkResFreq,
116       &        cg3dMaxIters,       &        cg3dMaxIters,
117       &        cg3dChkResFreq,       &        cg3dChkResFreq,
118       &        nIter0, nTimeSteps,       &        nIter0, nTimeSteps, nEndIter,
119       &        numStepsPerPickup,       &        numStepsPerPickup,
120       &        writeStatePrec, nCheckLev,       &        writeStatePrec, nCheckLev,
121       &        writeBinaryPrec, readBinaryPrec,       &        writeBinaryPrec, readBinaryPrec,
122       &        nShap       &        nShap, zonal_filt_sinpow, zonal_filt_cospow
123        INTEGER cg2dMaxIters        INTEGER cg2dMaxIters
124        INTEGER cg2dChkResFreq        INTEGER cg2dChkResFreq
125        INTEGER cg3dMaxIters        INTEGER cg3dMaxIters
126        INTEGER cg3dChkResFreq        INTEGER cg3dChkResFreq
127        INTEGER nIter0        INTEGER nIter0
128        INTEGER nTimeSteps        INTEGER nTimeSteps
129          INTEGER nEndIter
130        INTEGER numStepsPerPickup        INTEGER numStepsPerPickup
131        INTEGER writeStatePrec        INTEGER writeStatePrec
132        INTEGER writeBinaryPrec        INTEGER writeBinaryPrec
133        INTEGER readBinaryPrec        INTEGER readBinaryPrec
134        INTEGER nCheckLev        INTEGER nCheckLev
135        INTEGER nShap        INTEGER nShap
136          INTEGER zonal_filt_sinpow
137          INTEGER zonal_filt_cospow
138    
139  C--   COMMON /PARM_L/ Logical valued parameters used by the model.  C--   COMMON /PARM_L/ Logical valued parameters used by the model.
140  C     usingCartesianGrid - If TRUE grid generation will be in a cartesian  C     usingCartesianGrid - If TRUE grid generation will be in a cartesian
141  C                          coordinate frame.  C                          coordinate frame.
142  C     usingSphericalPolarGrid - If TRUE grid generation will be in a  C     usingSphericalPolarGrid - If TRUE grid generation will be in a
143  C                               spherical polar frame.  C                               spherical polar frame.
144    C     no_slip_sides - Impose "no-slip" at lateral boundaries.
145    C     no_slip_bottom- Impose "no-slip" at bottom boundary.
146    C     staggerTimeStep - enable a Stagger time stepping T,S Rho then U,V
147  C     momViscosity  - Flag which turns momentum friction terms on and off.  C     momViscosity  - Flag which turns momentum friction terms on and off.
148  C     momAdvection  - Flag which turns advection of momentum on and off.  C     momAdvection  - Flag which turns advection of momentum on and off.
149  C     momForcing    - Flag which turns external forcing of momentum on  C     momForcing    - Flag which turns external forcing of momentum on
# Line 153  C     useConstantF  - Coriolis parameter Line 174  C     useConstantF  - Coriolis parameter
174  C     useBetaPlaneF - Coriolis parameter set to f0 + beta.y  C     useBetaPlaneF - Coriolis parameter set to f0 + beta.y
175  C     useSphereF    - Coriolis parameter set to 2.omega.sin(phi)  C     useSphereF    - Coriolis parameter set to 2.omega.sin(phi)
176  C     implicitDiffusion - Turns implicit vertical diffusion on  C     implicitDiffusion - Turns implicit vertical diffusion on
177    C     implicitViscosity - Turns implicit vertical viscosity on
178  C     doThetaClimRelax - Set true if relaxation to temperature  C     doThetaClimRelax - Set true if relaxation to temperature
179  C                        climatology is required.  C                        climatology is required.
180  C     doSaltClimRelax  - Set true if relaxation to salinity  C     doSaltClimRelax  - Set true if relaxation to salinity
# Line 162  C     usingPCoords     - Set to indicate Line 184  C     usingPCoords     - Set to indicate
184  C                        coords.  C                        coords.
185  C     usingZCoords     - Set to indicate that we are working in height  C     usingZCoords     - Set to indicate that we are working in height
186  C                        coords.  C                        coords.
187  C     openBoundaries - Using open-boundaries  C     nonHydrostatic - Using non-hydrostatic terms
188    C     globalFiles    - Selects between "global" and "tiled" files
189    C     allowFreezing  - Allows water to freeze and form ice
190    C     groundAtK1  - put the surface(k=1) at the Lower Boundary (=ground)
191        COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid,        COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid,
192         & no_slip_sides,no_slip_bottom,
193         & staggerTimeStep,
194       & momViscosity, momAdvection, momForcing, useCoriolis,       & momViscosity, momAdvection, momForcing, useCoriolis,
195       & momPressureForcing,tempDiffusion, tempAdvection, tempForcing,       & momPressureForcing,tempDiffusion, tempAdvection, tempForcing,
196       & saltDiffusion, saltAdvection, saltForcing,       & saltDiffusion, saltAdvection, saltForcing,
# Line 171  C     openBoundaries - Using open-bounda Line 198  C     openBoundaries - Using open-bounda
198       & momStepping, tempStepping, saltStepping,       & momStepping, tempStepping, saltStepping,
199       & metricTerms, usingSphericalPolarMTerms,       & metricTerms, usingSphericalPolarMTerms,
200       & useConstantF, useBetaPlaneF, useSphereF,       & useConstantF, useBetaPlaneF, useSphereF,
201       & implicitDiffusion, doThetaClimRelax, doSaltClimRelax,       & implicitDiffusion, implicitViscosity,
202         & doThetaClimRelax, doSaltClimRelax,
203       & periodicExternalForcing, usingPCoords, usingZCoords,       & periodicExternalForcing, usingPCoords, usingZCoords,
204       & openBoundaries       & nonHydrostatic, globalFiles,
205         & allowFreezing, groundAtK1
206        LOGICAL usingCartesianGrid        LOGICAL usingCartesianGrid
207        LOGICAL usingSphericalPolarGrid        LOGICAL usingSphericalPolarGrid
208        LOGICAL usingSphericalPolarMTerms        LOGICAL usingSphericalPolarMTerms
209          LOGICAL no_slip_sides
210          LOGICAL no_slip_bottom
211          LOGICAL staggerTimeStep
212        LOGICAL momViscosity        LOGICAL momViscosity
213        LOGICAL momAdvection        LOGICAL momAdvection
214        LOGICAL momForcing        LOGICAL momForcing
# Line 198  C     openBoundaries - Using open-bounda Line 230  C     openBoundaries - Using open-bounda
230        LOGICAL useBetaPlaneF        LOGICAL useBetaPlaneF
231        LOGICAL useSphereF        LOGICAL useSphereF
232        LOGICAL implicitDiffusion        LOGICAL implicitDiffusion
233          LOGICAL implicitViscosity
234        LOGICAL doThetaClimRelax        LOGICAL doThetaClimRelax
235        LOGICAL doSaltClimRelax        LOGICAL doSaltClimRelax
236        LOGICAL periodicExternalForcing        LOGICAL periodicExternalForcing
237        LOGICAL usingPCoords        LOGICAL usingPCoords
238        LOGICAL usingZCoords        LOGICAL usingZCoords
239        LOGICAL openBoundaries        LOGICAL nonHydrostatic
240          LOGICAL globalFiles
241          LOGICAL allowFreezing
242          LOGICAL groundAtK1
243    
244  C--   COMMON /PARM_R/ "Real" valued parameters used by the model.  C--   COMMON /PARM_R/ "Real" valued parameters used by the model.
245  C     cg2dTargetResidual  C     cg2dTargetResidual
# Line 287  C     deltaTtracer - Timestep for tracer Line 323  C     deltaTtracer - Timestep for tracer
323  C     freesurfFac  - Parameter to turn implicit free surface term on or off  C     freesurfFac  - Parameter to turn implicit free surface term on or off
324  C                    freesurfac = 1. uses implicit free surface  C                    freesurfac = 1. uses implicit free surface
325  C                    freesurfac = 0. uses rigid lid  C                    freesurfac = 0. uses rigid lid
326    C     implicSurfPress - parameter of the Crank-Nickelson time stepping :
327    C                     Implicit part of Surface Pressure Gradient ( 0-1 )
328    C     implicDiv2Dflow - parameter of the Crank-Nickelson time stepping :
329    C                     Implicit part of barotropic flow Divergence ( 0-1 )
330  C     hFacMin      - Minimum fraction size of a cell (affects hFacC etc...)  C     hFacMin      - Minimum fraction size of a cell (affects hFacC etc...)
331  C     hFacMinDz    - Minimum dimesional size of a cell (affects hFacC etc..., m)  C     hFacMinDz    - Minimum dimesional size of a cell (affects hFacC etc..., m)
332  C     hFacMinDp    - Minimum dimesional size of a cell (affects hFacC etc..., Pa)  C     hFacMinDp    - Minimum dimesional size of a cell (affects hFacC etc..., Pa)
333  C     hFacMinDr    - Minimum dimesional size of a cell (affects hFacC etc..., units of r)  C     hFacMinDr    - Minimum dimesional size of a cell (affects hFacC etc..., units of r)
334  C     tauCD        - CD scheme coupling timescale ( 1/s )  C     tauCD        - CD scheme coupling timescale ( 1/s )
335  C     rCD          - CD scheme normalised coupling parameter ( 0-1 )  C     rCD          - CD scheme normalised coupling parameter ( 0-1 )
 C     GMmaxslope    - max. slope allowed in GM/Redi tensor  
 C     GMlength      - Length to use in Visbeck et al. formula for K (m)  
 C     GMalpha       - alpha to use in Visbeck et al. formula for K  
 C     GMdepth       - Depth over which to integrate Richardson # (Visbeck et al.)  
 C     GMkbackground - background value of GM/Redi diffusion coefficient ( m^2/s )  
 C     GMmaxval      - max. value of KapGM allowed in GM/Redi scheme ( m^2/s )  
336  C     startTime     - Starting time for this integration ( s ).  C     startTime     - Starting time for this integration ( s ).
337  C     endTime       - Ending time for this integration ( s ).  C     endTime       - Ending time for this integration ( s ).
338  C     chkPtFreq     - Frequency of rolling check pointing ( s ).  C     chkPtFreq     - Frequency of rolling check pointing ( s ).
# Line 311  C     pfFacMom      - Momentum pressure Line 345  C     pfFacMom      - Momentum pressure
345  C     cfFacMom      - Coriolis term tracer parameter  C     cfFacMom      - Coriolis term tracer parameter
346  C     foFacMom      - Momentum forcing tracer parameter  C     foFacMom      - Momentum forcing tracer parameter
347  C     mtFacMom      - Metric terms tracer parameter  C     mtFacMom      - Metric terms tracer parameter
348    C     cosPower      - Power of cosine of latitude to multiply viscosity
349  C     cAdjFreq      - Frequency of convective adjustment  C     cAdjFreq      - Frequency of convective adjustment
350  C  C
351  C     taveFreq      - Frequency with which time-averaged model state is written to  C     taveFreq      - Frequency with which time-averaged model state is written to
# Line 328  C     recip_horiVertRatio  ( 1 if horiz Line 363  C     recip_horiVertRatio  ( 1 if horiz
363  C                          ( g*rho if horiz in m and vertical in Pa ).  C                          ( g*rho if horiz in m and vertical in Pa ).
364  C     latFFTFiltLo       - Low latitude for FFT filtering of latitude  C     latFFTFiltLo       - Low latitude for FFT filtering of latitude
365  C                          circles ( see filter*.F )  C                          circles ( see filter*.F )
366    C     Ro_SeaLevel        - standard position of Sea-Level in "R" coordinate, used as
367    C                          starting value (k=1) for vertical coordinate (rf(1)=Ro_SeaLevel)
368    C     bottomDragLinear   - Drag coefficient built in to core dynamics
369    C         "     Quadratic  ( linear: 1/s, quadratic: 1/m )
370        COMMON /PARM_R/ cg2dTargetResidual, cg2dpcOffDFac,        COMMON /PARM_R/ cg2dTargetResidual, cg2dpcOffDFac,
371       & cg3dTargetResidual,       & cg3dTargetResidual,
372       & delP, delZ, delR, delX, delY,       & delP, delZ, delR, delX, delY,
# Line 336  C                          circles ( see Line 375  C                          circles ( see
375       & viscAh,  viscAz,  viscA4,  viscAr,       & viscAh,  viscAz,  viscA4,  viscAr,
376       & diffKhT, diffKzT, diffK4T, diffKrT,       & diffKhT, diffKzT, diffK4T, diffKrT,
377       & diffKhS, diffKzS, diffK4S, diffKrS,       & diffKhS, diffKzS, diffK4S, diffKrS,
378       & delT, tauCD, rCD, freeSurfFac, hFacMin, hFacMinDz,       & delT, tauCD, rCD, freeSurfFac, implicSurfPress, implicDiv2Dflow,
379       & GMmaxslope,GMlength,GMalpha,GMdepth,GMkbackground,GMmaxval,       & hFacMin, hFacMinDz,
380       & gravity, recip_Gravity, gBaro, rhonil, recip_rhonil,       & gravity, recip_Gravity, gBaro, rhonil, recip_rhonil,
381       & recip_rhoConst, rhoConst, tRef, sRef,       & recip_rhoConst, rhoConst, tRef, sRef,
382       & endTime, chkPtFreq, pchkPtFreq, dumpFreq, taveFreq,       & endTime, chkPtFreq, pchkPtFreq, dumpFreq, taveFreq,
383       & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom,       & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom,
384         & cosPower,
385       & cAdjFreq, omega, tauThetaClimRelax, lambdaThetaClimRelax,       & cAdjFreq, omega, tauThetaClimRelax, lambdaThetaClimRelax,
386       & tauSaltClimRelax, lambdaSaltClimRelax,       & tauSaltClimRelax, lambdaSaltClimRelax,
387       & externForcingCycle, externForcingPeriod,       & externForcingCycle, externForcingPeriod,
388       & viscAp, diffKpT, diffKpS, hFacMinDr, hFacMinDp,       & viscAp, diffKpT, diffKpS, hFacMinDr, hFacMinDp,
389       & theta_S, specVol_S, horiVertRatio, recip_horiVertRatio,       & theta_S, specVol_S, horiVertRatio, recip_horiVertRatio,
390       & latFFTFiltLo       & latFFTFiltLo, ivdc_kappa, Ro_SeaLevel, zonal_filt_lat,
391         & bottomDragLinear,bottomDragQuadratic
392    
393        _RL cg2dTargetResidual        _RL cg2dTargetResidual
394        _RL cg3dTargetResidual        _RL cg3dTargetResidual
# Line 368  C                          circles ( see Line 409  C                          circles ( see
409        _RL recip_RSphere        _RL recip_RSphere
410        _RL f0        _RL f0
411        _RL freeSurfFac        _RL freeSurfFac
412          _RL implicSurfPress
413          _RL implicDiv2Dflow
414        _RL hFacMin        _RL hFacMin
415        _RL hFacMinDz        _RL hFacMinDz
416        _RL hFacMinDp        _RL hFacMinDp
# Line 391  C                          circles ( see Line 434  C                          circles ( see
434        _RL delt        _RL delt
435        _RL tauCD        _RL tauCD
436        _RL rCD        _RL rCD
       _RL GMmaxslope  
       _RL GMlength  
       _RL GMalpha  
       _RL GMdepth  
       _RL GMkbackground  
       _RL GMmaxval  
437        _RL gravity        _RL gravity
438        _RL recip_gravity        _RL recip_gravity
439        _RL gBaro        _RL gBaro
# Line 421  C                          circles ( see Line 458  C                          circles ( see
458        _RL cfFacMom        _RL cfFacMom
459        _RL foFacMom        _RL foFacMom
460        _RL mTFacMom        _RL mTFacMom
461          _RL cosPower
462        _RL cAdjFreq        _RL cAdjFreq
463        _RL omega        _RL omega
464        _RL tauThetaClimRelax        _RL tauThetaClimRelax
# Line 432  C                          circles ( see Line 470  C                          circles ( see
470        _RL horiVertRatio        _RL horiVertRatio
471        _RL recip_horiVertRatio        _RL recip_horiVertRatio
472        _RL latFFTFiltLo        _RL latFFTFiltLo
473          _RL ivdc_kappa
474          _RL Ro_SeaLevel
475          _RL zonal_filt_lat
476          _RL bottomDragLinear
477          _RL bottomDragQuadratic
478    
479        COMMON /PARM_A/ HeatCapacity_Cp,        COMMON /PARM_A/ HeatCapacity_Cp,recip_Cp,
480       &                Lamba_theta       &                Lamba_theta
481        _RL HeatCapacity_Cp        _RL HeatCapacity_Cp
482        _RL Lamba_theta        _RL Lamba_theta
483          _RL recip_Cp
484    
485  C Equation of State (polynomial coeffients)  C Equation of State (polynomial coeffients)
486        COMMON /PARM_EOS_NL/ eosC,eosSig0,eosRefT,eosRefS        COMMON /PARM_EOS_NL/ eosC,eosSig0,eosRefT,eosRefS
# Line 449  C     sBeta     - Linear EOS haline cont Line 493  C     sBeta     - Linear EOS haline cont
493        _RL sBeta        _RL sBeta
494        character*(6) eosType        character*(6) eosType
495    
496  C These are input arrays (of integers) that contain the *absolute*  C Logical flags for selecting packages
497  C computational index of an open-boundary (OB) point.        LOGICAL useKPP
498  C A zero (0) element means there is no corresponding OB in that column/row.        LOGICAL useGMRedi
499  C The computational coordinate refers to "tracer" cells.        LOGICAL useOBCS
500  C For a northern/southern OB, the OB V point is to the south/north.        LOGICAL useAIM
501  C For an eastern/western OB, the OB U point is to the west/east.        LOGICAL useECCO
502  C eg.        COMMON /PARM_PACKAGES/
503  C     OB_Jnorth(3)=34  means that:       &        useKPP, useGMRedi, useOBCS, useAIM, useECCO
504  C          T( 3 ,34) is a an OB point  
 C          U(3:4,34) is a an OB point  
 C          V( 4 ,34) is a an OB point  
 C while  
 C     OB_Jsouth(3)=1  means that:  
 C          T( 3 ,1) is a an OB point  
 C          U(3:4,1) is a an OB point  
 C          V( 4 ,2) is a an OB point  
 C  
 C For convenience, negative values for Jnorth/Ieast refer to  
 C points relative to the Northern/Eastern edges of the model  
 C eg. OB_Jnorth(3)=-1  means that the point (3,Ny-1) is a northern O-B.  
 C  
       COMMON /PARM_OB/  
      & OB_Jnorth,OB_Jsouth,OB_Ieast,OB_Iwest  
       INTEGER OB_Jnorth(Nx)  
       INTEGER OB_Jsouth(Nx)  
       INTEGER OB_Ieast(Ny)  
       INTEGER OB_Iwest(Ny)  

Legend:
Removed from v.1.35  
changed lines
  Added in v.1.50

  ViewVC Help
Powered by ViewVC 1.1.22