PySDM v2.34
What's Changed
-
stable water isotopologues:
- new base attributes:
Moles1H
,Moles16O
,MolesLightWater
+ havy isotopes viamake_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 testsisotope_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
- new base attributes:
-
formulae machinery:
constants_defaults
: all calculations logic moved tocompute_derived_values
function called fromFormulae
ctorPPM
,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)
- run
Full Changelog: v2.33...v2.34