File indexing completed on 2025-09-17 05:08:23 UTC
view on githubraw file Latest commit e9828181 on 2025-09-16 19:00:16 UTC
c0d1c06c15 Matt*0001
0002
0003
0004
0005 COMMON /CARBON_NEEDS/
a284455135 Matt*0006 & apCO2, AtmosP, pH, pCO2, FluxCO2,
c0d1c06c15 Matt*0007 & wind, FIce, Silica
e0f9a7ba0b Matt*0008 #ifdef ALLOW_EXF
0009 & , apco20, apco21
be72e7ae9e Jean*0010 #endif
a284455135 Matt*0011 _RL apCO2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
c0d1c06c15 Matt*0012 _RL AtmosP(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0013 _RL pH(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
0014 _RL pCO2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0015 _RL FluxCO2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0016 _RL wind(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0017 _RL FIce(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0018 _RL Silica(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
e0f9a7ba0b Matt*0019 #ifdef ALLOW_EXF
0020 _RL apco20(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0021 _RL apco21(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
be72e7ae9e Jean*0022 #endif
c0d1c06c15 Matt*0023
0024
0025
0026
0027
0028 COMMON /CARBON_CHEM/
0029 & ak0,ak1,ak2,akw,akb,aks,akf,
e0f9a7ba0b Matt*0030 & ak1p,ak2p,ak3p,aksi,fugf,
be72e7ae9e Jean*0031 & ff,ft,st,bt,
c0d1c06c15 Matt*0032 & Ksp_TP_Calc,Ksp_TP_Arag
0033 _RL ak0(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0034 _RL ak1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0035 _RL ak2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0036 _RL akw(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0037 _RL akb(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0038 _RL aks(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0039 _RL akf(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0040 _RL ak1p(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0041 _RL ak2p(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0042 _RL ak3p(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0043 _RL aksi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0044 _RL ff(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0045 _RL fugf(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0046 _RL ft(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0047 _RL st(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0048 _RL bt(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0049 _RL Ksp_TP_Calc(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0050 _RL Ksp_TP_Arag(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0051
e0f9a7ba0b Matt*0052 #ifdef CARBONCHEM_SOLVESAPHE
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0088 COMMON /CARBONCHEM_SOLVESAPHE_ARIANE/
0089
0090 & cat, akn, akhs, aphscale,
0091 & at_maxniter,
0092 & selectBTconst,selectFTconst,
0093 & selectHFconst,selectK1K2const,
0094 & selectPHsolver
0095
0096 _RL cat(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0097 _RL akn(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0098 _RL akhs(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0099 _RL aphscale(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0100
0101
0102 INTEGER at_maxniter
0103 INTEGER selectBTconst
0104 INTEGER selectFTconst
0105 INTEGER selectHFconst
0106 INTEGER selectK1K2const
0107 INTEGER selectPHsolver
0108 #endif /* CARBONCHEM_SOLVESAPHE */
0109
c0d1c06c15 Matt*0110 COMMON /OXYGEN_CHEM/
0111 & oA0,oA1,oA2,oA3,oA4,oA5,
0112 & oB0,oB1,oB2,oB3,
0113 & oC0
0114 _RL oA0,oA1,oA2,oA3,oA4,oA5
0115 _RL oB0,oB1,oB2,oB3
0116 _RL oC0
0117
0118 COMMON /GLOBAL_SURF_MEAN/
e0f9a7ba0b Matt*0119 & permil,Pa2Atm,epsln
c0d1c06c15 Matt*0120
0121
0122
0123
0124
0125
0126 _RL permil
0127 _RL Pa2Atm
e0f9a7ba0b Matt*0128 _RL epsln
c0d1c06c15 Matt*0129
0130 COMMON /SCHMIDT_NO/
0131 & sca1, sca2, sca3, sca4,
0132 & sox1, sox2, sox3, sox4
0133
0134
0135
0136 _RL sca1,sca2,sca3,sca4
0137 _RL sox1,sox2,sox3,sox4
0138
e0f9a7ba0b Matt*0139 #ifdef ALLOW_EXF
079948e6a6 Matt*0140 integer apco2startdate1
0141 integer apco2startdate2
be72e7ae9e Jean*0142 _RL apco2StartTime
079948e6a6 Matt*0143 _RL apco2period
041f4605e9 Jean*0144 _RL apco2RepCycle
079948e6a6 Matt*0145 _RL apco2const
0146 _RL apco2_exfremo_intercept
0147 _RL apco2_exfremo_slope
e0f9a7ba0b Matt*0148 CHARACTER*1 apco2mask
079948e6a6 Matt*0149 #endif
c0d1c06c15 Matt*0150
0151
0152
e9828181c3 Yixi*0153
0154
0155
0156
0157
c0d1c06c15 Matt*0158
0159
0160 COMMON /BLING_INPUTS/
0161 & bling_windFile, bling_atmospFile, bling_iceFile,
54b6d6aa91 Matt*0162 & bling_ironFile, bling_silicaFile,
be72e7ae9e Jean*0163 & bling_psmFile, bling_plgFile, bling_pdiazFile,
c0d1c06c15 Matt*0164 & bling_forcingPeriod, bling_forcingCycle,
be72e7ae9e Jean*0165 & bling_pCO2,
e0f9a7ba0b Matt*0166 & river_conc_po4, river_dom_to_nut,
47de7c1e0e Matt*0167 & bling_Pc_2dFile, bling_Pc_2d_diazFile,
e9828181c3 Yixi*0168 & bling_k0_2dFile,
af8f3b9ffc Matt*0169 & bling_alpha_photo2dFile,bling_phi_DOM2dFile,
0170 & bling_k_Fe2dFile, bling_k_Fe_diaz2dFile,
0171 & bling_gamma_POM2dFile, bling_wsink0_2dFile,
0172 & bling_phi_lg2dFile, bling_phi_sm2dFile
e0f9a7ba0b Matt*0173 #ifdef ALLOW_EXF
079948e6a6 Matt*0174 & ,apco2startdate1,apco2startdate2,
041f4605e9 Jean*0175 & apco2StartTime, apco2period, apco2RepCycle,
079948e6a6 Matt*0176 & apco2const,
0177 & apco2_exfremo_intercept,
0178 & apco2_exfremo_slope,
0179 & apco2file, apco2mask
0180 #endif
c0d1c06c15 Matt*0181
0182
0183
0184
0185
0186
54b6d6aa91 Matt*0187
0188
0189
c0d1c06c15 Matt*0190
be72e7ae9e Jean*0191
c0d1c06c15 Matt*0192
0193
079948e6a6 Matt*0194
c0d1c06c15 Matt*0195
0196 CHARACTER*(MAX_LEN_FNAM) bling_windFile
0197 CHARACTER*(MAX_LEN_FNAM) bling_atmospFile
0198 CHARACTER*(MAX_LEN_FNAM) bling_iceFile
0199 CHARACTER*(MAX_LEN_FNAM) bling_ironFile
0200 CHARACTER*(MAX_LEN_FNAM) bling_silicaFile
54b6d6aa91 Matt*0201 CHARACTER*(MAX_LEN_FNAM) bling_psmFile
0202 CHARACTER*(MAX_LEN_FNAM) bling_plgFile
0203 CHARACTER*(MAX_LEN_FNAM) bling_pdiazFile
e9828181c3 Yixi*0204 CHARACTER*(MAX_LEN_FNAM) bling_k0_2dFile
be72e7ae9e Jean*0205 CHARACTER*(MAX_LEN_FNAM) bling_Pc_2dFile
47de7c1e0e Matt*0206 CHARACTER*(MAX_LEN_FNAM) bling_Pc_2d_diazFile
0207 CHARACTER*(MAX_LEN_FNAM) bling_alpha_photo2dFile
0208 CHARACTER*(MAX_LEN_FNAM) bling_k_Fe2dFile
0209 CHARACTER*(MAX_LEN_FNAM) bling_k_Fe_diaz2dFile
af8f3b9ffc Matt*0210 CHARACTER*(MAX_LEN_FNAM) bling_gamma_POM2dFile
0211 CHARACTER*(MAX_LEN_FNAM) bling_wsink0_2dFile
0212 CHARACTER*(MAX_LEN_FNAM) bling_phi_DOM2dFile
0213 CHARACTER*(MAX_LEN_FNAM) bling_phi_lg2dFile
0214 CHARACTER*(MAX_LEN_FNAM) bling_phi_sm2dFile
e0f9a7ba0b Matt*0215 #ifdef ALLOW_EXF
079948e6a6 Matt*0216 CHARACTER*(MAX_LEN_FNAM) apco2file
0217 #endif
c0d1c06c15 Matt*0218 _RL bling_forcingPeriod
0219 _RL bling_forcingCycle
0220 _RL bling_pCO2
e0f9a7ba0b Matt*0221 _RL river_conc_po4
0222 _RL river_dom_to_nut
c0d1c06c15 Matt*0223
079948e6a6 Matt*0224
0225
0226
e0f9a7ba0b Matt*0227 #ifdef ALLOW_EXF
079948e6a6 Matt*0228 _RL exf_inscal_apco2
0229 _RL exf_outscal_apco2
0230 COMMON /BLG_PARAM_SCAL/
0231 & exf_inscal_apco2,
0232 & exf_outscal_apco2
0233 #endif
0234
0235
be72e7ae9e Jean*0236
079948e6a6 Matt*0237
e0f9a7ba0b Matt*0238 #ifdef ALLOW_EXF
079948e6a6 Matt*0239 #ifdef USE_EXF_INTERPOLATION
0240 _RL apco2_lon0, apco2_lon_inc
0241 _RL apco2_lat0, apco2_lat_inc(MAX_LAT_INC)
0242 INTEGER apco2_nlon, apco2_nlat, apco2_interpMethod
0243
0244 COMMON /BLG_EXF_INTERPOLATION/
0245 & apco2_lon0, apco2_lon_inc,
0246 & apco2_lat0, apco2_lat_inc,
0247 & apco2_nlon, apco2_nlat,apco2_interpMethod
0248 #endif
0249 #endif
c0d1c06c15 Matt*0250
0251
0252
0253
e37161e05a Jean*0254
0255
0256
82e538d851 aver*0257
0258
c0d1c06c15 Matt*0259
0260 COMMON /BIOTIC_NEEDS/
0261 & InputFe,
be72e7ae9e Jean*0262 & omegaC,
0263 & omegaAr,
c0d1c06c15 Matt*0264 & irr_mem,
4ac06494d5 Matt*0265 & phyto_lg,
0266 & phyto_sm,
c0d1c06c15 Matt*0267 & chl,
82e538d851 aver*0268 & chl_sat,
3b75ee2a42 Matt*0269 & poc,
e9828181c3 Yixi*0270 & k0_2d,
e0f9a7ba0b Matt*0271 & Pc_0_2d,
0272 & k_Fe_2d,
0273 & wsink0_2d,
0274 & gamma_POM_2d,
0275 & phi_DOM_2d,
0276 & phi_sm_2d,
0277 & phi_lg_2d,
0278 #ifndef USE_BLING_V1
0279 & phyto_diaz,
0280 & Pc_0_diaz_2d,
0281 & k_Fe_diaz_2d,
0282 & alpha_photo_2d,
c0d1c06c15 Matt*0283 & Pc_0_diaz,
e0f9a7ba0b Matt*0284 & alpha_photo,
0285 & gamma_DON,
0286 & k_Fe_diaz,
0287 & k_NO3,
9edc0e3a85 aver*0288 & k_NO3_sm,
0289 & k_NO3_lg,
0290 & k_PO4_sm,
0291 & k_PO4_lg,
0292 & k_Fe_sm,
0293 & k_Fe_lg,
e0f9a7ba0b Matt*0294 & k_PtoN,
0295 & k_FetoN,
0296 & PtoN_min,
0297 & PtoN_max,
0298 & FetoN_min,
0299 & FetoN_max,
0300 & kappa_eppley_diaz,
0301 & phi_dvm,
0302 & sigma_dvm,
0303 #ifdef USE_SIBLING
0304 & k_Si,
0305 & gamma_Si_0,
0306 & kappa_remin_Si,
0307 & wsink_Si,
00fa2d4ddd mmaz*0308 & SitoN_uptake_min,
0309 & SitoN_uptake_max,
0310 & SitoN_uptake_scale,
0311 & SitoN_uptake_exp,
e0f9a7ba0b Matt*0312 & q_SitoN_diss,
0313 #endif
0314 #else
0315 & alpha_max,
0316 & alpha_min,
0317 & gamma_biomass,
0318 & k_FetoP,
0319 & FetoP_max,
0320 & Fe_lim_min,
0321 #endif
c0d1c06c15 Matt*0322 & CtoN,
e0f9a7ba0b Matt*0323 & CtoP,
0324 & NtoP,
c0d1c06c15 Matt*0325 & HtoC,
e0f9a7ba0b Matt*0326 & NO3toN,
c0d1c06c15 Matt*0327 & O2toN,
e0f9a7ba0b Matt*0328 & O2toP,
c0d1c06c15 Matt*0329 & CatoN,
e0f9a7ba0b Matt*0330 & CatoP,
c0d1c06c15 Matt*0331 & masstoN,
e0f9a7ba0b Matt*0332 & pivotal,
0333 & Pc_0,
0334 & lambda_0,
0335 & resp_frac,
0336 & chl_min,
c0d1c06c15 Matt*0337 & theta_Fe_max_hi,
0338 & theta_Fe_max_lo,
0339 & gamma_irr_mem,
0340 & gamma_DOP,
0341 & gamma_POM,
0342 & k_O2,
e0f9a7ba0b Matt*0343 & k_Fe,
c0d1c06c15 Matt*0344 & k_PO4,
0345 & kFe_eq_lig_max,
0346 & kFe_eq_lig_min,
0347 & kFe_eq_lig_Femin,
be72e7ae9e Jean*0348 & kFe_eq_lig_irr,
c0d1c06c15 Matt*0349 & kFe_org,
0350 & kFe_inorg,
0351 & FetoC_sed,
0352 & remin_min,
0353 & oxic_min,
0354 & ligand,
0355 & kappa_eppley,
0356 & kappa_remin,
0357 & ca_remin_depth,
0358 & phi_DOM,
0359 & phi_sm,
0360 & phi_lg,
0361 & wsink0,
e0f9a7ba0b Matt*0362 & wsink0z,
c0d1c06c15 Matt*0363 & wsinkacc,
0364 & parfrac,
0365 & alpfe,
0366 & k0,
82e538d851 aver*0367 & MLmix_max,
0368 & chlsat_locTimWindow
c0d1c06c15 Matt*0369
0370 _RL InputFe(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0371 _RL omegaC(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
0372 _RL omegaAr(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
0373 _RL irr_mem(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
4ac06494d5 Matt*0374 _RL phyto_lg(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
0375 _RL phyto_sm(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
c0d1c06c15 Matt*0376 _RL chl(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
82e538d851 aver*0377 _RL chl_sat(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
3b75ee2a42 Matt*0378 _RL poc(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
e9828181c3 Yixi*0379 _RL k0_2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
e0f9a7ba0b Matt*0380 _RL Pc_0_2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0381 _RL k_Fe_2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
af8f3b9ffc Matt*0382 _RL wsink0_2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
e0f9a7ba0b Matt*0383 _RL gamma_POM_2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0384 _RL phi_DOM_2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0385 _RL phi_sm_2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0386 _RL phi_lg_2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0387 #ifndef USE_BLING_V1
0388 _RL phyto_diaz(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
0389 _RL Pc_0_diaz_2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0390 _RL k_Fe_diaz_2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0391 _RL alpha_photo_2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
c0d1c06c15 Matt*0392 _RL Pc_0_diaz
e0f9a7ba0b Matt*0393 _RL alpha_photo
0394 _RL gamma_DON
0395 _RL k_Fe_diaz
0396 _RL k_NO3
9edc0e3a85 aver*0397 _RL k_NO3_sm
0398 _RL k_NO3_lg
0399 _RL k_PO4_sm
0400 _RL k_PO4_lg
0401 _RL k_Fe_sm
0402 _RL k_Fe_lg
e0f9a7ba0b Matt*0403 _RL k_PtoN
0404 _RL k_FetoN
0405 _RL PtoN_min
0406 _RL PtoN_max
0407 _RL FetoN_min
0408 _RL FetoN_max
0409 _RL kappa_eppley_diaz
0410 _RL phi_dvm
0411 _RL sigma_dvm
0412 #ifdef USE_SIBLING
0413 _RL k_Si
0414 _RL gamma_Si_0
0415 _RL kappa_remin_Si
0416 _RL wsink_Si
00fa2d4ddd mmaz*0417 _RL SitoN_uptake_min
0418 _RL SitoN_uptake_max
0419 _RL SitoN_uptake_scale
0420 _RL SitoN_uptake_exp
e0f9a7ba0b Matt*0421 _RL q_SitoN_diss
0422 #endif
0423 #else
0424 _RL alpha_max
0425 _RL alpha_min
0426 _RL gamma_biomass
0427 _RL k_FetoP
0428 _RL FetoP_max
0429 _RL Fe_lim_min
0430 #endif
c0d1c06c15 Matt*0431 _RL CtoN
e0f9a7ba0b Matt*0432 _RL CtoP
0433 _RL NtoP
c0d1c06c15 Matt*0434 _RL HtoC
e0f9a7ba0b Matt*0435 _RL NO3toN
c0d1c06c15 Matt*0436 _RL O2toN
e0f9a7ba0b Matt*0437 _RL O2toP
be72e7ae9e Jean*0438 _RL CatoN
e0f9a7ba0b Matt*0439 _RL CatoP
be72e7ae9e Jean*0440 _RL masstoN
e0f9a7ba0b Matt*0441 _RL pivotal
0442 _RL Pc_0
0443 _RL lambda_0
0444 _RL resp_frac
0445 _RL chl_min
c0d1c06c15 Matt*0446 _RL theta_Fe_max_hi
0447 _RL theta_Fe_max_lo
0448 _RL gamma_irr_mem
0449 _RL gamma_DOP
0450 _RL gamma_POM
0451 _RL k_O2
e0f9a7ba0b Matt*0452 _RL k_Fe
c0d1c06c15 Matt*0453 _RL k_PO4
0454 _RL kFe_eq_lig_max
0455 _RL kFe_eq_lig_min
0456 _RL kFe_eq_lig_Femin
be72e7ae9e Jean*0457 _RL kFe_eq_lig_irr
c0d1c06c15 Matt*0458 _RL kFe_org
0459 _RL kFe_inorg
0460 _RL FetoC_sed
0461 _RL remin_min
0462 _RL oxic_min
0463 _RL ligand
0464 _RL kappa_eppley
0465 _RL kappa_remin
0466 _RL ca_remin_depth
0467 _RL phi_DOM
0468 _RL phi_sm
0469 _RL phi_lg
0470 _RL wsink0
e0f9a7ba0b Matt*0471 _RL wsink0z
c0d1c06c15 Matt*0472 _RL wsinkacc
0473 _RL parfrac
0474 _RL alpfe
0475 _RL k0
e0f9a7ba0b Matt*0476 _RL MLmix_max
82e538d851 aver*0477 _RL chlsat_locTimWindow(2)
c0d1c06c15 Matt*0478
0479
0480
0481