** Warning **
Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle dbname=MITgcm at /usr/local/share/lxr/lib/LXR/Common.pm line 1224.
Last-Modified: Mon, 13 Sep 2026 05:09:19 GMT
Content-Type: text/html; charset=utf-8
MITgcm/MITgcm/model/src/set_defaults.F
File indexing completed on 2025-12-03 06:08:10 UTC
view on github raw 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