C $Header: /u/gcmpack/MITgcm/model/src/set_defaults.F,v 1.95 2005/07/12 16:31:41 jmc Exp $
C $Name: $
#include "CPP_OPTIONS.h"
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
CBOP
C !ROUTINE: SET_DEFAULTS
C !INTERFACE:
SUBROUTINE SET_DEFAULTS(
O viscArDefault, diffKrTDefault, diffKrSDefault,
O hFacMinDrDefault, delRdefault, rkFacDefault,
I myThid )
C !DESCRIPTION:
C Routine to set model "parameter defaults".
C !USES:
IMPLICIT NONE
#include "SIZE.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
Cml#include "EOS.h"
#include "GRID.h"
C !INPUT/OUTPUT PARAMETERS:
C myThid - Number of this instance of INI_PARMS
INTEGER myThid
_RL viscArDefault
_RL diffKrTDefault
_RL diffKrSDefault
_RL hFacMinDrDefault
_RL delRDefault(Nr)
_RS rkFacDefault
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.
DO k=1,Nr
delRdefault(k) = 0.
ENDDO
DO k=1,Nr+1
delRc(k) = UNSET_RL
ENDDO
C Horizontal gridding
C In cartesian coords distances are in metres
usingCartesianGrid = .FALSE.
DO i=1,Nx
delX(i) = UNSET_RL
ENDDO
DO j=1,Ny
delY(j) = UNSET_RL
ENDDO
C In spherical polar distances are in degrees
usingSphericalPolarGrid = .FALSE.
phiMin = 0.0
thetaMin = 0.
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
nh_Am2 = 1.D0
gravity = 9.81D0
rhoNil = 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
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
diffKhS = 0.D3
viscArDefault = 0.D-3
no_slip_sides = .TRUE.
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.
HeatCapacity_Cp = 3994.D0
Cml tAlpha = 2.D-4
Cml sBeta = 7.4D-4
eosType = 'LINEAR'
buoyancyRelation = 'OCEANIC'
hFacMin = 1.D0
hFacMinDrDefault = 0.D0
staggerTimeStep = .FALSE.
momViscosity = .TRUE.
momAdvection = .TRUE.
momForcing = .TRUE.
useCoriolis = .TRUE.
momPressureForcing = .TRUE.
momStepping = .TRUE.
vectorInvariantMomentum = .FALSE.
tempStepping = .TRUE.
tempAdvection = .TRUE.
tempForcing = .TRUE.
saltStepping = .TRUE.
saltAdvection = .TRUE.
saltForcing = .TRUE.
metricTerms = .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
bottomDragLinear = 0.
bottomDragQuadratic = 0.
usePickupBeforeC35 = .FALSE.
usePickupBeforeC54 = .FALSE.
debugMode = .FALSE.
tempAdvScheme = 2
saltAdvScheme = 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.
rigidLid = .FALSE.
implicSurfPress = 1.D0
implicDiv2DFlow = 1.D0
exactConserv = .FALSE.
uniformLin_PhiSurf = .TRUE.
nonlinFreeSurf = 0
hFacInf = 0.2 _d 0
hFacSup = 2.0 _d 0
select_rStar = 0
useRealFreshWaterFlux = .FALSE.
temp_EvPrRn = UNSET_RL
salt_EvPrRn = 0.
C-- Atmospheric physical parameters (e.g.: EOS)
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
cg2dTargetResidual = 1.D-7
cg2dTargetResWunit = -1.
cg2dChkResFreq = 1
cg2dpcOffDFac = 0.51D0
cg2dPreCondFreq = 1
cg3dMaxIters = 150
cg3dTargetResidual = 1.D-7
cg3dChkResFreq = 1
C-- Time stepping parameters
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
readBinaryPrec = precFloat32
nCheckLev = 1
checkPtSuff(1) = 'ckptA'
checkPtSuff(2) = 'ckptB'
cAdjFreq = 0.D0
tauCD = 0.D0
tauThetaClimRelax = 0.D0
tauSaltClimRelax = 0.D0
tauTr1ClimRelax = 0.D0
periodicExternalForcing = .FALSE.
externForcingPeriod = 0.
externForcingCycle = 0.
tCylIn = 0.
tCylOut = 20.
calendarDumps = .FALSE.
C-- Input files
bathyFile = ' '
topoFile = ' '
horizGridFile = ' '
hydrogSaltFile = ' '
hydrogThetaFile = ' '
zonalWindFile = ' '
meridWindFile = ' '
thetaClimFile = ' '
saltClimFile = ' '
EmPmRfile = ' '
saltFluxFile = ' '
surfQfile = ' '
surfQnetFile = ' '
surfQswFile = ' '
uVelInitFile = ' '
vVelInitFile = ' '
pSurfInitFile = ' '
dQdTFile = ' '
ploadFile = ' '
eddyTauxFile = ' '
eddyTauyFile = ' '
lambdaThetaFile = ' '
lambdaSaltFile = ' '
mdsioLocalDir = ' '
C
RETURN
END