Cpx and Cpx-Liquid functions
- Thermobar.clinopyroxene_thermobarometry.P_Jorgenson2022_Cpx_Liq(T=None, *, cpx_comps=None, liq_comps=None, meltmatch=None)[source]
Clinopyroxene-liquid barometer of Jorgenson et al. (2022) based on Machine Learning. [Jorgenson et al., 2021]
SEE==+-2.7 kbar
- Thermobar.clinopyroxene_thermobarometry.P_Jorgenson2022_Cpx_Liq_Norm(T=None, *, cpx_comps=None, liq_comps=None, meltmatch=None)[source]
Clinopyroxene-liquid barometer of Jorgenson et al. (2022) based on Machine Learning. Normalizes, unlike published model. [Jorgenson et al., 2021]
SEE==+-2.7 kbar
- Thermobar.clinopyroxene_thermobarometry.P_Jorgenson2022_Cpx_Liq_onnx(T=None, *, cpx_comps=None, liq_comps=None, meltmatch=None)[source]
Clinopyroxene-liquid barometer of Jorgenson et al. (2022) based on Machine Learning. Uses onnx, so doesnt return voting [Jorgenson et al., 2021]
SEE==+-2.7 kbar
- Thermobar.clinopyroxene_thermobarometry.P_Jorgenson2022_Cpx_only(T=None, *, cpx_comps)[source]
Clinopyroxene-only barometer of Jorgenson et al. (2022) based on Machine Learning. [Jorgenson et al., 2021]
SEE==+-3.2 kbar
- Thermobar.clinopyroxene_thermobarometry.P_Jorgenson2022_Cpx_only_Norm(T=None, *, cpx_comps)[source]
Clinopyroxene-only barometer of Jorgenson et al. (2022) based on Machine Learning. Normalizes inputs unlike published model [Jorgenson et al., 2021]
SEE==+-3.2 kbar
- Thermobar.clinopyroxene_thermobarometry.P_Jorgenson2022_Cpx_only_onnx(T=None, *, cpx_comps)[source]
Clinopyroxene-only barometer of Jorgenson et al. (2022) based on Machine Learning. [Jorgenson et al., 2021]
SEE==+-3.2 kbar
- Thermobar.clinopyroxene_thermobarometry.P_Mas2013_Palk2012(T=None, *, lnK_Jd_liq, H2O_Liq, Na_Liq_cat_frac, K_Liq_cat_frac, Kd_Fe_Mg_Fet)[source]
Clinopyroxene-liquid barometer of Masotta et al. (2013) for alkaline melts [Masotta et al., 2013]
SEE=+-1.15 kbar
- Thermobar.clinopyroxene_thermobarometry.P_Mas2013_eqPalk1(T, *, lnK_Jd_liq, Na_Liq_cat_frac, Al_Liq_cat_frac)[source]
Recalibration of the clinopyroxene-liquid barometer of Putirka (1996) EqP1 by Masotta et al. (2013) for alkaline melts [Masotta et al., 2013]
SEE=+-1.71 kbar
- Thermobar.clinopyroxene_thermobarometry.P_Mas2013_eqPalk2(T, *, lnK_Jd_liq, Na_Liq_cat_frac, Al_Liq_cat_frac)[source]
Recalibration of the clinopyroxene-liquid barometer of Putirka (1996) EqP2 by Masotta et al. (2013) for alkaline melts. Cite [Masotta et al., 2013]
SEE=+-1.70 kbar
- Thermobar.clinopyroxene_thermobarometry.P_Mas2013_eqalk32c(T, *, Fet_Liq_cat_frac, CaTs, H2O_Liq, Ca_Liq_cat_frac, Si_Liq_cat_frac, Al_Cpx_cat_6ox, Al_Liq_cat_frac)[source]
Recalibration of the clinopyroxene-liquid barometer of Putirka (2008) Eq32c by Masotta et al. (2013) for alkaline melts [Masotta et al., 2013]
SEE=+-1.67 kbar
- Thermobar.clinopyroxene_thermobarometry.P_Mollo2018_AMAM(T, *, lnK_Jd_liq, Ca_Liq_cat_frac, Si_Liq_cat_frac, Mg_Number_Liq_NoFe3)[source]
Clinopyroxene-liquid barometer of Mollo et al. (2018) AMAM (Eq 11 in paper).
SEE (2018) paper = +-1.71 kbar on calibration, 1.16 kbar on test, 1.5 kbar overlal
- Thermobar.clinopyroxene_thermobarometry.P_Neave2017(T, *, lnK_Jd_liq, DiHd_2003, Al_Liq_cat_frac, Na_Liq_cat_frac, K_Liq_cat_frac)[source]
Clinopyroxene-liquid barometer of Neave and Putirka (2017) [Neave and Putirka, 2017]
SEE=+-1.4 kbar
- Thermobar.clinopyroxene_thermobarometry.P_Nimis1999_BA(T=None)[source]
This is a placeholder, function is being called from other .py file’)
- Thermobar.clinopyroxene_thermobarometry.P_Petrelli2020_Cpx_Liq(T=None, *, cpx_comps=None, liq_comps=None, meltmatch=None)[source]
Clinopyroxene-liquid barometer of Petrelli et al. (2021) based on Machine Learning. []
SEE==+-2.6 kbar
- Thermobar.clinopyroxene_thermobarometry.P_Petrelli2020_Cpx_Liq_onnx(T=None, *, cpx_comps=None, liq_comps=None, meltmatch=None)[source]
Clinopyroxene-liquid barometer of Petrelli et al. (2021) based on Machine Learning. Uses onnx, so wont return voting. []
SEE==+-2.6 kbar
- Thermobar.clinopyroxene_thermobarometry.P_Petrelli2020_Cpx_only(T=None, *, cpx_comps)[source]
Clinopyroxene-only barometer of Petrelli et al. (2021) based on Machine Learning. []
SEE==+-3.1 kbar
- Thermobar.clinopyroxene_thermobarometry.P_Petrelli2020_Cpx_only_onnx(T=None, *, cpx_comps)[source]
Clinopyroxene-only barometer of Petrelli et al. (2021) based on Machine Learning. Uses onnx for consistency, so dont get voting []
SEE==+-3.1 kbar
- Thermobar.clinopyroxene_thermobarometry.P_Petrelli2020_Cpx_only_withH2O(T=None, *, cpx_comps)[source]
Clinopyroxene-only barometer following the Machine learning approach of Petrelli et al. (2021), but including the H2O content of the liquid while training the model.
[] and cite Thermobar.
- Thermobar.clinopyroxene_thermobarometry.P_Put1996_eqP1(T, *, lnK_Jd_liq, Na_Liq_cat_frac, Al_Liq_cat_frac)[source]
Clinopyroxene-liquid barometer of Putirka (1996) EqP1 [Putirka et al., 1996]
SEE=+-1.36 kbar (1996 paper, calibration dataset)
Revised SEE by Putirka (2008)
SEE=+-4.6 kbar (anhydrous)
SEE=+-5.4 kbar (hydrous)
- Thermobar.clinopyroxene_thermobarometry.P_Put1996_eqP2(T, *, lnK_Jd_liq, Na_Liq_cat_frac, Al_Liq_cat_frac)[source]
Clinopyroxene-liquid barometer of Putirka (1996) EqP2 [Putirka et al., 1996]
SEE=+-1.51 kbar (1996 paper, calibration dataset)
- Thermobar.clinopyroxene_thermobarometry.P_Put2003(T, *, lnK_Jd_liq, Ca_Liq_cat_frac, Si_Liq_cat_frac, Mg_Number_Liq_NoFe3)[source]
Clinopyroxene-liquid barometer of Putirka (2003) Eq1. Cite [Putirka et al., 2003]
SEE (2003) paper = +-1.7 kbar
Stated errors Putirka (2008) SEE=+-4.8 kbar (anhydrous)
SEE=+-5.0 kbar (hydrous)
- Thermobar.clinopyroxene_thermobarometry.P_Put2008_eq30(T, *, lnK_Jd_liq, Fet_Liq_cat_frac, Mg_Liq_cat_frac, DiHd_2003, Mg_Number_Liq_NoFe3, Na_Liq_cat_frac, K_Liq_cat_frac, H2O_Liq)[source]
Clinopyroxene-liquid barometer of Putirka (2008) Eq30. Cite [Putirka, 2008]
SEE=+-3.6 kbar (all data) SEE=+-1.6 kbar (calibration data)
- Thermobar.clinopyroxene_thermobarometry.P_Put2008_eq31(T, *, lnK_Jd_liq, Ca_Liq_cat_frac, Na_Liq_cat_frac, K_Liq_cat_frac, Si_Liq_cat_frac, Mg_Liq_cat_frac, Fet_Liq_cat_frac, DiHd_2003, EnFs, Al_Cpx_cat_6ox, H2O_Liq)[source]
Clinopyroxene-liquid barometer of Putirka (2008) Eq31 [Putirka, 2008]
SEE=+-2.9 kbar (all data)
- Thermobar.clinopyroxene_thermobarometry.P_Put2008_eq32a(T, *, Mg_Cpx_cat_6ox, Na_Cpx_cat_6ox, Al_VI_cat_6ox, DiHd_2003, EnFs)[source]
Clinopyroxene-only barometer of Putirka (2008) Eq32a [Putirka, 2008]
SEE=+-3.1 kbar (anhydrous)
- Thermobar.clinopyroxene_thermobarometry.P_Put2008_eq32b(T, *, H2O_Liq, Ca_Cpx_cat_6ox, Mn_Cpx_cat_6ox, Na_Cpx_cat_6ox, Al_Cpx_cat_6ox, K_Cpx_cat_6ox, Al_IV_cat_6ox, Ti_Cpx_cat_6ox, Cr_Cpx_cat_6ox, Al_VI_cat_6ox, Fet_Cpx_cat_6ox, DiHd_1996, Mg_Cpx_cat_6ox, Jd)[source]
Clinopyroxene-only barometer of Putirka (2008) Eq32b. Unlike 32a, requires H2O_Liq to be specified. [Putirka, 2008]
SEE=+-2.6 kbar (anhydrous)
- Thermobar.clinopyroxene_thermobarometry.P_Put2008_eq32c(T, *, Fet_Liq_cat_frac, CaTs, H2O_Liq, Ca_Liq_cat_frac, Si_Liq_cat_frac, Al_Cpx_cat_6ox, Al_Liq_cat_frac)[source]
Clinopyroxene-liquid barometer of Putirka (2008) Eq32c based on partitioning of Al between cpx and liquid [Putirka, 2008]
SEE=+-5 kbar (all data) SEE=+-1.5 kbar (calibration data)
- Thermobar.clinopyroxene_thermobarometry.P_Wang2021_eq1(T=None, *, Al_VI_cat_6ox, Si_Cpx_cat_6ox, Ti_Cpx_cat_6ox, Cr_Cpx_cat_6ox, Fet_Cpx_cat_6ox, Mn_Cpx_cat_6ox, Mg_Cpx_cat_6ox, Na_Cpx_cat_6ox, K_Cpx_cat_6ox, Ca_Cpx_cat_6ox)[source]
Clinopyroxene-only barometer of Wang et al. (2021) equation 1 [Wang et al., 2021]
SEE=1.66 kbar
- Thermobar.clinopyroxene_thermobarometry.T_Brug2019(P=None, *, CaTs, DiHd_2003, Si_Liq_cat_frac, Ti_Liq_cat_frac, Fet_Liq_cat_frac, Mg_Liq_cat_frac, Ca_Liq_cat_frac, K_Liq_cat_frac)[source]
Clinopyroxene-liquid thermometer of Brugmann and Till (2019) for evolved systems, (Cpx Mg#>64, Al2O3 Cpx<7 wt%, SiO2_Liq>70 wt%) [Brugman and Till, 2019]
SEE==+-20°C
- Thermobar.clinopyroxene_thermobarometry.T_Jorgenson2022_Cpx_Liq(P=None, *, cpx_comps=None, liq_comps=None, meltmatch=None)[source]
Clinopyroxene-liquid thermometer of Jorgenson et al. (2022) based on Machine Learning. [Jorgenson et al., 2021]
SEE==+-44.9°C
- Thermobar.clinopyroxene_thermobarometry.T_Jorgenson2022_Cpx_Liq_Norm(P=None, *, cpx_comps=None, liq_comps=None, meltmatch=None)[source]
Clinopyroxene-liquid thermometer of Jorgenson et al. (2022) based on Machine Learning. Normalizes, unlike Jorgenson model. [Jorgenson et al., 2021]
SEE==+-44.9°C
- Thermobar.clinopyroxene_thermobarometry.T_Jorgenson2022_Cpx_Liq_onnx(P=None, *, cpx_comps=None, liq_comps=None, meltmatch=None)[source]
Clinopyroxene-liquid thermometer of Jorgenson et al. (2022) based on Machine Learning. [Jorgenson et al., 2021]
SEE==+-44.9°C
- Thermobar.clinopyroxene_thermobarometry.T_Jorgenson2022_Cpx_only(P=None, *, cpx_comps)[source]
Clinopyroxene-only thermometer of Jorgenson et al (2022) based on Machine Learning. [Jorgenson et al., 2021]
SEE==+-51°C
- Thermobar.clinopyroxene_thermobarometry.T_Jorgenson2022_Cpx_only_Norm(P=None, *, cpx_comps)[source]
Clinopyroxene-only thermometer of Jorgenson et al (2022) based on Machine Learning. Normalized, unlike published model [Jorgenson et al., 2021]
SEE==+-51°C
- Thermobar.clinopyroxene_thermobarometry.T_Jorgenson2022_Cpx_only_onnx(P=None, *, cpx_comps)[source]
Clinopyroxene-only thermometer of Jorgenson et al (2022) based on Machine Learning. [Jorgenson et al., 2021]
SEE==+-51°C
- Thermobar.clinopyroxene_thermobarometry.T_Mas2013_Talk2012(P=None, *, H2O_Liq, Kd_Fe_Mg_Fet, lnK_Jd_DiHd_liq_2003, Mg_Number_Liq_NoFe3, DiHd_2003, Na_Liq_cat_frac, K_Liq_cat_frac, Ti_Liq_cat_frac, lnK_Jd_liq, Ca_Liq_cat_frac, Si_Liq_cat_frac)[source]
Clinopyroxene-liquid thermometer of Masotta et al. (2013) for alkaline melts [Masotta et al., 2013]
SEE=+-18.2C
- Thermobar.clinopyroxene_thermobarometry.T_Mas2013_eqTalk1(P=None, *, lnK_Jd_DiHd_liq_1996, Mg_Number_Liq_NoFe3, Ca_Liq_cat_frac)[source]
Recalibration of the clinopyroxene-liquid thermometer of Putirka (1996) EqT1 by Masotta et al. (2013) for alkaline melts. [Masotta et al., 2013]
SEE=+-31.6°C
- Thermobar.clinopyroxene_thermobarometry.T_Mas2013_eqTalk2(P, *, lnK_Jd_DiHd_liq_1996, Mg_Number_Liq_NoFe3, Ca_Liq_cat_frac)[source]
Recalibration of the clinopyroxene-liquid thermometer of Putirka (1996), EqT2 by Masotta et al. (2013) for alkaline melts [Masotta et al., 2013]
SEE=+-31.2°C
- Thermobar.clinopyroxene_thermobarometry.T_Mas2013_eqalk33(P, *, H2O_Liq, Mg_Number_Liq_NoFe3, Ca_Liq_cat_frac, Si_Liq_cat_frac, Ti_Liq_cat_frac, Na_Liq_cat_frac, K_Liq_cat_frac, EnFs, lnK_Jd_DiHd_liq_2003)[source]
Recalibration of the clinopyroxene-liquid thermometer of Putirka (2008) Eq 33 by Masotta et al. (2013) for alkaline melts [Masotta et al., 2013]
SEE=+-24°C
- Thermobar.clinopyroxene_thermobarometry.T_Mollo2018_eq33MAM(P, *, H2O_Liq, Mg_Number_Liq_NoFe3, Ca_Liq_cat_frac, Si_Liq_cat_frac, Ti_Liq_cat_frac, Na_Liq_cat_frac, K_Liq_cat_frac, EnFs, lnK_Jd_DiHd_liq_2003, Ti_Cpx_cat_6ox)[source]
Clinopyroxene-liquid thermometer of Mollo et al (2018) Eq33MAM (Eq17 in paper) adapted from Putirka (2008) Eq 33
SEE=+-20°C (all data)
- Thermobar.clinopyroxene_thermobarometry.T_Petrelli2020_Cpx_Liq(P=None, *, cpx_comps=None, liq_comps=None, meltmatch=None)[source]
Clinopyroxene-liquid thermometer of Petrelli et al. (2021) based on Machine Learning. []
SEE==+-40°C
- Thermobar.clinopyroxene_thermobarometry.T_Petrelli2020_Cpx_Liq_onnx(P=None, *, cpx_comps=None, liq_comps=None, meltmatch=None)[source]
Clinopyroxene-liquid thermometer of Petrelli et al. (2021) based on Machine Learning. Use onnx, so will always return the same answer, but can’t do voting, unlike T_Petrelli2020_Cpx_Liq. []
SEE==+-40°C
- Thermobar.clinopyroxene_thermobarometry.T_Petrelli2020_Cpx_only(P=None, *, cpx_comps)[source]
Clinopyroxene-only thermometer using the method and training dataset of Petrelli et al. (2020) (although they didnt provide a Cpx-only thermometer). []
SEE= N/A
- Thermobar.clinopyroxene_thermobarometry.T_Petrelli2020_Cpx_only_onnx(P=None, *, cpx_comps)[source]
Clinopyroxene-only thermometer of Petrelli et al. (2021) based on Machine Learning. Using onnx, so doesnt do voting []
SEE==+-51°C
- Thermobar.clinopyroxene_thermobarometry.T_Petrelli2020_Cpx_only_withH2O(P=None, *, cpx_comps)[source]
Clinopyroxene-only thermometer of Petrelli et al. (2021) based on Machine Learning, but adding water. [] and this study.
SEE==+-51°C
- Thermobar.clinopyroxene_thermobarometry.T_Put1996_eqT1(P=None, *, lnK_Jd_DiHd_liq_1996, Mg_Number_Liq_NoFe3, Ca_Liq_cat_frac)[source]
Clinopyroxene-liquid thermometer of Putirka (1996) EqT1 (pressure-independent) [Putirka et al., 1996]
SEE=+-26.8 K (1996 paper, calibration dataset)
- Thermobar.clinopyroxene_thermobarometry.T_Put1996_eqT2(P, *, lnK_Jd_DiHd_liq_1996, Mg_Number_Liq_NoFe3, Ca_Liq_cat_frac)[source]
Clinopyroxene-liquid thermometer of Putirka (1996) EqT2 (pressure-dependent) [Putirka et al., 1996]
SEE=+-23.8 K (1996 paper, calibration dataset)
- Thermobar.clinopyroxene_thermobarometry.T_Put1999(P, *, Mg_Liq_cat_frac, Fet_Liq_cat_frac, Ca_Liq_cat_frac, Si_Liq_cat_frac, Al_Liq_cat_frac)[source]
Equation in Keith’s Cpx-Liquid spreadsheet labelled “Putirka 1999”. [Putirka, 1999]
- Thermobar.clinopyroxene_thermobarometry.T_Put2003(P, *, lnK_Jd_DiHd_liq_2003, Mg_Number_Liq_NoFe3, Na_Liq_cat_frac, Si_Liq_cat_frac, Jd)[source]
Clinopyroxene-liquid thermometer of Putirka (2003) [Putirka et al., 2003]
SEE=+-33 K (1996 paper, calibration dataset)
- Thermobar.clinopyroxene_thermobarometry.T_Put2008_eq32d(P, *, Ti_Cpx_cat_6ox, Fet_Cpx_cat_6ox, Al_Cpx_cat_6ox, Cr_Cpx_cat_6ox, Na_Cpx_cat_6ox, K_Cpx_cat_6ox, a_cpx_En)[source]
Clinopyroxene-only thermometer of Putirka (2008) Eq32d. Overestimates temperature for hydrous data [Putirka, 2008]
SEE=±58°C (anhydrous) SEE=±87°C (hydrous)
- Thermobar.clinopyroxene_thermobarometry.T_Put2008_eq32dH_Wang2021adap(P, *, Ti_Cpx_cat_6ox, Fet_Cpx_cat_6ox, Al_Cpx_cat_6ox, Cr_Cpx_cat_6ox, Na_Cpx_cat_6ox, K_Cpx_cat_6ox, a_cpx_En, H2O_Liq)[source]
Adaptation of the clinopyroxene-only thermometer of Putirka (2008) Eq32d by Wang et al. (2021) to account for the effect of H2O [Wang et al., 2021] and [Putirka, 2008]
- Thermobar.clinopyroxene_thermobarometry.T_Put2008_eq32d_subsol(P, *, Ti_Cpx_cat_6ox, Fet_Cpx_cat_6ox, Al_Cpx_cat_6ox, Cr_Cpx_cat_6ox, Na_Cpx_cat_6ox, K_Cpx_cat_6ox, a_cpx_En)[source]
Adapted version of clinopyroxene-only thermoter of Putirka (2008) Eq32d, provides better fit to subsolidus T estimates [Putirka, 2008]
- Thermobar.clinopyroxene_thermobarometry.T_Put2008_eq33(P, *, H2O_Liq, Mg_Number_Liq_NoFe3, Ca_Liq_cat_frac, Si_Liq_cat_frac, Ti_Liq_cat_frac, Na_Liq_cat_frac, K_Liq_cat_frac, EnFs, lnK_Jd_DiHd_liq_2003)[source]
Clinopyroxene-liquid thermometer of Putirka (2008) Eq 33. [Putirka, 2008]
SEE=+-45°C (all data)
- Thermobar.clinopyroxene_thermobarometry.T_Put2008_eq34_cpx_sat(P, *, H2O_Liq, Ca_Liq_cat_frac, Si_Liq_cat_frac, Mg_Liq_cat_frac)[source]
Liquid-only thermometer- temperature at which a liquid is saturated in clinopyroxene (for a given P). Equation 34 of Putirka et al. (2008)
- Thermobar.clinopyroxene_thermobarometry.T_Wang2021_eq2(P=None, *, Al_VI_cat_6ox, Si_Cpx_cat_6ox, Ti_Cpx_cat_6ox, Cr_Cpx_cat_6ox, Fet_Cpx_cat_6ox, Mn_Cpx_cat_6ox, Mg_Cpx_cat_6ox, Na_Cpx_cat_6ox, K_Cpx_cat_6ox, FeII_Wang21, H2O_Liq, Al_Cpx_cat_6ox, Ca_Cpx_cat_6ox)[source]
Clinopyroxene-only thermometer of Wang et al. (2021) Eq 2 [Wang et al., 2021]
SEE=36.6 C
- Thermobar.clinopyroxene_thermobarometry.calculate_cpx_liq_press(*, equationP, cpx_comps=None, liq_comps=None, meltmatch=None, T=None, eq_tests=False, Fe3Fet_Liq=None, H2O_Liq=None, sigma=1, Kd_Err=0.03)[source]
Clinopyroxene-Liquid barometer, calculates pressure in kbar (and equilibrium tests as an option)
- Parameters:
cpx_comps (pandas.DataFrame) – Clinopyroxene compositions with column headings SiO2_Cpx, MgO_Cpx etc.
liq_comps (pandas.DataFrame) – Liquid compositions with column headings SiO2_Liq, MgO_Liq etc.
EquationP (str) –
choose from:
P_Put1996_eqP1 (T-dep, H2O-indep)P_Mas2013_eqPalk1 (T-dep, H2O-indep, alk adaption of P1)P_Put1996_eqP2 (T-dep, H2O-indep)P_Mas2013_eqPalk2 (T-dep, H2O-indep, alk adaption of P2)P_Put2003 ((T-dep, H2O-indep)P_Neave2017 (T-dep, H2O-indep)P_Put2008_eq30 (T-dep, H2O-dep)P_Put2008_eq31 (T-dep, H2O-dep)P_Put2008_eq32c (T-dep, H2O-dep)P_Mas2013_eqalk32c (T-dep, H2O-dep, alk adaption of 32c)P_Petrelli2020_Cpx_Liq (Returns voting)P_Jorgenson2022_Cpx_Liq (Returns voting)P_Petrelli2020_Cpx_Liq_onnx (Uses onnx, so consistent results, no voting)P_Wang2021_eq1P_Mollo2018_AMAM
- T: float, int, pandas.Series, str
Temperature in Kelvin to perform calculations at. Only needed for T-sensitive barometers. If enter T=”Solve”, returns a partial function Else, enter an integer, float, or panda series
- eq_tests: bool
If False, just returns pressure (default) as a panda series If True, returns pressure, Values of Eq tests, as well as user-entered cpx and liq comps and components
- Returns:
Pressure in kbar (pandas.Series) – If eq_tests is False
Pressure in kbar + eq Tests + input compositions (pandas.DataFrame) – If eq_tests is True
- Thermobar.clinopyroxene_thermobarometry.calculate_cpx_liq_press_all_eqs(cpx_comps, liq_comps, H2O_Liq=None)[source]
This function calculates Cpx-Liq and Cpx-only P and T using a wide range of popular equations in the literature. Happy to add more to this on request!
- Parameters:
cpx_comps (pandas.DataFrame (opt, either specify cpx_comps AND liq_comps or meltmatch)) – Clinopyroxene compositions with column headings SiO2_Cpx, MgO_Cpx etc.
- liq_comps: pandas.DataFrame
Liquid compositions with column headings SiO2_Liq, MgO_Liq etc.
- H2O_Liq: float, int, pandas.Series, optional
If users don’t specify, uses H2O_Liq from liq_comps, if specified overwrites this.
- Return type:
Pandas dataframe with temperature in kelvin, pressure in kbar.
- Thermobar.clinopyroxene_thermobarometry.calculate_cpx_liq_press_temp(*, liq_comps=None, cpx_comps=None, meltmatch=None, equationP=None, equationT=None, T=None, P=None, iterations=None, Fe3Fet_Liq=None, H2O_Liq=None, T_K_guess=1300, eq_tests=False)[source]
Solves simultaneous equations for temperature and pressure using clinopyroxene-liquid thermometers and barometers.
- Parameters:
cpx_comps (pandas.DataFrame (opt, either specify cpx_comps AND liq_comps or meltmatch)) – Clinopyroxene compositions with column headings SiO2_Cpx, MgO_Cpx etc.
- liq_comps: pandas.DataFrame
Liquid compositions with column headings SiO2_Liq, MgO_Liq etc.
Or
- meltmatch: pandas.DataFrame
Combined dataframe of cpx-Liquid compositions Used for calculate_cpx_liq_press_temp_matching function.
- EquationP: str
Barometer Cpx-Liquid | P_Put1996_eqP1 (T-dep, H2O-indep) | P_Mas2013_eqPalk1 (T-dep, H2O-indep, alk adaption of P1) | P_Put1996_eqP2 (T-dep, H2O-indep) | P_Mas2013_eqPalk2 (T-dep, H2O-indep, alk adaption of P2) | P_Put2003 ((T-dep, H2O-indep) | P_Neave2017 (T-dep, H2O-indep) | P_Put2008_eq30 (T-dep, H2O-dep) | P_Put2008_eq31 (T-dep, H2O-dep) | P_Put2008_eq32c (T-dep, H2O-dep) | P_Mas2013_eqalk32c (T-dep, H2O-dep, alk adaption of 32c) | P_Mollo2018_AMAM
- EquationT: str
Thermometer Cpx-Liquid | T_Put1996_eqT1 (P-indep, H2O-indep) | T_Mas2013_eqTalk1 (P-indep, H2O-indep, alk adaption of T1) | T_Brug2019 (P-indep, H2O-indep) | T_Put1996_eqT2 (P-dep, H2O-indep) | T_Mas2013_eqTalk2 (P-dep, H2O-indep, alk adaption of T2) | T_Put1999 (P-dep, H2O-indep) | T_Put2003 (P-dep, H2O-indep) | T_Put1999 (P-dep, H2O-indep) | T_Put2008_eq33 (P-dep, H2O-dep) | T_Mas2013_eqalk33 (P-dep, H2O-dep, alk adaption of eq33) | T_Mas2013_Palk2012 (P-indep, H2O_dep) | T_Mollo2018_eq33MAM
Optional:
- iterations: int (optional). Default is 20.
Number of iterations used to converge to solution
- T_K_guess: int or float. Default is 1300K
Initial guess of temperature.
- Fe3Fet_Liq: float, int, pandas.Series,
Fe3Fet ratio used to assess Kd Fe-Mg equilibrium between cpx and melt. If users don’t specify, uses Fe3Fet_Liq from liq_comps. If specified, overwrites the Fe3Fet_Liq column in the liquid input.
- H2O_Liq: float, int, pandas.Series, optional
If users don’t specify, uses H2O_Liq from liq_comps, if specified overwrites this.
- eq_tests: bool
If False, just returns pressure in kbar, tempeature in Kelvin as a dataframe If True, returns pressure and temperature, Eq tests (Kd, EnFs, DiHd, CaTs, CrCaTs), as well as user-entered cpx and liq comps and components.
- Returns:
If eq_tests=False – pandas.DataFrame: Temperature in Kelvin, pressure in Kbar
If eq_tests=True – pandas.DataFrame: Temperature in Kelvin, pressure in Kbar Eq Tests + cpx+liq comps + components
- Thermobar.clinopyroxene_thermobarometry.calculate_cpx_liq_press_temp_matching(*, liq_comps, cpx_comps, equationT=None, equationP=None, P=None, T=None, PMax=30, PMin=-10, Fe3Fet_Liq=None, Kd_Match='Putirka', Kd_Err=0.03, DiHd_Err=0.06, EnFs_Err=0.05, CaTs_Err=0.03, Cpx_Quality=False, H2O_Liq=None, return_all_pairs=False, iterations=30)[source]
Evaluates all possible Opx-Liq pairs from N Liquids, M Cpx compositions returns P (kbar) and T (K) for those in equilibrium.
- Parameters:
liq_comps (pandas.DataFrame) – Panda DataFrame of liquid compositions with column headings SiO2_Liq etc.
cpx_comps (pandas.DataFrame) – Panda DataFrame of cpx compositions with column headings SiO2_Cpx etc.
equationT (str) –
Specify equation for cpx thermometry (options):
T_Put1996_eqT1 (P-indep, H2O-indep)T_Mas2013_eqTalk1 (P-indep, H2O-indep, alk adaption of T1)T_Brug2019 (P-indep, H2O-indep)T_Put1996_eqT2 (P-dep, H2O-indep)T_Mas2013_eqTalk2 (P-dep, H2O-indep, alk adaption of T2)T_Put1999 (P-dep, H2O-indep)T_Put2003 (P-dep, H2O-indep)T_Put1999 (P-dep, H2O-indep)T_Put2008_eq33 (P-dep, H2O-dep)T_Mas2013_eqalk33 (P-dep, H2O-dep, alk adaption of eq33)T_Mas2013_Palk2012 (P-indep, H2O_dep)
- equationP: str
specify equation for cpx barometry (options):
P_Put1996_eqP1 (T-dep, H2O-indep)P_Mas2013_eqPalk1 (T-dep, H2O-indep, alk adaption of P1)P_Put1996_eqP2 (T-dep, H2O-indep)P_Mas2013_eqPalk2 (T-dep, H2O-indep, alk adaption of P2)P_Put2003 ((T-dep, H2O-indep)P_Neave2017 (T-dep, H2O-indep)P_Put2008_eq30 (T-dep, H2O-dep)P_Put2008_eq31 (T-dep, H2O-dep)P_Put2008_eq32c (T-dep, H2O-dep)P_Mas2013_eqalk32c (T-dep, H2O-dep, alk adaption of 32c)
Or
- T: int, float
Can also run calculations at a fixed temperature
- P: int, float
Can also run calculations at a fixed pressure
Optional:
- Kd_Match: int, str, optional
allows users to override the default of calculating Kd Fe-Mg based on temperature using eq 35 of putirka Set at fixed value (e.g., Kd_Match=0.27) OR specify Kd_Match=Masotta to use the Kd model fo Masotta et al. (2013), which is also a function of Na and K, for trachytic and phonolitic magmas.
- Kd_Err: int or float, Default=0.03
Allows users to specify the permitted error on Kd Fe-Mg (default=0.03 from Neave et al. 2019)
- DiHd_Err: int or float, optional. Default=0.06
Allows users to specify the permitted error on DiHd (default=0.06 from Neave et al. 2019) Compares measured and calculated values from Mollo et al. (2013)
- EnFs_Err: int or float, optional. Default=0.05
Allows users to specify the permitted error on EnFs (default=0.05 from Neave et al. 2019) Compares measured and calculated values from Mollo et al. (2013)
- CaTs_Err: int or float, optional. Default=0.03
Allows users to specify the permitted error on CaTs (default=0.03 from Neave et al. 2019) Compares measured and calculated values from Putirka (1999).
- Fe3Fet_Liq: float, int, pandas.Series, optional
Fe3Fet ratio used to assess Kd Fe-Mg equilibrium between cpx and melt. If users don’t specify, uses Fe3Fet_Liq from liq_comps. If specified, overwrites the Fe3Fet_Liq column in the liquid input.
- H2O_Liq: float, int, pandas.Series, optional
If users don’t specify, uses H2O_Liq from liq_comps, if specified overwrites this.
- Cpx Quality: bool, optional
Default False. If True, filters out clinopyroxenes with cation sums outside of 4.02-3.99 (after Neave et al. 2017)
PMax: int or float, optional
Default value of 30 kbar. Uses to apply a preliminary KdFe-Mg filter based on the T equation specified by the user.
- PMin: int or float, optional
Default value of -10 kbar. Uses to apply a preliminary KdFe-Mg filter based on the T equation specified by the user.
Returns: dict
Av_PTs: Average P and T for each cpx. E.g., if cpx1 matches Liq1, Liq4, Liq6, Liq10, averages outputs for all 4 of those liquids. Returns mean and 1 sigma of these averaged parameters for each Cpx.
All_PTs: Returns output parameters for all matches (e.g, cpx1-Liq1, cpx1-Liq4) without any averaging.
- Thermobar.clinopyroxene_thermobarometry.calculate_cpx_liq_temp(*, equationT, cpx_comps=None, liq_comps=None, meltmatch=None, P=None, eq_tests=False, H2O_Liq=None, Fe3Fet_Liq=None, sigma=1, Kd_Err=0.03)[source]
Clinopyroxene-Liquid thermometry, calculates temperature in Kelvin (and equilibrium tests as an option)
- Parameters:
cpx_comps (pandas.DataFrame) – Clinopyroxene compositions with column headings SiO2_Cpx, MgO_Cpx etc.
liq_comps (pandas.DataFrame) – Liquid compositions with column headings SiO2_Liq, MgO_Liq etc.
Or
meltmatch (pandas.DataFrame) – Combined dataframe of cpx-Liquid compositions Used for calculate_cpx_liq_press_temp_matching function.
EquationT (str) – Choice of equation: Cpx-Liquid | T_Put1996_eqT1 (P-indep, H2O-indep) | T_Mas2013_eqTalk1 (P-indep, H2O-indep, alk adaption of T1) | T_Brug2019 (P-indep, H2O-indep) | T_Put1996_eqT2 (P-dep, H2O-indep) | T_Mas2013_eqTalk2 (P-dep, H2O-indep, alk adaption of T2) | T_Put1999 (P-dep, H2O-indep) | T_Put2003 (P-dep, H2O-indep) | T_Put1999 (P-dep, H2O-indep) | T_Put2008_eq33 (P-dep, H2O-dep) | T_Mas2013_eqalk33 (P-dep, H2O-dep, alk adaption of eq33) | T_Mas2013_Palk2012 (P-indep, H2O_dep) | T_Petrelli2020_Cpx_Liq (gives voting) | T_Jorgenson2022_Cpx_Liq (gives voting) | T_Petrelli2020_Cpx_Liq_onnx (gives consistent result every time) | T_Mollo2018_eq33MAM
- P: float, int, pandas.Series, str (“Solve”)
Pressure in kbar Only needed for P-sensitive thermometers. If enter P=”Solve”, returns a partial function Else, enter an integer, float, or panda series
- eq_tests: bool
If False, just returns pressure (default) as a panda series If True, returns pressure, Values of Eq tests, Values of Eq tests (Kd, EnFs, DiHd, CaTs, CrCaTs), as well as user-entered cpx and liq comps and components.
- Returns:
If eq_tests=False – pandas.Series: Temperature in Kelvin
If eq_tests=True – pandas.DataFrame: Temperature in Kelvin + Eq Tests + cpx+liq comps + components
- Thermobar.clinopyroxene_thermobarometry.calculate_cpx_only_press(*, cpx_comps, equationP, T=None, H2O_Liq=None, eq_tests=False, return_input=None)[source]
Clinopyroxene only barometry. Enter a panda dataframe with Cpx compositions, returns a pressure in kbar.
- Parameters:
cpx_comps (pandas.DataFrame) – Clinopyroxene compositions with column headings SiO2_Cpx, MgO_Cpx etc.
equationP (str) –
P_Nimis1999_BA (T-independent)P_Put2008_eq32a (T-dependent)P_Put2008_eq32b (T-dependent, H2O dependent)P_Petrelli2020_Cpx_only (T_independent, H2O-independent)P_Petrelli2020_Cpx_only_withH2O (T_independent, H2O-dependent)P_Wang2021_eq1 (T_independent, H2O-independent)P_Jorgenson2022_Cpx_only (T_independent, H2O-independent)P_Jorgenson2022_Cpx_only_Norm (T_independent, H2O-independent)* v similar, uses standard scalar
- T: float, int, pandas.Series, float, None
Temperature in Kelvin Only needed for T-sensitive barometers. If enter T=”Solve”, returns a partial function Else, enter an integer, float, or panda series
- H2O_Liq: int, float, pd.Series, None
H2O content in the liquid. used for some Cpx-only equations.
- eq_tests: bool
If True, returns cpx_components as well.
- Returns:
Pressure in kbar
- Return type:
pandas series
- Thermobar.clinopyroxene_thermobarometry.calculate_cpx_only_press_all_eqs(cpx_comps, eq_tests=True, H2O_Liq=None)[source]
This function calculates Cpx-only pressures and temperatures using all supported equations. It returns these calcs as a dataframe
- Parameters:
- Return type:
pd.DataFrame of calcs and Cpx comps
- Thermobar.clinopyroxene_thermobarometry.calculate_cpx_only_press_temp(*, cpx_comps=None, equationP=None, equationT=None, iterations=30, T_K_guess=1300, H2O_Liq=None, eq_tests=True, return_input=None)[source]
Solves simultaneous equations for temperature and pressure using clinopyroxene-lonly thermometers and barometers.
- Parameters:
cpx_comps (pandas.DataFrame) – Clinopyroxene compositions with column headings SiO2_Cpx, MgO_Cpx etc.
equationP (str) –
P_Put2008_eq32a (T-dependent)P_Put2008_eq32b (T-dependent, H2O dependent)equationT (str) –
T_Put2008_eq32d (P-dependent)T_Put2008_eq32d_subsol (P-dependent)H2O_Liq (float, int, pandas.Series, optional) – Needed if you select P_Put2008_eq32b, which is H2O-dependent.
Optional
- iterations: int, default=30
Number of iterations used to converge to solution.
- T_K_guess: int or float. Default is 1300 K
Initial guess of temperature.
- eq_tests: bool
if True, also returns cpx_components
Returns:
pandas.DataFrame: Pressure in kbar, Temperature in K
- Thermobar.clinopyroxene_thermobarometry.calculate_cpx_only_temp(*, cpx_comps=None, equationT=None, P=None, H2O_Liq=None, eq_tests=False, return_input=None)[source]
Clinopyroxene only thermometer. Enter a panda dataframe with Cpx compositions, returns a temperature in Kelvin.
- Parameters:
cpx_comps (pandas.DataFrame) – clinopyroxene compositions with column headings SiO2_Cpx, MgO_Cpx etc.
equationT (str) –
T_Put2008_eq32d (P-dependent)T_Put2008_eq32d_subsol (P-dependent)T_Put2008_eq32dH_Wang2021adap (P-dependent, H2O-dependent)T_Petrelli2020_Cpx_only (P-independent, H2O-independent)T_Petrelli2020_Cpx_only_withH2O (P-independent, H2O-dependent)T_Wang2021_eq2 (P-independent, H2O-dependent)T_Jorgenson2022_Cpx_only (P-independent, H2O-independent)T_Jorgenson2022_Cpx_only_Norm (P-independent, H2O-independent)*As above, uses python scalar
- P: float, int, pandas.Series, str (“Solve”)
Pressure in kbar Only needed for P-sensitive thermometers. If enter P=”Solve”, returns a partial function Else, enter an integer, float, or panda series
- eq_tests: bool
if True, also returns cpx_components. No actual equilibrium tests.
- Returns:
Temperature in Kelvin
- Return type:
pandas series