Skip to content

Commit

Permalink
Revert scavenging defaults to POP-based equivalents
Browse files Browse the repository at this point in the history
rename parameter and add constant non-labile POM contribution.
  • Loading branch information
jahn committed Oct 4, 2024
1 parent fd20fa8 commit 28ac947
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 36 deletions.
33 changes: 12 additions & 21 deletions doc/phys_pkgs/darwin_iron.rst
Original file line number Diff line number Diff line change
Expand Up @@ -97,39 +97,29 @@ The scavenging rate for free iron is
To select particle-based scavenging following Parekh et al. (2005)
:cite:`parekh:2005`, define :varlink:`DARWIN_PART_SCAV`. POM is the
concentration of particulate organic matter in units of mg/L. It is
parameterized in terms of POC, POSi and PIC,
parameterized in terms of POC, PSi and PIC,

.. math::
\op{POM} = w^{\text{scav}}_{\text{POC}} \op{POC}
+ w^{\text{scav}}_{\text{POSi}} \op{POSi}
+ w^{\text{scav}}_{\text{PSi}} \op{PSi}
+ w^{\text{scav}}_{\text{PIC}} \op{PIC}
+ \op{rPOM}
\;.
The value for :math:`w^{\text{scav}}_{\text{POC}}` is taken from Rios et al.
(1998) :cite:`rios:1998` as the weight of as detritus without opal per mol of
carbon. :math:`w^{\text{scav}}_{\text{POSi}}` and
:math:`w^{\text{scav}}_{\text{PIC}}` are just the molecular weights of opal
(per mol Si) and calcium carbonate, see
By default, only POC contributes, see
:numref:`tab_phys_pkgs_darwin_iron_params`.

.. admonition:: deprecated formulations
.. admonition:: deprecated formulation

The old (and deprecated) formulation of scavenging in terms of POP can be
recovered by defining :varlink:`DARWIN_PART_SCAV_POP`, in which case
:math:`\op{POM}` is replaced by
:math:`\op{POP}\!/R^{\op{POP}:\op{POC}}_{{\text{scav}}}`. Parameter names
and defaults are different in this case, see
:numref:`tab_phys_pkgs_darwin_scav_pop`. For comparison: this formulation
with its default parameters could also be recovered in the new formulation
(with new default parameters) by setting
:math:`\op{POM}=w^{\text{scav}}_{\text{POP}} \op{POP}` where
:math:`w^{\text{scav}}_{\text{POP}}\approx 15.274` g/mmol P.

The faulty formulation in terms of POC only that existed before 2022-12-05
can be recovered by setting scav_POC_wgt=1, scav_PIC_wgt=0 and
scav_POSi_wgt=0 and making sure the product scav_tau*scav_inter has the same
value as scav_rat*scav_inter before.
:numref:`tab_phys_pkgs_darwin_scav_pop`. The new formulation with default
parameters closely approximates the old formulation with its default
parameters when POC:POP is 120:1.

The concentration of free iron, Fe', is determined following Parekh et al.
(2004) :cite:`parekh:2004` and Dutkiewicz et al. (2005)
Expand Down Expand Up @@ -180,9 +170,10 @@ and after each biogeochemical subtimestep.
:varlink:`scav_tau` & :math:`\tau_{\op{scav}}` & 0.2 & & factor for converting Th scavenging rates to iron ones
:varlink:`scav_inter` & :math:`I_{\op{scav}}` & 0.079 / day & L\ :sup:`e` mg\ :sup:`-e` s\ :sup:`-1` & intercept of scavenging power law (e=e\ :sub:`scav`)
:varlink:`scav_exp` & :math:`e_{\op{scav}}` & 0.58 & & exponent of scavenging power law
:varlink:`scav_POC_wgt` & :math:`w^{\op{scav}}_{\op{POC}}` & 0.02173 & g/mmol |nbsp| C & weight POC contributes to POM
:varlink:`scav_POSi_wgt` & :math:`w^{\op{scav}}_{\op{POSi}}` & 0.069 & g/mmol |nbsp| Si & weight POSi contributes to POM
:varlink:`scav_PIC_wgt` & :math:`w^{\op{scav}}_{\op{PIC}}` & 0.100 & g/mmol |nbsp| C & weight PIC contributes to POM
:varlink:`scav_POC_wgt` & :math:`w^{\op{scav}}_{\op{POC}}` & 0.12728 & g/mmol |nbsp| C & weight POC contributes to POM
:varlink:`scav_PSi_wgt` & :math:`w^{\op{scav}}_{\op{PSi}}` & 0.0 & g/mmol |nbsp| Si & weight PSi contributes to POM
:varlink:`scav_PIC_wgt` & :math:`w^{\op{scav}}_{\op{PIC}}` & 0.0 & g/mmol |nbsp| C & weight PIC contributes to POM
:varlink:`scav_rPOM` & :math:`\op{rPOM}` & 0.0 & g/m\ :sup:`3` & concentration of non-labile POM for scavenging
:varlink:`ligand_tot` & :math:`L_{\op{T}}` & 1E-3 & mmol/m\ :sup:`3` & total ligand concentration
:varlink:`ligand_stab` & :math:`\beta_{\op{stab}}` & 0.2E6 & m\ :sup:`3`/mmol & ligand stability rate ratio
:varlink:`freefemax` & :math:`\op{Fe}'_{\op{max}}` & 0.4E-3 & mmol/m\ :sup:`3` & max concentration of free iron
Expand Down
9 changes: 6 additions & 3 deletions pkg/darwin/DARWIN_PARAMS.h
Original file line number Diff line number Diff line change
Expand Up @@ -247,8 +247,9 @@ C scav_tau :: [1] factor to go from Th scavenging r
C scav_inter :: [L^e mg^-e s^-1] intercept of scavenging power law (e=scav_exp)
C scav_exp :: [1] exponent of scavenging power law
C scav_POC_wgt :: [g / mmol C] weight POC contributes to POM for scavenging
C scav_POSi_wgt :: [g / mmol Si] weight POSi contributes to POM for scavenging
C scav_PSi_wgt :: [g / mmol Si] weight PSi contributes to POM for scavenging
C scav_PIC_wgt :: [g / mmol C] weight PIC contributes to POM for scavenging
C scav_degrPOM :: [g/m3] concentration of non-labile POM for scavenging
C scav_rat :: [1] factor Th to iron for DARWIN_PART_SCAV_POP
C scav_R_POPPOC :: [mmol P / g C] POP:POC ratio for DARWIN_PART_SCAV_POP
C depthfesed :: [m] depth above which to add sediment source (was -1000)
Expand Down Expand Up @@ -378,8 +379,9 @@ C depthdenit :: [m] not implemented (depth for denitrific
& scav_inter,
& scav_exp,
& scav_POC_wgt,
& scav_POSi_wgt,
& scav_PSi_wgt,
& scav_PIC_wgt,
& scav_degrPOM,
#else
& scav,
#endif
Expand Down Expand Up @@ -497,8 +499,9 @@ C & yono2,
_RL scav_inter
_RL scav_exp
_RL scav_POC_wgt
_RL scav_POSi_wgt
_RL scav_PSi_wgt
_RL scav_PIC_wgt
_RL scav_degrPOM
#else
_RL scav
#endif
Expand Down
15 changes: 9 additions & 6 deletions pkg/darwin/darwin_check.F
Original file line number Diff line number Diff line change
Expand Up @@ -1724,13 +1724,13 @@ SUBROUTINE DARWIN_CHECK( myThid )
&' /* solubility of Fe dust */')
CALL WRITE_0D_RL(ligand_tot,INDEX_NONE,
&'ligand_tot =',
&' /* total ligand concentration (mol/m3) */')
&' /* total ligand concentration (mmol/m3) */')
CALL WRITE_0D_RL(ligand_stab,INDEX_NONE,
&'ligand_stab =',
&' /* ligand stability rate ratio (m3/mol) */')
&' /* ligand stability rate ratio (m3/mmol) */')
CALL WRITE_0D_RL(freefemax,INDEX_NONE,
&'freefemax =',
&' /* max concentration of free iron (mol/m3) */')
&' /* max concentration of free iron (mmol/m3) */')
#ifdef DARWIN_PART_SCAV_POP
CALL WRITE_0D_RL(scav_rat,INDEX_NONE,
&'scav_rat =',
Expand All @@ -1757,12 +1757,15 @@ SUBROUTINE DARWIN_CHECK( myThid )
CALL WRITE_0D_RL(scav_POC_wgt,INDEX_NONE,
&'scav_POC_wgt =',
&' /* weight of POC in POM for scavenging (g / mmol C) */')
CALL WRITE_0D_RL(scav_POSi_wgt,INDEX_NONE,
&'scav_POSi_wgt =',
&' /* weight of POSi in POM for scavenging (g / mmol Si) */')
CALL WRITE_0D_RL(scav_PSi_wgt,INDEX_NONE,
&'scav_PSi_wgt =',
&' /* weight of PSi in POM for scavenging (g / mmol Si) */')
CALL WRITE_0D_RL(scav_PIC_wgt,INDEX_NONE,
&'scav_PIC_wgt =',
&' /* weight of PIC in POM for scavenging (g / mmol C) */')
CALL WRITE_0D_RL(scav_degrPOM,INDEX_NONE,
&'scav_degrPOM =',
&' /* concentration of non-labile POM for scavenging (g/m3) */')
#else
CALL WRITE_0D_RL(scav,INDEX_NONE,
&'scav =',
Expand Down
3 changes: 2 additions & 1 deletion pkg/darwin/darwin_forcing.F
Original file line number Diff line number Diff line change
Expand Up @@ -407,8 +407,9 @@ SUBROUTINE DARWIN_FORCING( Ptrdummy,
scv = scav_rat*scav_inter*(scav_pom**scav_exp)
#elif defined(DARWIN_PART_SCAV)
scav_pom = scav_POC_wgt*MAX(0 _d 0, Ptracer(i,j,k,bi,bj,iPOC))
& + scav_POSi_wgt*MAX(0 _d 0, Ptracer(i,j,k,bi,bj,iPOSi))
& + scav_PSi_wgt*MAX(0 _d 0, Ptracer(i,j,k,bi,bj,iPOSi))
& + scav_PIC_wgt*MAX(0 _d 0, Ptracer(i,j,k,bi,bj,iPIC))
& + scav_degrPOM
scv = scav_tau*scav_inter*(scav_pom**scav_exp)
#else
scv = scav
Expand Down
12 changes: 7 additions & 5 deletions pkg/darwin/darwin_read_params.F
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,9 @@ SUBROUTINE DARWIN_READ_PARAMS(iUnit,oUnit,myThid)
& scav_inter,
& scav_exp,
& scav_POC_wgt,
& scav_POSi_wgt,
& scav_PSi_wgt,
& scav_PIC_wgt,
& scav_degrPOM,
#else
& scav,
#endif
Expand Down Expand Up @@ -393,12 +394,13 @@ SUBROUTINE DARWIN_READ_PARAMS(iUnit,oUnit,myThid)
scav_exp = 0.58 _d 0
scav_R_POPPOC = 1.1321 _d -4
#elif defined(DARWIN_PART_SCAV)
scav_tau = 0.2
scav_tau = 0.2 _d 0
scav_inter = 0.079 _d 0 / pday
scav_exp = 0.58 _d 0
scav_POC_wgt = 0.02173 _d 0
scav_POSi_wgt = 0.069 _d 0
scav_PIC_wgt = 0.100 _d 0
scav_POC_wgt = 0.12728 _d 0
scav_PSi_wgt = 0 _d 0
scav_PIC_wgt = 0 _d 0
scav_degrPOM = 0 _d 0
#else
scav = 0.4 _d 0/pyear
#endif
Expand Down

0 comments on commit 28ac947

Please sign in to comment.