--- MITgcm/model/inc/PARAMS.h 2005/02/20 11:46:24 1.144 +++ MITgcm/model/inc/PARAMS.h 2005/08/15 23:05:28 1.163 @@ -1,4 +1,4 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/inc/PARAMS.h,v 1.144 2005/02/20 11:46:24 dimitri Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/inc/PARAMS.h,v 1.163 2005/08/15 23:05:28 molod Exp $ C $Name: $ C @@ -49,6 +49,10 @@ C-- COMMON /PARM_C/ Character valued parameters used by the model. C checkPtSuff :: List of checkpoint file suffices +C delXFile :: File containing X-spacing grid definition (1.D array) +C delYFile :: File containing Y-spacing grid definition (1.D array) +C horizGridFile :: File containing horizontal-grid definition +C (only when using curvilinear_grid) C bathyFile :: File containing bathymetry. If not defined bathymetry C is taken from inline function. C topoFile :: File containing the topography of the surface (unit=m) @@ -70,24 +74,32 @@ 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: C LINEAR, POLY3, UNESCO, JMD95Z, JMD95P, MDJWF, IDEALGAS C the_run_name :: string identifying the name of the model "run" COMMON /PARM_C/ checkPtSuff, + & delXFile, delYFile, horizGridFile, & bathyFile, topoFile, & hydrogThetaFile, hydrogSaltFile, & zonalWindFile, meridWindFile, thetaClimFile, & saltClimFile, buoyancyRelation, & EmPmRfile, saltFluxFile, & surfQfile, surfQnetFile, surfQswFile, + & lambdaThetaFile, lambdaSaltFile, & uVelInitFile, vVelInitFile, pSurfInitFile, & dQdTfile, ploadFile, + & eddyTauxFile, eddyTauyFile, & eosType, pickupSuff, & mdsioLocalDir, & the_run_name CHARACTER*(5) checkPtSuff(maxNoChkptLev) + CHARACTER*(MAX_LEN_FNAM) delXFile + CHARACTER*(MAX_LEN_FNAM) delYFile + CHARACTER*(MAX_LEN_FNAM) horizGridFile CHARACTER*(MAX_LEN_FNAM) bathyFile, topoFile CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile CHARACTER*(MAX_LEN_FNAM) hydrogSaltFile @@ -106,6 +118,10 @@ 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) lambdaThetaFile + CHARACTER*(MAX_LEN_FNAM) lambdaSaltFile CHARACTER*(MAX_LEN_FNAM) mdsioLocalDir CHARACTER*(MAX_LEN_FNAM) the_run_name CHARACTER*(6) eosType @@ -210,6 +226,11 @@ 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 useAnisotropicViscAGridMax :: Set to true to use Alistair's latest +C anisotropic length scale. It is used only for maximum viscosity +C calculations. Alistair recommends a value of viscA*GridMax=.25 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 @@ -226,7 +247,8 @@ C useJamartMomAdv :: Use wet-point method for V.I. non-linear term C SadournyCoriolis :: use the enstrophy conserving scheme by Sadourny C upwindVorticity :: bias interpolation of vorticity in the Coriolis term -C highOrderVorticity :: use 3rd/4th order interp. of vorticity in Coriolis +C highOrderVorticity :: use 3rd/4th order interp. of vorticity (V.I., advection) +C upwindShear :: use 1rst order upwind interp. (V.I., vertical advection) C useAbsVorticity :: work with f+zeta in Coriolis terms C implicitDiffusion :: Turns implicit vertical diffusion on C implicitViscosity :: Turns implicit vertical viscosity on @@ -237,6 +259,7 @@ C useMultiDimAdvec :: True if multi-dim advection is used at least once C forcing_In_AB :: if False, put forcing (Temp,Salt,Tracers) contribution C out off Adams-Bashforth time stepping. +C startFromPickupAB2 :: with AB-3 code, start from an AB-2 pickup C doThetaClimRelax :: Set true if relaxation to temperature C climatology is required. C doSaltClimRelax :: Set true if relaxation to salinity @@ -262,7 +285,6 @@ C outputs from master mpi process only. C allowFreezing :: Allows surface water to freeze and form ice C useOldFreezing :: use the old version (before checkpoint52a_pre, 2003-11-12) -C groundAtK1 :: put the surface(k=1) at the Lower Boundary (=ground) C pickup_write_mdsio :: use mdsio to write pickups C pickup_read_mdsio :: use mdsio to read pickups C pickup_write_immed :: echo the pickup immediately (for conversion) @@ -273,6 +295,7 @@ 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. +C nodumps :: Logical Flag to indicate whether to do ANY dumps at all COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid, & usingCurvilinearGrid, usingCylindricalGrid, & no_slip_sides,no_slip_bottom, @@ -282,6 +305,7 @@ & tempAdvection, tempForcing, & saltAdvection, saltForcing, & useRealFreshWaterFlux, + & useFullLeith, useAnisotropicViscAGridMax, & rigidLid, implicitFreeSurface, exactConserv, uniformLin_PhiSurf, & momStepping, tempStepping, saltStepping, & metricTerms, usingSphericalPolarMTerms, useNHMTerms, @@ -289,7 +313,7 @@ & useCDscheme, & useEnergyConservingCoriolis, useJamartWetPoints, useJamartMomAdv, & SadournyCoriolis, upwindVorticity, highOrderVorticity, - & useAbsVorticity, + & useAbsVorticity, upwindShear, & implicitDiffusion, implicitViscosity, & tempImplVertAdv, saltImplVertAdv, momImplVertAdv, & multiDimAdvection, useMultiDimAdvec, forcing_In_AB, @@ -298,14 +322,13 @@ & fluidIsAir, fluidIsWater, & usingPCoords, usingZCoords, useDynP_inEos_Zc, setCenterDr, & nonHydrostatic, quasiHydrostatic, globalFiles, useSingleCpuIO, - & allowFreezing, useOldFreezing, groundAtK1, - & usePickupBeforeC35, usePickupBeforeC54, debugMode, - & readPickupWithTracer, writePickupWithTracer, + & allowFreezing, useOldFreezing, + & usePickupBeforeC35, usePickupBeforeC54, startFromPickupAB2, & pickup_read_mdsio, pickup_write_mdsio, pickup_write_immed, & timeave_mdsio, snapshot_mdsio, monitor_stdio, - & outputTypesInclusive, + & outputTypesInclusive, debugMode, & inAdMode, inAdTrue, inAdFalse, inAdExact, - & calendarDumps + & calendarDumps, nodumps LOGICAL usingCartesianGrid LOGICAL usingSphericalPolarGrid @@ -327,6 +350,7 @@ LOGICAL saltAdvection LOGICAL saltForcing LOGICAL useRealFreshWaterFlux + LOGICAL useFullLeith, useAnisotropicViscAGridMax LOGICAL rigidLid LOGICAL implicitFreeSurface LOGICAL exactConserv @@ -346,6 +370,7 @@ LOGICAL upwindVorticity LOGICAL highOrderVorticity LOGICAL useAbsVorticity + LOGICAL upwindShear LOGICAL implicitDiffusion LOGICAL implicitViscosity LOGICAL tempImplVertAdv @@ -370,18 +395,17 @@ LOGICAL useSingleCpuIO LOGICAL allowFreezing LOGICAL useOldFreezing - LOGICAL groundAtK1 LOGICAL usePickupBeforeC35 LOGICAL usePickupBeforeC54 + LOGICAL startFromPickupAB2 LOGICAL debugMode - LOGICAL readPickupWithTracer - LOGICAL writePickupWithTracer LOGICAL pickup_read_mdsio, pickup_write_mdsio LOGICAL pickup_write_immed LOGICAL timeave_mdsio, snapshot_mdsio, monitor_stdio LOGICAL outputTypesInclusive LOGICAL inAdMode, inAdTrue, inAdFalse, inAdExact LOGICAL calendarDumps + LOGICAL nodumps C-- COMMON /PARM_R/ "Real" valued parameters used by the model. C cg2dTargetResidual @@ -416,7 +440,6 @@ 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 C is an "inert" parameter but it is included @@ -448,16 +471,21 @@ 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 +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 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 +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 diffKrNrT :: vertical profile of Laplacian diffusion coeff. @@ -487,6 +515,9 @@ C freesurfFac :: Parameter to turn implicit free surface term on or off C freesurfac = 1. uses implicit free surface C freesurfac = 0. uses rigid lid +C abEps :: Adams-Bashforth-2 stabilizing weight +C alph_AB :: Adams-Bashforth-3 primary factor +C beta_AB :: Adams-Bashforth-3 secondary factor C implicSurfPress :: parameter of the Crank-Nickelson time stepping : C Implicit part of Surface Pressure Gradient ( 0-1 ) C implicDiv2Dflow :: parameter of the Crank-Nickelson time stepping : @@ -499,6 +530,7 @@ C hFacSup that control vanishing and creating levels C tauCD :: CD scheme coupling timescale ( 1/s ) C rCD :: CD scheme normalised coupling parameter ( 0-1 ) +C baseTime :: model base time (time origin) = time @ iteration zero C startTime :: Starting time for this integration ( s ). C endTime :: Ending time for this integration ( s ). C chkPtFreq :: Frequency of rolling check pointing ( s ). @@ -522,9 +554,7 @@ C step (of each taveFreq period) put in the time average. C (fraction for 1rst iter = 1 - tave_lastIter) C tauThetaClimRelax :: Relaxation to climatology time scale ( s ). -C lambdaThetaClimRelax :: Inverse time scale for relaxation ( 1/s ). C tauSaltClimRelax :: Relaxation to climatology time scale ( s ). -C lambdaSaltClimRelax :: Inverse time scale for relaxation ( 1/s ). C latBandClimRelax :: latitude band where Relaxation to Clim. is applied, C i.e. where |yC| <= latBandClimRelax C externForcingPeriod :: Is the period of which forcing varies (eg. 1 month) @@ -549,14 +579,16 @@ & cg2dpcOffDFac, cg3dTargetResidual, & delR, delRc, delX, delY, & deltaT, deltaTmom, dTtracerLev, deltaTfreesurf, deltaTClock, - & abeps, startTime, + & abEps, alph_AB, beta_AB, & phiMin, thetaMin, rSphere, recip_RSphere, f0, beta, - & fCori, fCoriG, fCoriCos, - & viscAh, viscAhW, viscAhMax, viscAhGrid, viscC2leith, + & viscAh, viscAhW, viscAhMax, + & viscAhGrid, viscAhGridMax, viscAhGridMin, + & viscC2leith, viscC2leithD, + & viscC2smag, & viscAhD, viscAhZ, viscA4D, viscA4Z, & viscA4, viscA4W, & viscA4Max, viscA4Grid, viscA4GridMax, viscA4GridMin, - & viscC4leith, viscAr, viscAstrain, viscAtension, + & viscC4leith, viscC4leithD, viscAr, viscAstrain, viscAtension, & diffKhT, diffK4T, diffKrNrT, & diffKhS, diffK4S, diffKrNrS, & diffKrBL79surf, diffKrBL79deep, diffKrBL79scl, diffKrBL79Ho, @@ -565,21 +597,23 @@ & gravity, recip_Gravity, gBaro, rhonil, recip_rhonil, & recip_rhoConst, rhoConst, & rhoConstFresh, convertEmP2rUnit, tRef, sRef, - & endTime, chkPtFreq, pchkPtFreq, dumpFreq, adjDumpFreq, + & baseTime, startTime, endTime, + & chkPtFreq, pchkPtFreq, dumpFreq, adjDumpFreq, & diagFreq, taveFreq, tave_lastIter, monitorFreq, adjMonitorFreq, & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom, & cosPower, cAdjFreq, omega, rotationPeriod, - & tauThetaClimRelax, lambdaThetaClimRelax, - & tauSaltClimRelax, lambdaSaltClimRelax, + & tauThetaClimRelax, + & tauSaltClimRelax, & tauTr1ClimRelax, lambdaTr1ClimRelax, latBandClimRelax, & externForcingCycle, externForcingPeriod, & convertFW2Salt, temp_EvPrRn, salt_EvPrRn, & hFacMinDr, hFacMinDp, & horiVertRatio, recip_horiVertRatio, & ivdc_kappa, Ro_SeaLevel, - & bottomDragLinear,bottomDragQuadratic, + & bottomDragLinear,bottomDragQuadratic,nh_Am2, & tCylIn, tCylOut + _RL nh_Am2 _RL cg2dTargetResidual _RL cg2dTargetResWunit _RL cg3dTargetResidual @@ -593,7 +627,7 @@ _RL deltaTmom _RL dTtracerLev(Nr) _RL deltaTfreesurf - _RL abeps + _RL abEps, alph_AB, beta_AB _RL phiMin _RL thetaMin _RL rSphere @@ -615,7 +649,11 @@ _RL viscAhZ _RL viscAhMax _RL viscAhGrid + _RL viscAhGridMax + _RL viscAhGridMin _RL viscC2leith + _RL viscC2leithD + _RL viscC2smag _RL viscAstrain _RL viscAtension _RL viscAr @@ -626,6 +664,7 @@ _RL viscA4Max _RL viscA4Grid, viscA4GridMax, viscA4GridMin _RL viscC4leith + _RL viscC4leithD _RL diffKhT _RL diffKrNrT(Nr) _RL diffK4T @@ -650,9 +689,7 @@ _RL convertEmP2rUnit _RL tRef(Nr) _RL sRef(Nr) - _RS fCori(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) - _RS fCoriG(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) - _RS fCoriCos(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) + _RL baseTime _RL startTime _RL endTime _RL chkPtFreq @@ -675,9 +712,7 @@ _RL omega _RL rotationPeriod _RL tauThetaClimRelax - _RL lambdaThetaClimRelax _RL tauSaltClimRelax - _RL lambdaSaltClimRelax _RL tauTr1ClimRelax _RL lambdaTr1ClimRelax _RL latBandClimRelax @@ -746,13 +781,16 @@ LOGICAL usediagnostics LOGICAL useEBM LOGICAL useMNC + LOGICAL useMATRIX + LOGICAL useRunClock COMMON /PARM_PACKAGES/ & useKPP, useGMRedi, useOBCS, useAIM, useLand, useECCO, & useSHAP_FILT, useZONAL_FILT, useGrdchk, useFLT, & usePTRACERS, useGCHEM, & useSBO, useSEAICE, useThSIce, useBulkForce, & usefizhi, usegridalt, usediagnostics, useEBM, useMNC, - & usePP81, useMY82, useOPPS, useGGL90 + & usePP81, useMY82, useOPPS, useGGL90, useMATRIX, + & useRunClock CEH3 ;;; Local Variables: *** CEH3 ;;; mode:fortran ***