File indexing completed on 2025-12-02 20:42:56 UTC
view on githubraw file Latest commit a092808e on 2025-12-02 20:09:45 UTC
8fbfd1f382 Oliv*0001 #include "DARWIN_OPTIONS.h"
0002
0003 SUBROUTINE DARWIN_READ_PARAMS(iUnit,oUnit,myThid)
0004 IMPLICIT NONE
0005 #include "SIZE.h"
0006 #include "EEPARAMS.h"
0007 #include "PARAMS.h"
5959dc7b6e Oliv*0008 #include "PTRACERS_SIZE.h"
0009 #include "PTRACERS_PARAMS.h"
8fbfd1f382 Oliv*0010 #ifdef ALLOW_RADTRANS
0011 #include "RADTRANS_SIZE.h"
0012 #endif
0013 #include "DARWIN_SIZE.h"
0014 #include "DARWIN_RADTRANS.h"
0015 #include "DARWIN_PARAMS.h"
0016
0017 CHARACTER*(MAX_LEN_MBUF) msgBuf
f0a72e2151 Oliv*0018 INTEGER errCount,iUnit,oUnit,myThid
0019 #ifndef DARWIN_SOLVESAPHE
0020 INTEGER selectBTconst, selectFTconst, selectHFconst
0021 INTEGER selectK1K2const, selectPHsolver
0022 #endif
8fbfd1f382 Oliv*0023
0024 #ifdef ALLOW_DARWIN
0025
f0a72e2151 Oliv*0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
8fbfd1f382 Oliv*0055 NAMELIST/DARWIN_CONSTANTS/
0056 & rad2deg
0057
0058 #ifdef DARWIN_ALLOW_CARBON
0059 NAMELIST/CARBON_CONSTANTS/
0060 & Pa2Atm,
0061 & ptr2mol,
0062 & sca1,
0063 & sca2,
0064 & sca3,
0065 & sca4,
0066 & sox1,
0067 & sox2,
0068 & sox3,
0069 & sox4,
0070 & oA0,
0071 & oA1,
0072 & oA2,
0073 & oA3,
0074 & oA4,
0075 & oA5,
0076 & oB0,
0077 & oB1,
0078 & oB2,
0079 & oB3,
0080 & oC0
0081 #endif
0082
0083 NAMELIST/DARWIN_PARAMS/
0084 & darwin_seed,
0085 & darwin_strict_check,
0086 & iDEBUG,
0087 & jDEBUG,
0088 & kDEBUG,
f17484eeb1 Oliv*0089 & darwin_pickupSuff,
8fbfd1f382 Oliv*0090 & darwin_linFSConserve,
0091 & darwin_read_phos,
bd66743083 Oliv*0092 & darwin_chlInitBalanced,
0093 & darwin_chlIter0,
8fbfd1f382 Oliv*0094 & katten_w,
0095 & katten_chl,
0096 & parfrac,
0097 & parconv,
0098 & tempnorm,
0099 & TempAeArr,
0100 & TemprefArr,
0101 & TempCoeffArr,
a092808e6b shlo*0102 & TempAeArrMacromol,
09b16dd232 Oliv*0103 & reminTempAe,
0104 & mortTempAe,
0105 & mort2TempAe,
0106 & uptakeTempAe,
8fbfd1f382 Oliv*0107 & alpfe,
0108 & ligand_tot,
0109 & ligand_stab,
0110 & freefemax,
66ade11a9e Oliv*0111 #ifdef DARWIN_PART_SCAV_POP
8fbfd1f382 Oliv*0112 & scav_rat,
0113 & scav_inter,
0114 & scav_exp,
0115 & scav_R_POPPOC,
66ade11a9e Oliv*0116 #elif defined(DARWIN_PART_SCAV)
0117 & scav_tau,
0118 & scav_inter,
0119 & scav_exp,
0120 & scav_POC_wgt,
28ac947a3e Oliv*0121 & scav_PSi_wgt,
66ade11a9e Oliv*0122 & scav_PIC_wgt,
28ac947a3e Oliv*0123 & scav_degrPOM,
66ade11a9e Oliv*0124 #else
0125 & scav,
0126 #endif
8fbfd1f382 Oliv*0127 & depthfesed,
0128 & fesedflux,
0129 & fesedflux_pcm,
ad5342a8d6 Oliv*0130 & fesedflux_min,
8fbfd1f382 Oliv*0131 & R_CP_fesed,
2c93eb88ef Oliv*0132 & depthFeVent,
0133 & solFeVent,
0134 & R_FeHe3_vent,
8fbfd1f382 Oliv*0135 & Knita,
0136 & Knitb,
0137 & PAR_oxi,
0138 & Kdoc,
0139 & Kdop,
0140 & Kdon,
0141 & KdoFe,
0142 & KPOC,
0143 & KPOP,
0144 & KPON,
0145 & KPOFe,
0146 & KPOSi,
a092808e6b shlo*0147 & ksatO2remin,
8fbfd1f382 Oliv*0148 & wC_sink,
0149 & wP_sink,
0150 & wN_sink,
0151 & wFe_sink,
0152 & wSi_sink,
0153 & wPIC_sink,
ba0b6d5d33 Oliv*0154 & darwin_disscSelect,
8fbfd1f382 Oliv*0155 & Kdissc,
ba0b6d5d33 Oliv*0156 & darwin_KeirCoeff,
0157 & darwin_KeirExp,
8fbfd1f382 Oliv*0158 #ifdef DARWIN_ALLOW_CARBON
0159 & R_OP,
0160 & R_OC,
0161 & m3perkg,
0162 & surfSaltMinInit,
0163 & surfSaltMaxInit,
0164 & surfTempMinInit,
0165 & surfTempMaxInit,
0166 & surfDICMinInit,
0167 & surfDICMaxInit,
0168 & surfALKMinInit,
0169 & surfALKMaxInit,
0170 & surfPO4MinInit,
0171 & surfPO4MaxInit,
0172 & surfSiMinInit,
0173 & surfSiMaxInit,
0174 & surfSaltMin,
0175 & surfSaltMax,
0176 & surfTempMin,
0177 & surfTempMax,
0178 & surfDICMin,
0179 & surfDICMax,
0180 & surfALKMin,
0181 & surfALKMax,
0182 & surfPO4Min,
0183 & surfPO4Max,
0184 & surfSiMin,
0185 & surfSiMax,
f0a72e2151 Oliv*0186 & selectBTconst, selectFTconst,
0187 & selectHFconst, selectK1K2const,
0188 & selectPHsolver,
8a10163480 Oliv*0189 #ifdef DARWIN_ALLOW_RADIv2
0190 & sed_globala1,
0191 & sed_globalb1,
0192 & sed_globalc1,
0193 & sed_globald1,
0194 & sed_globale1,
0195 & sed_globala2,
0196 & sed_globalb2,
0197 & sed_globalc2,
0198 & sed_globald2,
0199 & sed_globale2,
0200 & sed_globala3,
0201 & sed_globalb3,
0202 & sed_globalc3,
0203 & sed_globald3,
0204 & sed_globale3,
0205 & sed_globala4,
0206 & sed_globalb4,
0207 & sed_globalc4,
0208 & sed_globald4,
0209 & sed_globale4,
5938ff335d Oliv*0210 & sed_globalf4,
0211 & sed_globalg4,
8a10163480 Oliv*0212 & sed_globala5,
0213 & sed_globalb5,
0214 & sed_globalc5,
0215 & sed_globald5,
0216 & sed_globale5,
0217 & sed_globala6,
0218 & sed_globalb6,
0219 & sed_globalc6,
0220 & sed_globald6,
0221 & sed_globale6,
0222 #endif
8fbfd1f382 Oliv*0223 #endif
0224 & diaz_ini_fac,
0225 & O2crit,
0226 & denit_NP,
0227 & denit_NO3,
0228 & NO3crit,
0229 & PARmin,
b3165fc3b9 Oliv*0230 & aphy_chl_ave,
e4eb55147a Oliv*0231 & Chl2Nmax,
8fbfd1f382 Oliv*0232 & synthcost,
0233 & inhib_graz,
0234 & inhib_graz_exp,
0235 & hillnumGraz,
0236 & hollexp,
0237 & phygrazmin,
0238 & pmaxDIN,
367178819a Oliv*0239 & pcoefO2,
8fbfd1f382 Oliv*0240 & ksatDIN,
0241 & alpha_hydrol,
0242 & yod,
0243 & yoe,
0244 & ynd,
0245 & yne,
5910c7e5d2 Oliv*0246
0247
0248
0249
0250
0251
8fbfd1f382 Oliv*0252 & depthdenit
0253
0254 #ifdef DARWIN_ALLOW_CDOM
0255 NAMELIST/DARWIN_CDOM_PARAMS/
0256 & fracCDOM,
0257 & CDOMdegrd,
0258 & CDOMbleach,
0259 & PARCDOM,
1c72adde5c Oliv*0260 # ifdef DARWIN_CDOM_UNITS_CARBON
0261 & R_NC_CDOM,
0262 & R_FeC_CDOM,
0263 & R_PC_CDOM,
0264 # else
8fbfd1f382 Oliv*0265 & R_NP_CDOM,
0266 & R_FeP_CDOM,
0267 & R_CP_CDOM,
1c72adde5c Oliv*0268 # endif
8fbfd1f382 Oliv*0269 & CDOMcoeff
0270 #endif
0271
0272 NAMELIST/DARWIN_DEPENDENT_PARAMS/
0273 #ifdef ALLOW_RADTRANS
0274 #ifdef DARWIN_ALLOW_CDOM
0275 #else
0276 & laCDOM,
0277 #endif
0278 #endif
902534e2db Oliv*0279 & darwin_dependent_i_dummy
8fbfd1f382 Oliv*0280
0281
0282 #ifdef ALLOW_RADTRANS
0283 NAMELIST/DARWIN_RADTRANS_PARAMS/
0284 & darwin_waterAbsorbFile,
0285 & darwin_phytoAbsorbFile,
0286 & darwin_particleAbsorbFile,
0287 & darwin_part_size_P,
0288 & darwin_bbmin,
0289 & darwin_bbw,
0290 & darwin_lambda_aCDOM,
0291 & darwin_Sdom,
0292 & darwin_aCDOM_fac,
e1251af904 Oliv*0293 & darwin_rCDOM,
0294 & darwin_RPOC,
8fbfd1f382 Oliv*0295 & darwin_allomSpectra,
0296 & darwin_aCarCell,
0297 & darwin_bCarCell,
0298 & darwin_absorpSlope,
0299 & darwin_bbbSlope,
0300 & darwin_scatSwitchSizeLog,
0301 & darwin_scatSlopeSmall,
0302 & darwin_scatSlopeLarge
0303 #endif
0304
0305 #ifdef ALLOW_RADTRANS
0306 NAMELIST/DARWIN_RT_DEPPARAMS/
0307 & aw,
0308 & bw,
0309 & aphy_chl_type,
0310 & aphy_chl_ps_type,
f61b1017e2 Oliv*0311 & aphy_mgC_type,
8fbfd1f382 Oliv*0312 & bphy_mgC_type,
0313 & bbphy_mgC_type,
0314 & asize,
0315 & apsize,
f61b1017e2 Oliv*0316 & asize_mgC,
8fbfd1f382 Oliv*0317 & bsize,
0318 & bbsize,
0319 & apart,
0320 & bpart,
0321 & bbpart,
0322 & apart_P,
0323 & bpart_P,
0324 & bbpart_P,
0325 & exCDOM
0326 #endif
0327
0328
0329 _RL pday
0330 _RL pyear
0331
0332
0333
0334
0335
0336 pday = 86400.0 _d 0
0337 pyear = 360 _d 0 * pday
0338
0339
0340
0341
0342
0343 rad2deg = 180 _d 0 / PI
0344
0345
0346
0347
0348
0349 #ifdef DARWIN_ALLOW_CARBON
0350 Pa2Atm = 1.01325 _d 5
0351 ptr2mol = 1.0 _d -3
0352 sca1 = 2073.1 _d 0
0353 sca2 = -125.62 _d 0
0354 sca3 = 3.6276 _d 0
0355 sca4 = -0.043219 _d 0
0356 sox1 = 1638.0 _d 0
0357 sox2 = -81.83 _d 0
0358 sox3 = 1.483 _d 0
0359 sox4 = -0.008004 _d 0
0360 oA0 = 2.00907 _d 0
0361 oA1 = 3.22014 _d 0
0362 oA2 = 4.05010 _d 0
0363 oA3 = 4.94457 _d 0
0364 oA4 = -2.56847 _d -1
0365 oA5 = 3.88767 _d 0
0366 oB0 = -6.24523 _d -3
0367 oB1 = -7.37614 _d -3
0368 oB2 = -1.03410 _d -2
0369 oB3 = -8.17083 _d -3
0370 oC0 = -4.88682 _d -7
6aa5674e10 Oliv*0371
8a10163480 Oliv*0372 #ifdef DARWIN_ALLOW_RADIv1
6aa5674e10 Oliv*0373
0374 sed_a1 = -0.101 _d 0
0375 sed_b1 = 1.04 _d 0
0376 sed_c1 = 0.128 _d 0
0377 sed_d1 = 0.125 _d 0
0378 sed_a2 = -0.225 _d 0
0379 sed_b2 = 0.581 _d 0
0380 sed_c2 = 0.273 _d 0
0381 sed_d2 = 0.211 _d 0
0382 sed_a3 = -0.018 _d 0
0383 sed_b3 = -0.8 _d 0
0384 sed_c3 = 0.011 _d 0
0385 sed_d3 = -0.033 _d 0
0386 sed_a4 = 0. _d 0
0387 sed_b4 = 0.027 _d 0
0388 sed_c4 = 0.012 _d 0
0389 sed_d4 = -0.001 _d 0
0390 sed_a5 = 0.117 _d 0
0391 sed_b5 = -0.251 _d 0
0392 sed_c5 = 0.852 _d 0
0393 sed_d5 = -0.127 _d 0
0394 sed_c = 3.17 _d -5
0395 #endif
8a10163480 Oliv*0396
0397 #ifdef DARWIN_ALLOW_RADIv2
0398
0399 sed_globala1 = 2.07 _d -5
0400 sed_globalb1 = -5.64 _d -7
0401 sed_globalc1 = -5.42 _d -6
0402 sed_globald1 = 1.45 _d 0
0403 sed_globale1 = 4.19 _d -1
0404 sed_globala2 = 1.55 _d -5
0405 sed_globalb2 = -2.94 _d -7
0406 sed_globalc2 = -6.55 _d -6
0407 sed_globald2 = 5.83 _d -1
0408 sed_globale2 = 1.38 _d -1
0409 sed_globala3 = -1.35 _d -5
0410 sed_globalb3 = 5.08 _d -8
0411 sed_globalc3 = 1.79 _d -6
0412 sed_globald3 = -1.07 _d 0
0413 sed_globale3 = -4.47 _d -1
5938ff335d Oliv*0414 sed_globala4 = 3.0 _d -6
0415 sed_globalb4 = -7.14 _d -1
0416 sed_globalc4 = 1.94 _d -1
0417 sed_globald4 = 2.81 _d -1
0418 sed_globale4 = -2.21 _d -2
0419 sed_globalf4 = -2.97 _d -2
0420 sed_globalg4 = -3.20 _d 2
8a10163480 Oliv*0421 sed_globala5 = -2.42 _d -7
0422 sed_globalb5 = 1.54 _d -8
0423 sed_globalc5 = -4.77 _d -8
0424 sed_globald5 = 1.64 _d 0
0425 sed_globale5 = 1.20 _d -2
0426 sed_globala6 = -3.87 _d -6
0427 sed_globalb6 = 9.15 _d -8
0428 sed_globalc6 = -7.26 _d -7
0429 sed_globald6 = 1.73 _d 0
0430 sed_globale6 = 1.51 _d -1
0431 #endif
8fbfd1f382 Oliv*0432 #endif
0433
0434
0435
0436
0437
0438 darwin_seed = 0
0439 darwin_strict_check = .FALSE.
0440 iDEBUG = 1
0441 jDEBUG = 1
0442 kDEBUG = 1
f17484eeb1 Oliv*0443 darwin_pickupSuff = pickupSuff
8fbfd1f382 Oliv*0444 darwin_linFSConserve = .FALSE.
0445 darwin_read_phos = .FALSE.
bd66743083 Oliv*0446 darwin_chlInitBalanced = .FALSE.
5959dc7b6e Oliv*0447 darwin_chlIter0 = UNSET_I
8fbfd1f382 Oliv*0448 katten_w = 4. _d -2
0449 katten_chl = 4. _d -2
0450 parfrac = 0.4 _d 0
5910c7e5d2 Oliv*0451 parconv = 1 _d 0/0.2174 _d 0
8fbfd1f382 Oliv*0452 tempnorm = 0.3 _d 0
0453 TempAeArr = -4000.0 _d 0
0454 TemprefArr = 293.15 _d 0
0455 TempCoeffArr = 0.5882 _d 0
a092808e6b shlo*0456 TempAeArrMacromol = -8420.0 _d 0
09b16dd232 Oliv*0457 reminTempAe = 0.0438 _d 0
0458 mortTempAe = 0.0438 _d 0
0459 mort2TempAe = 0.0438 _d 0
0460 uptakeTempAe = 0.0 _d 0
8fbfd1f382 Oliv*0461 alpfe = 0.04 _d 0
0462 ligand_tot = 1. _d -3
0463 ligand_stab = 2. _d 5
0464 freefemax = 0.4 _d -3
66ade11a9e Oliv*0465 #ifdef DARWIN_PART_SCAV_POP
8fbfd1f382 Oliv*0466 scav_rat = 0.005 _d 0 / pday
0467 scav_inter = 0.079 _d 0
0468 scav_exp = 0.58 _d 0
0469 scav_R_POPPOC = 1.1321 _d -4
66ade11a9e Oliv*0470 #elif defined(DARWIN_PART_SCAV)
28ac947a3e Oliv*0471 scav_tau = 0.2 _d 0
66ade11a9e Oliv*0472 scav_inter = 0.079 _d 0 / pday
0473 scav_exp = 0.58 _d 0
28ac947a3e Oliv*0474 scav_POC_wgt = 0.12728 _d 0
0475 scav_PSi_wgt = 0 _d 0
0476 scav_PIC_wgt = 0 _d 0
0477 scav_degrPOM = 0 _d 0
66ade11a9e Oliv*0478 #else
0479 scav = 0.4 _d 0/pyear
0480 #endif
8fbfd1f382 Oliv*0481 depthfesed = -1.0 _d 0
5910c7e5d2 Oliv*0482 fesedflux = 1 _d -3 / pday
0483 fesedflux_pcm = 0.68 _d -3
ad5342a8d6 Oliv*0484 fesedflux_min = 0.5 _d -3 / pday
8fbfd1f382 Oliv*0485 R_CP_fesed = 106 _d 0
2c93eb88ef Oliv*0486
0487 R_FeHe3_vent = 4.5 _d 8
0488 solFeVent = 2 _d -3
0489 depthFeVent = 750 _d 0
0490
5910c7e5d2 Oliv*0491 Knita = 1 _d 0/(0.5 _d 0*pday)
0492 Knitb = 1 _d 0/(10 _d 0*pday)
0493 PAR_oxi = 10 _d 0
0494 Kdoc = 1 _d 0/(100 _d 0*pday)
0495 Kdop = 1 _d 0/(100 _d 0*pday)
0496 Kdon = 1 _d 0/(100 _d 0*pday)
0497 KdoFe = 1 _d 0/(100 _d 0*pday)
0498 KPOC = 1 _d 0/(50 _d 0*pday)
8fbfd1f382 Oliv*0499 KPOP = KPOC
0500 KPON = KPOC
0501 KPOFe = KPOC
5910c7e5d2 Oliv*0502 KPOSi = 1 _d 0/(300 _d 0*pday)
a092808e6b shlo*0503 ksatO2remin = 0 _d 0
5910c7e5d2 Oliv*0504 wC_sink = 10 _d 0/pday
8fbfd1f382 Oliv*0505 wP_sink = wC_sink
0506 wN_sink = wC_sink
0507 wFe_sink = wC_sink
0508 wSi_sink = wC_sink
5910c7e5d2 Oliv*0509 wPIC_sink = 15 _d 0/pday
ba0b6d5d33 Oliv*0510 darwin_disscSelect = 0
5910c7e5d2 Oliv*0511 Kdissc = 1 _d 0/(300 _d 0*pday)
ba0b6d5d33 Oliv*0512 darwin_KeirCoeff = EXP(7.177 _d 0)/100 _d 0/86400 _d 0
0513 darwin_KeirExp = 4.54 _d 0
8fbfd1f382 Oliv*0514 #ifdef DARWIN_ALLOW_CARBON
0515 R_OP = 170 _d 0
0516 R_OC = 170 _d 0/120.0 _d 0
5910c7e5d2 Oliv*0517 m3perkg = 1 _d 0 / 1024.5 _d 0
8fbfd1f382 Oliv*0518 surfSaltMinInit = 4.0 _d 0
0519 surfSaltMaxInit = 50.0 _d 0
0520 surfTempMinInit = -4.0 _d 0
0521 surfTempMaxInit = 39.0 _d 0
0522 surfDICMinInit = 10.0 _d 0
0523 surfDICMaxInit = 4000.0 _d 0
0524 surfALKMinInit = 10.0 _d 0
0525 surfALKMaxInit = 4000.0 _d 0
0526 surfPO4MinInit = 1.0 _d -10
0527 surfPO4MaxInit = 10.0 _d 0
0528 surfSiMinInit = 1.0 _d -8
0529 surfSiMaxInit = 500.0 _d 0
0530 surfSaltMin = 4.0 _d 0
0531 surfSaltMax = 50.0 _d 0
0532 surfTempMin = -4.0 _d 0
0533 surfTempMax = 39.0 _d 0
0534 surfDICMin = 400.0 _d 0
0535 surfDICMax = 4000.0 _d 0
0536 surfALKMin = 400.0 _d 0
0537 surfALKMax = 4000.0 _d 0
0538 surfPO4Min = 1.0 _d -10
0539 surfPO4Max = 10.0 _d 0
0540 surfSiMin = 1.0 _d -8
0541 surfSiMax = 500.0 _d 0
f0a72e2151 Oliv*0542 selectBTconst = UNSET_I
0543 selectFTconst = UNSET_I
0544 selectHFconst = UNSET_I
0545 selectK1K2const = UNSET_I
0546 selectPHsolver = UNSET_I
8fbfd1f382 Oliv*0547 #endif
0548 diaz_ini_fac = 1 _d 0
5910c7e5d2 Oliv*0549
8fbfd1f382 Oliv*0550 O2crit = 6.0 _d 0
0551 denit_NP = 120.0 _d 0
0552 denit_NO3 = 104.0 _d 0
0553 NO3crit = 1. _d -2
0554 PARmin = 0.1 _d 0
b3165fc3b9 Oliv*0555 aphy_chl_ave = 0.02 _d 0
e4eb55147a Oliv*0556 Chl2Nmax = 3.00 _d 0
8fbfd1f382 Oliv*0557 synthcost = 0.0 _d 0
0558 inhib_graz = 1.0 _d 0
0559 inhib_graz_exp = 0.0 _d 0
0560 hillnumGraz = 1.0 _d 0
0561 hollexp = 1.0 _d 0
0562 phygrazmin = 120 _d -10
5910c7e5d2 Oliv*0563 pcoefO2 = 290.82 _d 0/pday
8fbfd1f382 Oliv*0564 pmaxDIN = 20/pday
0565 ksatDIN = 0.01 _d 0
0566 alpha_hydrol = 2.0 _d 0
0567 yod = 0.2 _d 0
0568 yoe = yod/467*4/(1-yod)*106 _d 0
0569 ynd = 0.16 _d 0
0570 yne = ynd/467*5/(1-ynd)*106 _d 0
5910c7e5d2 Oliv*0571
0572
0573
0574
0575
0576
8fbfd1f382 Oliv*0577 depthdenit = 185.0 _d 0
0578
0579 READ(UNIT=iUnit, NML=DARWIN_PARAMS)
0580
0581
0582
0583
0584
0585 #ifdef DARWIN_ALLOW_CDOM
0586 fracCDOM = 2. _d 0 / 100. _d 0
0587 CDOMdegrd = 1. _d 0 / (200 _d 0*pday)
0588 CDOMbleach = 1. _d 0 / (15 _d 0*pday)
0589 PARCDOM = 20. _d 0
1c72adde5c Oliv*0590 # ifdef DARWIN_CDOM_UNITS_CARBON
0591 R_NC_CDOM = 16. _d 0 / 120 _d 0
0592 R_FeC_CDOM = 1. _d -3 / 120 _d 0
0593 R_PC_CDOM = 1 _d 0 / 120. _d 0
0594 CDOMcoeff = .1 _d -1 / 1. _d -4 / 120 _d 0
0595 # else
8fbfd1f382 Oliv*0596 R_NP_CDOM = 16. _d 0
0597 R_FeP_CDOM = 1. _d -3
0598 R_CP_CDOM = 120. _d 0
0599 CDOMcoeff = .1 _d -1 / 1. _d -4
1c72adde5c Oliv*0600 # endif
8fbfd1f382 Oliv*0601
0602 READ(UNIT=iUnit, NML=DARWIN_CDOM_PARAMS)
0603 #endif
0604
0605
0606
0607
0608
0609 #ifdef ALLOW_RADTRANS
0610 #ifdef DARWIN_ALLOW_CDOM
0611 #else
0612 laCDOM = -1
0613 #endif
0614 #endif
0615 kMinFeSed = 1
0616 kMaxFeSed = 0
0617
0618
0619
0620
0621
0622 #ifdef ALLOW_RADTRANS
0623 darwin_waterAbsorbFile = ' '
0624 darwin_phytoAbsorbFile = ' '
0625 darwin_particleAbsorbFile = ' '
0626 darwin_part_size_P = 1 _d -15
0627 darwin_bbmin = 0.0002 _d 0
0628 darwin_bbw = 0.5 _d 0
0629 darwin_lambda_aCDOM = 450.0 _d 0
0630 darwin_Sdom = 0.014 _d 0
0631 darwin_aCDOM_fac = 0.2 _d 0
e1251af904 Oliv*0632 darwin_rCDOM = 0.0 _d 0
0633 darwin_RPOC = 0.0 _d 0
8fbfd1f382 Oliv*0634 darwin_allomSpectra = .FALSE.
5910c7e5d2 Oliv*0635
8fbfd1f382 Oliv*0636 darwin_aCarCell = 0.109 _d -9
0637 darwin_bCarCell = 0.991 _d 0
0638 darwin_absorpSlope = -0.075 _d 0
0639 darwin_bbbSlope = -1.458 _d 0
0640 darwin_scatSwitchSizeLog = 0. _d 0
0641 darwin_scatSlopeSmall = 1.5 _d 0
0642 darwin_scatSlopeLarge = 1.5 _d 0
0643
0644 READ(UNIT=iUnit, NML=DARWIN_RADTRANS_PARAMS)
0645
0646 aw = -1
0647 bw = -1
0648 aphy_chl_type = -1
0649 aphy_chl_ps_type = -1
f61b1017e2 Oliv*0650 aphy_mgC_type = -1
8fbfd1f382 Oliv*0651 bphy_mgC_type = -1
0652 bbphy_mgC_type = -1
0653 asize = -1
0654 apsize = -1
f61b1017e2 Oliv*0655 asize_mgC = -1
8fbfd1f382 Oliv*0656 bsize = -1
0657 bbsize = -1
0658 apart = -1
0659 bpart = -1
0660 bbpart = -1
0661 apart_P = -1
0662 bpart_P = -1
0663 bbpart_P = -1
0664 exCDOM = -1
0665 #endif
0666
f0a72e2151 Oliv*0667
0668
0669
0670
0671 #ifdef DARWIN_ALLOW_CARBON
0672 IF ( selectBTconst .EQ.UNSET_I ) selectBTconst = 1
0673 IF ( selectFTconst .EQ.UNSET_I ) selectFTconst = 1
0674 IF ( selectHFconst .EQ.UNSET_I ) selectHFconst = 1
0675 IF ( selectK1K2const.EQ.UNSET_I ) selectK1K2const = 1
0676 IF ( selectPHsolver .EQ.UNSET_I ) selectPHsolver = 0
0677 #endif
0678
5959dc7b6e Oliv*0679 IF ( darwin_chlIter0.EQ.UNSET_I ) darwin_chlIter0 = PTRACERS_Iter0
0680
f0a72e2151 Oliv*0681
0682
0683
0684 errCount = 0
0685
0686 #ifdef DARWIN_SOLVESAPHE
0687
0688 IF ( selectPHsolver.GT.0 ) THEN
0689 WRITE(msgBuf,'(A)')
0690 & 'Using Munhoven (2013) Solvesaphe for pH/pCO2'
0691 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0692 & SQUEEZE_RIGHT, myThid )
0693 ELSEIF ( selectPHsolver.EQ.0 ) THEN
0694 WRITE(msgBuf,'(A)')
0695 & 'Using Follows et al. (2006) for pH/pCO2'
0696 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0697 & SQUEEZE_RIGHT, myThid )
0698 ENDIF
0699 #endif /* DARWIN_SOLVESAPHE */
0700
0701
0702 #ifdef DARWIN_SOLVESAPHE
0703 WRITE(msgBuf,'(A)')
0704 & 'Using Munhoven (2013) Solvesaphe carbon coefficients'
0705 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0706 & SQUEEZE_RIGHT, myThid )
0707
0708 IF ( selectK1K2const.EQ.1 ) THEN
0709 WRITE(msgBuf,'(A)')
0710 & 'Using Millero (1995)/Mehrbach K1 and K2 coefficients'
0711 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0712 & SQUEEZE_RIGHT, myThid )
0713 ELSEIF ( selectK1K2const.EQ.2 ) THEN
0714 WRITE(msgBuf,'(A)')
0715 & 'Using Roy et al. (1993) K1 and K2 coefficients'
0716 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0717 & SQUEEZE_RIGHT, myThid )
0718 ELSEIF ( selectK1K2const.EQ.3 ) THEN
0719 WRITE(msgBuf,'(A)')
0720 & 'Using Millero (1995) "consensus" K1 and K2 coefficients'
0721 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0722 & SQUEEZE_RIGHT, myThid )
0723 ELSEIF ( selectK1K2const.EQ.4 ) THEN
0724 WRITE(msgBuf,'(A)')
0725 & 'Using Luecker et al. (2000) K1 and K2 coefficients'
0726 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0727 & SQUEEZE_RIGHT, myThid )
0728 ELSEIF ( selectK1K2const.EQ.5 ) THEN
0729 WRITE(msgBuf,'(A)')
0730 & 'Using Millero et al. (2010) K1 and K2 coefficients'
0731 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0732 & SQUEEZE_RIGHT, myThid )
0733 ELSEIF ( selectK1K2const.EQ.6 ) THEN
0734 WRITE(msgBuf,'(A)')
0735 & 'Using Waters et al. (2014) K1 and K2 coefficients'
0736 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0737 & SQUEEZE_RIGHT, myThid )
0738 ENDIF
0739
0740 IF ( selectHFconst.EQ.1 ) THEN
0741 WRITE(msgBuf,'(A)')
0742 & 'Using Dickson and Riley (1979) KF coefficient'
0743 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0744 & SQUEEZE_RIGHT, myThid )
0745 ELSEIF ( selectHFconst.EQ.2 ) THEN
0746 WRITE(msgBuf,'(A)')
0747 & 'Using Perez and Fraga (1987) KF coefficient'
0748 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0749 & SQUEEZE_RIGHT, myThid )
0750 ENDIF
0751
0752 IF ( selectBTconst.EQ.1 ) THEN
0753 WRITE(msgBuf,'(A)')
0754 & 'Using Uppstrom (1974) BT estimation from salinity'
0755 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0756 & SQUEEZE_RIGHT, myThid )
0757 ELSEIF ( selectBTconst.EQ.2 ) THEN
0758 WRITE(msgBuf,'(A)')
0759 & 'Using Lee et al (2010) BT estimation from salinity'
0760 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0761 & SQUEEZE_RIGHT, myThid )
0762 ENDIF
0763
0764 IF ( selectFTconst.EQ.1 ) THEN
0765 WRITE(msgBuf,'(A)')
0766 & 'Using Riley (1965) FT estimation from salinity'
0767 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0768 & SQUEEZE_RIGHT, myThid )
0769 ELSEIF ( selectBTconst.EQ.2 ) THEN
0770 WRITE(msgBuf,'(A)')
0771 & 'Using Culkin (1965) FT estimation from salinity'
0772 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0773 & SQUEEZE_RIGHT, myThid )
0774 ENDIF
0775 #else /* DARWIN_SOLVESAPHE */
0776
0777 WRITE(msgBuf,'(A)')
0778 & 'Using Millero (1995)/Mehrbach K1 and K2 coefficients'
0779 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0780 & SQUEEZE_RIGHT, myThid )
0781 WRITE(msgBuf,'(A)')
0782 & 'Using Dickson and Riley (1979) KF coefficient'
0783 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0784 & SQUEEZE_RIGHT, myThid )
0785 WRITE(msgBuf,'(A)')
0786 & 'Using Uppstrom (1974) BT estimation from salinity'
0787 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0788 & SQUEEZE_RIGHT, myThid )
0789 WRITE(msgBuf,'(A)')
0790 & 'Using Riley (1965) FT estimation from salinity'
0791 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
0792 & SQUEEZE_RIGHT, myThid )
0793 #endif /* DARWIN_SOLVESAPHE */
0794
8fbfd1f382 Oliv*0795
0796
0797
0798 IF ( oUnit .GE. 0 ) THEN
0799 WRITE(UNIT=oUnit, NML=DARWIN_CONSTANTS)
0800 #ifdef DARWIN_ALLOW_CARBON
0801 WRITE(UNIT=oUnit, NML=CARBON_CONSTANTS)
0802 #endif
0803 WRITE(UNIT=oUnit, NML=DARWIN_PARAMS)
0804 #ifdef DARWIN_ALLOW_CDOM
0805 WRITE(UNIT=oUnit, NML=DARWIN_CDOM_PARAMS)
0806 #endif
0807 WRITE(UNIT=oUnit, NML=DARWIN_DEPENDENT_PARAMS)
0808 #ifdef ALLOW_RADTRANS
0809 WRITE(UNIT=oUnit, NML=DARWIN_RADTRANS_PARAMS)
0810 WRITE(UNIT=oUnit, NML=DARWIN_RT_DEPPARAMS)
0811 #endif
0812 ENDIF
0813
0814 #endif /* ALLOW_DARWIN */
0815
0816 RETURN
0817 END