Skip to content

Validation: src/calliope/solubility.py

This page tracks the @pytest.mark.reference_pinned tests that anchor the behaviour of calliope.solubility against published sources.

Test id Reference Source page Scope
tests/test_solubility.py::TestSolubilityH2O::test_peridotite_default_matches_sossi_2023_fit Sossi et al. (2023)6 peridotite H2O fit: ppmw = 524 * p^0.5 src/calliope/solubility.py:39-41 (peridotite) Pins the default H2O parameterization at p = 100 bar against the Sossi 2023 constant; includes wrong-law (Dixon et al. 19952 basalt) and wrong-exponent (1.0 vs 0.5) discrimination guards.
tests/test_solubility.py::TestSolubilityS2_xFeO::test_default_call_matches_gaillard_2022_earth_mantle_value Gaillard et al. (2022)4, EPSL 117255, S2 solubility law with x_FeO = 10 wt% Earth-mantle default doi:10.1016/j.epsl.2021.117255, src/calliope/solubility.py:75-93 Pins S2 ppmw at (p = 1 bar, T = 2500 K, fO2_shift = 0) against the closed-form Gaillard expression; couples to the Fischer 20113 IW buffer default.

Re-derivation notes

H2O (Sossi 2023 peridotite default)

Power-law form: ppmw = const * p^exponent. Sossi et al. (2023) gives const = 524 ppmw/bar^0.5 for peridotite melt. At p = 100 bar:

ppmw = 524 * sqrt(100) = 5240

A regression that swapped to the Dixon 1995 basalt constant (const = 965) would land at 9650, off by 84% at the same pressure. A regression that flipped the exponent (0.5 -> 1.0) would land at 52400, off by an order of magnitude. Both are caught by the discrimination guards in the test.

S2 (Gaillard 2022 Earth-mantle default)

Closed form from Gaillard et al. (2022):

ln(X_S^melt) = 13.8426 - 26476/T + 0.124*x_FeO + 0.5*ln(p_S2/fO2)

At T = 2500 K, p_S2 = 1 bar, x_FeO = 10 wt%, fO2 from the Fischer 2011 IW buffer:

log10(fO2) = -4.3317 (Fischer at T=2500 K, dIW=0)
fO2 = 10^-4.3317 = 4.659e-5 bar
ln(p_S2/fO2) = ln(1 / 4.659e-5) = 9.9742
ln(X) = 13.8426 - 10.5904 + 1.24 + 0.5 * 9.9742
      = 3.2522 + 1.24 + 4.9871
      = 9.4793
ppmw = exp(9.4793) ~ 13086

Hidden coupling: the pin depends on the Fischer 2011 IW buffer; any change to the buffer coefficients in oxygen_fugacity.py requires regenerating this number. The test docstring flags this coupling explicitly. The reference value in the test (13085.87) matches the closed-form ppmw above to the 4-significant-figure precision of the Fischer coefficients.

Anchor types

  • H2O: published benchmark (Sossi 2023) plus wrong-law and wrong-exponent discrimination guards.
  • S2: published benchmark (Gaillard 2022) plus closed-form scaling tests for x_FeO (parametrized 5/10/15/20 wt%) so the prefactor coefficient 0.124 is independently verified.

Cross-references

  • src/calliope/solubility.py:30-57: H2O parameterizations.
  • src/calliope/solubility.py:60-100: S2 with the x_FeO kwarg.
  • src/calliope/solubility.py:100+: N2 with the x_SiO2, x_Al2O3, x_TiO2 kwargs (Dasgupta 20221) plus Libourel 20035 as the no-composition baseline.
  • docs/Explanations/solubility.md: user-facing concept page with the validity envelope per parameterization.

References


  1. R. Dasgupta, E. Falksen, A. Pal, C. Sun, The fate of nitrogen during parent body partial melting and accretion of the inner Solar System bodies at reducing conditions, Geochimica et Cosmochimica Acta, 336, 291-307, 2022. SciX

  2. J. E. Dixon, E. M. Stolper, J. R. Holloway, An experimental study of water and carbon dioxide solubilities in mid-ocean ridge basaltic liquids. Part I: Calibration and solubility models, Journal of Petrology, 36(6), 1607-1631, 1995. SciX

  3. R. A. Fischer, A. J. Campbell, G. A. Shofner, O. T. Lord, P. Dera, V. B. Prakapenka, Equation of state and phase diagram of FeO, Earth and Planetary Science Letters, 304, 496-502, 2011. SciX

  4. F. Gaillard, F. Bernadou, M. Roskosz, M. A. Bouhifd, Y. Marrocchi, G. Iacono-Marziano, M. Moreira, B. Scaillet, G. Rogerie, Redox controls during magma ocean degassing, Earth and Planetary Science Letters, 577, 117255, 2022. SciX

  5. G. Libourel, B. Marty, F. Humbert, Nitrogen solubility in basaltic melt. Part I. Effect of oxygen fugacity, Geochimica et Cosmochimica Acta, 67(21), 4123-4135, 2003. SciX

  6. P. A. Sossi, P. M. E. Tollan, J. Badro, D. J. Bower, Solubility of water in peridotite liquids and the prevalence of steam atmospheres on rocky planets, Earth and Planetary Science Letters, 601, 117894, 2023. SciX