--- MITgcm/model/inc/PARAMS.h 2002/11/07 21:51:15 1.79 +++ MITgcm/model/inc/PARAMS.h 2003/06/12 18:08:04 1.91 @@ -1,4 +1,4 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/inc/PARAMS.h,v 1.79 2002/11/07 21:51:15 adcroft Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/inc/PARAMS.h,v 1.91 2003/06/12 18:08:04 jmc Exp $ C $Name: $ C CBOP @@ -73,7 +73,7 @@ C buoyancyRelation :: Flag used to indicate which relation to use to C get buoyancy. C eosType :: choose the equation of state: -C LINEAR, POLY3, UNESCO, JMD95Z, JMD95P +C LINEAR, POLY3, UNESCO, JMD95Z, JMD95P, MDJWF, IDEALGAS COMMON /PARM_C/ checkPtSuff, & bathyFile, topoFile, & hydrogThetaFile, hydrogSaltFile, @@ -82,7 +82,7 @@ & EmPmRfile, surfQfile, surfQswfile, & uVelInitFile, vVelInitFile, pSurfInitFile, & dQdTfile, ploadFile, - & eosType + & eosType, pickupSuff CHARACTER*(5) checkPtSuff(maxNoChkptLev) CHARACTER*(MAX_LEN_FNAM) bathyFile, topoFile CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile @@ -101,6 +101,7 @@ CHARACTER*(MAX_LEN_FNAM) dQdTfile CHARACTER*(MAX_LEN_FNAM) ploadFile CHARACTER*(6) eosType + CHARACTER*(10) pickupSuff C-- COMMON /PARM_I/ Integer valued parameters used by the model. C cg2dMaxIters :: Maximum number of iterations in the @@ -121,6 +122,8 @@ C nCheckLev :: Holds current checkpoint level C nonlinFreeSurf :: option related to non-linear free surface C =0 Linear free surface ; >0 Non-linear +C select_rStar :: option related to r* vertical coordinate +C =0 (default) use r coord. ; > 0 use r* COMMON /PARM_I/ & cg2dMaxIters, @@ -131,7 +134,7 @@ & numStepsPerPickup, & writeStatePrec, nCheckLev, & writeBinaryPrec, readBinaryPrec, - & nonlinFreeSurf, + & nonlinFreeSurf, select_rStar, & tempAdvScheme, saltAdvScheme, tracerAdvScheme INTEGER cg2dMaxIters INTEGER cg2dChkResFreq @@ -146,6 +149,7 @@ INTEGER readBinaryPrec INTEGER nCheckLev INTEGER nonlinFreeSurf + INTEGER select_rStar INTEGER tempAdvScheme INTEGER saltAdvScheme INTEGER tracerAdvScheme @@ -195,6 +199,7 @@ C useConstantF :: Coriolis parameter set to f0 C useBetaPlaneF :: Coriolis parameter set to f0 + beta.y C useSphereF :: Coriolis parameter set to 2.omega.sin(phi) +C useCDscheme :: use CD-scheme to calculate Coriolis terms. C useJamartWetPoints :: Use wet-point method for Coriolis (Jamart and Ozer, 1986) C implicitDiffusion :: Turns implicit vertical diffusion on C implicitViscosity :: Turns implicit vertical viscosity on @@ -207,13 +212,19 @@ C climatology is required. C periodicExternalForcing :: Set true if forcing is time-dependant C usingPCoords :: Set to indicate that we are working in pressure -C coords. +C coords. (jmc: is it still used ?) C usingZCoords :: Set to indicate that we are working in height -C coords. +C coords. (jmc: is it still used ?) +C useDynP_inEos_Zc :: use the dynamical pressure in EOS (with Z-coord.) +C this requires specific code for restart & exchange C setCenterDr :: set cell Center depth and put Interface at the middle C nonHydrostatic :: Using non-hydrostatic terms C quasiHydrostatic :: Using non-hydrostatic terms in hydrostatic algorithm C globalFiles :: Selects between "global" and "tiled" files +C useSingleCpuIO :: On SGI platforms, option globalFiles is either +C slow (f77) or does not work (f90). When +C useSingleCpuIO is set, mdsio_writefield.F +C outputs from master mpi process only. C allowFreezing :: Allows water to freeze and form ice C groundAtK1 :: put the surface(k=1) at the Lower Boundary (=ground) COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid, @@ -229,13 +240,14 @@ & momStepping, tempStepping, saltStepping, tr1Stepping, & metricTerms, usingSphericalPolarMTerms, useNHMTerms, & useConstantF, useBetaPlaneF, useSphereF, + & useCDscheme, & useEnergyConservingCoriolis, useJamartWetPoints, & implicitDiffusion, implicitViscosity, & multiDimAdvection, forcing_In_AB, & doThetaClimRelax, doSaltClimRelax, doTr1ClimRelax, & periodicExternalForcing, - & usingPCoords, usingZCoords, setCenterDr, - & nonHydrostatic, quasiHydrostatic, globalFiles, + & usingPCoords, usingZCoords, useDynP_inEos_Zc, setCenterDr, + & nonHydrostatic, quasiHydrostatic, globalFiles, useSingleCpuIO, & allowFreezing, groundAtK1, & usePickupBeforeC35, debugMode, & readPickupWithTracer, writePickupWithTracer @@ -272,6 +284,7 @@ LOGICAL useConstantF LOGICAL useBetaPlaneF LOGICAL useSphereF + LOGICAL useCDscheme LOGICAL useEnergyConservingCoriolis LOGICAL useJamartWetPoints LOGICAL implicitDiffusion @@ -284,10 +297,12 @@ LOGICAL periodicExternalForcing LOGICAL usingPCoords LOGICAL usingZCoords + LOGICAL useDynP_inEos_Zc LOGICAL setCenterDr LOGICAL nonHydrostatic LOGICAL quasiHydrostatic LOGICAL globalFiles + LOGICAL useSingleCpuIO LOGICAL allowFreezing LOGICAL groundAtK1 LOGICAL usePickupBeforeC35 @@ -339,6 +354,7 @@ C ( Southern edge f for beta plane ) C beta :: df/dy ( s^-1.m^-1 ) C omega :: Angular velocity ( rad/s ) +C rotationPeriod :: Rotation period (s) (= 2.pi/omega) C viscAh :: Eddy viscosity coeff. for mixing of C momentum laterally ( m^2/s ) C viscAz :: Eddy viscosity coeff. for mixing of @@ -457,7 +473,7 @@ & endTime, chkPtFreq, pchkPtFreq, dumpFreq, & diagFreq, taveFreq, tave_lastIter, monitorFreq, & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom, - & cosPower, cAdjFreq, omega, + & cosPower, cAdjFreq, omega, rotationPeriod, & tauThetaClimRelax, lambdaThetaClimRelax, & tauSaltClimRelax, lambdaSaltClimRelax, & tauTr1ClimRelax, lambdaTr1ClimRelax, @@ -551,6 +567,7 @@ _RL cosPower _RL cAdjFreq _RL omega + _RL rotationPeriod _RL tauThetaClimRelax _RL lambdaThetaClimRelax _RL tauSaltClimRelax @@ -570,46 +587,51 @@ _RL bottomDragLinear _RL bottomDragQuadratic - COMMON /PARM_A/ HeatCapacity_Cp,recip_Cp, - & Lamba_theta +C-- COMMON /PARM_A/ Thermodynamics constants ? + COMMON /PARM_A/ HeatCapacity_Cp,recip_Cp _RL HeatCapacity_Cp - _RL Lamba_theta _RL recip_Cp -CmlC Equation of State (polynomial coeffients) -Cml COMMON /PARM_EOS_NL/ eosC,eosSig0,eosRefT,eosRefS -Cml _RL eosC(9,Nr+1),eosSig0(Nr+1),eosRefT(Nr+1),eosRefS(Nr+1) -CmlC Linear equation of state -CmlC tAlpha :: Linear EOS thermal expansion coefficient ( 1/degree ). -CmlC sBeta :: Linear EOS haline contraction coefficient. -Cml COMMON /PARM_EOS_LIN/ tAlpha,sBeta,eosType -Cml _RL tAlpha -Cml _RL sBeta - -C Atmospheric physical parameters (Ideal Gas EOS, ...) -C atm_po :: standard reference pressure -C atm_cp :: specific heat (Cp) of the (dry) air at constant pressure +C-- COMMON /PARM_ATM/ Atmospheric physical parameters (Ideal Gas EOS, ...) +C celsius2K :: convert centigrade (Celsius) degree to Kelvin +C atm_Po :: standard reference pressure +C atm_Cp :: specific heat (Cp) of the (dry) air at constant pressure +C atm_Rd :: gas constant for dry air C atm_kappa :: kappa = R/Cp (R: constant of Ideal Gas EOS) -C Integr_GeoPot :: option to select the way we integrate the geopotential +C integr_GeoPot :: option to select the way we integrate the geopotential C (still a subject of discussions ...) - COMMON /PARM_ATM/ atm_cp, atm_kappa, atm_po, - & Integr_GeoPot - _RL atm_cp, atm_kappa, atm_po - INTEGER Integr_GeoPot +C selectFindRoSurf :: select the way surf. ref. pressure (=Ro_surf) is +C derived from the orography. Implemented: 0,1 (see INI_P_GROUND) + COMMON /PARM_ATM/ + & celsius2K, + & atm_Cp, atm_Rd, atm_kappa, atm_Po, + & integr_GeoPot, selectFindRoSurf + _RL celsius2K + _RL atm_Po, atm_Cp, atm_Rd, atm_kappa + INTEGER integr_GeoPot, selectFindRoSurf C Logical flags for selecting packages LOGICAL useKPP LOGICAL useGMRedi LOGICAL useOBCS LOGICAL useAIM + LOGICAL useLand LOGICAL useGrdchk LOGICAL useECCO LOGICAL useSHAP_FILT LOGICAL useZONAL_FILT LOGICAL useFLT LOGICAL usePTRACERS + LOGICAL useSBO + LOGICAL useSEAICE +cswdblk -- add --- + LOGICAL useBulkforce + LOGICAL useThermSEAICE +cswdblk --- end add --- COMMON /PARM_PACKAGES/ - & useKPP, useGMRedi, useOBCS, useAIM, useECCO, + & useKPP, useGMRedi, useOBCS, useAIM, useLand, useECCO, & useSHAP_FILT, useZONAL_FILT, useGrdchk, useFLT, - & usePTRACERS - + & usePTRACERS, useSBO, useSEAICE, +cswdblk -- add --- + & useThermSEAICE, useBulkforce +cswdblk --- end add ---