@@ -2770,7 +2770,7 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
2770
2770
real :: pi = 3.14159265358979
2771
2771
integer :: ichl
2772
2772
real :: par_phy_mldsum, par_z_mldsum
2773
- real :: chl, zchl, zval, phy_chlc, dia_chlc
2773
+ real :: chl, zchl, zval, sqrt_zval, phy_chlc, dia_chlc
2774
2774
real :: phy_limnh4, phy_limno3, phy_limdin
2775
2775
real :: dia_limnh4, dia_limno3, dia_limdin
2776
2776
real :: phy_pisl, phy_pisl2
@@ -2786,7 +2786,7 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
2786
2786
real , dimension (:,:), allocatable :: ek_bgr, par_bgr_mid, par_bgr_top
2787
2787
real , dimension (:), allocatable :: wsink, wsinkcal
2788
2788
real , dimension (4 ,61 ) :: zbgr
2789
- real :: ztemk, fe_keq, fe_par, fe_sfe, fe_tfe, partic
2789
+ real :: ztemk, I_ztemk, fe_keq, fe_par, fe_sfe, fe_tfe, partic
2790
2790
real :: fesol1, fesol2, fesol3, fesol4, fesol5, hp, fe3sol
2791
2791
real :: biof, biodoc, zno3, zfermin
2792
2792
real :: phy_Fe2C, dia_Fe2C, zoo_Fe2C, mes_Fe2C, det_Fe2C
@@ -3530,24 +3530,29 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
3530
3530
3531
3531
! Estimate solubility of Fe3+ (free Fe) in solution using temperature, pH and salinity
3532
3532
ztemk = max (5.0 , Temp(i,j,k)) + 273.15 ! temperature in kelvin
3533
+ I_ztemk = 1.0 / ztemk
3533
3534
zval = 19.924 * Salt(i,j,k) / ( 1000 . - 1.005 * Salt(i,j,k))
3534
- fesol1 = 10 ** (- 13.486 - 0.1856 * zval** 0.5 + 0.3073 * zval + 5254.0 / ztemk)
3535
- fesol2 = 10 ** (2.517 - 0.8885 * zval** 0.5 + 0.2139 * zval - 1320.0 / ztemk)
3536
- fesol3 = 10 ** (0.4511 - 0.3305 * zval** 0.5 - 1996.0 / ztemk)
3537
- fesol4 = 10 ** (- 0.2965 - 0.7881 * zval** 0.5 - 4086.0 / ztemk)
3538
- fesol5 = 10 ** (4.4466 - 0.8505 * zval** 0.5 - 7980.0 / ztemk)
3539
- hp = 10 ** (- 7.9 )
3540
- if (wombat% htotal(i,j,k).gt. 0.0 ) hp = wombat% htotal(i,j,k)
3541
- fe3sol = fesol1 * ( hp** 3 + fesol2 * hp** 2 + fesol3 * hp + fesol4 + fesol5 / hp ) * 1e9
3535
+ sqrt_zval = sqrt (zval)
3536
+ fesol1 = 10.0 ** (- 13.486 - 0.1856 * sqrt_zval + 0.3073 * zval + 5254.0 * I_ztemk)
3537
+ fesol2 = 10.0 ** (2.517 - 0.8885 * sqrt_zval + 0.2139 * zval - 1320.0 * I_ztemk)
3538
+ fesol3 = 10.0 ** (0.4511 - 0.3305 * sqrt_zval - 1996.0 * I_ztemk)
3539
+ fesol4 = 10.0 ** (- 0.2965 - 0.7881 * sqrt_zval - 4086.0 * I_ztemk)
3540
+ fesol5 = 10.0 ** (4.4466 - 0.8505 * sqrt_zval - 7980.0 * I_ztemk)
3541
+ if (wombat% htotal(i,j,k).gt. 0.0 ) then
3542
+ hp = wombat% htotal(i,j,k)
3543
+ else
3544
+ hp = 1.25893e-08 ! dts: =10.0**(-7.9)
3545
+ endif
3546
+ fe3sol = fesol1 * ( hp* hp* hp + fesol2* hp* hp + fesol3* hp + fesol4 + fesol5/ hp ) * 1e9
3542
3547
3543
3548
! Estimate total colloidal iron
3544
3549
! ... for now, we assume that 50% of all dFe is colloidal, and we separate this from the
3545
3550
! equilibrium fractionation between Fe' and Fe-L below
3546
3551
wombat% fecol(i,j,k) = wombat% fcolloid * biofer
3547
3552
3548
3553
! Determine equilibriuim fractionation of the remain dFe (non-colloidal fraction) into Fe' and L-Fe
3549
- fe_keq = 10 ** ( 17.27 - 1565.7 / ztemk ) * 1e-9 ! Temperature reduces solubility
3550
- fe_par = 4.77e-7 * wombat% radbio(i,j,k) * 0.5 / 10 ** (- 6.3 ) ! Light increases solubility
3554
+ fe_keq = 10.0 ** ( 17.27 - 1565.7 * I_ztemk ) * 1e-9 ! Temperature reduces solubility
3555
+ fe_par = 0.47587 * wombat% radbio(i,j,k) ! Light increases solubility. dts: 0.47587=4.77e-7*0.5/10.0 **(-6.3)
3551
3556
fe_sfe = max (0.0 , biofer - wombat% fecol(i,j,k))
3552
3557
fe_tfe = (1.0 + fe_par) * fe_sfe
3553
3558
wombat% feIII(i,j,k) = ( - ( 1 . + wombat% ligand * fe_keq + fe_par - fe_sfe * fe_keq ) &
@@ -3642,8 +3647,8 @@ subroutine generic_WOMBATmid_update_from_source(tracer_list, Temp, Salt, &
3642
3647
! We also add a T-dependent function to scale down CaCO3 production in waters colder
3643
3648
! than 3 degrees C based off the observation of no E hux growth beneath this (Fielding 2013; L&O)
3644
3649
hco3 = wombat% f_dic(i,j,k) - wombat% co3(i,j,k) - wombat% co2_star(i,j,k)
3645
- wombat% pic2poc(i,j,k) = min (0.3 , (wombat% f_inorg + 10 ** (- 3.0 + 4.31 * &
3646
- hco3 / ( wombat% htotal(i,j,k) * 1e6 ))) * &
3650
+ wombat% pic2poc(i,j,k) = min (0.3 , (wombat% f_inorg + 10.0 ** (- 3.0 + 4.31e-6 * &
3651
+ hco3 / wombat% htotal(i,j,k))) * &
3647
3652
(0.55 + 0.45 * tanh (Temp(i,j,k) - 4.0 )) )
3648
3653
3649
3654
! The dissolution rate is a function of omegas for calcite and aragonite, as well the
0 commit comments