Back to home page

darwin3

 
 

    


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 C Pa2Atm    :: Conversion factor for atmospheric pressure anomaly pLoad (when
                0027 C              coupled to atmospheric model) into Atm.
                0028 C              Default assumes pLoad in Pascal: 1 Atm = 1.01325e5 Pa = 1013.25 mb
                0029 C ptr2mol   :: set carbon mmol/m3 <---> mol/m3 conversion factor
                0030 C              default permil = 1 _d -3
                0031 C  selectBTconst :: estimates borate concentration from salinity:
                0032 C     =1 :: use default formulation of Uppström (1974)(same as S/R CARBON_COEFFS)
                0033 C     =2 :: use new formulation from Lee et al (2010)
                0034 C  selectFTconst :: estimates fluoride concentration from salinity:
                0035 C     =1 :: use default formulation of Riley (1965) (same as S/R CARBON_COEFFS)
                0036 C     =2 :: use new formulation from Culkin (1965)
                0037 C  selectHFconst :: sets the first dissociation constant for hydrogen fluoride:
                0038 C     =1 :: use default  Dickson and Riley (1979) (same as S/R CARBON_COEFFS)
                0039 C     =2 :: use new formulation of Perez and Fraga (1987)
                0040 C  selectK1K2const :: sets the 1rst & 2nd dissociation constants of carbonic acid:
                0041 C     =1 :: use default formulation of Millero (1995) with data
                0042 C            from Mehrbach et al. (1973) (same as S/R CARBON_COEFFS)
                0043 C     =2 :: use formulation of Roy et al. (1993)
                0044 C     =3 :: use "combination" formulation of Millero (1995)
                0045 C     =4 :: use formulation of Luecker et al. (2000)
                0046 C     =5 :: use formulation of Millero (2010, Mar. Fresh Wat. Res.)
                0047 C     =6 :: use formulation of Waters, Millero, Woosley (2014, Mar. Chem.)
                0048 C  selectPHsolver :: sets the pH solver to use:
                0049 C     =0 :: use Follows et al., (2006) solver;
                0050 C     =1 :: use the GENERAL solver from Munhoven (2013);
                0051 C     =2 :: use SEC solver  from Munhoven (2013);
                0052 C     =3 :: use FAST solver from Munhoven (2013);
                0053 C----
                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 C     &    fnh4,
                0247 C     &    ynh4,
                0248 C     &    yonh4,
                0249 C     &    fno2,
                0250 C     &    yno2,
                0251 C     &    yono2,
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 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                0333 C     locals
                0334 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                0335 
                0336       pday = 86400.0 _d 0
                0337       pyear = 360 _d 0 * pday
                0338 
                0339 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                0340 C     DARWIN_CONSTANTS
                0341 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                0342 
                0343       rad2deg = 180 _d 0 / PI
                0344 
                0345 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                0346 C     CARBON_CONSTANTS
                0347 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                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 C for sediment model
                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 C for sediment model
                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 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                0435 C     DARWIN_PARAMS
                0436 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                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 C These values for hydrothermal input of iron from Tagliabue et al (2014)       
                0487       R_FeHe3_vent = 4.5 _d 8
                0488       solFeVent = 2 _d -3
                0489       depthFeVent = 750 _d 0
                0490 C
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 C     O2crit from Lipschultz et al 1990, DSR 37, 1513-1541:
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 C      fnh4 = 0.1 _d 0
                0572 C      ynh4 = 1/(16+467/6/fnh4)*106 _d 0
                0573 C      yonh4 = fnh4/467*4/(1-fnh4)*106 _d 0
                0574 C      fno2 = 0.1 _d 0
                0575 C      yno2 = 1/(16+563/2/fno2)*106 _d 0
                0576 C      yono2 = fno2/563*4/(1-fno2)*106 _d 0
8fbfd1f382 Oliv*0577       depthdenit = 185.0 _d 0
                0578 
                0579       READ(UNIT=iUnit, NML=DARWIN_PARAMS)
                0580 
                0581 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                0582 C     DARWIN_CDOM_PARAMS
                0583 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                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 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                0606 C     DARWIN_DEPENDENT_PARAMS
                0607 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                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 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                0619 C     DARWIN_RADTRANS_PARAMS
                0620 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                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 C     from Montagnes et al 1994:
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 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0668 C-    derive other parameters:
                0669 
                0670 C-    set parameter default values
                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 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0682 C--   Print out parameter values :
                0683 
                0684       errCount = 0
                0685 
                0686 #ifdef DARWIN_SOLVESAPHE
                0687 C Record the solver to calculate pH and evaluate surface ocean pCO2
                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 C Record which carbonate coefficients are used and which pH/pCO2 solver
                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 C Munhoven (2013)'s "Solvesaphe" coefficients have several options:
                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 C OCMIP2 Coefficients from S/R CARBON_COEFFS in CARBON_CHEM.F
                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 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
                0796 C     log all parameters to a namelist file
                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