--- MITgcm/model/inc/PARAMS.h 2004/09/10 12:19:29 1.124 +++ MITgcm/model/inc/PARAMS.h 2005/04/03 05:16:43 1.149 @@ -1,4 +1,4 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/inc/PARAMS.h,v 1.124 2004/09/10 12:19:29 edhill Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/inc/PARAMS.h,v 1.149 2005/04/03 05:16:43 edhill Exp $ C $Name: $ C @@ -68,7 +68,10 @@ C surfQswFile :: File containing surface shortwave radiation C dQdTfile :: File containing thermal relaxation coefficient C EmPmRfile :: File containing surface fresh water flux +C saltFluxFile :: File containing surface salt flux C pLoadFile :: File containing pressure loading +C eddyTauxFile :: File containing zonal Eddy stress data +C eddyTauyFile :: File containing meridional Eddy stress data C buoyancyRelation :: Flag used to indicate which relation to use to C get buoyancy. C eosType :: choose the equation of state: @@ -79,9 +82,11 @@ & hydrogThetaFile, hydrogSaltFile, & zonalWindFile, meridWindFile, thetaClimFile, & saltClimFile, buoyancyRelation, - & EmPmRfile, surfQfile, surfQnetFile, surfQswFile, + & EmPmRfile, saltFluxFile, + & surfQfile, surfQnetFile, surfQswFile, & uVelInitFile, vVelInitFile, pSurfInitFile, & dQdTfile, ploadFile, + & eddyTauxFile, eddyTauyFile, & eosType, pickupSuff, & mdsioLocalDir, & the_run_name @@ -97,12 +102,15 @@ CHARACTER*(MAX_LEN_FNAM) surfQnetFile CHARACTER*(MAX_LEN_FNAM) surfQswFile CHARACTER*(MAX_LEN_FNAM) EmPmRfile + CHARACTER*(MAX_LEN_FNAM) saltFluxFile CHARACTER*(MAX_LEN_FNAM) buoyancyRelation CHARACTER*(MAX_LEN_FNAM) uVelInitFile CHARACTER*(MAX_LEN_FNAM) vVelInitFile CHARACTER*(MAX_LEN_FNAM) pSurfInitFile CHARACTER*(MAX_LEN_FNAM) dQdTfile CHARACTER*(MAX_LEN_FNAM) ploadFile + CHARACTER*(MAX_LEN_FNAM) eddyTauxFile + CHARACTER*(MAX_LEN_FNAM) eddyTauyFile CHARACTER*(MAX_LEN_FNAM) mdsioLocalDir CHARACTER*(MAX_LEN_FNAM) the_run_name CHARACTER*(6) eosType @@ -149,7 +157,6 @@ & nonlinFreeSurf, select_rStar, & tempAdvScheme, tempVertAdvScheme, & saltAdvScheme, saltVertAdvScheme, - & tracerAdvScheme, & debugLevel INTEGER cg2dMaxIters INTEGER cg2dChkResFreq @@ -168,7 +175,6 @@ INTEGER select_rStar INTEGER tempAdvScheme, tempVertAdvScheme INTEGER saltAdvScheme, saltVertAdvScheme - INTEGER tracerAdvScheme INTEGER debugLevel C @@ -198,14 +204,10 @@ C usingSphericalPolarMTerms :: If TRUE use spherical polar metric terms. C useNHMTerms :: If TRUE use non-hydrostatic metric terms. C useCoriolis :: Flag which turns the coriolis terms on and off. -C tempDiffusion :: Flag which turns diffusion of temperature on -C and off. C tempAdvection :: Flag which turns advection of temperature on C and off. C tempForcing :: Flag which turns external forcing of temperature on C and off. -C saltDiffusion :: Flag which turns diffusion of salinity on -C and off. C saltAdvection :: Flag which turns advection of salinity on C and off. C saltForcing :: Flag which turns external forcing of salinity on @@ -213,6 +215,8 @@ C useRealFreshWaterFlux :: if True (=Natural BCS), treats P+R-E flux C as a real Fresh Water (=> changes the Sea Level) C if F, converts P+R-E to salt flux (no SL effect) +C useFullLeith :: Set to true to use full Leith viscosity (may be unstable +C on irregular grids) C rigidLid :: Set to true to use rigid lid C implicitFreeSurface :: Set to true to use implcit free surface C exactConserv :: Set to true to conserve exactly the total Volume @@ -221,7 +225,6 @@ C momStepping :: Turns momentum equation time-stepping off C tempStepping :: Turns temperature equation time-stepping off C saltStepping :: Turns salinity equation time-stepping off -C tr1Stepping :: Turns passive tracer 1 time-stepping on/off 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) @@ -246,10 +249,14 @@ C doSaltClimRelax :: Set true if relaxation to salinity 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. (jmc: is it still used ?) -C usingZCoords :: Set to indicate that we are working in height -C coords. (jmc: is it still used ?) +C usingPCoords :: Set to indicate that we are working in a pressure +C type coordinate (p or p*). +C usingZCoords :: Set to indicate that we are working in a height +C type coordinate (z or z*) +C fluidIsAir :: Set to indicate that the fluid major constituent +C is air +C fluidIsWater :: Set to indicate that the fluid major constituent +C is water 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 @@ -268,18 +275,24 @@ C pickup_write_immed :: echo the pickup immediately (for conversion) C timeave_mdsio :: use mdsio for timeave output C snapshot_mdsio :: use mdsio for "snapshot" (dumpfreq/diagfreq) output -C monitor_mdsio :: use mdsio for monitor output +C seaice_mdsio :: use mdsio for seaice output +C monitor_stdio :: use stdio for monitor output +C calendarDumps :: When set, approximate months (30-31 days) and years (360-372 days) +C for parameters chkPtFreq, pChkPtFreq, taveFreq, SEAICE_taveFreq, +C KPP_taveFreq, and freq in pkg/diagnostics are converted to exact +C calendar months and years. Requires pkg/cal. COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid, & usingCurvilinearGrid, usingCylindricalGrid, & no_slip_sides,no_slip_bottom, & staggerTimeStep, & momViscosity, momAdvection, momForcing, useCoriolis, & momPressureForcing, vectorInvariantMomentum, - & tempDiffusion, tempAdvection, tempForcing, - & saltDiffusion, saltAdvection, saltForcing, + & tempAdvection, tempForcing, + & saltAdvection, saltForcing, & useRealFreshWaterFlux, + & useFullLeith, & rigidLid, implicitFreeSurface, exactConserv, uniformLin_PhiSurf, - & momStepping, tempStepping, saltStepping, tr1Stepping, + & momStepping, tempStepping, saltStepping, & metricTerms, usingSphericalPolarMTerms, useNHMTerms, & useConstantF, useBetaPlaneF, useSphereF, & useCDscheme, @@ -291,13 +304,18 @@ & multiDimAdvection, useMultiDimAdvec, forcing_In_AB, & doThetaClimRelax, doSaltClimRelax, doTr1ClimRelax, & periodicExternalForcing, + & fluidIsAir, fluidIsWater, & usingPCoords, usingZCoords, useDynP_inEos_Zc, setCenterDr, & nonHydrostatic, quasiHydrostatic, globalFiles, useSingleCpuIO, & allowFreezing, useOldFreezing, groundAtK1, & usePickupBeforeC35, usePickupBeforeC54, debugMode, & readPickupWithTracer, writePickupWithTracer, & pickup_read_mdsio, pickup_write_mdsio, pickup_write_immed, - & timeave_mdsio, snapshot_mdsio, monitor_mdsio + & timeave_mdsio, snapshot_mdsio, monitor_stdio, seaice_mdsio, + & outputTypesInclusive, + & inAdMode, inAdTrue, inAdFalse, inAdExact, + & calendarDumps + LOGICAL usingCartesianGrid LOGICAL usingSphericalPolarGrid LOGICAL usingCylindricalGrid @@ -313,13 +331,12 @@ LOGICAL momPressureForcing LOGICAL useCoriolis LOGICAL vectorInvariantMomentum - LOGICAL tempDiffusion LOGICAL tempAdvection LOGICAL tempForcing - LOGICAL saltDiffusion LOGICAL saltAdvection LOGICAL saltForcing LOGICAL useRealFreshWaterFlux + LOGICAL useFullLeith LOGICAL rigidLid LOGICAL implicitFreeSurface LOGICAL exactConserv @@ -327,7 +344,6 @@ LOGICAL momStepping LOGICAL tempStepping LOGICAL saltStepping - LOGICAL tr1Stepping LOGICAL metricTerms LOGICAL useConstantF LOGICAL useBetaPlaneF @@ -352,6 +368,8 @@ LOGICAL doSaltClimRelax LOGICAL doTr1ClimRelax LOGICAL periodicExternalForcing + LOGICAL fluidIsAir + LOGICAL fluidIsWater LOGICAL usingPCoords LOGICAL usingZCoords LOGICAL useDynP_inEos_Zc @@ -370,7 +388,11 @@ LOGICAL writePickupWithTracer LOGICAL pickup_read_mdsio, pickup_write_mdsio LOGICAL pickup_write_immed - LOGICAL timeave_mdsio, snapshot_mdsio, monitor_mdsio + LOGICAL timeave_mdsio, snapshot_mdsio, monitor_stdio + LOGICAL seaice_mdsio + LOGICAL outputTypesInclusive + LOGICAL inAdMode, inAdTrue, inAdFalse, inAdExact + LOGICAL calendarDumps C-- COMMON /PARM_R/ "Real" valued parameters used by the model. C cg2dTargetResidual @@ -403,6 +425,8 @@ C rhoNil :: Reference density for the linear equation of state C rhoConst :: Vertically constant reference density C rhoConstFresh :: Constant reference density for fresh water (rain) +C tRef :: reference vertical profile for potential temperature +C sRef :: reference vertical profile for salinity/specific humidity C startTime :: Start time for model ( s ) C phiMin :: Latitude of southern most cell face. C thetaMin :: Longitude of western most cell face (this @@ -417,28 +441,49 @@ C rotationPeriod :: Rotation period (s) (= 2.pi/omega) C viscAh :: Eddy viscosity coeff. for mixing of C momentum laterally ( m^2/s ) +C viscAhW :: Eddy viscosity coeff. for mixing of vertical +C momentum laterally, no effect for hydrostatic +C model, defaults to viscAh if unset ( m^2/s ) C viscAr :: Eddy viscosity coeff. for mixing of C momentum vertically ( units of r^2/s ) C viscA4 :: Biharmonic viscosity coeff. for mixing of C momentum laterally ( m^4/s ) -C viscC2leith :: Leith non-dimensional viscosity factor +C viscA4W :: Biharmonic viscosity coeff. for mixing of vertical +C momentum laterally, no effect for hydrostatic +C model, defaults to viscA4 if unset ( m^2/s ) +C viscAhD :: Eddy viscosity coeff. for mixing of momentum laterally +C (act on Divergence part) ( m^2/s ) +C viscAhZ :: Eddy viscosity coeff. for mixing of momentum laterally +C (act on Vorticity part) ( m^2/s ) +C viscA4D :: Biharmonic viscosity coeff. for mixing of momentum laterally +C (act on Divergence part) ( m^4/s ) +C viscA4Z :: Biharmonic viscosity coeff. for mixing of momentum laterally +C (act on Vorticity part) ( m^4/s ) +C viscC2leith :: Leith non-dimensional viscosity factor (grad(vort)) +C viscC2leithD :: Modified Leith non-dimensional viscosity factor (grad(div)) +C viscC2smag :: Smagorinsky non-dimensional viscosity factor C viscAhMax :: Maximum eddy viscosity coeff. for mixing of C momentum laterally ( m^2/s ) +C viscAhGridMax:: maximum and minimum harmonic viscosity coefficients ... +C viscAhGridMin:: in terms of non-dimensional grid-size dependent viscosity C viscA4Max :: Maximum biharmonic viscosity coeff. for mixing of C momentum laterally ( m^4/s ) C viscAhGrid:: non-dimensional grid-size dependent viscosity C viscA4Grid:: non-dimensional grid-size dependent bi-harmonic viscosity -C viscC4leith :: Leith non-dimensional viscosity factor +C viscA4GridMax:: maximum and minimum biharmonic viscosity coefficients ... +C viscA4GridMin:: in terms of non-dimensional grid-size dependent viscosity +C viscC4leith :: Leith non-dimensional viscosity factor (grad(vort)) +C viscC4leithD :: Modified Leith non-dimensional viscosity factor (grad(div)) C diffKhT :: Laplacian diffusion coeff. for mixing of C heat laterally ( m^2/s ) -C diffKrT :: Laplacian diffusion coeff. for mixing of -C heat vertically ( units of r^2/s ) +C diffKrNrT :: vertical profile of Laplacian diffusion coeff. +C for mixing of heat vertically ( units of r^2/s ) C diffK4T :: Biharmonic diffusion coeff. for mixing of C heat laterally ( m^4/s ) C diffKhS :: Laplacian diffusion coeff. for mixing of C salt laterally ( m^2/s ) -C diffKrS :: Laplacian diffusion coeff. for mixing of -C salt vertically ( units of r^2/s ) +C diffKrNrS :: vertical profile of Laplacian diffusion coeff. +C for mixing of salt vertically ( units of r^2/s ), C diffK4S :: Biharmonic diffusion coeff. for mixing of C salt laterally ( m^4/s ) C diffKrBL79surf :: T/S surface diffusivity (m^2/s) Bryan and Lewis, 1979 @@ -453,7 +498,7 @@ C Frequency of checkpointing and dumping of the model state C are referenced to this clock. ( s ) C deltaTMom :: Timestep for momemtum equations ( s ) -C deltaTtracer :: Timestep for tracer equations ( s ) +C dTtracerLev :: Timestep for tracer equations ( s ), function of level k C deltaTfreesurf :: Timestep for free-surface equation ( s ) C freesurfFac :: Parameter to turn implicit free surface term on or off C freesurfac = 1. uses implicit free surface @@ -506,7 +551,6 @@ C (use model surface (local) value if set to -1) C temp_EvPrRn :: temperature of Rain & Evap. C salt_EvPrRn :: salinity of Rain & Evap. -C trac_EvPrRn :: tracer concentration in Rain & Evap. C (notes: a) tracer content of Rain/Evap only used if both C NonLin_FrSurf & useRealFreshWater are set. C b) use model surface (local) value if set to UNSET_RL) @@ -520,15 +564,20 @@ COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit, & cg2dpcOffDFac, cg3dTargetResidual, & delR, delRc, delX, delY, - & deltaT, deltaTmom, deltaTtracer, deltaTfreesurf, deltaTClock, + & deltaT, deltaTmom, dTtracerLev, deltaTfreesurf, deltaTClock, & abeps, startTime, & phiMin, thetaMin, rSphere, recip_RSphere, f0, beta, & fCori, fCoriG, fCoriCos, - & viscAh, viscAhMax, viscAhGrid, viscC2leith, - & viscA4, viscA4Max, viscA4Grid, viscC4leith, - & viscAr, viscAstrain, viscAtension, - & diffKhT, diffK4T, diffKrT, - & diffKhS, diffK4S, diffKrS, + & viscAh, viscAhW, viscAhMax, + & viscAhGrid, viscAhGridMax, viscAhGridMin, + & viscC2leith, viscC2leithD, + & viscC2smag, + & viscAhD, viscAhZ, viscA4D, viscA4Z, + & viscA4, viscA4W, + & viscA4Max, viscA4Grid, viscA4GridMax, viscA4GridMin, + & viscC4leith, viscC4leithD, viscAr, viscAstrain, viscAtension, + & diffKhT, diffK4T, diffKrNrT, + & diffKhS, diffK4S, diffKrNrS, & diffKrBL79surf, diffKrBL79deep, diffKrBL79scl, diffKrBL79Ho, & delT, tauCD, rCD, freeSurfFac, implicSurfPress, implicDiv2Dflow, & hFacMin, hFacMinDz, hFacInf, hFacSup, @@ -536,19 +585,19 @@ & recip_rhoConst, rhoConst, & rhoConstFresh, convertEmP2rUnit, tRef, sRef, & endTime, chkPtFreq, pchkPtFreq, dumpFreq, adjDumpFreq, - & diagFreq, taveFreq, tave_lastIter, monitorFreq, + & diagFreq, taveFreq, tave_lastIter, monitorFreq, adjMonitorFreq, & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom, & cosPower, cAdjFreq, omega, rotationPeriod, & tauThetaClimRelax, lambdaThetaClimRelax, & tauSaltClimRelax, lambdaSaltClimRelax, & tauTr1ClimRelax, lambdaTr1ClimRelax, latBandClimRelax, & externForcingCycle, externForcingPeriod, - & convertFW2Salt, temp_EvPrRn, salt_EvPrRn, trac_EvPrRn, + & convertFW2Salt, temp_EvPrRn, salt_EvPrRn, & hFacMinDr, hFacMinDp, & horiVertRatio, recip_horiVertRatio, & ivdc_kappa, Ro_SeaLevel, & bottomDragLinear,bottomDragQuadratic, - & tCyl + & tCylIn, tCylOut _RL cg2dTargetResidual _RL cg2dTargetResWunit @@ -561,7 +610,7 @@ _RL deltaT _RL deltaTClock _RL deltaTmom - _RL deltaTtracer + _RL dTtracerLev(Nr) _RL deltaTfreesurf _RL abeps _RL phiMin @@ -580,21 +629,32 @@ _RL hFacSup _RL beta _RL viscAh + _RL viscAhW + _RL viscAhD + _RL viscAhZ _RL viscAhMax _RL viscAhGrid + _RL viscAhGridMax + _RL viscAhGridMin _RL viscC2leith + _RL viscC2leithD + _RL viscC2smag _RL viscAstrain _RL viscAtension _RL viscAr _RL viscA4 + _RL viscA4W + _RL viscA4D + _RL viscA4Z _RL viscA4Max - _RL viscA4Grid + _RL viscA4Grid, viscA4GridMax, viscA4GridMin _RL viscC4leith + _RL viscC4leithD _RL diffKhT - _RL diffKrT + _RL diffKrNrT(Nr) _RL diffK4T _RL diffKhS - _RL diffKrS + _RL diffKrNrS(Nr) _RL diffK4S _RL diffKrBL79surf _RL diffKrBL79deep @@ -627,6 +687,7 @@ _RL taveFreq _RL tave_lastIter _RL monitorFreq + _RL adjMonitorFreq _RL afFacMom _RL vfFacMom _RL pfFacMom @@ -649,14 +710,14 @@ _RL convertFW2Salt _RL temp_EvPrRn _RL salt_EvPrRn - _RL trac_EvPrRn _RL horiVertRatio _RL recip_horiVertRatio _RL ivdc_kappa _RL Ro_SeaLevel _RL bottomDragLinear _RL bottomDragQuadratic - _RL tCyl + _RL tCylIn + _RL tCylOut C-- COMMON /PARM_A/ Thermodynamics constants ? COMMON /PARM_A/ HeatCapacity_Cp,recip_Cp @@ -684,8 +745,10 @@ INTEGER integr_GeoPot, selectFindRoSurf C Logical flags for selecting packages + LOGICAL useOPPS LOGICAL usePP81 LOGICAL useMY82 + LOGICAL useGGL90 LOGICAL useKPP LOGICAL useGMRedi LOGICAL useOBCS @@ -697,6 +760,7 @@ LOGICAL useZONAL_FILT LOGICAL useFLT LOGICAL usePTRACERS + LOGICAL useGCHEM LOGICAL useSBO LOGICAL useSEAICE LOGICAL useBulkForce @@ -705,12 +769,14 @@ LOGICAL usegridalt LOGICAL usediagnostics LOGICAL useEBM + LOGICAL useMNC COMMON /PARM_PACKAGES/ & useKPP, useGMRedi, useOBCS, useAIM, useLand, useECCO, & useSHAP_FILT, useZONAL_FILT, useGrdchk, useFLT, - & usePTRACERS, useSBO, useSEAICE, useThSIce, useBulkForce, - & usefizhi, usegridalt, usediagnostics, useEBM, - & usePP81, useMY82 + & usePTRACERS, useGCHEM, + & useSBO, useSEAICE, useThSIce, useBulkForce, + & usefizhi, usegridalt, usediagnostics, useEBM, useMNC, + & usePP81, useMY82, useOPPS, useGGL90 CEH3 ;;; Local Variables: *** CEH3 ;;; mode:fortran ***