/[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.49 by jmc, Tue Feb 20 19:38:24 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     EmPmRfile       - File containing surface fresh water flux
62  C     buoyancyRelation - Flag used to indicate which relation to use to  C     buoyancyRelation - Flag used to indicate which relation to use to
63  C                        get buoyancy.  C                        get buoyancy.
64        COMMON /PARM_C/ checkPtSuff,        COMMON /PARM_C/ checkPtSuff,
65       &                bathyFile, hydrogThetaFile, hydrogSaltFile,       &                bathyFile, hydrogThetaFile, hydrogSaltFile,
66       &                zonalWindFile, meridWindFile, thetaClimFile,       &                zonalWindFile, meridWindFile, thetaClimFile,
67       &                saltClimFile, buoyancyRelation       &                saltClimFile, buoyancyRelation,
68         &                EmPmRfile, surfQfile, surfQswfile,
69         &                uVelInitFile, vVelInitFile, pSurfInitFile
70        CHARACTER*(5) checkPtSuff(maxNoChkptLev)        CHARACTER*(5) checkPtSuff(maxNoChkptLev)
71        CHARACTER*(MAX_LEN_FNAM) bathyFile        CHARACTER*(MAX_LEN_FNAM) bathyFile
72        CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile        CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile
# Line 69  C                        get buoyancy. Line 75  C                        get buoyancy.
75        CHARACTER*(MAX_LEN_FNAM) meridWindFile        CHARACTER*(MAX_LEN_FNAM) meridWindFile
76        CHARACTER*(MAX_LEN_FNAM) thetaClimFile        CHARACTER*(MAX_LEN_FNAM) thetaClimFile
77        CHARACTER*(MAX_LEN_FNAM) saltClimFile        CHARACTER*(MAX_LEN_FNAM) saltClimFile
78          CHARACTER*(MAX_LEN_FNAM) surfQfile
79          CHARACTER*(MAX_LEN_FNAM) surfQswfile
80          CHARACTER*(MAX_LEN_FNAM) EmPmRfile
81        CHARACTER*(MAX_LEN_FNAM) buoyancyRelation        CHARACTER*(MAX_LEN_FNAM) buoyancyRelation
82          CHARACTER*(MAX_LEN_FNAM) uVelInitFile
83          CHARACTER*(MAX_LEN_FNAM) vVelInitFile
84          CHARACTER*(MAX_LEN_FNAM) pSurfInitFile
85    
86  C--   COMMON /PARM_I/ Integer valued parameters used by the model.  C--   COMMON /PARM_I/ Integer valued parameters used by the model.
87  C     cg2dMaxIters        - Maximum number of iterations in the  C     cg2dMaxIters        - Maximum number of iterations in the
# Line 100  C                           etc... Line 112  C                           etc...
112       &        cg2dChkResFreq,       &        cg2dChkResFreq,
113       &        cg3dMaxIters,       &        cg3dMaxIters,
114       &        cg3dChkResFreq,       &        cg3dChkResFreq,
115       &        nIter0, nTimeSteps,       &        nIter0, nTimeSteps, nEndIter,
116       &        numStepsPerPickup,       &        numStepsPerPickup,
117       &        writeStatePrec, nCheckLev,       &        writeStatePrec, nCheckLev,
118       &        writeBinaryPrec, readBinaryPrec,       &        writeBinaryPrec, readBinaryPrec,
119       &        nShap       &        nShap, zonal_filt_sinpow, zonal_filt_cospow
120        INTEGER cg2dMaxIters        INTEGER cg2dMaxIters
121        INTEGER cg2dChkResFreq        INTEGER cg2dChkResFreq
122        INTEGER cg3dMaxIters        INTEGER cg3dMaxIters
123        INTEGER cg3dChkResFreq        INTEGER cg3dChkResFreq
124        INTEGER nIter0        INTEGER nIter0
125        INTEGER nTimeSteps        INTEGER nTimeSteps
126          INTEGER nEndIter
127        INTEGER numStepsPerPickup        INTEGER numStepsPerPickup
128        INTEGER writeStatePrec        INTEGER writeStatePrec
129        INTEGER writeBinaryPrec        INTEGER writeBinaryPrec
130        INTEGER readBinaryPrec        INTEGER readBinaryPrec
131        INTEGER nCheckLev        INTEGER nCheckLev
132        INTEGER nShap        INTEGER nShap
133          INTEGER zonal_filt_sinpow
134          INTEGER zonal_filt_cospow
135    
136  C--   COMMON /PARM_L/ Logical valued parameters used by the model.  C--   COMMON /PARM_L/ Logical valued parameters used by the model.
137  C     usingCartesianGrid - If TRUE grid generation will be in a cartesian  C     usingCartesianGrid - If TRUE grid generation will be in a cartesian
138  C                          coordinate frame.  C                          coordinate frame.
139  C     usingSphericalPolarGrid - If TRUE grid generation will be in a  C     usingSphericalPolarGrid - If TRUE grid generation will be in a
140  C                               spherical polar frame.  C                               spherical polar frame.
141    C     no_slip_sides - Impose "no-slip" at lateral boundaries.
142    C     no_slip_bottom- Impose "no-slip" at bottom boundary.
143    C     staggerTimeStep - enable a Stagger time stepping T,S Rho then U,V
144  C     momViscosity  - Flag which turns momentum friction terms on and off.  C     momViscosity  - Flag which turns momentum friction terms on and off.
145  C     momAdvection  - Flag which turns advection of momentum on and off.  C     momAdvection  - Flag which turns advection of momentum on and off.
146  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 171  C     useConstantF  - Coriolis parameter
171  C     useBetaPlaneF - Coriolis parameter set to f0 + beta.y  C     useBetaPlaneF - Coriolis parameter set to f0 + beta.y
172  C     useSphereF    - Coriolis parameter set to 2.omega.sin(phi)  C     useSphereF    - Coriolis parameter set to 2.omega.sin(phi)
173  C     implicitDiffusion - Turns implicit vertical diffusion on  C     implicitDiffusion - Turns implicit vertical diffusion on
174    C     implicitViscosity - Turns implicit vertical viscosity on
175  C     doThetaClimRelax - Set true if relaxation to temperature  C     doThetaClimRelax - Set true if relaxation to temperature
176  C                        climatology is required.  C                        climatology is required.
177  C     doSaltClimRelax  - Set true if relaxation to salinity  C     doSaltClimRelax  - Set true if relaxation to salinity
# Line 162  C     usingPCoords     - Set to indicate Line 181  C     usingPCoords     - Set to indicate
181  C                        coords.  C                        coords.
182  C     usingZCoords     - Set to indicate that we are working in height  C     usingZCoords     - Set to indicate that we are working in height
183  C                        coords.  C                        coords.
184  C     openBoundaries - Using open-boundaries  C     nonHydrostatic - Using non-hydrostatic terms
185    C     globalFiles    - Selects between "global" and "tiled" files
186    C     allowFreezing  - Allows water to freeze and form ice
187    C     groundAtK1  - put the surface(k=1) at the Lower Boundary (=ground)
188        COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid,        COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid,
189         & no_slip_sides,no_slip_bottom,
190         & staggerTimeStep,
191       & momViscosity, momAdvection, momForcing, useCoriolis,       & momViscosity, momAdvection, momForcing, useCoriolis,
192       & momPressureForcing,tempDiffusion, tempAdvection, tempForcing,       & momPressureForcing,tempDiffusion, tempAdvection, tempForcing,
193       & saltDiffusion, saltAdvection, saltForcing,       & saltDiffusion, saltAdvection, saltForcing,
# Line 171  C     openBoundaries - Using open-bounda Line 195  C     openBoundaries - Using open-bounda
195       & momStepping, tempStepping, saltStepping,       & momStepping, tempStepping, saltStepping,
196       & metricTerms, usingSphericalPolarMTerms,       & metricTerms, usingSphericalPolarMTerms,
197       & useConstantF, useBetaPlaneF, useSphereF,       & useConstantF, useBetaPlaneF, useSphereF,
198       & implicitDiffusion, doThetaClimRelax, doSaltClimRelax,       & implicitDiffusion, implicitViscosity,
199         & doThetaClimRelax, doSaltClimRelax,
200       & periodicExternalForcing, usingPCoords, usingZCoords,       & periodicExternalForcing, usingPCoords, usingZCoords,
201       & openBoundaries       & nonHydrostatic, globalFiles,
202         & allowFreezing, groundAtK1
203        LOGICAL usingCartesianGrid        LOGICAL usingCartesianGrid
204        LOGICAL usingSphericalPolarGrid        LOGICAL usingSphericalPolarGrid
205        LOGICAL usingSphericalPolarMTerms        LOGICAL usingSphericalPolarMTerms
206          LOGICAL no_slip_sides
207          LOGICAL no_slip_bottom
208          LOGICAL staggerTimeStep
209        LOGICAL momViscosity        LOGICAL momViscosity
210        LOGICAL momAdvection        LOGICAL momAdvection
211        LOGICAL momForcing        LOGICAL momForcing
# Line 198  C     openBoundaries - Using open-bounda Line 227  C     openBoundaries - Using open-bounda
227        LOGICAL useBetaPlaneF        LOGICAL useBetaPlaneF
228        LOGICAL useSphereF        LOGICAL useSphereF
229        LOGICAL implicitDiffusion        LOGICAL implicitDiffusion
230          LOGICAL implicitViscosity
231        LOGICAL doThetaClimRelax        LOGICAL doThetaClimRelax
232        LOGICAL doSaltClimRelax        LOGICAL doSaltClimRelax
233        LOGICAL periodicExternalForcing        LOGICAL periodicExternalForcing
234        LOGICAL usingPCoords        LOGICAL usingPCoords
235        LOGICAL usingZCoords        LOGICAL usingZCoords
236        LOGICAL openBoundaries        LOGICAL nonHydrostatic
237          LOGICAL globalFiles
238          LOGICAL allowFreezing
239          LOGICAL groundAtK1
240    
241  C--   COMMON /PARM_R/ "Real" valued parameters used by the model.  C--   COMMON /PARM_R/ "Real" valued parameters used by the model.
242  C     cg2dTargetResidual  C     cg2dTargetResidual
# Line 287  C     deltaTtracer - Timestep for tracer Line 320  C     deltaTtracer - Timestep for tracer
320  C     freesurfFac  - Parameter to turn implicit free surface term on or off  C     freesurfFac  - Parameter to turn implicit free surface term on or off
321  C                    freesurfac = 1. uses implicit free surface  C                    freesurfac = 1. uses implicit free surface
322  C                    freesurfac = 0. uses rigid lid  C                    freesurfac = 0. uses rigid lid
323    C     implicSurfPress - parameter of the Crank-Nickelson time stepping :
324    C                     Implicit part of Surface Pressure Gradient ( 0-1 )
325    C     implicDiv2Dflow - parameter of the Crank-Nickelson time stepping :
326    C                     Implicit part of barotropic flow Divergence ( 0-1 )
327  C     hFacMin      - Minimum fraction size of a cell (affects hFacC etc...)  C     hFacMin      - Minimum fraction size of a cell (affects hFacC etc...)
328  C     hFacMinDz    - Minimum dimesional size of a cell (affects hFacC etc..., m)  C     hFacMinDz    - Minimum dimesional size of a cell (affects hFacC etc..., m)
329  C     hFacMinDp    - Minimum dimesional size of a cell (affects hFacC etc..., Pa)  C     hFacMinDp    - Minimum dimesional size of a cell (affects hFacC etc..., Pa)
330  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)
331  C     tauCD        - CD scheme coupling timescale ( 1/s )  C     tauCD        - CD scheme coupling timescale ( 1/s )
332  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 )  
333  C     startTime     - Starting time for this integration ( s ).  C     startTime     - Starting time for this integration ( s ).
334  C     endTime       - Ending time for this integration ( s ).  C     endTime       - Ending time for this integration ( s ).
335  C     chkPtFreq     - Frequency of rolling check pointing ( s ).  C     chkPtFreq     - Frequency of rolling check pointing ( s ).
# Line 311  C     pfFacMom      - Momentum pressure Line 342  C     pfFacMom      - Momentum pressure
342  C     cfFacMom      - Coriolis term tracer parameter  C     cfFacMom      - Coriolis term tracer parameter
343  C     foFacMom      - Momentum forcing tracer parameter  C     foFacMom      - Momentum forcing tracer parameter
344  C     mtFacMom      - Metric terms tracer parameter  C     mtFacMom      - Metric terms tracer parameter
345    C     cosPower      - Power of cosine of latitude to multiply viscosity
346  C     cAdjFreq      - Frequency of convective adjustment  C     cAdjFreq      - Frequency of convective adjustment
347  C  C
348  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 360  C     recip_horiVertRatio  ( 1 if horiz
360  C                          ( g*rho if horiz in m and vertical in Pa ).  C                          ( g*rho if horiz in m and vertical in Pa ).
361  C     latFFTFiltLo       - Low latitude for FFT filtering of latitude  C     latFFTFiltLo       - Low latitude for FFT filtering of latitude
362  C                          circles ( see filter*.F )  C                          circles ( see filter*.F )
363    C     Ro_SeaLevel        - standard position of Sea-Level in "R" coordinate, used as
364    C                          starting value (k=1) for vertical coordinate (rf(1)=Ro_SeaLevel)
365    C     bottomDragLinear   - Drag coefficient built in to core dynamics
366    C         "     Quadratic  ( linear: 1/s, quadratic: 1/m )
367        COMMON /PARM_R/ cg2dTargetResidual, cg2dpcOffDFac,        COMMON /PARM_R/ cg2dTargetResidual, cg2dpcOffDFac,
368       & cg3dTargetResidual,       & cg3dTargetResidual,
369       & delP, delZ, delR, delX, delY,       & delP, delZ, delR, delX, delY,
# Line 336  C                          circles ( see Line 372  C                          circles ( see
372       & viscAh,  viscAz,  viscA4,  viscAr,       & viscAh,  viscAz,  viscA4,  viscAr,
373       & diffKhT, diffKzT, diffK4T, diffKrT,       & diffKhT, diffKzT, diffK4T, diffKrT,
374       & diffKhS, diffKzS, diffK4S, diffKrS,       & diffKhS, diffKzS, diffK4S, diffKrS,
375       & delT, tauCD, rCD, freeSurfFac, hFacMin, hFacMinDz,       & delT, tauCD, rCD, freeSurfFac, implicSurfPress, implicDiv2Dflow,
376       & GMmaxslope,GMlength,GMalpha,GMdepth,GMkbackground,GMmaxval,       & hFacMin, hFacMinDz,
377       & gravity, recip_Gravity, gBaro, rhonil, recip_rhonil,       & gravity, recip_Gravity, gBaro, rhonil, recip_rhonil,
378       & recip_rhoConst, rhoConst, tRef, sRef,       & recip_rhoConst, rhoConst, tRef, sRef,
379       & endTime, chkPtFreq, pchkPtFreq, dumpFreq, taveFreq,       & endTime, chkPtFreq, pchkPtFreq, dumpFreq, taveFreq,
380       & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom,       & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom,
381         & cosPower,
382       & cAdjFreq, omega, tauThetaClimRelax, lambdaThetaClimRelax,       & cAdjFreq, omega, tauThetaClimRelax, lambdaThetaClimRelax,
383       & tauSaltClimRelax, lambdaSaltClimRelax,       & tauSaltClimRelax, lambdaSaltClimRelax,
384       & externForcingCycle, externForcingPeriod,       & externForcingCycle, externForcingPeriod,
385       & viscAp, diffKpT, diffKpS, hFacMinDr, hFacMinDp,       & viscAp, diffKpT, diffKpS, hFacMinDr, hFacMinDp,
386       & theta_S, specVol_S, horiVertRatio, recip_horiVertRatio,       & theta_S, specVol_S, horiVertRatio, recip_horiVertRatio,
387       & latFFTFiltLo       & latFFTFiltLo, ivdc_kappa, Ro_SeaLevel, zonal_filt_lat,
388         & bottomDragLinear,bottomDragQuadratic
389    
390        _RL cg2dTargetResidual        _RL cg2dTargetResidual
391        _RL cg3dTargetResidual        _RL cg3dTargetResidual
# Line 368  C                          circles ( see Line 406  C                          circles ( see
406        _RL recip_RSphere        _RL recip_RSphere
407        _RL f0        _RL f0
408        _RL freeSurfFac        _RL freeSurfFac
409          _RL implicSurfPress
410          _RL implicDiv2Dflow
411        _RL hFacMin        _RL hFacMin
412        _RL hFacMinDz        _RL hFacMinDz
413        _RL hFacMinDp        _RL hFacMinDp
# Line 391  C                          circles ( see Line 431  C                          circles ( see
431        _RL delt        _RL delt
432        _RL tauCD        _RL tauCD
433        _RL rCD        _RL rCD
       _RL GMmaxslope  
       _RL GMlength  
       _RL GMalpha  
       _RL GMdepth  
       _RL GMkbackground  
       _RL GMmaxval  
434        _RL gravity        _RL gravity
435        _RL recip_gravity        _RL recip_gravity
436        _RL gBaro        _RL gBaro
# Line 421  C                          circles ( see Line 455  C                          circles ( see
455        _RL cfFacMom        _RL cfFacMom
456        _RL foFacMom        _RL foFacMom
457        _RL mTFacMom        _RL mTFacMom
458          _RL cosPower
459        _RL cAdjFreq        _RL cAdjFreq
460        _RL omega        _RL omega
461        _RL tauThetaClimRelax        _RL tauThetaClimRelax
# Line 432  C                          circles ( see Line 467  C                          circles ( see
467        _RL horiVertRatio        _RL horiVertRatio
468        _RL recip_horiVertRatio        _RL recip_horiVertRatio
469        _RL latFFTFiltLo        _RL latFFTFiltLo
470          _RL ivdc_kappa
471          _RL Ro_SeaLevel
472          _RL zonal_filt_lat
473          _RL bottomDragLinear
474          _RL bottomDragQuadratic
475    
476        COMMON /PARM_A/ HeatCapacity_Cp,        COMMON /PARM_A/ HeatCapacity_Cp,recip_Cp,
477       &                Lamba_theta       &                Lamba_theta
478        _RL HeatCapacity_Cp        _RL HeatCapacity_Cp
479        _RL Lamba_theta        _RL Lamba_theta
480          _RL recip_Cp
481    
482  C Equation of State (polynomial coeffients)  C Equation of State (polynomial coeffients)
483        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 490  C     sBeta     - Linear EOS haline cont
490        _RL sBeta        _RL sBeta
491        character*(6) eosType        character*(6) eosType
492    
493  C These are input arrays (of integers) that contain the *absolute*  C Logical flags for selecting packages
494  C computational index of an open-boundary (OB) point.        LOGICAL useKPP
495  C A zero (0) element means there is no corresponding OB in that column/row.        LOGICAL useGMRedi
496  C The computational coordinate refers to "tracer" cells.        LOGICAL useOBCS
497  C For a northern/southern OB, the OB V point is to the south/north.        LOGICAL useAIM
498  C For an eastern/western OB, the OB U point is to the west/east.        LOGICAL useECCO
499  C eg.        COMMON /PARM_PACKAGES/
500  C     OB_Jnorth(3)=34  means that:       &        useKPP, useGMRedi, useOBCS, useAIM, useECCO
501  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.49

  ViewVC Help
Powered by ViewVC 1.1.22