Skip to content

v0.3.0

Choose a tag to compare

@uliw uliw released this 19 Oct 19:59
· 111 commits to main since this release

MANTIS 0.3.0 Release Notes

MANTIS 0.3.0 introduces preliminary support marine carbonate equilibrium chemistry calculations, species-agnostic equation and analytical SymPy Jacobian generation, multi-isotope companion cross-derivatives, and calcite precipitation/dissolution dynamics.

Highlights

  • Marine Carbonate Equilibrium Chemistry (seawater_carbonate.py):
    • Implements consensus oceanographic formulations (Lueker et al. 2000, Mucci 1983, Millero 1995, Ingle 1975, UNESCO 1981 density) calculating stoichiometric constants ($K_1^, K_2^, K_{\text{sp}}'$) and calcite saturation state ($\Omega$) as functions of temperature, salinity, and pressure.
    • Complete thermodynamic speciation ($[\text{CO}_2^*], [\text{HCO}_3^-], [\text{CO}_3^{2-}]$) from any parameter pair: pH & DIC, pH & TA, or DIC & TA.
    • Automatic boundary condition checking and porewater equilibrium initialization (adjust_omega=True) with solid calcite ($\text{CaCO}_3$).
    • Gated behind carbonate_equilibrium_chemistry in model.configure() to keep non-carbonate models isolated from side effects.
  • Species-Agnostic SymPy Analytical Jacobian Generator:
    • Replaced hardcoded species logic with generalized phase permutations (liquid_to_liquid, solid_to_liquid, liquid_to_solid, solid_transformation) and automated SymPy differentiation for chemical Jacobians.
    • Speciation factors and equilibrium partitioning are now dynamically inferred from species.py metadata.
  • Multi-Isotope Cross-Derivatives & Coupling:
    • Full analytical cross-derivatives for companion isotope species scaled by reactant isotope ratios, preventing numerical ratio divergence at sharp fronts across all isotope systems (S, C, N, O).
    • Added multi-species pooled delta calculations via get_total_delta().
  • Calcite Reactions & Diagnostics:
    • Added dedicated calcite precipitation and dissolution kinetics with smooth saturation transitions, coupled to TA and DIC in the chemical Jacobian.
    • Added prefill=True species option to initialize porewater profiles directly from boundary concentrations.
  • Smart Timestamp-Aware Equation Rebuilding:
    • Automatic cache invalidation and equation regeneration when any core MANTIS library source file is updated.