File indexing completed on 2025-12-03 06:08:10 UTC
view on githubraw file Latest commit 47ecd102 on 2025-12-02 23:05: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
47ecd1025a Jean*0268 selectPenetratingSW = UNSET_I
7e00d7e8f9 Jean*0269 selectBalanceEmPmR = UNSET_I
2e21c62c84 Mart*0270 balanceQnet = .FALSE.
0271 balancePrintMean = .FALSE.
9e3a303fa3 Gael*0272 balanceThetaClimRelax = .FALSE.
0273 balanceSaltClimRelax = .FALSE.
745a0098ab Jean*0274
dcccd57cb2 Jean*0275
8a0dea9684 Jean*0276 celsius2K = 273.15 _d 0
5f008e2fec Jean*0277 atm_Po = 1. _d 5
0278 atm_Cp = 1004. _d 0
0279 atm_Rd = UNSET_RL
0280 atm_kappa = 2. _d 0 / 7. _d 0
1aedd07e9b Jean*0281 atm_Rq = 0. _d 0
463053c692 Jean*0282 integr_GeoPot = 2
0283 selectFindRoSurf = 0
dcccd57cb2 Jean*0284
0127add478 Alis*0285
0286 cg2dMaxIters = 150
aecc8b0f47 Mart*0287 cg2dMinItersNSA = 0
14007c468a Jean*0288 cg2dTargetResidual = 1. _d -7
aea29c8517 Alis*0289 cg2dTargetResWunit = -1.
b46f9da188 Jean*0290 cg2dUseMinResSol = UNSET_I
14007c468a Jean*0291 cg2dpcOffDFac = 0.51 _d 0
fe587f155a Jean*0292 cg2dPreCondFreq = 1
0127add478 Alis*0293 cg3dMaxIters = 150
14007c468a Jean*0294 cg3dTargetResidual = 1. _d -7
e6e223b277 Jean*0295 cg3dTargetResWunit = -1.
aecc8b0f47 Mart*0296 useNSACGSolver = .FALSE.
23bce0bbb8 Mart*0297 useSRCGSolver = .FALSE.
0127add478 Alis*0298
0299
062a876ce5 Jean*0300 deltaT = 0. _d 0
db8d49beca Jean*0301 deltaTMom = 0. _d 0
0302 deltaTFreeSurf = 0. _d 0
062a876ce5 Jean*0303 DO k=1,Nr
0304 dTtracerLev(k) = 0. _d 0
0305 ENDDO
16c445e700 Jean*0306 baseTime = 0. _d 0
19eda8b250 Jean*0307 nIter0 = -1
0308 startTime = UNSET_RL
88830be691 Alis*0309 nTimeSteps = 0
6e6f314aa7 Patr*0310 nTimeSteps_l2 = 0
19eda8b250 Jean*0311 nEndIter = 0
0312 endTime = 0. _d 0
c2b6ed6bfd Jean*0313 momForcingOutAB = UNSET_I
0314 tracForcingOutAB = UNSET_I
0315 momDissip_In_AB = .TRUE.
52242443f2 Jean*0316 doAB_onGtGs = .TRUE.
14007c468a Jean*0317 abEps = 0.01 _d 0
92aa7be6ff Jean*0318 #ifdef ALLOW_ADAMSBASHFORTH_3
0319 alph_AB = 0.5 _d 0
0320 beta_AB = 5. _d 0 / 12. _d 0
0321 startFromPickupAB2= .FALSE.
0322 #else
0323 alph_AB = UNSET_RL
0324 beta_AB = UNSET_RL
0325 startFromPickupAB2= .TRUE.
0326 #endif
2e3729af6b Jean*0327 cAdjFreq = 0. _d 0
0328 tauCD = 0. _d 0
0329 tauThetaClimRelax = 0. _d 0
0330 tauSaltClimRelax = 0. _d 0
0331 periodicExternalForcing = .FALSE.
0332 externForcingPeriod = 0.
0333 externForcingCycle = 0.
0334 tCylIn = 0.
0335 tCylOut = 20.
0336
0337 pickupSuff = ' '
0338 pickupStrictlyMatch = .TRUE.
742cf4499c Jean*0339 pChkPtFreq = deltaT*0
0127add478 Alis*0340 chkPtFreq = deltaT*0
ff63a227b0 Ed H*0341 outputTypesInclusive = .FALSE.
a30418b6b9 Ed H*0342 pickup_read_mdsio = .TRUE.
0343 pickup_write_mdsio= .TRUE.
0344 pickup_write_immed= .FALSE.
8c73a5b228 Mart*0345 writePickupAtEnd = .TRUE.
88830be691 Alis*0346 dumpFreq = deltaT*0
ea0f79f160 Patr*0347 adjDumpFreq = deltaT*0
3a279374db Alis*0348 diagFreq = deltaT*0
82d0948361 Jean*0349 dumpInitAndLast = .TRUE.
a30418b6b9 Ed H*0350 snapshot_mdsio = .TRUE.
dc684458c1 Alis*0351 monitorFreq = -1.
dd069a2c40 Patr*0352 adjMonitorFreq = 0.
f804abbd25 Jean*0353 monitorSelect = UNSET_I
b6356366ca Ed H*0354 monitor_stdio = .TRUE.
0127add478 Alis*0355 readBinaryPrec = precFloat32
2e3729af6b Jean*0356 writeBinaryPrec = precFloat32
0357 rwSuffixType = 0
0ac260a803 Andr*0358
0127add478 Alis*0359
0360 bathyFile = ' '
dcccd57cb2 Jean*0361 topoFile = ' '
26565fca80 Jean*0362 addWwallFile = ' '
0363 addSwallFile = ' '
0127add478 Alis*0364 hydrogSaltFile = ' '
0365 hydrogThetaFile = ' '
4c5bb1c88e Jean*0366 maskIniTemp = .TRUE.
0367 maskIniSalt = .TRUE.
0368 checkIniTemp = .TRUE.
0369 checkIniSalt = .TRUE.
a7c5f770ff Dimi*0370 diffKrFile = ' '
d062b1342f Gael*0371 viscAhDfile = ' '
0372 viscAhZfile = ' '
0373 viscA4Dfile = ' '
0374 viscA4Zfile = ' '
0127add478 Alis*0375 zonalWindFile = ' '
0376 meridWindFile = ' '
0377 thetaClimFile = ' '
0378 saltClimFile = ' '
88830be691 Alis*0379 EmPmRfile = ' '
1e273d1bf5 Jean*0380 saltFluxFile = ' '
88830be691 Alis*0381 surfQfile = ' '
2d2cc93d4f Jean*0382 surfQnetFile = ' '
0383 surfQswFile = ' '
e5c33d9529 Alis*0384 uVelInitFile = ' '
0385 vVelInitFile = ' '
c53bb77cb3 Alis*0386 pSurfInitFile = ' '
db8d49beca Jean*0387 pLoadFile = ' '
0320e25227 Mart*0388 geoPotAnomFile = ' '
db8d49beca Jean*0389 addMassFile = ' '
32a8696465 Chri*0390 eddyPsiXFile = ' '
0391 eddyPsiYFile = ' '
bbb6ffc210 Jean*0392 geothermalFile = ' '
28659cf1dc Patr*0393 lambdaThetaFile = ' '
0394 lambdaSaltFile = ' '
7e00d7e8f9 Jean*0395 wghtBalanceFile = ' '
494ad43bae Patr*0396 mdsioLocalDir = ' '
cbc417d429 Mart*0397 adTapeDir = ' '
e5ac5ab665 Jean*0398 the_run_name = ' '
0127add478 Alis*0399
0400 RETURN
0401 END