--- MITgcm/model/src/set_defaults.F 2004/03/04 04:00:12 1.59 +++ MITgcm/model/src/set_defaults.F 2006/06/07 01:55:13 1.116 @@ -1,8 +1,9 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/src/set_defaults.F,v 1.59 2004/03/04 04:00:12 heimbach Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/src/set_defaults.F,v 1.116 2006/06/07 01:55:13 heimbach 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,79 +34,104 @@ _RS rkFacDefault C !LOCAL VARIABLES: -C === Local variables === C K, I, J - Loop counters INTEGER K, I, J CEOP C-- Grid parameters C Vertical gridding - rkFacDefault = 1.D0 - horiVertRatio = 1.D0 - Ro_SeaLevel = 0. + rkFacDefault = 1. _d 0 + horiVertRatio = 1. _d 0 + Ro_SeaLevel = 0. DO k=1,Nr - delRdefault(k) = 0. + delRdefault(k) = 0. ENDDO DO k=1,Nr+1 - delRc(k) = UNSET_RL + delRc(k) = UNSET_RL ENDDO C Horizontal gridding + delXFile = ' ' + delYFile = ' ' + horizGridFile = ' ' C In cartesian coords distances are in metres - usingCartesianGrid = .FALSE. + usingCartesianGrid = .FALSE. DO i=1,Nx - delX(i) = UNSET_RL + delX(i) = UNSET_RL ENDDO DO j=1,Ny - delY(j) = UNSET_RL + delY(j) = UNSET_RL ENDDO C In spherical polar distances are in degrees usingSphericalPolarGrid = .FALSE. - phiMin = 0.0 - thetaMin = 0. - rSphere = 6370. * 1.D3 + phiMin = 0.0 + thetaMin = 0. + rSphere = 6370. _d 3 C General curvilinear coordinate system - usingCurvilinearGrid = .FALSE. + 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 - gravity = 9.81D0 - rhoNil = 999.8D0 + nh_Am2 = 1. _d 0 + gravity = 9.81 _d 0 + rhoNil = 999.8 _d 0 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 -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 - viscAhMax = 1.D21 - viscAstrain = 0.D3 - viscAtension = 0.D3 - diffKhT = 0.D3 - diffKhS = 0.D3 - viscArDefault = 0.D-3 +c rhoConstFresh = 999.8 _d 0 + f0 = 1. _d -4 + beta = 1. _d -11 +C- Earth rotation period is 86400*365.25/366.25 (use to be 1.day) + rotationPeriod = 86164. _d 0 + viscAh = 0. _d 3 + viscAhGrid = 0. _d 0 + viscAhGridMin = 0. _d 0 + viscAhGridMax = 1. _d 21 + viscAhMax = 1. _d 21 + viscAhReMax = 0. _d 0 + viscC2leith = 0. _d 0 + viscC2leithD = 0. _d 0 + viscC2smag = 0. _d 0 + diffKhT = 0. _d 3 + diffKhS = 0. _d 3 + viscArDefault = 0. _d -3 no_slip_sides = .TRUE. no_slip_bottom = .TRUE. - diffKrTDefault = 0.D-3 - diffKrSDefault = 0.D-3 - viscA4 = 0.D11 - viscA4Grid = 0.D0 - viscA4Max = 1.D21 - diffK4T = 0.D11 - diffK4S = 0.D11 + sideDragFactor = 2. _d 0 + bottomDragLinear = 0. + bottomDragQuadratic = 0. + smoothAbsFuncRange = 0. _d 0 + diffKrTDefault = 0. _d -3 + diffKrSDefault = 0. _d -3 + diffKrBL79surf = 0. _d 0 + diffKrBL79deep = 0. _d 0 + diffKrBL79scl = 200. _d 0 + diffKrBL79Ho = -2000. _d 0 + viscA4 = 0. _d 11 + viscA4Grid = 0. _d 0 + viscA4GridMax = 1. _d 21 + viscA4GridMin = 0. _d 0 + viscA4Max = 1. _d 21 + viscA4ReMax = 0. _d 0 + viscC4leith = 0. _d 0 + viscC4leithD = 0. _d 0 + viscC4smag = 0. _d 0 + diffK4T = 0. _d 11 + diffK4S = 0. _d 11 cosPower = 0. - HeatCapacity_Cp = 3994.D0 -Cml tAlpha = 2.D-4 -Cml sBeta = 7.4D-4 + HeatCapacity_Cp = 3994. _d 0 +Cml tAlpha = 2. _d -4 +Cml sBeta = 7.4 _d -4 eosType = 'LINEAR' buoyancyRelation = 'OCEANIC' - hFacMin = 1.D0 - hFacMinDrDefault = 0.D0 + hFacMin = 1. _d 0 + hFacMinDrDefault = 0. _d 0 + implicitIntGravWave = .FALSE. staggerTimeStep = .FALSE. momViscosity = .TRUE. momAdvection = .TRUE. @@ -133,9 +146,11 @@ saltStepping = .TRUE. saltAdvection = .TRUE. saltForcing = .TRUE. - tr1Stepping = .FALSE. metricTerms = .TRUE. useNHMTerms = .FALSE. + useFullLeith = .FALSE. + useAreaViscLength = .FALSE. + useStrainTensionVisc= .FALSE. implicitDiffusion = .FALSE. implicitViscosity = .FALSE. momImplVertAdv = .FALSE. @@ -147,28 +162,32 @@ useSingleCpuIO = .FALSE. allowFreezing = .FALSE. useOldFreezing = .FALSE. - ivdc_kappa = 0.D0 - groundAtK1 = .FALSE. - bottomDragLinear = 0. - bottomDragQuadratic = 0. + ivdc_kappa = 0. _d 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. + selectKEscheme = 0 debugLevel = debLevA + inAdMode = .FALSE. + inAdExact = .TRUE. C-- Set (free)surface-related parameters - implicitFreeSurface = .TRUE. + implicitFreeSurface = .FALSE. rigidLid = .FALSE. - implicSurfPress = 1.D0 - implicDiv2DFlow = 1.D0 + implicSurfPress = 1. _d 0 + implicDiv2DFlow = 1. _d 0 exactConserv = .FALSE. uniformLin_PhiSurf = .TRUE. nonlinFreeSurf = 0 @@ -178,7 +197,9 @@ useRealFreshWaterFlux = .FALSE. temp_EvPrRn = UNSET_RL salt_EvPrRn = 0. - trac_EvPrRn = UNSET_RL + balanceEmPmR = .FALSE. + balanceQnet = .FALSE. + balancePrintMean = .FALSE. C-- Atmospheric physical parameters (e.g.: EOS) celsius2K = 273.16 _d 0 @@ -192,31 +213,59 @@ C-- Elliptic solver parameters cg2dMaxIters = 150 - cg2dTargetResidual = 1.D-7 + cg2dTargetResidual = 1. _d -7 cg2dTargetResWunit = -1. cg2dChkResFreq = 1 - cg2dpcOffDFac = 0.51D0 + cg2dpcOffDFac = 0.51 _d 0 + cg2dPreCondFreq = 1 cg3dMaxIters = 150 - cg3dTargetResidual = 1.D-7 + 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 - pchkPtFreq = deltaT*0 + momForcingOutAB = UNSET_I + tracForcingOutAB = UNSET_I + momDissip_In_AB = .TRUE. + doAB_onGtGs = .TRUE. + abEps = 0.01 _d 0 +#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 + dumpInitAndLast = .TRUE. + 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 @@ -224,18 +273,21 @@ nCheckLev = 1 checkPtSuff(1) = 'ckptA' checkPtSuff(2) = 'ckptB' - cAdjFreq = 0.D0 - tauCD = 0.D0 - tauThetaClimRelax = 0.D0 - tauSaltClimRelax = 0.D0 - tauTr1ClimRelax = 0.D0 + cAdjFreq = 0. _d 0 + tauCD = 0. _d 0 + tauThetaClimRelax = 0. _d 0 + tauSaltClimRelax = 0. _d 0 + tauTr1ClimRelax = 0. _d 0 periodicExternalForcing = .FALSE. externForcingPeriod = 0. externForcingCycle = 0. + tCylIn = 0. + tCylOut = 20. C-- Input files bathyFile = ' ' topoFile = ' ' + shelfIceFile = ' ' hydrogSaltFile = ' ' hydrogThetaFile = ' ' zonalWindFile = ' ' @@ -243,15 +295,20 @@ thetaClimFile = ' ' saltClimFile = ' ' EmPmRfile = ' ' + saltFluxFile = ' ' surfQfile = ' ' - surfQswfile = ' ' + surfQnetFile = ' ' + surfQswFile = ' ' uVelInitFile = ' ' vVelInitFile = ' ' pSurfInitFile = ' ' dQdTFile = ' ' ploadFile = ' ' + eddyTauxFile = ' ' + eddyTauyFile = ' ' + lambdaThetaFile = ' ' + lambdaSaltFile = ' ' mdsioLocalDir = ' ' -C RETURN END