--- MITgcm/model/inc/PARAMS.h 2008/09/10 08:55:11 1.224 +++ MITgcm/model/inc/PARAMS.h 2016/11/28 22:47:42 1.284 @@ -1,4 +1,4 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/inc/PARAMS.h,v 1.224 2008/09/10 08:55:11 mlosch Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/inc/PARAMS.h,v 1.284 2016/11/28 22:47:42 jmc Exp $ C $Name: $ C @@ -14,9 +14,6 @@ CEOP -C Macros for special grid options -#include "PARAMS_MACROS.h" - C-- Contants C Useful physical values Real*8 PI @@ -33,11 +30,18 @@ C and read pickup files with this suffix (max 10 Char.) C mdsioLocalDir :: read-write tiled file from/to this directory name C (+ 4 digits Processor-Rank) instead of current dir. +C adTapeDir :: read-write checkpointing tape files from/to this +C directory name instead of current dir. Conflicts +C mdsioLocalDir, so only one of the two can be set. +C In contrast to mdsioLocalDir, if specified adTapeDir +C must exist before the model starts. C tRefFile :: File containing reference Potential Temperat. tRef (1.D) C sRefFile :: File containing reference salinity/spec.humid. sRef (1.D) C rhoRefFile :: File containing reference density profile rhoRef (1.D) +C gravityFile :: File containing gravity vertical profile (1.D) C delRFile :: File containing vertical grid spacing delR (1.D array) C delRcFile :: File containing vertical grid spacing delRc (1.D array) +C hybSigmFile :: File containing hybrid-sigma vertical coord. coeff. (2x 1.D) 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 @@ -46,38 +50,47 @@ C is taken from inline function. C topoFile :: File containing the topography of the surface (unit=m) C (mainly used for the atmosphere = ground height). +C addWwallFile :: File containing 2-D additional Western cell-edge wall +C addSwallFile :: File containing 2-D additional Southern cell-edge wall +C (e.g., to add "thin-wall" where it is =1) C hydrogThetaFile :: File containing initial hydrographic data (3-D) C for potential temperature. C hydrogSaltFile :: File containing initial hydrographic data (3-D) C for salinity. C diffKrFile :: File containing 3D specification of vertical diffusivity +C viscAhDfile :: File containing 3D specification of horizontal viscosity +C viscAhZfile :: File containing 3D specification of horizontal viscosity +C viscA4Dfile :: File containing 3D specification of horizontal viscosity +C viscA4Zfile :: File containing 3D specification of horizontal viscosity C zonalWindFile :: File containing zonal wind data C meridWindFile :: File containing meridional wind data C thetaClimFile :: File containing surface theta climataology used -C in relaxation term -lambda(theta-theta*) +C in relaxation term -lambda(theta-theta*) C saltClimFile :: File containing surface salt climataology used -C in relaxation term -lambda(salt-salt*) +C in relaxation term -lambda(salt-salt*) C surfQfile :: File containing surface heat flux, excluding SW C (old version, kept for backward compatibility) C surfQnetFile :: File containing surface net heat flux C surfQswFile :: File containing surface shortwave radiation -C dQdTfile :: File containing thermal relaxation coefficient C EmPmRfile :: File containing surface fresh water flux C NOTE: for backward compatibility EmPmRfile is specified in C m/s when using external_fields_load.F. It is converted C to kg/m2/s by multiplying by rhoConstFresh. C saltFluxFile :: File containing surface salt flux C pLoadFile :: File containing pressure loading +C addMassFile :: File containing source/sink of fluid in the interior C eddyPsiXFile :: File containing zonal Eddy streamfunction data C eddyPsiYFile :: File containing meridional Eddy streamfunction data C the_run_name :: string identifying the name of the model "run" COMMON /PARM_C/ & buoyancyRelation, eosType, - & pickupSuff, mdsioLocalDir, - & tRefFile, sRefFile, rhoRefFile, - & delRFile, delRcFile, + & pickupSuff, mdsioLocalDir, adTapeDir, + & tRefFile, sRefFile, rhoRefFile, gravityFile, + & delRFile, delRcFile, hybSigmFile, & delXFile, delYFile, horizGridFile, - & bathyFile, topoFile, + & bathyFile, topoFile, addWwallFile, addSwallFile, + & viscAhDfile, viscAhZfile, + & viscA4Dfile, viscA4Zfile, & hydrogThetaFile, hydrogSaltFile, diffKrFile, & zonalWindFile, meridWindFile, thetaClimFile, & saltClimFile, @@ -85,24 +98,32 @@ & surfQfile, surfQnetFile, surfQswFile, & lambdaThetaFile, lambdaSaltFile, & uVelInitFile, vVelInitFile, pSurfInitFile, - & dQdTfile, ploadFile, - & eddyPsiXFile, eddyPsiYFile, + & pLoadFile, addMassFile, + & eddyPsiXFile, eddyPsiYFile, geothermalFile, & the_run_name CHARACTER*(MAX_LEN_FNAM) buoyancyRelation CHARACTER*(6) eosType CHARACTER*(10) pickupSuff CHARACTER*(MAX_LEN_FNAM) mdsioLocalDir + CHARACTER*(MAX_LEN_FNAM) adTapeDir CHARACTER*(MAX_LEN_FNAM) tRefFile CHARACTER*(MAX_LEN_FNAM) sRefFile CHARACTER*(MAX_LEN_FNAM) rhoRefFile + CHARACTER*(MAX_LEN_FNAM) gravityFile CHARACTER*(MAX_LEN_FNAM) delRFile CHARACTER*(MAX_LEN_FNAM) delRcFile + CHARACTER*(MAX_LEN_FNAM) hybSigmFile 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) addWwallFile, addSwallFile CHARACTER*(MAX_LEN_FNAM) hydrogThetaFile, hydrogSaltFile CHARACTER*(MAX_LEN_FNAM) diffKrFile + CHARACTER*(MAX_LEN_FNAM) viscAhDfile + CHARACTER*(MAX_LEN_FNAM) viscAhZfile + CHARACTER*(MAX_LEN_FNAM) viscA4Dfile + CHARACTER*(MAX_LEN_FNAM) viscA4Zfile CHARACTER*(MAX_LEN_FNAM) zonalWindFile CHARACTER*(MAX_LEN_FNAM) meridWindFile CHARACTER*(MAX_LEN_FNAM) thetaClimFile @@ -115,114 +136,156 @@ 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) pLoadFile + CHARACTER*(MAX_LEN_FNAM) addMassFile CHARACTER*(MAX_LEN_FNAM) eddyPsiXFile CHARACTER*(MAX_LEN_FNAM) eddyPsiYFile + CHARACTER*(MAX_LEN_FNAM) geothermalFile CHARACTER*(MAX_LEN_FNAM) lambdaThetaFile CHARACTER*(MAX_LEN_FNAM) lambdaSaltFile CHARACTER*(MAX_LEN_PREC/2) the_run_name C-- COMMON /PARM_I/ Integer valued parameters used by the model. C cg2dMaxIters :: Maximum number of iterations in the -C two-dimensional con. grad solver. +C two-dimensional con. grad solver. C cg2dChkResFreq :: Frequency with which to check residual -C in con. grad solver. +C in con. grad solver. C cg2dPreCondFreq :: Frequency for updating cg2d preconditioner C (non-linear free-surf.) +C cg2dUseMinResSol :: =0 : use last-iteration/converged solution +C =1 : use solver minimum-residual solution C cg3dMaxIters :: Maximum number of iterations in the -C three-dimensional con. grad solver. +C three-dimensional con. grad solver. C cg3dChkResFreq :: Frequency with which to check residual -C in con. grad solver. +C in con. grad solver. +C printResidualFreq :: Frequency for printing residual in CG iterations C nIter0 :: Start time-step number of for this run C nTimeSteps :: Number of timesteps to execute +C nTimeSteps_l2 :: Number of inner timesteps to execute per timestep C writeStatePrec :: Precision used for writing model state. C writeBinaryPrec :: Precision used for writing binary files C readBinaryPrec :: Precision used for reading binary files +C selectCoriMap :: select setting of Coriolis parameter map: +C =0 f-Plane (Constant Coriolis, = f0) +C =1 Beta-Plane Coriolis (= f0 + beta.y) +C =2 Spherical Coriolis (= 2.omega.sin(phi)) +C =3 Read Coriolis 2-d fields from files. +C selectSigmaCoord :: option related to sigma vertical coordinate 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* +C selectNHfreeSurf :: option for Non-Hydrostatic (free-)Surface formulation: +C =0 (default) hydrostatic surf. ; > 0 add NH effects. +C selectP_inEOS_Zc :: select which pressure to use in EOS (for z-coords) +C =0: simply: -g*rhoConst*z +C =1: use pRef = integral{-g*rho(Tref,Sref,pRef)*dz} +C =2: use hydrostatic dynamical pressure +C =3: use full (Hyd+NH) dynamical pressure C selectAddFluid :: option to add mass source/sink of fluid in the interior C (3-D generalisation of oceanic real-fresh water flux) C =0 off ; =1 add fluid ; =-1 virtual flux (no mass added) +C selectImplicitDrag :: select Implicit treatment of bottom/top drag +C = 0: fully explicit +C = 1: implicit on provisional velocity +C (i.e., before grad.Eta increment) +C = 2: fully implicit (combined with Impl Surf.Press) C momForcingOutAB :: =1: take momentum forcing contribution -C out of (=0: in) Adams-Bashforth time stepping. +C out of (=0: in) Adams-Bashforth time stepping. C tracForcingOutAB :: =1: take tracer (Temp,Salt,pTracers) forcing contribution -C out of (=0: in) Adams-Bashforth time stepping. +C out of (=0: in) Adams-Bashforth time stepping. C tempAdvScheme :: Temp. Horiz.Advection scheme selector C tempVertAdvScheme :: Temp. Vert. Advection scheme selector C saltAdvScheme :: Salt. Horiz.advection scheme selector C saltVertAdvScheme :: Salt. Vert. Advection scheme selector C selectKEscheme :: Kinetic Energy scheme selector (Vector Inv.) C selectVortScheme :: Scheme selector for Vorticity term (Vector Inv.) +C selectBotDragQuadr :: quadratic bottom drag discretisation option: +C =0: average KE from grid center to U & V location +C =1: use local velocity norm @ U & V location +C =2: same with wet-point averaging of other component C monitorSelect :: select group of variables to monitor C =1 : dynvars ; =2 : + vort ; =3 : + surface -C debugLevel :: debug level selector: higher -> more writing +C- debugLevel :: controls printing of algorithm intermediate results +C and statistics ; higher -> more writing COMMON /PARM_I/ - & cg2dMaxIters, - & cg2dChkResFreq, cg2dPreCondFreq, - & cg3dMaxIters, - & cg3dChkResFreq, - & nIter0, nTimeSteps, nEndIter, + & cg2dMaxIters, cg2dChkResFreq, + & cg2dPreCondFreq, cg2dUseMinResSol, + & cg3dMaxIters, cg3dChkResFreq, + & printResidualFreq, + & nIter0, nTimeSteps, nTimeSteps_l2, nEndIter, & writeStatePrec, & writeBinaryPrec, readBinaryPrec, + & selectCoriMap, + & selectSigmaCoord, & nonlinFreeSurf, select_rStar, - & selectAddFluid, + & selectNHfreeSurf, selectP_inEOS_Zc, + & selectAddFluid, selectImplicitDrag, & momForcingOutAB, tracForcingOutAB, & tempAdvScheme, tempVertAdvScheme, & saltAdvScheme, saltVertAdvScheme, & selectKEscheme, selectVortScheme, + & selectBotDragQuadr, & monitorSelect, debugLevel INTEGER cg2dMaxIters INTEGER cg2dChkResFreq INTEGER cg2dPreCondFreq + INTEGER cg2dUseMinResSol INTEGER cg3dMaxIters INTEGER cg3dChkResFreq + INTEGER printResidualFreq INTEGER nIter0 INTEGER nTimeSteps + INTEGER nTimeSteps_l2 INTEGER nEndIter INTEGER writeStatePrec INTEGER writeBinaryPrec INTEGER readBinaryPrec + INTEGER selectCoriMap + INTEGER selectSigmaCoord INTEGER nonlinFreeSurf INTEGER select_rStar + INTEGER selectNHfreeSurf + INTEGER selectP_inEOS_Zc INTEGER selectAddFluid + INTEGER selectImplicitDrag INTEGER momForcingOutAB, tracForcingOutAB INTEGER tempAdvScheme, tempVertAdvScheme INTEGER saltAdvScheme, saltVertAdvScheme INTEGER selectKEscheme INTEGER selectVortScheme + INTEGER selectBotDragQuadr INTEGER monitorSelect INTEGER debugLevel C-- COMMON /PARM_L/ Logical valued parameters used by the model. C- Coordinate + Grid params: C fluidIsAir :: Set to indicate that the fluid major constituent -C is air +C is air C fluidIsWater :: Set to indicate that the fluid major constituent -C is water +C is water C usingPCoords :: Set to indicate that we are working in a pressure -C type coordinate (p or p*). +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 useDynP_inEos_Zc :: use the dynamical pressure in EOS (with Z-coord.) -C this requires specific code for restart & exchange +C type coordinate (z or z*) C usingCartesianGrid :: If TRUE grid generation will be in a cartesian -C coordinate frame. +C coordinate frame. C usingSphericalPolarGrid :: If TRUE grid generation will be in a -C spherical polar frame. +C spherical polar frame. C rotateGrid :: rotate grid coordinates to geographical coordinates C according to Euler angles phiEuler, thetaEuler, psiEuler -C usingCurvilinearGrid :: If TRUE, use a curvilinear grid (to be provided) C usingCylindricalGrid :: If TRUE grid generation will be Cylindrical +C usingCurvilinearGrid :: If TRUE, use a curvilinear grid (to be provided) +C hasWetCSCorners :: domain contains CS-type corners where dynamics is solved C deepAtmosphere :: deep model (drop the shallow-atmosphere approximation) C setInterFDr :: set Interface depth (put cell-Center at the middle) C setCenterDr :: set cell-Center depth (put Interface at the middle) C- Momentum params: C no_slip_sides :: Impose "no-slip" at lateral boundaries. C no_slip_bottom :: Impose "no-slip" at bottom boundary. +C bottomVisc_pCell :: account for partial-cell in bottom visc. (no-slip BC) +C useSmag3D :: Use isotropic 3-D Smagorinsky C useFullLeith :: Set to true to use full Leith viscosity(may be unstable C on irregular grids) C useStrainTensionVisc:: Set to true to use Strain-Tension viscous terms @@ -238,9 +301,6 @@ C useNHMTerms :: If TRUE use non-hydrostatic metric terms. C useCoriolis :: Flag which turns the coriolis terms on and off. C use3dCoriolis :: Turns the 3-D coriolis terms (in Omega.cos Phi) 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) C useCDscheme :: use CD-scheme to calculate Coriolis terms. C vectorInvariantMomentum :: use Vector-Invariant form (mom_vecinv package) C (default = F = use mom_fluxform package) @@ -249,40 +309,55 @@ C upwindVorticity :: bias interpolation of vorticity in the Coriolis term C highOrderVorticity :: use 3rd/4th order interp. of vorticity (V.I., advection) C useAbsVorticity :: work with f+zeta in Coriolis terms -C upwindShear :: use 1rst order upwind interp. (V.I., vertical advection) +C upwindShear :: use 1rst order upwind interp. (V.I., vertical advection) C momStepping :: Turns momentum equation time-stepping off +C calc_wVelocity :: Turns vertical velocity calculation off C- Temp. & Salt params: -C tempStepping :: Turns temperature equation time-stepping off -C saltStepping :: Turns salinity equation time-stepping off +C tempStepping :: Turns temperature equation time-stepping on/off +C saltStepping :: Turns salinity equation time-stepping on/off +C addFrictionHeating :: account for frictional heating C tempAdvection :: Flag which turns advection of temperature on and off. +C tempVertDiff4 :: use vertical bi-harmonic diffusion for temperature C tempIsActiveTr :: Pot.Temp. is a dynamically active tracer -C tempForcing :: Flag which turns external forcing of temperature on -C and off. +C tempForcing :: Flag which turns external forcing of temperature on/off C saltAdvection :: Flag which turns advection of salinity on and off. +C saltVertDiff4 :: use vertical bi-harmonic diffusion for salinity C saltIsActiveTr :: Salinity is a dynamically active tracer -C saltForcing :: Flag which turns external forcing of salinity on -C and off. -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- Time-stepping params: +C saltForcing :: Flag which turns external forcing of salinity on/off +C maskIniTemp :: apply mask to initial Pot.Temp. +C maskIniSalt :: apply mask to initial salinity +C checkIniTemp :: check for points with identically zero initial Pot.Temp. +C checkIniSalt :: check for points with identically zero initial salinity +C- Pressure solver related parameters (PARM02) +C useSRCGSolver :: Set to true to use conjugate gradient +C solver with single reduction (only one call of +C s/r mpi_allreduce), default is false +C- Time-stepping & free-surface params: C rigidLid :: Set to true to use rigid lid C implicitFreeSurface :: Set to true to use implicit free surface +C uniformLin_PhiSurf :: Set to true to use a uniform Bo_surf in the +C linear relation Phi_surf = Bo_surf*eta +C uniformFreeSurfLev :: TRUE if free-surface level-index is uniform (=1) C exactConserv :: Set to true to conserve exactly the total Volume C linFSConserveTr :: Set to true to correct source/sink of tracer C at the surface due to Linear Free Surface -C uniformLin_PhiSurf :: Set to true to use a uniform Bo_surf in the -C linear relation Phi_surf = Bo_surf*eta +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 storePhiHyd4Phys :: store hydrostatic potential for use in Physics/EOS +C this requires specific code for restart & exchange C quasiHydrostatic :: Using non-hydrostatic terms in hydrostatic algorithm C nonHydrostatic :: Using non-hydrostatic algorithm C use3Dsolver :: set to true to use 3-D pressure solver C implicitIntGravWave :: treat Internal Gravity Wave implicitly C staggerTimeStep :: enable a Stagger time stepping U,V (& W) then T,S +C applyExchUV_early :: Apply EXCH to U,V earlier, just before integr_continuity +C doResetHFactors :: Do reset thickness factors @ beginning of each time-step C implicitDiffusion :: Turns implicit vertical diffusion on C implicitViscosity :: Turns implicit vertical viscosity on -C tempImplVertAdv :: Turns on implicit vertical advection for Temperature -C saltImplVertAdv :: Turns on implicit vertical advection for Salinity -C momImplVertAdv :: Turns on implicit vertical advection for Momentum +C tempImplVertAdv :: Turns on implicit vertical advection for Temperature +C saltImplVertAdv :: Turns on implicit vertical advection for Salinity +C momImplVertAdv :: Turns on implicit vertical advection for Momentum C multiDimAdvection :: Flag that enable multi-dimension advection C useMultiDimAdvec :: True if multi-dim advection is used at least once C momDissip_In_AB :: if False, put Dissipation tendency contribution @@ -297,15 +372,15 @@ C climatology is required. C doSaltClimRelax :: Set true if relaxation to salinity C climatology is required. +C balanceThetaClimRelax :: substract global mean effect at every time step +C balanceSaltClimRelax :: substract global mean effect at every time step C allowFreezing :: Allows surface water to freeze and form ice -C useOldFreezing :: use the old version (before checkpoint52a_pre, 2003-11-12) C periodicExternalForcing :: Set true if forcing is time-dependant C- I/O parameters - -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 globalFiles :: Selects between "global" and "tiled" files. +C On some platforms with MPI, option globalFiles is either +C slow or does not work. Use useSingleCpuIO instead. +C useSingleCpuIO :: moved to EEPARAMS.h C pickupStrictlyMatch :: check and stop if pickup-file do not stricly match C startFromPickupAB2 :: with AB-3 code, start from an AB-2 pickup C usePickupBeforeC54 :: start from old-pickup files, generated with code from @@ -319,104 +394,122 @@ C monitor_stdio :: use stdio for monitor output C dumpInitAndLast :: dumps model state to files at Initial (nIter0) C & Last iteration, in addition multiple of dumpFreq iter. +C printDomain :: controls printing of domain fields (bathy, hFac ...). COMMON /PARM_L/ & fluidIsAir, fluidIsWater, - & usingPCoords, usingZCoords, useDynP_inEos_Zc, + & usingPCoords, usingZCoords, & usingCartesianGrid, usingSphericalPolarGrid, rotateGrid, - & usingCurvilinearGrid, usingCylindricalGrid, + & usingCylindricalGrid, usingCurvilinearGrid, hasWetCSCorners, & deepAtmosphere, setInterFDr, setCenterDr, - & no_slip_sides, no_slip_bottom, + & no_slip_sides, no_slip_bottom, bottomVisc_pCell, useSmag3D, & useFullLeith, useStrainTensionVisc, useAreaViscLength, & momViscosity, momAdvection, momForcing, & momPressureForcing, metricTerms, useNHMTerms, & useCoriolis, use3dCoriolis, - & useConstantF, useBetaPlaneF, useSphereF, & useCDscheme, vectorInvariantMomentum, & useEnergyConservingCoriolis, useJamartWetPoints, useJamartMomAdv, & upwindVorticity, highOrderVorticity, & useAbsVorticity, upwindShear, - & momStepping, tempStepping, saltStepping, - & tempAdvection, tempIsActiveTr, tempForcing, - & saltAdvection, saltIsActiveTr, saltForcing, - & useRealFreshWaterFlux, - & rigidLid, implicitFreeSurface, exactConserv, linFSConserveTr, - & uniformLin_PhiSurf, - & quasiHydrostatic, nonHydrostatic, + & momStepping, calc_wVelocity, tempStepping, saltStepping, + & addFrictionHeating, + & tempAdvection, tempVertDiff4, tempIsActiveTr, tempForcing, + & saltAdvection, saltVertDiff4, saltIsActiveTr, saltForcing, + & maskIniTemp, maskIniSalt, checkIniTemp, checkIniSalt, + & useSRCGSolver, + & rigidLid, implicitFreeSurface, + & uniformLin_PhiSurf, uniformFreeSurfLev, + & exactConserv, linFSConserveTr, useRealFreshWaterFlux, + & storePhiHyd4Phys, quasiHydrostatic, nonHydrostatic, & use3Dsolver, implicitIntGravWave, staggerTimeStep, + & applyExchUV_early, doResetHFactors, & implicitDiffusion, implicitViscosity, & tempImplVertAdv, saltImplVertAdv, momImplVertAdv, & multiDimAdvection, useMultiDimAdvec, & momDissip_In_AB, doAB_onGtGs, & balanceEmPmR, balanceQnet, balancePrintMean, + & balanceThetaClimRelax, balanceSaltClimRelax, & doThetaClimRelax, doSaltClimRelax, - & allowFreezing, useOldFreezing, + & allowFreezing, & periodicExternalForcing, - & globalFiles, useSingleCpuIO, + & globalFiles, & pickupStrictlyMatch, usePickupBeforeC54, startFromPickupAB2, & pickup_read_mdsio, pickup_write_mdsio, pickup_write_immed, & writePickupAtEnd, & timeave_mdsio, snapshot_mdsio, monitor_stdio, - & outputTypesInclusive, dumpInitAndLast, debugMode, - & inAdMode, inAdTrue, inAdFalse, inAdExact + & outputTypesInclusive, dumpInitAndLast, + & printDomain LOGICAL fluidIsAir LOGICAL fluidIsWater LOGICAL usingPCoords LOGICAL usingZCoords - LOGICAL useDynP_inEos_Zc LOGICAL usingCartesianGrid LOGICAL usingSphericalPolarGrid, rotateGrid LOGICAL usingCylindricalGrid - LOGICAL usingCurvilinearGrid + LOGICAL usingCurvilinearGrid, hasWetCSCorners LOGICAL deepAtmosphere LOGICAL setInterFDr LOGICAL setCenterDr - LOGICAL useNHMTerms + LOGICAL no_slip_sides LOGICAL no_slip_bottom + LOGICAL bottomVisc_pCell + LOGICAL useSmag3D + LOGICAL useFullLeith + LOGICAL useStrainTensionVisc + LOGICAL useAreaViscLength LOGICAL momViscosity LOGICAL momAdvection LOGICAL momForcing LOGICAL momPressureForcing + LOGICAL metricTerms + LOGICAL useNHMTerms + LOGICAL useCoriolis + LOGICAL use3dCoriolis + LOGICAL useCDscheme LOGICAL vectorInvariantMomentum + LOGICAL useEnergyConservingCoriolis + LOGICAL useJamartWetPoints + LOGICAL useJamartMomAdv + LOGICAL upwindVorticity + LOGICAL highOrderVorticity + LOGICAL useAbsVorticity + LOGICAL upwindShear + LOGICAL momStepping + LOGICAL calc_wVelocity + LOGICAL tempStepping + LOGICAL saltStepping + LOGICAL addFrictionHeating LOGICAL tempAdvection + LOGICAL tempVertDiff4 LOGICAL tempIsActiveTr LOGICAL tempForcing LOGICAL saltAdvection + LOGICAL saltVertDiff4 LOGICAL saltIsActiveTr LOGICAL saltForcing - LOGICAL useRealFreshWaterFlux - LOGICAL useFullLeith - LOGICAL useStrainTensionVisc - LOGICAL useAreaViscLength + LOGICAL maskIniTemp + LOGICAL maskIniSalt + LOGICAL checkIniTemp + LOGICAL checkIniSalt + LOGICAL useSRCGSolver LOGICAL rigidLid LOGICAL implicitFreeSurface + LOGICAL uniformLin_PhiSurf + LOGICAL uniformFreeSurfLev LOGICAL exactConserv LOGICAL linFSConserveTr - LOGICAL uniformLin_PhiSurf + LOGICAL useRealFreshWaterFlux + LOGICAL storePhiHyd4Phys LOGICAL quasiHydrostatic LOGICAL nonHydrostatic LOGICAL use3Dsolver LOGICAL implicitIntGravWave LOGICAL staggerTimeStep - LOGICAL momStepping - LOGICAL tempStepping - LOGICAL saltStepping - LOGICAL metricTerms - LOGICAL useConstantF - LOGICAL useBetaPlaneF - LOGICAL useSphereF - LOGICAL use3dCoriolis - LOGICAL useCDscheme - LOGICAL useEnergyConservingCoriolis - LOGICAL useJamartWetPoints - LOGICAL useJamartMomAdv - LOGICAL upwindVorticity - LOGICAL highOrderVorticity - LOGICAL useAbsVorticity - LOGICAL upwindShear + LOGICAL applyExchUV_early + LOGICAL doResetHFactors LOGICAL implicitDiffusion LOGICAL implicitViscosity LOGICAL tempImplVertAdv @@ -431,11 +524,11 @@ LOGICAL balancePrintMean LOGICAL doThetaClimRelax LOGICAL doSaltClimRelax + LOGICAL balanceThetaClimRelax + LOGICAL balanceSaltClimRelax LOGICAL allowFreezing - LOGICAL useOldFreezing LOGICAL periodicExternalForcing LOGICAL globalFiles - LOGICAL useSingleCpuIO LOGICAL pickupStrictlyMatch LOGICAL usePickupBeforeC54 LOGICAL startFromPickupAB2 @@ -444,8 +537,7 @@ LOGICAL timeave_mdsio, snapshot_mdsio, monitor_stdio LOGICAL outputTypesInclusive LOGICAL dumpInitAndLast - LOGICAL debugMode - LOGICAL inAdMode, inAdTrue, inAdFalse, inAdExact + LOGICAL printDomain C-- COMMON /PARM_R/ "Real" valued parameters used by the model. C cg2dTargetResidual @@ -471,22 +563,37 @@ C delR :: Vertical grid spacing ( units of r ). C delRc :: Vertical grid spacing between cell centers (r unit). C delX :: Separation between cell faces (m) or (deg), depending -C delY on input flags. -C gravity :: Accel. due to gravity ( m/s^2 ) -C recip_gravity and its inverse -C gBaro :: Accel. due to gravity used in barotropic equation ( m/s^2 ) -C rhoNil :: Reference density for the linear equation of state -C rhoConst :: Vertically constant reference density -C rhoFacC :: normalized (by rhoConst) reference density at cell-Center -C rhoFacF :: normalized (by rhoConst) reference density at cell-interFace +C delY on input flags. Note: moved to header file SET_GRID.h +C xgOrigin :: Origin of the X-axis (Cartesian Grid) / Longitude of Western +C :: most cell face (Lat-Lon grid) (Note: this is an "inert" +C :: parameter but it makes geographical references simple.) +C ygOrigin :: Origin of the Y-axis (Cartesian Grid) / Latitude of Southern +C :: most face (Lat-Lon grid). +C rSphere :: Radius of sphere for a spherical polar grid ( m ). +C recip_rSphere :: Reciprocal radius of sphere ( m^-1 ). +C radius_fromHorizGrid :: sphere Radius of input horiz. grid (Curvilinear Grid) +C seaLev_Z :: the reference height of sea-level (usually zero) +C top_Pres :: pressure (P-Coords) or reference pressure (Z-Coords) at the top +C rSigmaBnd :: vertical position (in r-unit) of r/sigma transition (Hybrid-Sigma) +C gravity :: Acceleration due to constant gravity ( m/s^2 ) +C recip_gravity :: Reciprocal gravity acceleration ( s^2/m ) +C gBaro :: Accel. due to gravity used in barotropic equation ( m/s^2 ) +C gravFacC :: gravity factor (vs surf. gravity) vert. profile at cell-Center +C gravFacF :: gravity factor (vs surf. gravity) vert. profile at cell-interF +C rhoNil :: Reference density for the linear equation of state +C rhoConst :: Vertically constant reference density (Boussinesq) +C rho1Ref :: reference vertical profile for density (anelastic) +C rhoFacC :: normalized (by rhoConst) reference density at cell-Center +C rhoFacF :: normalized (by rhoConst) reference density at cell-interFace C rhoConstFresh :: Constant reference density for fresh water (rain) -C rho1Ref :: reference vertical profile for density -C tRef :: reference vertical profile for potential temperature -C sRef :: reference vertical profile for salinity/specific humidity -C phiRef :: reference potential (pressure/rho, geopotential) profile -C dBdrRef :: vertical gradient of reference boyancy [(m/s/r)^2)]: -C :: z-coord: = N^2_ref = Brunt-Vaissala frequency [s^-2] -C :: p-coord: = -(d.alpha/dp)_ref [(m^2.s/kg)^2] +C thetaConst :: Constant reference for potential temperature +C tRef :: reference vertical profile for potential temperature +C sRef :: reference vertical profile for salinity/specific humidity +C pRef4EOS :: reference pressure used in EOS (case selectP_inEOS_Zc=1) +C phiRef :: reference potential (press/rho, geopot) profile (m^2/s^2) +C dBdrRef :: vertical gradient of reference buoyancy [(m/s/r)^2]: +C :: z-coord: = N^2_ref = Brunt-Vaissala frequency [s^-2] +C :: p-coord: = -(d.alpha/dp)_ref [(m^2.s/kg)^2] C rVel2wUnit :: units conversion factor (Non-Hydrostatic code), C :: from r-coordinate vertical velocity to vertical velocity [m/s]. C :: z-coord: = 1 ; p-coord: wSpeed [m/s] = rVel [Pa/s] * rVel2wUnit @@ -501,39 +608,36 @@ C :: from vertical r-coordinate unit to mass per unit area [kg/m2]. C :: z-coord: = rhoConst ( [m] * rho = [kg/m2] ) ; C :: p-coord: = 1/gravity ( [Pa] / g = [kg/m2] ) ; -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 -C to make geographical references simple.) -C rSphere :: Radius of sphere for a spherical polar grid ( m ). -C recip_rSphere :: Reciprocal radius of sphere ( m ). -C f0 :: Reference coriolis parameter ( 1/s ) -C ( Southern edge f for beta plane ) -C beta :: df/dy ( s^-1.m^-1 ) -C omega :: Angular velocity ( rad/s ) +C f0 :: Reference coriolis parameter ( 1/s ) +C ( Southern edge f for beta plane ) +C beta :: df/dy ( s^-1.m^-1 ) +C fPrime :: Second Coriolis parameter ( 1/s ), related to Y-component +C of rotation (reference value = 2.Omega.Cos(Phi)) +C omega :: Angular velocity ( rad/s ) C rotationPeriod :: Rotation period (s) (= 2.pi/omega) -C viscAr :: Eddy viscosity coeff. for mixing of -C momentum vertically ( units of r^2/s ) -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 Not used if variable horiz. viscosity is used. -C viscA4 :: Biharmonic viscosity coeff. for mixing of -C momentum laterally ( m^4/s ) -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 Not used if variable horiz. viscosity is used. -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 viscArNr :: vertical profile of Eddy viscosity coeff. +C for vertical mixing of momentum ( units of r^2/s ) +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 viscAhD if unset ( m^2/s ) +C Not used if variable horiz. viscosity is used. +C viscA4 :: Biharmonic viscosity coeff. for mixing of +C momentum laterally ( m^4/s ) +C viscA4W :: Biharmonic viscosity coeff. for mixing of vertical +C momentum laterally, no effect for hydrostatic +C model, defaults to viscA4D if unset ( m^2/s ) +C Not used if variable horiz. viscosity is used. +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 smag3D_coeff :: Isotropic 3-D Smagorinsky coefficient (-) C viscC2leith :: Leith non-dimensional viscosity factor (grad(vort)) C viscC2leithD :: Modified Leith non-dimensional visc. factor (grad(div)) C viscC4leith :: Leith non-dimensional viscosity factor (grad(vort)) @@ -556,16 +660,20 @@ C viscA4GridMin:: in terms of non-dimensional grid-size dependent viscosity C diffKhT :: Laplacian diffusion coeff. for mixing of C heat laterally ( m^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 diffKrNrT :: vertical profile of Laplacian diffusion coeff. +C for mixing of heat vertically ( units of r^2/s ) +C diffKr4T :: vertical profile of Biharmonic diffusion coeff. +C for mixing of heat vertically ( units of r^4/s ) C diffKhS :: Laplacian diffusion coeff. for mixing of C salt laterally ( m^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 diffKrNrS :: vertical profile of Laplacian diffusion coeff. +C for mixing of salt vertically ( units of r^2/s ), +C diffKr4S :: vertical profile of Biharmonic diffusion coeff. +C for mixing of salt vertically ( units of r^4/s ) C diffKrBL79surf :: T/S surface diffusivity (m^2/s) Bryan and Lewis, 1979 C diffKrBL79deep :: T/S deep diffusivity (m^2/s) Bryan and Lewis, 1979 C diffKrBL79scl :: depth scale for arctan fn (m) Bryan and Lewis, 1979 @@ -585,34 +693,37 @@ C are referenced to this clock. ( s ) C deltaTMom :: Timestep for momemtum 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 -C freesurfac = 0. uses rigid lid +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 +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 : +C implicDiv2DFlow :: parameter of the Crank-Nickelson time stepping : C Implicit part of barotropic flow Divergence ( 0-1 ) +C implicitNHPress :: parameter of the Crank-Nickelson time stepping : +C Implicit part of Non-Hydrostatic Pressure Gradient ( 0-1 ) C hFacMin :: Minimum fraction size of a cell (affects hFacC etc...) -C hFacMinDz :: Minimum dimesional size of a cell (affects hFacC etc..., m) -C hFacMinDp :: Minimum dimesional size of a cell (affects hFacC etc..., Pa) -C hFacMinDr :: Minimum dimesional size of a cell (affects hFacC etc..., units of r) +C hFacMinDz :: Minimum dimensional size of a cell (affects hFacC etc..., m) +C hFacMinDp :: Minimum dimensional size of a cell (affects hFacC etc..., Pa) +C hFacMinDr :: Minimum dimensional size of a cell (-> hFacC etc..., r units) C hFacInf :: Threshold (inf and sup) for fraction size of surface cell -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 hFacSup that control vanishing and creating levels +C tauCD :: CD scheme coupling timescale ( s ) +C rCD :: CD scheme normalised coupling parameter (= 1 - deltaT/tauCD) +C epsAB_CD :: Adams-Bashforth-2 stabilizing weight used in CD scheme 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 ). C pChkPtFreq :: Frequency of permanent check pointing ( s ). C dumpFreq :: Frequency with which model state is written to -C post-processing files ( s ). +C post-processing files ( s ). C diagFreq :: Frequency with which model writes diagnostic output -C of intermediate quantities. +C of intermediate quantities. C afFacMom :: Advection of momentum term tracer parameter C vfFacMom :: Momentum viscosity tracer parameter C pfFacMom :: Momentum pressure forcing tracer parameter @@ -639,13 +750,15 @@ 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 temp_addMass :: temperature of addMass array +C salt_addMass :: salinity of addMass array 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) -C hMixCrit :: criteria for mixed-layer diagnostic +C hMixCriteria:: criteria for mixed-layer diagnostic +C dRhoSmall :: parameter for mixed-layer diagnostic +C hMixSmooth :: Smoothing parameter for mixed-layer diag (default=0=no smoothing) C ivdc_kappa :: implicit vertical diffusivity for convection [m^2/s] -C Ro_SeaLevel :: standard position of Sea-Level in "R" coordinate, used as -C starting value (k=1) for vertical coordinate (rf(1)=Ro_SeaLevel) C sideDragFactor :: side-drag scaling factor (used only if no_slip_sides) C (default=2: full drag ; =1: gives half-slip BC) C bottomDragLinear :: Linear bottom-drag coefficient (units of [r]/s) @@ -656,46 +769,51 @@ C (affects myabs, mymin, mymax) C nh_Am2 :: scales the non-hydrostatic terms and changes internal scales C (i.e. allows convection at different Rayleigh numbers) +C tCylIn :: Temperature of the cylinder inner boundary +C tCylOut :: Temperature of the cylinder outer boundary C phiEuler :: Euler angle, rotation about original z-axis C thetaEuler :: Euler angle, rotation about new x-axis C psiEuler :: Euler angle, rotation about new z-axis COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit, & cg2dpcOffDFac, cg3dTargetResidual, - & delR, delRc, delX, delY, - & deltaT, deltaTmom, dTtracerLev, deltaTfreesurf, deltaTClock, + & delR, delRc, xgOrigin, ygOrigin, rSphere, recip_rSphere, + & radius_fromHorizGrid, seaLev_Z, top_Pres, rSigmaBnd, + & deltaT, deltaTMom, dTtracerLev, deltaTFreeSurf, deltaTClock, & abEps, alph_AB, beta_AB, - & phiMin, thetaMin, rSphere, recip_RSphere, f0, beta, - & viscAh, viscAhW, viscAhMax, - & viscAhGrid, viscAhGridMax, viscAhGridMin, + & f0, beta, fPrime, omega, rotationPeriod, + & viscFacAdj, viscAh, viscAhW, smag3D_coeff, + & viscAhMax, viscAhGrid, viscAhGridMax, viscAhGridMin, & viscC2leith, viscC2leithD, & viscC2smag, viscC4smag, & viscAhD, viscAhZ, viscA4D, viscA4Z, & viscA4, viscA4W, viscA4Max, & viscA4Grid, viscA4GridMax, viscA4GridMin, & viscAhReMax, viscA4ReMax, - & viscC4leith, viscC4leithD, viscAr, - & diffKhT, diffK4T, diffKrNrT, - & diffKhS, diffK4S, diffKrNrS, + & viscC4leith, viscC4leithD, viscArNr, + & diffKhT, diffK4T, diffKrNrT, diffKr4T, + & diffKhS, diffK4S, diffKrNrS, diffKr4S, & diffKrBL79surf, diffKrBL79deep, diffKrBL79scl, diffKrBL79Ho, & BL79LatVary, & diffKrBLEQsurf, diffKrBLEQdeep, diffKrBLEQscl, diffKrBLEQHo, - & delT, tauCD, rCD, freeSurfFac, implicSurfPress, implicDiv2Dflow, + & tauCD, rCD, epsAB_CD, + & freeSurfFac, implicSurfPress, implicDiv2DFlow, implicitNHPress, & hFacMin, hFacMinDz, hFacInf, hFacSup, & gravity, recip_gravity, gBaro, - & rhonil, recip_rhonil, rhoConst, recip_rhoConst, - & rhoFacC, recip_rhoFacC, rhoFacF, recip_rhoFacF, - & rhoConstFresh, rho1Ref, tRef, sRef, phiRef, dBdrRef, + & gravFacC, recip_gravFacC, gravFacF, recip_gravFacF, + & rhoNil, rhoConst, recip_rhoConst, rho1Ref, + & rhoFacC, recip_rhoFacC, rhoFacF, recip_rhoFacF, rhoConstFresh, + & thetaConst, tRef, sRef, pRef4EOS, phiRef, dBdrRef, & rVel2wUnit, wUnit2rVel, mass2rUnit, rUnit2mass, & baseTime, startTime, endTime, & chkPtFreq, pChkPtFreq, dumpFreq, adjDumpFreq, & diagFreq, taveFreq, tave_lastIter, monitorFreq, adjMonitorFreq, & afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom, - & cosPower, cAdjFreq, omega, rotationPeriod, + & cosPower, cAdjFreq, & tauThetaClimRelax, tauSaltClimRelax, latBandClimRelax, & externForcingCycle, externForcingPeriod, & convertFW2Salt, temp_EvPrRn, salt_EvPrRn, - & hFacMinDr, hFacMinDp, - & ivdc_kappa, hMixCriteria, Ro_SeaLevel, + & temp_addMass, salt_addMass, hFacMinDr, hFacMinDp, + & ivdc_kappa, hMixCriteria, dRhoSmall, hMixSmooth, & sideDragFactor, bottomDragLinear, bottomDragQuadratic, nh_Am2, & smoothAbsFuncRange, & tCylIn, tCylOut, @@ -707,34 +825,42 @@ _RL cg2dpcOffDFac _RL delR(Nr) _RL delRc(Nr+1) - _RL delX(Nx) - _RL delY(Ny) + _RL xgOrigin + _RL ygOrigin + _RL rSphere + _RL recip_rSphere + _RL radius_fromHorizGrid + _RL seaLev_Z + _RL top_Pres + _RL rSigmaBnd _RL deltaT _RL deltaTClock - _RL deltaTmom + _RL deltaTMom _RL dTtracerLev(Nr) - _RL deltaTfreesurf + _RL deltaTFreeSurf _RL abEps, alph_AB, beta_AB - _RL phiMin - _RL thetaMin - _RL rSphere - _RL recip_rSphere _RL f0 + _RL beta + _RL fPrime + _RL omega + _RL rotationPeriod _RL freeSurfFac _RL implicSurfPress - _RL implicDiv2Dflow + _RL implicDiv2DFlow + _RL implicitNHPress _RL hFacMin _RL hFacMinDz _RL hFacMinDp _RL hFacMinDr _RL hFacInf _RL hFacSup - _RL beta - _RL viscAr + _RL viscArNr(Nr) + _RL viscFacAdj _RL viscAh _RL viscAhW _RL viscAhD _RL viscAhZ + _RL smag3D_coeff _RL viscAhMax _RL viscAhReMax _RL viscAhGrid, viscAhGridMax, viscAhGridMin @@ -752,11 +878,13 @@ _RL viscC4leithD _RL viscC4smag _RL diffKhT - _RL diffKrNrT(Nr) _RL diffK4T + _RL diffKrNrT(Nr) + _RL diffKr4T(Nr) _RL diffKhS - _RL diffKrNrS(Nr) _RL diffK4S + _RL diffKrNrS(Nr) + _RL diffKr4S(Nr) _RL diffKrBL79surf _RL diffKrBL79deep _RL diffKrBL79scl @@ -766,20 +894,21 @@ _RL diffKrBLEQdeep _RL diffKrBLEQscl _RL diffKrBLEQHo - _RL delt - _RL tauCD - _RL rCD - _RL gravity - _RL recip_gravity + _RL tauCD, rCD, epsAB_CD + _RL gravity, recip_gravity _RL gBaro - _RL rhonil, recip_rhonil + _RL gravFacC(Nr), recip_gravFacC(Nr) + _RL gravFacF(Nr+1), recip_gravFacF(Nr+1) + _RL rhoNil _RL rhoConst, recip_rhoConst + _RL rho1Ref(Nr) _RL rhoFacC(Nr), recip_rhoFacC(Nr) _RL rhoFacF(Nr+1), recip_rhoFacF(Nr+1) _RL rhoConstFresh - _RL rho1Ref(Nr) + _RL thetaConst _RL tRef(Nr) _RL sRef(Nr) + _RL pRef4EOS(Nr) _RL phiRef(2*Nr+1) _RL dBdrRef(Nr) _RL rVel2wUnit(Nr+1), wUnit2rVel(Nr+1) @@ -804,8 +933,6 @@ _RL mtFacMom _RL cosPower _RL cAdjFreq - _RL omega - _RL rotationPeriod _RL tauThetaClimRelax _RL tauSaltClimRelax _RL latBandClimRelax @@ -814,22 +941,23 @@ _RL convertFW2Salt _RL temp_EvPrRn _RL salt_EvPrRn + _RL temp_addMass + _RL salt_addMass _RL ivdc_kappa _RL hMixCriteria - _RL Ro_SeaLevel + _RL dRhoSmall + _RL hMixSmooth _RL sideDragFactor _RL bottomDragLinear _RL bottomDragQuadratic _RL smoothAbsFuncRange _RL nh_Am2 - _RL tCylIn - _RL tCylOut + _RL tCylIn, tCylOut _RL phiEuler, thetaEuler, psiEuler C-- COMMON /PARM_A/ Thermodynamics constants ? - COMMON /PARM_A/ HeatCapacity_Cp,recip_Cp + COMMON /PARM_A/ HeatCapacity_Cp _RL HeatCapacity_Cp - _RL recip_Cp C-- COMMON /PARM_ATM/ Atmospheric physical parameters (Ideal Gas EOS, ...) C celsius2K :: convert centigrade (Celsius) degree to Kelvin @@ -858,18 +986,24 @@ LOGICAL useZONAL_FILT LOGICAL useOPPS LOGICAL usePP81 + LOGICAL useKL10 LOGICAL useMY82 LOGICAL useGGL90 LOGICAL useKPP LOGICAL useGMRedi LOGICAL useDOWN_SLOPE + LOGICAL useBBL LOGICAL useCAL LOGICAL useEXF LOGICAL useBulkForce LOGICAL useEBM LOGICAL useCheapAML + LOGICAL useAUTODIFF LOGICAL useGrdchk + LOGICAL useSMOOTH + LOGICAL usePROFILES LOGICAL useECCO + LOGICAL useCTRL LOGICAL useSBO LOGICAL useFLT LOGICAL usePTRACERS @@ -877,33 +1011,41 @@ LOGICAL useRBCS LOGICAL useOffLine LOGICAL useMATRIX + LOGICAL useFRAZIL LOGICAL useSEAICE LOGICAL useSALT_PLUME LOGICAL useShelfIce + LOGICAL useStreamIce + LOGICAL useICEFRONT LOGICAL useThSIce + LOGICAL useLand LOGICAL useATM2d LOGICAL useAIM - LOGICAL useLand + LOGICAL useAtm_Phys LOGICAL useFizhi LOGICAL useGridAlt LOGICAL useDiagnostics LOGICAL useREGRID + LOGICAL useLayers LOGICAL useMNC LOGICAL useRunClock LOGICAL useEMBED_FILES LOGICAL useMYPACKAGE COMMON /PARM_PACKAGES/ & useGAD, useOBCS, useSHAP_FILT, useZONAL_FILT, - & useOPPS, usePP81, useMY82, useGGL90, useKPP, - & useGMRedi, useDOWN_SLOPE, + & useOPPS, usePP81, useKL10, useMY82, useGGL90, useKPP, + & useGMRedi, useBBL, useDOWN_SLOPE, & useCAL, useEXF, useBulkForce, useEBM, useCheapAML, - & useGrdchk, useECCO, useSBO, useFLT, + & useGrdchk, useSMOOTH, usePROFILES, useECCO, useCTRL, + & useSBO, useFLT, useAUTODIFF, & usePTRACERS, useGCHEM, useRBCS, useOffLine, useMATRIX, - & useSEAICE, useSALT_PLUME, useShelfIce, useThSIce, - & useATM2D, useAIM, useLand, useFizhi, useGridAlt, - & useDiagnostics, useREGRID, useMNC, + & useFRAZIL, useSEAICE, useSALT_PLUME, useShelfIce, + & useStreamIce, useICEFRONT, useThSIce, useLand, + & useATM2D, useAIM, useAtm_Phys, useFizhi, useGridAlt, + & useDiagnostics, useREGRID, useLayers, useMNC, & useRunClock, useEMBED_FILES, & useMYPACKAGE + CEH3 ;;; Local Variables: *** CEH3 ;;; mode:fortran *** CEH3 ;;; End: ***