File indexing completed on 2024-02-01 06:10:09 UTC
view on githubraw file Latest commit 427e24e1 on 2024-01-31 16:50:14 UTC
b9b591469d Jean*0001 #include "PACKAGES_CONFIG.h"
0127add478 Alis*0002 #include "CPP_OPTIONS.h"
0003
a30418b6b9 Ed H*0004
9366854e02 Chri*0005
0006
0007
0127add478 Alis*0008 SUBROUTINE SET_DEFAULTS(
0009 O viscArDefault, diffKrTDefault, diffKrSDefault,
f15994caab Jean*0010 O hFacMinDrDefault, delRdefault,
0127add478 Alis*0011 I myThid )
0012
a30418b6b9 Ed H*0013
0014
9366854e02 Chri*0015
0016
0017 IMPLICIT NONE
0127add478 Alis*0018 #include "SIZE.h"
0019 #include "EEPARAMS.h"
0020 #include "PARAMS.h"
b9b591469d Jean*0021 #ifdef ALLOW_EXCH2
0022 # include "W2_EXCH2_SIZE.h"
0023 #endif /* ALLOW_EXCH2 */
0024 #include "SET_GRID.h"
0127add478 Alis*0025
9366854e02 Chri*0026
f15994caab Jean*0027
0127add478 Alis*0028 INTEGER myThid
0029 _RL viscArDefault
0030 _RL diffKrTDefault
0031 _RL diffKrSDefault
0032 _RL hFacMinDrDefault
0033 _RL delRDefault(Nr)
0034
9366854e02 Chri*0035
f15994caab Jean*0036
0037 INTEGER i, j, k
9366854e02 Chri*0038
0127add478 Alis*0039
0040
b9306711eb Jean*0041
0042 delRFile = ' '
0043 delRcFile = ' '
f15994caab Jean*0044 hybSigmFile = ' '
2ad79bdf32 Jean*0045 seaLev_Z = UNSET_RL
0046 top_Pres = UNSET_RL
f15994caab Jean*0047 rSigmaBnd = UNSET_RL
0048 selectSigmaCoord = 0
0127add478 Alis*0049 DO k=1,Nr
14007c468a Jean*0050 delRdefault(k) = 0.
0127add478 Alis*0051 ENDDO
c28ce1627a Jean*0052 DO k=1,Nr+1
14007c468a Jean*0053 delRc(k) = UNSET_RL
c28ce1627a Jean*0054 ENDDO
dd9374dd6b Jean*0055 useMin4hFacEdges = .FALSE.
b9306711eb Jean*0056
0057 tRefFile = ' '
0058 sRefFile = ' '
0059 rhoRefFile = ' '
8122f6677e Jean*0060 gravityFile = ' '
aad87ebb4c Jean*0061 thetaConst = UNSET_RL
0062 DO k=1,Nr
0063 tRef(k) = UNSET_RL
0064 sRef(k) = UNSET_RL
0065 ENDDO
0127add478 Alis*0066
b9306711eb Jean*0067
14007c468a Jean*0068 delXFile = ' '
0069 delYFile = ' '
0070 horizGridFile = ' '
d97b9d52f5 Jean*0071 deepAtmosphere = .FALSE.
9780090eaa Jean*0072 xgOrigin = UNSET_RL
0073 ygOrigin = UNSET_RL
b9b591469d Jean*0074 DO i=1,grid_maxNx
14007c468a Jean*0075 delX(i) = UNSET_RL
0127add478 Alis*0076 ENDDO
b9b591469d Jean*0077 DO j=1,grid_maxNy
14007c468a Jean*0078 delY(j) = UNSET_RL
0127add478 Alis*0079 ENDDO
9780090eaa Jean*0080
0081 usingCartesianGrid = .FALSE.
0127add478 Alis*0082
0083 usingSphericalPolarGrid = .FALSE.
9744e36521 Jean*0084 rSphere = UNSET_RL
aea29c8517 Alis*0085
14007c468a Jean*0086 usingCurvilinearGrid= .FALSE.
9744e36521 Jean*0087 radius_fromHorizGrid= UNSET_RL
33964d001d Jean*0088 hasWetCSCorners = .FALSE.
0ac260a803 Andr*0089
14007c468a Jean*0090 usingCylindricalGrid= .FALSE.
36833802ad Jean*0091
c07cd3bfa8 Jean*0092 selectCoriMap = -1
7514c1bd55 Mart*0093
0094 rotateGrid = .FALSE.
0095 phiEuler = 0. _d 0
0096 thetaEuler = 0. _d 0
0097 psiEuler = 0. _d 0
0ac260a803 Andr*0098
0127add478 Alis*0099
14007c468a Jean*0100 nh_Am2 = 1. _d 0
0101 gravity = 9.81 _d 0
aad87ebb4c Jean*0102 gBaro = UNSET_RL
9330bd8273 Jean*0103 surf_pRef = 101325. _d 0
14007c468a Jean*0104 rhoNil = 999.8 _d 0
aad87ebb4c Jean*0105 rhoConst = UNSET_RL
01d019192b Jean*0106
0107
14007c468a Jean*0108
aad87ebb4c Jean*0109 rhoConstFresh = UNSET_RL
0110 convertFW2Salt = UNSET_RL
14007c468a Jean*0111 f0 = 1. _d -4
0112 beta = 1. _d -11
c07cd3bfa8 Jean*0113 fPrime = 0. _d 0
14007c468a Jean*0114
0115 rotationPeriod = 86164. _d 0
aad87ebb4c Jean*0116 omega = UNSET_RL
bf6138bedc Jean*0117
14007c468a Jean*0118 viscAh = 0. _d 3
dc3adfb09b Jean*0119 smag3D_coeff = 1. _d -2
2d5bb917cc Jean*0120 smag3D_diffCoeff = 0. _d 0
14007c468a Jean*0121 viscAhGrid = 0. _d 0
0122 viscAhGridMin = 0. _d 0
0123 viscAhGridMax = 1. _d 21
0124 viscAhMax = 1. _d 21
0125 viscAhReMax = 0. _d 0
0126 viscC2leith = 0. _d 0
0127 viscC2leithD = 0. _d 0
f59d76b0dd Ed D*0128 viscC2LeithQG = 0. _d 0
14007c468a Jean*0129 viscC2smag = 0. _d 0
0130 viscArDefault = 0. _d -3
26e5f876a6 Gael*0131 viscFacAdj = 1. _d 0
88830be691 Alis*0132 no_slip_sides = .TRUE.
0133 no_slip_bottom = .TRUE.
f9ef55fa0c Jean*0134 bottomVisc_pCell = .FALSE.
f4b9df5e2d Jean*0135 sideDragFactor = 2. _d 0
0136 bottomDragLinear = 0.
0137 bottomDragQuadratic = 0.
ab47de63dc Mart*0138 zRoughBot = 0. _d 0
f9ef55fa0c Jean*0139 selectBotDragQuadr = -1
14007c468a Jean*0140 viscA4 = 0. _d 11
0141 viscA4Grid = 0. _d 0
0142 viscA4GridMax = 1. _d 21
0143 viscA4GridMin = 0. _d 0
0144 viscA4Max = 1. _d 21
0145 viscA4ReMax = 0. _d 0
0146 viscC4leith = 0. _d 0
0147 viscC4leithD = 0. _d 0
0148 viscC4smag = 0. _d 0
bf6138bedc Jean*0149 DO k=1,Nr
0150 viscArNr(k) = UNSET_RL
0151 ENDDO
0152 cosPower = 0.
0153 diffKhT = 0. _d 3
0154 diffKhS = 0. _d 3
14007c468a Jean*0155 diffK4T = 0. _d 11
0156 diffK4S = 0. _d 11
bf6138bedc Jean*0157 diffKrTDefault = 0. _d -3
0158 diffKrSDefault = 0. _d -3
0159 diffKrBL79surf = 0. _d 0
0160 diffKrBL79deep = 0. _d 0
0161 diffKrBL79scl = 200. _d 0
0162 diffKrBL79Ho = -2000. _d 0
0163 BL79LatVary = 30.
0164 diffKrBLEQsurf = UNSET_RL
0165 diffKrBLEQdeep = UNSET_RL
0166 diffKrBLEQscl = UNSET_RL
0167 diffKrBLEQHo = UNSET_RL
0168 DO k=1,Nr
0169 diffKrNrT(k) = UNSET_RL
0170 diffKrNrS(k) = UNSET_RL
0171 diffKr4T(k) = 0.
0172 diffKr4S(k) = 0.
0173 ENDDO
14007c468a Jean*0174 HeatCapacity_Cp = 3994. _d 0
88830be691 Alis*0175 eosType = 'LINEAR'
0127add478 Alis*0176 buoyancyRelation = 'OCEANIC'
8122f6677e Jean*0177 selectP_inEOS_Zc = UNSET_I
bf6138bedc Jean*0178 smoothAbsFuncRange = 0. _d 0
0320e25227 Mart*0179 sIceLoadFac = 1. _d 0
14007c468a Jean*0180 hFacMin = 1. _d 0
0181 hFacMinDrDefault = 0. _d 0
01fa056cae Jean*0182 implicitIntGravWave = .FALSE.
fb481a83c2 Alis*0183 staggerTimeStep = .FALSE.
35c76859f0 Jean*0184 applyExchUV_early = .FALSE.
627a21a418 Jean*0185 doResetHFactors = .FALSE.
0127add478 Alis*0186 momViscosity = .TRUE.
0187 momAdvection = .TRUE.
0188 momForcing = .TRUE.
59b35dd864 Jean*0189 momTidalForcing = .TRUE.
0127add478 Alis*0190 useCoriolis = .TRUE.
0191 momPressureForcing = .TRUE.
0192 momStepping = .TRUE.
66d5e1666c Alis*0193 vectorInvariantMomentum = .FALSE.
0127add478 Alis*0194 tempStepping = .TRUE.
e1c6dcc4ea Jean*0195 tempAdvection = .TRUE.
0196 tempForcing = .TRUE.
46918f1b26 Jean*0197 temp_stayPositive = .FALSE.
0127add478 Alis*0198 saltStepping = .TRUE.
e1c6dcc4ea Jean*0199 saltAdvection = .TRUE.
0200 saltForcing = .TRUE.
46918f1b26 Jean*0201 salt_stayPositive = .FALSE.
db8d49beca Jean*0202 addFrictionHeating = .FALSE.
8d793cca80 Jean*0203 useNHMTerms = .FALSE.
427e24e121 Jean*0204 selectMetricTerms = UNSET_I
dc3adfb09b Jean*0205 useSmag3D = .FALSE.
8f106aecfd Bayl*0206 useFullLeith = .FALSE.
cef83a8f90 Bayl*0207 useAreaViscLength = .FALSE.
14007c468a Jean*0208 useStrainTensionVisc= .FALSE.
0127add478 Alis*0209 implicitDiffusion = .FALSE.
ababcf8304 Alis*0210 implicitViscosity = .FALSE.
9e44938df7 Jean*0211 selectImplicitDrag = 0
b9d351b225 Jean*0212 momImplVertAdv = .FALSE.
0213 tempImplVertAdv = .FALSE.
0214 saltImplVertAdv = .FALSE.
88830be691 Alis*0215 nonHydrostatic = .FALSE.
775ad00e06 Alis*0216 quasiHydrostatic = .FALSE.
ab42872a05 Alis*0217 globalFiles = .FALSE.
6060ec2938 Dimi*0218 useSingleCpuIO = .FALSE.
631fe75038 Dimi*0219 useSingleCpuInput = .FALSE.
ab42872a05 Alis*0220 allowFreezing = .FALSE.
14007c468a Jean*0221 ivdc_kappa = 0. _d 0
385f8651c3 Jean*0222 hMixCriteria = -.8 _d 0
7c01d59526 Davi*0223 dRhoSmall = 1. _d -6
d1b0368d70 Davi*0224 hMixSmooth = 0. _d 0
a1bffd2f2d Jean*0225 usePickupBeforeC54 = .FALSE.
0cc2b10d6d Alis*0226 tempAdvScheme = 2
0227 saltAdvScheme = 2
24016b3859 Alis*0228 multiDimAdvection = .TRUE.
855e7aca52 Jean*0229 useMultiDimAdvec = .FALSE.
a97467b673 Jean*0230 useCDscheme = .FALSE.
427e24e121 Jean*0231 select3dCoriScheme = UNSET_I
7843dde2de jm-c 0232 selectCoriScheme = UNSET_I
e35a804907 Jean*0233 selectVortScheme = UNSET_I
7843dde2de jm-c 0234 useJamartMomAdv = .FALSE.
5d5fff3a81 Alis*0235 upwindVorticity = .FALSE.
0236 highOrderVorticity = .FALSE.
0237 useAbsVorticity = .FALSE.
33d790539c Jean*0238 upwindShear = .FALSE.
502d36da05 Jean*0239 selectKEscheme = 0
83513ae28b Jean*0240 IF ( debugMode ) THEN
0241 debugLevel = debLevD
0242 ELSE
0243 debugLevel = debLevB
0244 #ifdef ALLOW_AUTODIFF
0245 debugLevel = debLevA
0246 #endif
0247 ENDIF
0127add478 Alis*0248
745a0098ab Jean*0249
f615684c22 Jean*0250 implicitFreeSurface = .FALSE.
745a0098ab Jean*0251 rigidLid = .FALSE.
14007c468a Jean*0252 implicSurfPress = 1. _d 0
9e44938df7 Jean*0253 implicDiv2DFlow = 1. _d 0
745a0098ab Jean*0254 exactConserv = .FALSE.
1e6181f584 Davi*0255 linFSConserveTr = .FALSE.
745a0098ab Jean*0256 uniformLin_PhiSurf = .TRUE.
0257 nonlinFreeSurf = 0
81a2602dac Jean*0258 hFacInf = 0.2 _d 0
0259 hFacSup = 2.0 _d 0
0870c568ac Jean*0260 select_rStar = 0
f15994caab Jean*0261 selectNHfreeSurf = 0
d18df35fee Jean*0262 selectAddFluid = 0
745a0098ab Jean*0263 useRealFreshWaterFlux = .FALSE.
0264 temp_EvPrRn = UNSET_RL
0265 salt_EvPrRn = 0.
80d98e0151 Dimi*0266 temp_addMass = UNSET_RL
0267 salt_addMass = UNSET_RL
7e00d7e8f9 Jean*0268 selectBalanceEmPmR = UNSET_I
2e21c62c84 Mart*0269 balanceQnet = .FALSE.
0270 balancePrintMean = .FALSE.
9e3a303fa3 Gael*0271 balanceThetaClimRelax = .FALSE.
0272 balanceSaltClimRelax = .FALSE.
745a0098ab Jean*0273
dcccd57cb2 Jean*0274
8a0dea9684 Jean*0275 celsius2K = 273.15 _d 0
5f008e2fec Jean*0276 atm_Po = 1. _d 5
0277 atm_Cp = 1004. _d 0
0278 atm_Rd = UNSET_RL
0279 atm_kappa = 2. _d 0 / 7. _d 0
1aedd07e9b Jean*0280 atm_Rq = 0. _d 0
463053c692 Jean*0281 integr_GeoPot = 2
0282 selectFindRoSurf = 0
dcccd57cb2 Jean*0283
0127add478 Alis*0284
0285 cg2dMaxIters = 150
aecc8b0f47 Mart*0286 cg2dMinItersNSA = 0
14007c468a Jean*0287 cg2dTargetResidual = 1. _d -7
aea29c8517 Alis*0288 cg2dTargetResWunit = -1.
b46f9da188 Jean*0289 cg2dUseMinResSol = UNSET_I
14007c468a Jean*0290 cg2dpcOffDFac = 0.51 _d 0
fe587f155a Jean*0291 cg2dPreCondFreq = 1
0127add478 Alis*0292 cg3dMaxIters = 150
14007c468a Jean*0293 cg3dTargetResidual = 1. _d -7
aecc8b0f47 Mart*0294 useNSACGSolver = .FALSE.
23bce0bbb8 Mart*0295 useSRCGSolver = .FALSE.
0127add478 Alis*0296
0297
062a876ce5 Jean*0298 deltaT = 0. _d 0
db8d49beca Jean*0299 deltaTMom = 0. _d 0
0300 deltaTFreeSurf = 0. _d 0
062a876ce5 Jean*0301 DO k=1,Nr
0302 dTtracerLev(k) = 0. _d 0
0303 ENDDO
16c445e700 Jean*0304 baseTime = 0. _d 0
19eda8b250 Jean*0305 nIter0 = -1
0306 startTime = UNSET_RL
88830be691 Alis*0307 nTimeSteps = 0
6e6f314aa7 Patr*0308 nTimeSteps_l2 = 0
19eda8b250 Jean*0309 nEndIter = 0
0310 endTime = 0. _d 0
c2b6ed6bfd Jean*0311 momForcingOutAB = UNSET_I
0312 tracForcingOutAB = UNSET_I
0313 momDissip_In_AB = .TRUE.
52242443f2 Jean*0314 doAB_onGtGs = .TRUE.
14007c468a Jean*0315 abEps = 0.01 _d 0
92aa7be6ff Jean*0316 #ifdef ALLOW_ADAMSBASHFORTH_3
0317 alph_AB = 0.5 _d 0
0318 beta_AB = 5. _d 0 / 12. _d 0
0319 startFromPickupAB2= .FALSE.
0320 #else
0321 alph_AB = UNSET_RL
0322 beta_AB = UNSET_RL
0323 startFromPickupAB2= .TRUE.
0324 #endif
2e3729af6b Jean*0325 cAdjFreq = 0. _d 0
0326 tauCD = 0. _d 0
0327 tauThetaClimRelax = 0. _d 0
0328 tauSaltClimRelax = 0. _d 0
0329 periodicExternalForcing = .FALSE.
0330 externForcingPeriod = 0.
0331 externForcingCycle = 0.
0332 tCylIn = 0.
0333 tCylOut = 20.
0334
0335 pickupSuff = ' '
0336 pickupStrictlyMatch = .TRUE.
742cf4499c Jean*0337 pChkPtFreq = deltaT*0
0127add478 Alis*0338 chkPtFreq = deltaT*0
ff63a227b0 Ed H*0339 outputTypesInclusive = .FALSE.
a30418b6b9 Ed H*0340 pickup_read_mdsio = .TRUE.
0341 pickup_write_mdsio= .TRUE.
0342 pickup_write_immed= .FALSE.
8c73a5b228 Mart*0343 writePickupAtEnd = .TRUE.
88830be691 Alis*0344 dumpFreq = deltaT*0
ea0f79f160 Patr*0345 adjDumpFreq = deltaT*0
3a279374db Alis*0346 diagFreq = deltaT*0
82d0948361 Jean*0347 dumpInitAndLast = .TRUE.
a30418b6b9 Ed H*0348 snapshot_mdsio = .TRUE.
dc684458c1 Alis*0349 monitorFreq = -1.
dd069a2c40 Patr*0350 adjMonitorFreq = 0.
f804abbd25 Jean*0351 monitorSelect = UNSET_I
b6356366ca Ed H*0352 monitor_stdio = .TRUE.
0127add478 Alis*0353 taveFreq = deltaT*0
a30418b6b9 Ed H*0354 timeave_mdsio = .TRUE.
9800a0be87 Jean*0355 tave_lastIter = 0.5 _d 0
0127add478 Alis*0356 readBinaryPrec = precFloat32
2e3729af6b Jean*0357 writeBinaryPrec = precFloat32
0358 rwSuffixType = 0
0ac260a803 Andr*0359
0127add478 Alis*0360
0361 bathyFile = ' '
dcccd57cb2 Jean*0362 topoFile = ' '
26565fca80 Jean*0363 addWwallFile = ' '
0364 addSwallFile = ' '
0127add478 Alis*0365 hydrogSaltFile = ' '
0366 hydrogThetaFile = ' '
4c5bb1c88e Jean*0367 maskIniTemp = .TRUE.
0368 maskIniSalt = .TRUE.
0369 checkIniTemp = .TRUE.
0370 checkIniSalt = .TRUE.
a7c5f770ff Dimi*0371 diffKrFile = ' '
d062b1342f Gael*0372 viscAhDfile = ' '
0373 viscAhZfile = ' '
0374 viscA4Dfile = ' '
0375 viscA4Zfile = ' '
0127add478 Alis*0376 zonalWindFile = ' '
0377 meridWindFile = ' '
0378 thetaClimFile = ' '
0379 saltClimFile = ' '
88830be691 Alis*0380 EmPmRfile = ' '
1e273d1bf5 Jean*0381 saltFluxFile = ' '
88830be691 Alis*0382 surfQfile = ' '
2d2cc93d4f Jean*0383 surfQnetFile = ' '
0384 surfQswFile = ' '
e5c33d9529 Alis*0385 uVelInitFile = ' '
0386 vVelInitFile = ' '
c53bb77cb3 Alis*0387 pSurfInitFile = ' '
db8d49beca Jean*0388 pLoadFile = ' '
0320e25227 Mart*0389 geoPotAnomFile = ' '
db8d49beca Jean*0390 addMassFile = ' '
32a8696465 Chri*0391 eddyPsiXFile = ' '
0392 eddyPsiYFile = ' '
bbb6ffc210 Jean*0393 geothermalFile = ' '
28659cf1dc Patr*0394 lambdaThetaFile = ' '
0395 lambdaSaltFile = ' '
7e00d7e8f9 Jean*0396 wghtBalanceFile = ' '
494ad43bae Patr*0397 mdsioLocalDir = ' '
cbc417d429 Mart*0398 adTapeDir = ' '
e5ac5ab665 Jean*0399 the_run_name = ' '
0127add478 Alis*0400
0401 RETURN
0402 END