--- MITgcm/model/src/set_defaults.F 2002/11/07 21:51:15 1.42 +++ MITgcm/model/src/set_defaults.F 2005/07/27 03:46:11 1.96 @@ -1,8 +1,9 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/src/set_defaults.F,v 1.42 2002/11/07 21:51:15 adcroft Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/src/set_defaults.F,v 1.96 2005/07/27 03:46:11 jmc Exp $ C $Name: $ #include "CPP_OPTIONS.h" +C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| CBOP C !ROUTINE: SET_DEFAULTS C !INTERFACE: @@ -11,23 +12,11 @@ O hFacMinDrDefault, delRdefault, rkFacDefault, I myThid ) -C !DESCRIPTION: \bv -C *==========================================================* -C | SUBROUTINE SET_DEFAULTS -C | o Routine to set model "parameters" -C *==========================================================* -C | Notes: -C | ====== -C | The present version of this routine is a place-holder. -C | A production version needs to handle parameters from an -C | external file and possibly reading in some initial field -C | values. -C *==========================================================* -C \ev +C !DESCRIPTION: +C Routine to set model "parameter defaults". C !USES: IMPLICIT NONE -C === Global variables === #include "SIZE.h" #include "EEPARAMS.h" #include "PARAMS.h" @@ -35,7 +24,6 @@ #include "GRID.h" C !INPUT/OUTPUT PARAMETERS: -C === Routine arguments === C myThid - Number of this instance of INI_PARMS INTEGER myThid _RL viscArDefault @@ -46,7 +34,6 @@ _RS rkFacDefault C !LOCAL VARIABLES: -C === Local variables === C K, I, J - Loop counters INTEGER K, I, J CEOP @@ -65,7 +52,7 @@ C Horizontal gridding C In cartesian coords distances are in metres - usingCartesianGrid = .TRUE. + usingCartesianGrid = .FALSE. DO i=1,Nx delX(i) = UNSET_RL ENDDO @@ -79,20 +66,37 @@ rSphere = 6370. * 1.D3 C General curvilinear coordinate system usingCurvilinearGrid = .FALSE. +C General cylindrical coordinate system + usingCylindricalGrid = .FALSE. +C Coriolis map: + useConstantF = .FALSE. + useBetaPlaneF = .FALSE. + useSphereF = .FALSE. + C-- Set default "physical" parameters DO K =1,Nr tRef(K) = 30.D0 - FLOAT( K ) Cml sRef(K) = 35.D0 ENDDO - gravitySign = 1.D0 + nh_Am2 = 1.D0 gravity = 9.81D0 rhoNil = 999.8D0 - rhoConstFresh = 999.8D0 +C-- jmc : the default is to set rhoConstFresh to rhoConst (=rhoNil by default) +C (so that the default produces same results as before) +c rhoConstFresh = 999.8D0 f0 = 1.D-4 beta = 1.D-11 - omega = 2.D0 * PI / ( 3600.D0 * 24.D0 ) +C- Always use 1 day in the past but should be 86164 (=86400*365.25/366.25) + rotationPeriod = 86400. _d 0 viscAh = 0.D3 + viscAhGrid = 0.D0 + viscAhGridMin = 0.D0 + viscAhGridMax = 1.D21 + viscAhMax = 1.D21 + viscC2leith = 0.D0 + viscC2leithD = 0.D0 + viscC2smag = 0.D0 viscAstrain = 0.D3 viscAtension = 0.D3 diffKhT = 0.D3 @@ -102,7 +106,17 @@ no_slip_bottom = .TRUE. diffKrTDefault = 0.D-3 diffKrSDefault = 0.D-3 + diffKrBL79surf = 0.D0 + diffKrBL79deep = 0.D0 + diffKrBL79scl = 200.D0 + diffKrBL79Ho = -2000.D0 viscA4 = 0.D11 + viscA4Grid = 0.D0 + viscA4GridMax = 1.D21 + viscA4GridMin = 0.D0 + viscA4Max = 1.D21 + viscC4leith = 0.D0 + viscC4leithD = 0.D0 diffK4T = 0.D11 diffK4S = 0.D11 cosPower = 0. @@ -127,50 +141,67 @@ saltStepping = .TRUE. saltAdvection = .TRUE. saltForcing = .TRUE. - tr1Stepping = .FALSE. metricTerms = .TRUE. - useNHMTerms = .TRUE. + useNHMTerms = .FALSE. + useFullLeith = .FALSE. + useAnisotropicViscAGridMax = .FALSE. implicitDiffusion = .FALSE. implicitViscosity = .FALSE. + momImplVertAdv = .FALSE. + tempImplVertAdv = .FALSE. + saltImplVertAdv = .FALSE. nonHydrostatic = .FALSE. quasiHydrostatic = .FALSE. globalFiles = .FALSE. + useSingleCpuIO = .FALSE. allowFreezing = .FALSE. + useOldFreezing = .FALSE. ivdc_kappa = 0.D0 - groundAtK1 = .FALSE. bottomDragLinear = 0. bottomDragQuadratic = 0. usePickupBeforeC35 = .FALSE. + usePickupBeforeC54 = .FALSE. debugMode = .FALSE. - readPickupWithTracer = .FALSE. - writePickupWithTracer = .FALSE. tempAdvScheme = 2 saltAdvScheme = 2 - tracerAdvScheme = 2 multiDimAdvection = .TRUE. + useCDscheme = .FALSE. useEnergyConservingCoriolis = .FALSE. useJamartWetPoints = .FALSE. + useJamartMomAdv = .FALSE. + SadournyCoriolis = .FALSE. + upwindVorticity = .FALSE. + highOrderVorticity = .FALSE. + useAbsVorticity = .FALSE. + upwindShear = .FALSE. + debugLevel = debLevA + inAdMode = .FALSE. + inAdExact = .TRUE. C-- Set (free)surface-related parameters - implicitFreeSurface = .TRUE. + implicitFreeSurface = .FALSE. rigidLid = .FALSE. implicSurfPress = 1.D0 implicDiv2DFlow = 1.D0 exactConserv = .FALSE. uniformLin_PhiSurf = .TRUE. nonlinFreeSurf = 0 - hFacInf = 1.D0 - hFacSup = 1.D0 + hFacInf = 0.2 _d 0 + hFacSup = 2.0 _d 0 + select_rStar = 0 useRealFreshWaterFlux = .FALSE. temp_EvPrRn = UNSET_RL salt_EvPrRn = 0. - trac_EvPrRn = UNSET_RL C-- Atmospheric physical parameters (e.g.: EOS) - atm_po = 1.D5 - atm_cp = 1004.D0 - atm_kappa = 2.D0 / 7.D0 - Integr_GeoPot = 2 + celsius2K = 273.16 _d 0 + atm_Po = 1. _d 5 + atm_Cp = 1004. _d 0 + atm_Rd = UNSET_RL + atm_kappa = 2. _d 0 / 7. _d 0 + atm_Rq = 0. _d 0 + integr_GeoPot = 2 + selectFindRoSurf = 0 C-- Elliptic solver parameters cg2dMaxIters = 150 @@ -178,25 +209,51 @@ cg2dTargetResWunit = -1. cg2dChkResFreq = 1 cg2dpcOffDFac = 0.51D0 + cg2dPreCondFreq = 1 cg3dMaxIters = 150 cg3dTargetResidual = 1.D-7 cg3dChkResFreq = 1 C-- Time stepping parameters - deltaT = 0. + deltaT = 0. _d 0 + deltaTmom = 0. _d 0 + deltaTfreesurf = 0. _d 0 + DO k=1,Nr + dTtracerLev(k) = 0. _d 0 + ENDDO + baseTime = 0. _d 0 nIter0 = 0 startTime = deltaT*float(nIter0) + pickupSuff = ' ' nTimeSteps = 0 nEndIter = nIter0+nTimeSteps endTime = deltaT*float(nEndIter) forcing_In_AB = .TRUE. abEps = 0.01 +#ifdef ALLOW_ADAMSBASHFORTH_3 + alph_AB = 0.5 _d 0 + beta_AB = 5. _d 0 / 12. _d 0 + startFromPickupAB2= .FALSE. +#else + alph_AB = UNSET_RL + beta_AB = UNSET_RL + startFromPickupAB2= .TRUE. +#endif pchkPtFreq = deltaT*0 chkPtFreq = deltaT*0 + outputTypesInclusive = .FALSE. + pickup_read_mdsio = .TRUE. + pickup_write_mdsio= .TRUE. + pickup_write_immed= .FALSE. dumpFreq = deltaT*0 + adjDumpFreq = deltaT*0 diagFreq = deltaT*0 + snapshot_mdsio = .TRUE. monitorFreq = -1. + adjMonitorFreq = 0. + monitor_stdio = .TRUE. taveFreq = deltaT*0 + timeave_mdsio = .TRUE. tave_lastIter = 0.5 _d 0 writeStatePrec = precFloat64 writeBinaryPrec = precFloat32 @@ -212,10 +269,14 @@ periodicExternalForcing = .FALSE. externForcingPeriod = 0. externForcingCycle = 0. + tCylIn = 0. + tCylOut = 20. + calendarDumps = .FALSE. C-- Input files bathyFile = ' ' topoFile = ' ' + horizGridFile = ' ' hydrogSaltFile = ' ' hydrogThetaFile = ' ' zonalWindFile = ' ' @@ -223,13 +284,20 @@ thetaClimFile = ' ' saltClimFile = ' ' EmPmRfile = ' ' + saltFluxFile = ' ' surfQfile = ' ' - surfQswfile = ' ' + surfQnetFile = ' ' + surfQswFile = ' ' uVelInitFile = ' ' vVelInitFile = ' ' pSurfInitFile = ' ' dQdTFile = ' ' ploadFile = ' ' + eddyTauxFile = ' ' + eddyTauyFile = ' ' + lambdaThetaFile = ' ' + lambdaSaltFile = ' ' + mdsioLocalDir = ' ' C RETURN