Skip to content

PySDM v2.34

Compare
Choose a tag to compare
@slayoo slayoo released this 24 Dec 23:03
· 138 commits to main since this release
9c36aef

What's Changed

  • stable water isotopologues:

    • new base attributes: Moles1H, Moles16O, MolesLightWater + havy isotopes via make_mole_amount_factory (previously developed for Hoppel gap)
    • new derived attributes: isotopic deltas (via new make_delta_factory)
    • backend isotope methods: isotopic_delta via physics.trivia (both CPU and GPU)
    • sketch of IsotopicFractionation dynamic (attribite dependencies, trigerring delta calculation)
    • VSMOW constants
    • isotope-related physics formulae:
      • isotope_equilibrium_fractionation_factors: BarkanAndLuz2005 (Oxygen 17, liquid), HoritaAndWesolowski1994 (Oxygen 18 and Deuterium, liquid), Majoube1970 (Oxygen 18, ice), Majoube1971 (Oxygen 18, liquid), MerlivatAndNief1967 (Deuterium, liquid & ice), VanHook1968 (D, T, O18, O17; liquid & ice)
      • isotope_meteoric_water_line_excess: Dansgaard1964 (Oxygen 18 vs. Deuterium), BarkanAndLuz2007 (Oxygen 17 vs. Oxygen 18); Craig 1961 Fig 1 and Barkan & Luz 2007 Fig 4 unit tests
      • isotope_ratio_evolution: MerlivatAndJouzel1979 (differential), RayleighDistillation (integral) + test checking when these two match
    • trivia formulae: isotopic_delta_2_ratio, isotopic_ratio_2_delta, isotopic_enrichment_to_delta_SMOW, mixing_ratio_to_specific_content
    • new examples (all environment-free, depicting formulae):
      • Bolot_et_al_2013: Fig 1 (incl. unit tests)
      • Merlivat_and_Nief_1967: Fig 2 (incl. unit tests)
      • Pierchala_et_al_2022: Fig 3 & 4 (incl. smoke tests)
      • Van_Hook_1968: Fig 1
  • formulae machinery:

    • constants_defaults: all calculations logic moved to compute_derived_values function called from Formulae ctor
    • PPM, PER_CENT, PER_MEG, PER_MILLE
    • dry-air molar mass derived from NIST N2, O2, Ar and C composition ratios
    • water molar mass derived from VSMOW isotopic ratios
  • CI:

    • run git diff on pre-commit jpb failure
    • bump pypartmc from 1.0.0 to 1.0.1 by @dependabot in #1204
    • cleanup precommit workflow (#1205)

Full Changelog: v2.33...v2.34