This page was generated from
docs/examples/inversion/PyIRoGlass_Inversion.ipynb.
Interactive online version:
.
Reflectance FTIR Spectra
This Jupyter notebook applies the Newtonian inversion to the molar absorptivity data.
The Jupyter notebook and data can be accessed here: https://github.com/SarahShi/PyIRoGlass/blob/main/docs/examples/inversion/.
You need to have the PyIRoGlass PyPi package on your machine once. If you have not done this, please uncomment (remove the #) symbol and run the cell below.
[1]:
#!pip install PyIRoGlass
Load Python Packages
[2]:
# Import packages
import numpy as np
import pandas as pd
import PyIRoGlass as pig
from matplotlib import pyplot as plt
%matplotlib inline
%config InlineBackend.figure_format = 'retina'
pig.__version__
[2]:
'0.6.6'
Load Data
Load all compiled molar absorptivity data and assign uncertainties to the peaks.
[3]:
df_5200 = pd.read_excel('./EpsilonRegression.xlsx', sheet_name='NIRRegress')
tau_5200 = df_5200['Tau']
sigma_tau_5200 = tau_5200 * 0.025
epsilon_5200 = df_5200['Epsilon_5200']
sigma_epsilon_5200 = epsilon_5200 * 0.10
df_4500 = pd.read_excel('./EpsilonRegression.xlsx', sheet_name='NIRRegress')
tau_4500 = df_4500['Tau']
sigma_tau_4500 = tau_4500 * 0.025
epsilon_4500 = df_4500['Epsilon_4500']
sigma_epsilon_4500 = epsilon_4500 * 0.20
df_3550 = pd.read_excel('./EpsilonRegression.xlsx', sheet_name='3550Regress')
tau_3550 = df_3550['Tau']
sigma_tau_3550 = tau_3550 * 0.025
epsilon_3550 = df_3550['Epsilon_3550']
sigma_epsilon_3550 = epsilon_3550 * 0.10
df_1635 = pd.read_excel('./EpsilonRegression.xlsx', sheet_name='1635Regress')
tau_1635 = df_1635['Tau']
sigma_tau_1635 = tau_1635 * 0.025
epsilon_1635 = df_1635['Epsilon_1635']
sigma_epsilon_1635 = epsilon_1635 * 0.05
df_carbonate = pd.read_excel('./EpsilonRegression.xlsx', sheet_name='CarbonateRegress')
eta = df_carbonate['Eta']
sigma_eta = eta * 0.025
epsilon_carbonate = df_carbonate['Epsilon_Carbonate']
sigma_epsilon_carbonate = epsilon_carbonate * 0.10
ε5200 Dataset
Display df_5200, the DataFrame of calibration data for the \(\mathrm{H_2O_{m,5200}}\) peak.
[4]:
df_5200
[4]:
| Compilation | Paper | Glass Composition | Baseline | Analytical Method | Tau | Eta | Epsilon_5200 | Uncertainty_5200 | PeakPosition_5200 | ... | TiO2.2 | Al2O3.2 | FeO.2 | Fe2O3.2 | MnO.2 | MgO.2 | CaO.2 | Na2O.2 | K2O.2 | P2O5.2 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Dixon | Acocella et al., 1984 | NA2O*3SiO2 | ? | Experimental H2O Loading | 0.600000 | NaN | 0.634 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 1 | Allabar | Allabar and Nowak, 2020 | Peralkaline rhyolite | TT | FPA | 0.790665 | NaN | 1.200 | 0.020 | NaN | ... | 0.000000 | 0.254806 | 0.000000 | NaN | 0.000000 | 0.000000 | 0.000000 | 0.273786 | 0.115711 | 0.000000 |
| 2 | Mandeville | Behrens et al., 1996 | Orthoclase, K100 | TT | Karl Fischer Titration | 0.805598 | NaN | 1.650 | 0.050 | NaN | ... | 0.000000 | 0.361514 | 0.000000 | NaN | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.348832 | 0.000000 |
| 3 | Mandeville | Behrens, 1995 | Albite, Ab (I) | TT | Manometry | 0.799264 | NaN | 1.490 | 0.030 | NaN | ... | 0.000000 | 0.384464 | 0.000139 | NaN | 0.000000 | 0.000000 | 0.000178 | 0.382201 | 0.000425 | 0.000000 |
| 4 | Behrens | Behrens et al., 2009 | Ultrapotassic melt (K-rich) | TT | Karl Fischer Titration | 0.622000 | 0.231579 | 1.020 | 0.030 | NaN | ... | 0.010732 | 0.293645 | 0.100035 | NaN | 0.000916 | 0.136381 | 0.192939 | 0.058091 | 0.146550 | 0.001761 |
| 5 | Carroll | Carroll and Blank, 1997 | Phonolite | TT | Manometry | 0.719825 | 0.958639 | 1.100 | 0.120 | NaN | ... | 0.008073 | 0.369164 | 0.053584 | NaN | 0.002819 | 0.008187 | 0.013998 | 0.324434 | 0.116561 | 0.001057 |
| 6 | von Aulock | Di Matteo et al., 2004 | Trachyte | French curve, following Newman et al., 1986 | Karl Fischer Titration | 0.755149 | 0.739392 | 1.360 | 0.180 | NaN | ... | 0.005549 | 0.369884 | 0.047042 | NaN | 0.002584 | 0.026296 | 0.043272 | 0.136354 | 0.179759 | 0.002677 |
| 7 | Mandeville; Dixon | Dixon et al., 1995 | MORB | 5 Gaussians | Manometry | 0.627338 | 0.297233 | 0.620 | 0.070 | 5200.0 | ... | 0.023029 | 0.268733 | 0.172582 | NaN | 0.003101 | 0.165468 | 0.205064 | 0.086731 | 0.003185 | 0.002677 |
| 8 | Fiege | Fiege et al., 2015 | Mg-poor basalt | TT | Karl Fischer Titration | 0.689313 | 0.362818 | 0.848 | NaN | NaN | ... | 0.035044 | 0.316595 | 0.152818 | NaN | 0.002114 | 0.023319 | 0.188124 | 0.107120 | 0.021868 | 0.005777 |
| 9 | Dixon; von Aulock | Ihinger et al., 1994 | Rhyolite | NaN | NaN | 0.860000 | NaN | 1.860 | 0.050 | 5225.0 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 10 | Mandeville | Jakobsson, 1997 | Icelandite | Bruker B&K baselines | Elemental Analysis | 0.708000 | 0.507389 | 1.250 | 0.050 | NaN | ... | 0.025282 | 0.284425 | 0.169381 | NaN | 0.003806 | 0.073183 | 0.124108 | 0.127832 | 0.027176 | 0.014371 |
| 11 | von Aulock | King et al., 2002 | Andesite | GG | Manometry, SIMS | 0.743324 | 0.530808 | 1.080 | 0.110 | 5209.0 | ... | 0.011765 | 0.349157 | 0.089492 | NaN | 0.000000 | 0.075664 | 0.122147 | 0.138188 | 0.022930 | 0.000000 |
| 12 | Lesne | Lesne et al., 2011 | Basalt (Vesuvius) | TT | Karl Fischer Titration | 0.607389 | 0.203706 | 0.570 | 0.040 | 5211.0 | ... | 0.012015 | 0.284818 | 0.104523 | NaN | 0.001973 | 0.169189 | 0.227710 | 0.058252 | 0.117834 | 0.009158 |
| 13 | Lesne | Lesne et al., 2011 | Basalt (Stromboli) | TT | Karl Fischer Titration | 0.630120 | 0.247373 | 0.620 | 0.100 | 5216.0 | ... | 0.010013 | 0.309925 | 0.106333 | NaN | 0.002819 | 0.198462 | 0.226462 | 0.074434 | 0.040340 | 0.005636 |
| 14 | Lesne | Lesne et al., 2011 | Basalt (Etna) | TT | Karl Fischer Titration | 0.631214 | 0.363894 | 0.560 | 0.080 | 5220.0 | ... | 0.020776 | 0.337191 | 0.141267 | NaN | 0.002396 | 0.141900 | 0.193474 | 0.110680 | 0.042038 | 0.007186 |
| 15 | Mandeville | Mandeville, 2002 | Fe-Bearing Andesite | GG | Manometry | 0.746000 | 0.508918 | 1.070 | 0.070 | NaN | ... | 0.012140 | 0.329345 | 0.066667 | NaN | 0.001973 | 0.077400 | 0.121790 | 0.126214 | 0.026539 | 0.004227 |
| 16 | Mandeville | Mandeville, 2002 | Fe-Free Andesite | GG | Manometry | 0.795000 | 0.425118 | 1.460 | 0.070 | NaN | ... | 0.013392 | 0.327579 | 0.000000 | NaN | 0.000000 | 0.072935 | 0.133916 | 0.099029 | 0.029512 | 0.000000 |
| 17 | Mandeville | Newman et al., 1986 | Rhyolite | TT (3550), French curve (NIR) | Manometry | 0.859000 | NaN | 1.610 | 0.050 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 18 | Mandeville | Nowak and Behrens, 1995 | Haplogranite | TT | Karl Fischer Titration | 0.849699 | NaN | 1.790 | 0.020 | NaN | ... | 0.000000 | 0.265398 | 0.000000 | NaN | 0.000000 | 0.000000 | 0.000000 | 0.150485 | 0.120594 | 0.000000 |
| 19 | Mandeville | Ohlhorst et al., 2001 | Basalt | TT / GG Average | Karl Fischer Titration | 0.629132 | 0.249605 | 0.660 | 0.080 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 20 | Mandeville | Ohlhorst et al., 2001 | Andesite | TT / GG Average | Karl Fischer Titration | 0.721535 | 0.441704 | 0.895 | 0.085 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 21 | Mandeville | Ohlhorst et al., 2001 | Dacite | TT / GG Average | Karl Fischer Titration | 0.782667 | 0.577821 | 1.170 | 0.095 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 22 | von Aulock | Okumura and Nakashima, 2005 | Rhyolite | TT | Karl Fischer Titration | 0.859624 | 0.930701 | 1.750 | 0.080 | NaN | ... | 0.001252 | 0.247156 | 0.008351 | NaN | 0.001410 | 0.002481 | 0.008916 | 0.119741 | 0.108280 | 0.000000 |
| 23 | Shishkina | Shishkina et al., 2010 | Basalt | GG | Karl Fischer Titration | 0.663783 | 0.276557 | 0.650 | 0.080 | NaN | ... | 0.011389 | 0.359357 | 0.130271 | NaN | 0.002396 | 0.173902 | 0.202300 | 0.077346 | 0.004777 | 0.002113 |
| 24 | Mandeville; Dixon | Silver et al., 1990 | Jadeite Glass | French curve, following Newman et al., 1986 | Manometry | 0.755625 | 0.976931 | 1.130 | NaN | 5207.0 | ... | 0.000000 | 0.496273 | 0.006959 | NaN | 0.000000 | 0.000000 | 0.010699 | 0.453074 | 0.000849 | 0.000000 |
| 25 | Mandeville; Dixon | Silver et al., 1990 | CAS-E2 | French curve, following Newman et al., 1986 | Manometry | 0.773615 | NaN | 1.070 | 0.040 | 5204.0 | ... | 0.000000 | 0.280502 | 0.000000 | NaN | 0.000000 | 0.000000 | 0.392297 | 0.000000 | 0.000000 | 0.000000 |
| 26 | Dixon | Silver et al., 1990 | Orthoclase, KAS | French curve, following Newman et al., 1986 | Manometry | 0.798937 | NaN | 1.870 | 0.070 | 5222.0 | ... | 0.000000 | 0.349157 | 0.000000 | NaN | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.360934 | 0.000000 |
| 27 | Silver | Silver et al., 1990 | Rhyolite | French curve, following Newman et al., 1986 | Manometry | 0.864175 | 0.928913 | 1.610 | 0.050 | 5225.0 | ... | 0.000000 | 0.245194 | 0.013918 | NaN | 0.000000 | 0.000000 | 0.008916 | 0.116505 | 0.101911 | 0.000000 |
| 28 | Mandeville; Dixon | Silver et al., 1990; Silver and Stolper, 1989 | Albite | French curve, following Newman et al., 1986 | Manometry | 0.799495 | NaN | 1.670 | 0.060 | 5218.0 | ... | 0.000000 | 0.381326 | 0.000000 | NaN | 0.000000 | 0.000000 | 0.000000 | 0.382524 | 0.000000 | 0.000000 |
| 29 | Stabile | Stabile et al., 2020 | Pantellerite | TT / GG Average | Karl Fischer Titration | 0.853000 | NaN | 1.965 | 0.020 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 30 | McIntosh | Vetere et al., 2006 | Fe-Free Andesite | TT | Karl Fischer Titration | 0.755531 | 0.394021 | 1.040 | 0.040 | NaN | ... | 0.000250 | 0.423107 | 0.000835 | NaN | 0.000846 | 0.136443 | 0.169223 | 0.110032 | 0.038004 | 0.000000 |
| 31 | Vetere | Vetere et al., 2011 | Shoshonite | TT | Karl Fischer Titration | 0.658648 | 0.438376 | 1.030 | 0.030 | NaN | ... | 0.008886 | 0.303648 | 0.116771 | NaN | 0.001410 | 0.121062 | 0.151748 | 0.118447 | 0.100212 | 0.000000 |
| 32 | Withers and Behrens | Withers and Behrens, 1999 | Albite, 300 K | TT / GG Average | Karl Fischer Titration | 0.796892 | 1.000000 | 1.470 | 0.040 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 33 | Withers and Behrens | Withers and Behrens, 1999 | Rhyolite | TT / GG Average | Karl Fischer Titration | 0.856102 | 0.927196 | 1.690 | 0.055 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 34 | Mandeville | Yamashita et al., 1997 | Tholeiite | TT | Manometry | 0.665081 | 0.264242 | 0.840 | 0.060 | NaN | ... | 0.015394 | 0.275598 | 0.175226 | NaN | 0.003101 | 0.130489 | 0.185628 | 0.066667 | 0.009130 | 0.002254 |
| 35 | Mandeville | Yamashita et al., 1997 | High Al Basalt | TT | Manometry | 0.671291 | 0.342483 | 0.840 | 0.060 | NaN | ... | 0.017397 | 0.335033 | 0.141962 | NaN | 0.002537 | 0.131977 | 0.178317 | 0.092880 | 0.016773 | 0.004650 |
| 36 | Mandeville | Yamashita et al., 1997 | Dacite | TT | Manometry | 0.782269 | 0.557640 | 1.600 | 0.300 | NaN | ... | 0.010763 | 0.299333 | 0.084621 | NaN | 0.002114 | 0.038948 | 0.102175 | 0.128803 | 0.016561 | 0.002395 |
37 rows × 75 columns
ε4500 Dataset
Display df_4500, the DataFrame of calibration data for the \(\mathrm{OH^-_{4500}}\) peak.
[5]:
df_4500
[5]:
| Compilation | Paper | Glass Composition | Baseline | Analytical Method | Tau | Eta | Epsilon_5200 | Uncertainty_5200 | PeakPosition_5200 | ... | TiO2.2 | Al2O3.2 | FeO.2 | Fe2O3.2 | MnO.2 | MgO.2 | CaO.2 | Na2O.2 | K2O.2 | P2O5.2 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Dixon | Acocella et al., 1984 | NA2O*3SiO2 | ? | Experimental H2O Loading | 0.600000 | NaN | 0.634 | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 1 | Allabar | Allabar and Nowak, 2020 | Peralkaline rhyolite | TT | FPA | 0.790665 | NaN | 1.200 | 0.020 | NaN | ... | 0.000000 | 0.254806 | 0.000000 | NaN | 0.000000 | 0.000000 | 0.000000 | 0.273786 | 0.115711 | 0.000000 |
| 2 | Mandeville | Behrens et al., 1996 | Orthoclase, K100 | TT | Karl Fischer Titration | 0.805598 | NaN | 1.650 | 0.050 | NaN | ... | 0.000000 | 0.361514 | 0.000000 | NaN | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.348832 | 0.000000 |
| 3 | Mandeville | Behrens, 1995 | Albite, Ab (I) | TT | Manometry | 0.799264 | NaN | 1.490 | 0.030 | NaN | ... | 0.000000 | 0.384464 | 0.000139 | NaN | 0.000000 | 0.000000 | 0.000178 | 0.382201 | 0.000425 | 0.000000 |
| 4 | Behrens | Behrens et al., 2009 | Ultrapotassic melt (K-rich) | TT | Karl Fischer Titration | 0.622000 | 0.231579 | 1.020 | 0.030 | NaN | ... | 0.010732 | 0.293645 | 0.100035 | NaN | 0.000916 | 0.136381 | 0.192939 | 0.058091 | 0.146550 | 0.001761 |
| 5 | Carroll | Carroll and Blank, 1997 | Phonolite | TT | Manometry | 0.719825 | 0.958639 | 1.100 | 0.120 | NaN | ... | 0.008073 | 0.369164 | 0.053584 | NaN | 0.002819 | 0.008187 | 0.013998 | 0.324434 | 0.116561 | 0.001057 |
| 6 | von Aulock | Di Matteo et al., 2004 | Trachyte | French curve, following Newman et al., 1986 | Karl Fischer Titration | 0.755149 | 0.739392 | 1.360 | 0.180 | NaN | ... | 0.005549 | 0.369884 | 0.047042 | NaN | 0.002584 | 0.026296 | 0.043272 | 0.136354 | 0.179759 | 0.002677 |
| 7 | Mandeville; Dixon | Dixon et al., 1995 | MORB | 5 Gaussians | Manometry | 0.627338 | 0.297233 | 0.620 | 0.070 | 5200.0 | ... | 0.023029 | 0.268733 | 0.172582 | NaN | 0.003101 | 0.165468 | 0.205064 | 0.086731 | 0.003185 | 0.002677 |
| 8 | Fiege | Fiege et al., 2015 | Mg-poor basalt | TT | Karl Fischer Titration | 0.689313 | 0.362818 | 0.848 | NaN | NaN | ... | 0.035044 | 0.316595 | 0.152818 | NaN | 0.002114 | 0.023319 | 0.188124 | 0.107120 | 0.021868 | 0.005777 |
| 9 | Dixon; von Aulock | Ihinger et al., 1994 | Rhyolite | NaN | NaN | 0.860000 | NaN | 1.860 | 0.050 | 5225.0 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 10 | Mandeville | Jakobsson, 1997 | Icelandite | Bruker B&K baselines | Elemental Analysis | 0.708000 | 0.507389 | 1.250 | 0.050 | NaN | ... | 0.025282 | 0.284425 | 0.169381 | NaN | 0.003806 | 0.073183 | 0.124108 | 0.127832 | 0.027176 | 0.014371 |
| 11 | von Aulock | King et al., 2002 | Andesite | GG | Manometry, SIMS | 0.743324 | 0.530808 | 1.080 | 0.110 | 5209.0 | ... | 0.011765 | 0.349157 | 0.089492 | NaN | 0.000000 | 0.075664 | 0.122147 | 0.138188 | 0.022930 | 0.000000 |
| 12 | Lesne | Lesne et al., 2011 | Basalt (Vesuvius) | TT | Karl Fischer Titration | 0.607389 | 0.203706 | 0.570 | 0.040 | 5211.0 | ... | 0.012015 | 0.284818 | 0.104523 | NaN | 0.001973 | 0.169189 | 0.227710 | 0.058252 | 0.117834 | 0.009158 |
| 13 | Lesne | Lesne et al., 2011 | Basalt (Stromboli) | TT | Karl Fischer Titration | 0.630120 | 0.247373 | 0.620 | 0.100 | 5216.0 | ... | 0.010013 | 0.309925 | 0.106333 | NaN | 0.002819 | 0.198462 | 0.226462 | 0.074434 | 0.040340 | 0.005636 |
| 14 | Lesne | Lesne et al., 2011 | Basalt (Etna) | TT | Karl Fischer Titration | 0.631214 | 0.363894 | 0.560 | 0.080 | 5220.0 | ... | 0.020776 | 0.337191 | 0.141267 | NaN | 0.002396 | 0.141900 | 0.193474 | 0.110680 | 0.042038 | 0.007186 |
| 15 | Mandeville | Mandeville, 2002 | Fe-Bearing Andesite | GG | Manometry | 0.746000 | 0.508918 | 1.070 | 0.070 | NaN | ... | 0.012140 | 0.329345 | 0.066667 | NaN | 0.001973 | 0.077400 | 0.121790 | 0.126214 | 0.026539 | 0.004227 |
| 16 | Mandeville | Mandeville, 2002 | Fe-Free Andesite | GG | Manometry | 0.795000 | 0.425118 | 1.460 | 0.070 | NaN | ... | 0.013392 | 0.327579 | 0.000000 | NaN | 0.000000 | 0.072935 | 0.133916 | 0.099029 | 0.029512 | 0.000000 |
| 17 | Mandeville | Newman et al., 1986 | Rhyolite | TT (3550), French curve (NIR) | Manometry | 0.859000 | NaN | 1.610 | 0.050 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 18 | Mandeville | Nowak and Behrens, 1995 | Haplogranite | TT | Karl Fischer Titration | 0.849699 | NaN | 1.790 | 0.020 | NaN | ... | 0.000000 | 0.265398 | 0.000000 | NaN | 0.000000 | 0.000000 | 0.000000 | 0.150485 | 0.120594 | 0.000000 |
| 19 | Mandeville | Ohlhorst et al., 2001 | Basalt | TT / GG Average | Karl Fischer Titration | 0.629132 | 0.249605 | 0.660 | 0.080 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 20 | Mandeville | Ohlhorst et al., 2001 | Andesite | TT / GG Average | Karl Fischer Titration | 0.721535 | 0.441704 | 0.895 | 0.085 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 21 | Mandeville | Ohlhorst et al., 2001 | Dacite | TT / GG Average | Karl Fischer Titration | 0.782667 | 0.577821 | 1.170 | 0.095 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 22 | von Aulock | Okumura and Nakashima, 2005 | Rhyolite | TT | Karl Fischer Titration | 0.859624 | 0.930701 | 1.750 | 0.080 | NaN | ... | 0.001252 | 0.247156 | 0.008351 | NaN | 0.001410 | 0.002481 | 0.008916 | 0.119741 | 0.108280 | 0.000000 |
| 23 | Shishkina | Shishkina et al., 2010 | Basalt | GG | Karl Fischer Titration | 0.663783 | 0.276557 | 0.650 | 0.080 | NaN | ... | 0.011389 | 0.359357 | 0.130271 | NaN | 0.002396 | 0.173902 | 0.202300 | 0.077346 | 0.004777 | 0.002113 |
| 24 | Mandeville; Dixon | Silver et al., 1990 | Jadeite Glass | French curve, following Newman et al., 1986 | Manometry | 0.755625 | 0.976931 | 1.130 | NaN | 5207.0 | ... | 0.000000 | 0.496273 | 0.006959 | NaN | 0.000000 | 0.000000 | 0.010699 | 0.453074 | 0.000849 | 0.000000 |
| 25 | Mandeville; Dixon | Silver et al., 1990 | CAS-E2 | French curve, following Newman et al., 1986 | Manometry | 0.773615 | NaN | 1.070 | 0.040 | 5204.0 | ... | 0.000000 | 0.280502 | 0.000000 | NaN | 0.000000 | 0.000000 | 0.392297 | 0.000000 | 0.000000 | 0.000000 |
| 26 | Dixon | Silver et al., 1990 | Orthoclase, KAS | French curve, following Newman et al., 1986 | Manometry | 0.798937 | NaN | 1.870 | 0.070 | 5222.0 | ... | 0.000000 | 0.349157 | 0.000000 | NaN | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.360934 | 0.000000 |
| 27 | Silver | Silver et al., 1990 | Rhyolite | French curve, following Newman et al., 1986 | Manometry | 0.864175 | 0.928913 | 1.610 | 0.050 | 5225.0 | ... | 0.000000 | 0.245194 | 0.013918 | NaN | 0.000000 | 0.000000 | 0.008916 | 0.116505 | 0.101911 | 0.000000 |
| 28 | Mandeville; Dixon | Silver et al., 1990; Silver and Stolper, 1989 | Albite | French curve, following Newman et al., 1986 | Manometry | 0.799495 | NaN | 1.670 | 0.060 | 5218.0 | ... | 0.000000 | 0.381326 | 0.000000 | NaN | 0.000000 | 0.000000 | 0.000000 | 0.382524 | 0.000000 | 0.000000 |
| 29 | Stabile | Stabile et al., 2020 | Pantellerite | TT / GG Average | Karl Fischer Titration | 0.853000 | NaN | 1.965 | 0.020 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 30 | McIntosh | Vetere et al., 2006 | Fe-Free Andesite | TT | Karl Fischer Titration | 0.755531 | 0.394021 | 1.040 | 0.040 | NaN | ... | 0.000250 | 0.423107 | 0.000835 | NaN | 0.000846 | 0.136443 | 0.169223 | 0.110032 | 0.038004 | 0.000000 |
| 31 | Vetere | Vetere et al., 2011 | Shoshonite | TT | Karl Fischer Titration | 0.658648 | 0.438376 | 1.030 | 0.030 | NaN | ... | 0.008886 | 0.303648 | 0.116771 | NaN | 0.001410 | 0.121062 | 0.151748 | 0.118447 | 0.100212 | 0.000000 |
| 32 | Withers and Behrens | Withers and Behrens, 1999 | Albite, 300 K | TT / GG Average | Karl Fischer Titration | 0.796892 | 1.000000 | 1.470 | 0.040 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 33 | Withers and Behrens | Withers and Behrens, 1999 | Rhyolite | TT / GG Average | Karl Fischer Titration | 0.856102 | 0.927196 | 1.690 | 0.055 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 34 | Mandeville | Yamashita et al., 1997 | Tholeiite | TT | Manometry | 0.665081 | 0.264242 | 0.840 | 0.060 | NaN | ... | 0.015394 | 0.275598 | 0.175226 | NaN | 0.003101 | 0.130489 | 0.185628 | 0.066667 | 0.009130 | 0.002254 |
| 35 | Mandeville | Yamashita et al., 1997 | High Al Basalt | TT | Manometry | 0.671291 | 0.342483 | 0.840 | 0.060 | NaN | ... | 0.017397 | 0.335033 | 0.141962 | NaN | 0.002537 | 0.131977 | 0.178317 | 0.092880 | 0.016773 | 0.004650 |
| 36 | Mandeville | Yamashita et al., 1997 | Dacite | TT | Manometry | 0.782269 | 0.557640 | 1.600 | 0.300 | NaN | ... | 0.010763 | 0.299333 | 0.084621 | NaN | 0.002114 | 0.038948 | 0.102175 | 0.128803 | 0.016561 | 0.002395 |
37 rows × 75 columns
ε3550 Dataset
Display df_3550, the DataFrame of calibration data for the \(\mathrm{H_2O_{t, 3550}}\) peak.
[6]:
df_3550
[6]:
| Compilation | Paper | Glass Composition | Baseline | Analytical Method | Tau | Eta | Epsilon_5200 | Uncertainty_5200 | PeakPosition_5200 | ... | TiO2.2 | Al2O3.2 | FeO.2 | Fe2O3.2 | MnO.2 | MgO.2 | CaO.2 | Na2O.2 | K2O.2 | P2O5.2 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | McIntosh | Aubaud et al., 2009 | Rhyolite | TT | ERDA | 0.860500 | 0.913552 | NaN | NaN | NaN | ... | 0.001001 | 0.252648 | 0.017258 | NaN | 0.000987 | 0.000496 | 0.010877 | 0.114239 | 0.102866 | 0.000000 |
| 1 | Behrens | Behrens et al., 2009 | Ultrapotassic melt (K-rich) | TT | Karl Fischer Titration | 0.622000 | 0.231579 | 1.02 | 0.03 | NaN | ... | 0.010732 | 0.293645 | 0.100035 | NaN | 0.000916 | 0.136381 | 0.192939 | 0.058091 | 0.146550 | 0.001761 |
| 2 | Shishkina | Di Matteo et al., 2006 | Shoshonite | French curve (3550) | Karl Fischer Titration | 0.663170 | 0.253546 | NaN | NaN | NaN | ... | 0.010513 | 0.301883 | 0.100348 | NaN | 0.002255 | 0.141404 | 0.194365 | 0.066019 | 0.069639 | 0.006622 |
| 3 | Shishkina | Di Matteo et al., 2006 | Latite | French curve (3550) | Karl Fischer Titration | 0.711733 | 0.574658 | NaN | NaN | NaN | ... | 0.010889 | 0.346607 | 0.096033 | NaN | 0.002114 | 0.060283 | 0.103959 | 0.140453 | 0.081104 | 0.008172 |
| 4 | Mandeville; Dixon | Dixon et al., 1995 | MORB | 5 Gaussians | Manometry | 0.627338 | 0.297233 | 0.62 | 0.07 | 5200.0 | ... | 0.023029 | 0.268733 | 0.172582 | NaN | 0.003101 | 0.165468 | 0.205064 | 0.086731 | 0.003185 | 0.002677 |
| 5 | von Aulock | Dobson et al., 1989 | Rhyolite | TT | Manometry | 0.866629 | 0.934383 | NaN | NaN | NaN | ... | 0.000876 | 0.255002 | 0.005289 | NaN | 0.000564 | 0.001240 | 0.009272 | 0.132039 | 0.088960 | 0.000000 |
| 6 | von Aulock | Hauri et al., 2002 | Rhyolite | TT | SIMS | 0.859000 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 7 | Dixon; von Aulock | Ihinger et al., 1994 | Rhyolite | NaN | SIMS, Raman | 0.860000 | NaN | 1.86 | 0.05 | 5225.0 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 8 | Jendrzejewski | Jendrzejewski et al., 1997 | MORB | Devolatilized baseline | Manometry | 0.645456 | 0.244638 | NaN | NaN | NaN | ... | 0.015770 | 0.281130 | 0.134196 | NaN | 0.002453 | 0.193004 | 0.211840 | 0.068608 | 0.000849 | 0.001578 |
| 9 | von Aulock | King et al., 2002 | Andesite | GG | Manometry, SIMS | 0.743324 | 0.530808 | 1.08 | 0.11 | 5209.0 | ... | 0.011765 | 0.349157 | 0.089492 | NaN | 0.000000 | 0.075664 | 0.122147 | 0.138188 | 0.022930 | 0.000000 |
| 10 | von Aulock | Leschik et al., 2004 | Rhyolite | TT | Karl Fischer Titration | 0.855636 | 0.901814 | NaN | NaN | NaN | ... | 0.000688 | 0.255394 | 0.003688 | NaN | 0.000634 | 0.000992 | 0.014889 | 0.134628 | 0.102548 | 0.000000 |
| 11 | Mandeville | Mandeville, 2002 | Fe-Bearing Andesite | GG | Manometry | 0.746000 | 0.508918 | 1.07 | 0.07 | NaN | ... | 0.012140 | 0.329345 | 0.066667 | NaN | 0.001973 | 0.077400 | 0.121790 | 0.126214 | 0.026539 | 0.004227 |
| 12 | Mandeville | Mandeville, 2002 | Fe-Free Andesite | GG | Manometry | 0.795000 | 0.425118 | 1.46 | 0.07 | NaN | ... | 0.013392 | 0.327579 | 0.000000 | NaN | 0.000000 | 0.072935 | 0.133916 | 0.099029 | 0.029512 | 0.000000 |
| 13 | Mercier | Mercier et al., 2010 | Basanite | TT | Karl Fischer Titration | 0.587914 | 0.176441 | NaN | NaN | NaN | ... | 0.014810 | 0.324899 | 0.121294 | NaN | 0.001950 | 0.105474 | 0.175701 | 0.091694 | 0.058599 | 0.011366 |
| 14 | Mercier | Mercier et al., 2010 | Basalt | TT | Karl Fischer Titration | 0.665692 | 0.354105 | NaN | NaN | NaN | ... | 0.014810 | 0.324899 | 0.121294 | NaN | 0.001950 | 0.105474 | 0.175701 | 0.091694 | 0.058599 | 0.011366 |
| 15 | von Aulock | Okumura et al., 2003 | Rhyolite | TT | Karl Fischer Titration | 0.863585 | 0.920556 | NaN | NaN | NaN | ... | 0.000751 | 0.251863 | 0.012248 | NaN | 0.000564 | 0.000992 | 0.009986 | 0.117152 | 0.101062 | 0.000000 |
| 16 | Mandeville | Pandya et al., 1992 | Basalt | GG | High temperature mass spectrometry | 0.643000 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 17 | Shi | Shi et al., 2024 | ND70 Synthetic MORB | ALS, PyIRoglass MCMC | SIMS/ERDA Mean for H2O; NRA for CO2 | 0.648227 | 0.235588 | NaN | NaN | NaN | ... | 0.009015 | 0.283405 | 0.114442 | NaN | 0.001974 | 0.207570 | 0.230325 | 0.071186 | 0.003482 | 0.001071 |
| 18 | Shishkina | Shishkina et al., 2010 | Basalt | GG | Karl Fischer Titration | 0.663783 | 0.276557 | 0.65 | 0.08 | NaN | ... | 0.011389 | 0.359357 | 0.130271 | NaN | 0.002396 | 0.173902 | 0.202300 | 0.077346 | 0.004777 | 0.002113 |
| 19 | Shishkina | Shishkina et al., 2014 | Nephelinite, E2624 | TT | Karl Fischer Titration | 0.507838 | 0.337884 | NaN | NaN | NaN | ... | 0.028285 | 0.231463 | 0.153097 | NaN | 0.002678 | 0.330191 | 0.235913 | 0.120388 | 0.020382 | 0.015921 |
| 20 | Shishkina | Shishkina et al., 2014 | Basanite, A2549 | TT | Karl Fischer Titration | 0.532067 | 0.361039 | NaN | NaN | NaN | ... | 0.033041 | 0.248137 | 0.160612 | NaN | 0.002678 | 0.299429 | 0.210770 | 0.119094 | 0.021444 | 0.009863 |
| 21 | Shishkina | Shishkina et al., 2014 | Alkali basalt, B2518 | TT | Karl Fischer Titration | 0.585110 | 0.374715 | NaN | NaN | NaN | ... | 0.033792 | 0.287368 | 0.163396 | NaN | 0.002255 | 0.216075 | 0.189551 | 0.113592 | 0.022505 | 0.007890 |
| 22 | Shishkina | Shishkina et al., 2014 | Alkali basalt, B2507 | TT | Karl Fischer Titration | 0.585248 | 0.391245 | NaN | NaN | NaN | ... | 0.029412 | 0.277952 | 0.150592 | NaN | 0.002396 | 0.257008 | 0.177247 | 0.113916 | 0.017622 | 0.006622 |
| 23 | Mandeville; Dixon | Silver et al., 1990; Silver and Stolper, 1989 | Albite | French curve, following Newman et al., 1986 | Manometry | 0.799495 | NaN | 1.67 | 0.06 | 5218.0 | ... | 0.000000 | 0.381326 | 0.000000 | NaN | 0.000000 | 0.000000 | 0.000000 | 0.382524 | 0.000000 | 0.000000 |
| 24 | Stolper | Stolper, 1982 | Basalt SLNT | TT | Manometry | 0.636444 | 0.229564 | NaN | NaN | NaN | ... | 0.017522 | 0.294233 | 0.108559 | NaN | 0.000000 | 0.203423 | 0.238944 | 0.071197 | 0.008493 | 0.000000 |
| 25 | Stolper | Stolper, 1982 | Basalt Bouvet CHN | TT | Manometry | 0.639197 | 0.230892 | NaN | NaN | NaN | ... | 0.016270 | 0.292271 | 0.107168 | NaN | 0.000000 | 0.200943 | 0.237161 | 0.071197 | 0.008493 | 0.000000 |
| 26 | Stolper | Stolper, 1982 | Basalt Marianas 46D-I-1 | TT | Manometry | 0.668086 | 0.205889 | NaN | NaN | NaN | ... | 0.021277 | 0.292271 | 0.128045 | NaN | 0.076121 | 0.260481 | 0.062411 | 0.016181 | 0.010616 | 0.000000 |
| 27 | Stolper | Stolper, 1982 | Basalt Tasaday | TT | Manometry | 0.690789 | 0.167814 | NaN | NaN | NaN | ... | 0.021277 | 0.304041 | 0.122477 | NaN | 0.064844 | 0.230712 | 0.064194 | 0.012945 | 0.008493 | 0.000000 |
| 28 | Stolper | Stolper, 1982 | Hydrated Obsidian OBS G | TT | Manometry | 0.811370 | 0.670642 | NaN | NaN | NaN | ... | 0.001252 | 0.233425 | 0.013918 | NaN | 0.001410 | 0.007442 | 0.073110 | 0.148867 | 0.097665 | 0.000000 |
| 29 | Stolper | Stolper, 1982 | Hydrated Obsidian OBS I | TT | Manometry | 0.812989 | 0.671242 | NaN | NaN | NaN | ... | 0.001252 | 0.231463 | 0.013918 | NaN | 0.001410 | 0.007442 | 0.071327 | 0.145631 | 0.095541 | 0.000000 |
| 30 | Stolper | Stolper, 1982 | Hydrated Obsidian OBS E | TT | Manometry | 0.813307 | 0.670642 | NaN | NaN | NaN | ... | 0.001252 | 0.237348 | 0.013918 | NaN | 0.001410 | 0.007442 | 0.073110 | 0.148867 | 0.097665 | 0.000000 |
| 31 | Stolper | Stolper, 1982 | Synthetic Albite A78-56 | TT | Manometry | 0.902343 | 0.000000 | NaN | NaN | NaN | ... | 0.000000 | 0.345233 | 0.000000 | NaN | 0.000000 | 0.000000 | 0.153352 | 0.000000 | 0.000000 | 0.000000 |
| 32 | Mandeville | Yamashita et al., 1997 | Tholeiite | TT | Manometry | 0.665081 | 0.264242 | 0.84 | 0.06 | NaN | ... | 0.015394 | 0.275598 | 0.175226 | NaN | 0.003101 | 0.130489 | 0.185628 | 0.066667 | 0.009130 | 0.002254 |
| 33 | Mandeville | Yamashita et al., 1997 | High Al Basalt | TT | Manometry | 0.671291 | 0.342483 | 0.84 | 0.06 | NaN | ... | 0.017397 | 0.335033 | 0.141962 | NaN | 0.002537 | 0.131977 | 0.178317 | 0.092880 | 0.016773 | 0.004650 |
| 34 | Mandeville | Yamashita et al., 1997 | Dacite | TT | Manometry | 0.782269 | 0.557640 | 1.60 | 0.30 | NaN | ... | 0.010763 | 0.299333 | 0.084621 | NaN | 0.002114 | 0.038948 | 0.102175 | 0.128803 | 0.016561 | 0.002395 |
35 rows × 75 columns
ε1635 Dataset
Display df_1635, the DataFrame of calibration data for the \(\mathrm{H_2O_{m,1635}}\) peak.
[7]:
df_1635
[7]:
| Compilation | Paper | Glass Composition | Baseline | Analytical Method | Tau | Eta | Epsilon_5200 | Uncertainty_5200 | PeakPosition_5200 | ... | TiO2.2 | Al2O3.2 | FeO.2 | Fe2O3.2 | MnO.2 | MgO.2 | CaO.2 | Na2O.2 | K2O.2 | P2O5.2 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Mandeville; Dixon | Dixon et al., 1995 | MORB | 5 Gaussians | Manometry | 0.627338 | 0.297233 | 0.62 | 0.07 | 5200.0 | ... | 0.023029 | 0.268733 | 0.172582 | NaN | 0.003101 | 0.165468 | 0.205064 | 0.086731 | 0.003185 | 0.002677 |
| 1 | von Aulock | Hauri et al., 2002 | Rhyolite | TT | SIMS | 0.859000 | NaN | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 2 | Dixon; von Aulock | Ihinger et al., 1994 | Rhyolite | NaN | NaN | 0.860000 | NaN | 1.86 | 0.05 | 5225.0 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 3 | Mandeville | Jakobsson, 1997 | Icelandite | Bruker B&K baselines | Elemental Analysis | 0.708000 | 0.507389 | 1.25 | 0.05 | NaN | ... | 0.025282 | 0.284425 | 0.169381 | NaN | 0.003806 | 0.073183 | 0.124108 | 0.127832 | 0.027176 | 0.014371 |
| 4 | von Aulock | King et al., 2002 | Andesite | GG | Manometry, SIMS | 0.743324 | 0.530808 | 1.08 | 0.11 | 5209.0 | ... | 0.011765 | 0.349157 | 0.089492 | NaN | 0.000000 | 0.075664 | 0.122147 | 0.138188 | 0.022930 | 0.000000 |
| 5 | Mandeville | Mandeville, 2002 | Fe-Bearing Andesite | GG | Manometry | 0.746000 | 0.508918 | 1.07 | 0.07 | NaN | ... | 0.012140 | 0.329345 | 0.066667 | NaN | 0.001973 | 0.077400 | 0.121790 | 0.126214 | 0.026539 | 0.004227 |
| 6 | Mandeville | Mandeville, 2002 | Fe-Free Andesite | GG | Manometry | 0.795000 | 0.425118 | 1.46 | 0.07 | NaN | ... | 0.013392 | 0.327579 | 0.000000 | NaN | 0.000000 | 0.072935 | 0.133916 | 0.099029 | 0.029512 | 0.000000 |
| 7 | Mandeville | Newman et al., 1986 | Rhyolite | TT (3550), French curve (NIR) | Manometry | 0.859000 | NaN | 1.61 | 0.05 | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 8 | Mandeville; Dixon | Silver et al., 1990; Silver and Stolper, 1989 | Albite | French curve, following Newman et al., 1986 | Manometry | 0.799495 | NaN | 1.67 | 0.06 | 5218.0 | ... | 0.000000 | 0.381326 | 0.000000 | NaN | 0.000000 | 0.000000 | 0.000000 | 0.382524 | 0.000000 | 0.000000 |
9 rows × 75 columns
εCarbonate Dataset
Display df_carbonate, the DataFrame of calibration data for the \(\mathrm{CO_{3}^{2-}}\) peak.
[8]:
df_carbonate
[8]:
| Compilation | Paper | Glass Composition | Baseline | Analytical Method | Tau | Eta | Epsilon_5200 | Uncertainty_5200 | PeakPosition_5200 | ... | TiO2.2 | Al2O3.2 | FeO.2 | Fe2O3.2 | MnO.2 | MgO.2 | CaO.2 | Na2O.2 | K2O.2 | P2O5.2 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Brounce | Brounce et al., 2021 | Boninite | Devolatilized baseline | Karl Fischer Titration, IR Spectroscopy, Eleme... | 0.642699 | 0.263040 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 1 | Dixon and Pan | Dixon and Pan, 1995 | Basanite | Devolatilized baseline | Carbon Analyzer | 0.585434 | 0.488757 | NaN | NaN | NaN | ... | 0.039675 | 0.298156 | 0.167015 | NaN | 0.003242 | 0.224758 | 0.146576 | 0.140129 | 0.028025 | 0.003804 |
| 2 | Duncan | Duncan and Dasgupta, 2015 | Rhyolite | TT | SIMS | 0.805249 | 0.840649 | NaN | NaN | NaN | ... | 0.006258 | 0.309141 | 0.013023 | NaN | 0.006948 | 0.006096 | 0.025932 | 0.136801 | 0.156081 | 0.001167 |
| 3 | von Aulock | Fine and Stolper, 1986 | Basalt | Devolatilized baseline | Experimental CO2 loading | 0.620284 | 0.268022 | NaN | NaN | NaN | ... | 0.009140 | 0.310514 | 0.118590 | NaN | 0.002256 | 0.266968 | 0.203290 | 0.074219 | 0.002123 | 0.000000 |
| 4 | Mandeville | Jakobsson, 1997 | Icelandite | Bruker B&K baselines | Elemental Analysis | 0.708000 | 0.507389 | 1.25 | 0.05 | NaN | ... | 0.025282 | 0.284425 | 0.169381 | NaN | 0.003806 | 0.073183 | 0.124108 | 0.127832 | 0.027176 | 0.014371 |
| 5 | Jendrzejewski | Jendrzejewski et al., 1997 | MORB | Devolatilized baseline | Manometry | 0.645456 | 0.244638 | NaN | NaN | NaN | ... | 0.015770 | 0.281130 | 0.134196 | NaN | 0.002453 | 0.193004 | 0.211840 | 0.068608 | 0.000849 | 0.001578 |
| 6 | Shi | Shi et al., 2024 | ND70 Synthetic MORB | ALS, PyIRoglass MCMC | SIMS/ERDA Mean for H2O; NRA for CO2 | 0.648227 | 0.235588 | NaN | NaN | NaN | ... | 0.009015 | 0.283405 | 0.114442 | NaN | 0.001974 | 0.207570 | 0.230325 | 0.071186 | 0.003482 | 0.001071 |
| 7 | Shishkina | Shishkina et al., 2010 | Basalt | GG | Karl Fischer Titration, IR Spectroscopy | 0.663783 | 0.276557 | 0.65 | 0.08 | NaN | ... | 0.011389 | 0.359357 | 0.130271 | NaN | 0.002396 | 0.173902 | 0.202300 | 0.077346 | 0.004777 | 0.002113 |
| 8 | Shishkina | Shishkina et al., 2014 | Basanite, A2549 | TT | Karl Fischer Titration, IR Spectroscopy | 0.532067 | 0.361039 | NaN | NaN | NaN | ... | 0.033041 | 0.248137 | 0.160612 | NaN | 0.002678 | 0.299429 | 0.210770 | 0.119094 | 0.021444 | 0.009863 |
| 9 | Shishkina | Shishkina et al., 2014 | Alkali basalt, B2507 | TT | Karl Fischer Titration, IR Spectroscopy | 0.585248 | 0.391245 | NaN | NaN | NaN | ... | 0.029412 | 0.277952 | 0.150592 | NaN | 0.002396 | 0.257008 | 0.177247 | 0.113916 | 0.017622 | 0.006622 |
| 10 | Shishkina | Shishkina et al., 2014 | Ferro-basalt, SC1 | TT | Karl Fischer Titration, IR Spectroscopy | 0.623637 | 0.302804 | NaN | NaN | NaN | ... | 0.036170 | 0.289721 | 0.181628 | NaN | 0.000000 | 0.160506 | 0.195970 | 0.085113 | 0.006369 | 0.000000 |
| 11 | Shishkina | Shishkina et al., 2014 | Alkali basalt, Etna | TT | Karl Fischer Titration, IR Spectroscopy | 0.625605 | 0.367019 | NaN | NaN | NaN | ... | 0.022153 | 0.321695 | 0.145859 | NaN | 0.002819 | 0.148102 | 0.193117 | 0.111974 | 0.041614 | 0.008313 |
| 12 | Shishkina | Shishkina et al., 2014 | Alkali basalt, OB93 | TT | Karl Fischer Titration, IR Spectroscopy | 0.636214 | 0.366949 | NaN | NaN | NaN | ... | 0.034543 | 0.317772 | 0.165623 | NaN | 0.002396 | 0.145870 | 0.174750 | 0.101294 | 0.023779 | 0.000000 |
| 13 | Shishkina | Shishkina et al., 2014 | MORB, 169oxi | TT | Karl Fischer Titration, IR Spectroscopy | 0.653036 | 0.275455 | NaN | NaN | NaN | ... | 0.018273 | 0.332483 | 0.118441 | NaN | 0.001833 | 0.185562 | 0.214515 | 0.081553 | 0.004671 | 0.000000 |
| 14 | von Aulock | Thibault and Holloway, 1994 | Leucitite | Devolatilized baseline | SIMS | 0.540940 | 0.288254 | NaN | NaN | NaN | ... | 0.033667 | 0.251079 | 0.129576 | NaN | 0.002678 | 0.226743 | 0.255706 | 0.103560 | 0.073248 | 0.010849 |
| 15 | Vetere | Vetere et al., 2011 | Shoshonite | TT | Karl Fischer Titration, IR Spectroscopy | 0.658648 | 0.438376 | 1.03 | 0.03 | NaN | ... | 0.008886 | 0.303648 | 0.116771 | NaN | 0.001410 | 0.121062 | 0.151748 | 0.118447 | 0.100212 | 0.000000 |
| 16 | Shishkina | Vetere et al., 2014 | Phonotephrite AH3 | TT | Karl Fischer Titration, IR Spectroscopy | 0.607514 | 0.536856 | NaN | NaN | NaN | ... | 0.010889 | 0.304825 | 0.108142 | NaN | 0.000564 | 0.149591 | 0.201854 | 0.233981 | 0.040127 | 0.000000 |
| 17 | Shishkina | Vetere et al., 2014 | Phonotephrite AH2 | TT | Karl Fischer Titration, IR Spectroscopy | 0.612468 | 0.424113 | NaN | NaN | NaN | ... | 0.010513 | 0.294037 | 0.108003 | NaN | 0.000846 | 0.136194 | 0.203459 | 0.149838 | 0.100000 | 0.000000 |
| 18 | Shishkina | Vetere et al., 2014 | Phonotephrite AH1 | TT | Karl Fischer Titration, IR Spectroscopy | 0.622414 | 0.236898 | NaN | NaN | NaN | ... | 0.011139 | 0.305414 | 0.108838 | NaN | 0.000282 | 0.142645 | 0.203281 | 0.063107 | 0.159660 | 0.000000 |
| 19 | Shishkina | Vetere et al., 2014 | Latite | TT | Karl Fischer Titration, IR Spectroscopy | 0.722380 | 0.590266 | NaN | NaN | NaN | ... | 0.006508 | 0.323656 | 0.096312 | NaN | 0.001551 | 0.055321 | 0.091655 | 0.132039 | 0.113800 | 0.000000 |
| 20 | Behrens | Behrens et al., 2009 | Ultrapotassic melt (K-rich) | TT | Karl Fischer Titration | 0.622000 | 0.231579 | 1.02 | 0.03 | NaN | ... | 0.010732 | 0.293645 | 0.100035 | NaN | 0.000916 | 0.136381 | 0.192939 | 0.058091 | 0.146550 | 0.001761 |
| 21 | Dixon and Pan | Dixon and Pan, 1995 | Basanite | Devolatilized baseline | Carbon Analyzer | 0.620284 | 0.268022 | NaN | NaN | NaN | ... | 0.039675 | 0.298156 | 0.167015 | NaN | 0.003242 | 0.224758 | 0.146576 | 0.140129 | 0.028025 | 0.003804 |
| 22 | Duncan | Duncan and Dasgupta, 2015 | Rhyolite | TT | SIMS | 0.805249 | 0.840649 | NaN | NaN | NaN | ... | 0.006258 | 0.309141 | 0.013023 | NaN | 0.006948 | 0.006096 | 0.025932 | 0.136801 | 0.156081 | 0.001167 |
| 23 | von Aulock | Fine and Stolper, 1986 | Basalt | Devolatilized baseline | Experimental CO2 loading | 0.620284 | 0.268022 | NaN | NaN | NaN | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| 24 | Mandeville | Jakobsson, 1997 | Icelandite | Bruker B&K baselines | Elemental Analysis | 0.708000 | 0.507389 | 1.25 | 0.05 | NaN | ... | 0.025282 | 0.284425 | 0.169381 | NaN | 0.003806 | 0.073183 | 0.124108 | 0.127832 | 0.027176 | 0.014371 |
| 25 | Jendrzejewski | Jendrzejewski et al., 1997 | MORB | Devolatilized baseline | Manometry | 0.645456 | 0.244638 | NaN | NaN | NaN | ... | 0.015770 | 0.281130 | 0.134196 | NaN | 0.002453 | 0.193004 | 0.211840 | 0.068608 | 0.000849 | 0.001578 |
| 26 | Shi | Shi et al., 2024 | Basalt | ALS, PyIRoglass MCMC | SIMS/ERDA Mean for H2O; NRA for CO2 | 0.648227 | 0.235588 | NaN | NaN | NaN | ... | 0.009015 | 0.283405 | 0.114442 | NaN | 0.001974 | 0.207570 | 0.230325 | 0.071186 | 0.003482 | 0.001071 |
| 27 | Shishkina | Shishkina et al., 2010 | Basalt | GG | Karl Fischer Titration, IR Spectroscopy | 0.663783 | 0.276557 | 0.65 | 0.08 | NaN | ... | 0.011389 | 0.359357 | 0.130271 | NaN | 0.002396 | 0.173902 | 0.202300 | 0.077346 | 0.004777 | 0.002113 |
| 28 | Shishkina | Shishkina et al., 2014 | Basanite, A2549 | TT | Karl Fischer Titration, IR Spectroscopy | 0.532067 | 0.361039 | NaN | NaN | NaN | ... | 0.033041 | 0.248137 | 0.160612 | NaN | 0.002678 | 0.299429 | 0.210770 | 0.119094 | 0.021444 | 0.009863 |
| 29 | Shishkina | Shishkina et al., 2014 | Alkali basalt, B2507 | TT | Karl Fischer Titration, IR Spectroscopy | 0.585248 | 0.391245 | NaN | NaN | NaN | ... | 0.029412 | 0.277952 | 0.150592 | NaN | 0.002396 | 0.257008 | 0.177247 | 0.113916 | 0.017622 | 0.006622 |
| 30 | Shishkina | Shishkina et al., 2014 | Ferro-basalt, SC1 | TT | Karl Fischer Titration, IR Spectroscopy | 0.623637 | 0.302804 | NaN | NaN | NaN | ... | 0.036170 | 0.289721 | 0.181628 | NaN | 0.000000 | 0.160506 | 0.195970 | 0.085113 | 0.006369 | 0.000000 |
| 31 | Shishkina | Shishkina et al., 2014 | Alkali basalt, Etna | TT | Karl Fischer Titration, IR Spectroscopy | 0.625605 | 0.367019 | NaN | NaN | NaN | ... | 0.022153 | 0.321695 | 0.145859 | NaN | 0.002819 | 0.148102 | 0.193117 | 0.111974 | 0.041614 | 0.008313 |
| 32 | Shishkina | Shishkina et al., 2014 | Alkali basalt, OB93 | TT | Karl Fischer Titration, IR Spectroscopy | 0.636214 | 0.366949 | NaN | NaN | NaN | ... | 0.034543 | 0.317772 | 0.165623 | NaN | 0.002396 | 0.145870 | 0.174750 | 0.101294 | 0.023779 | 0.000000 |
| 33 | Shishkina | Shishkina et al., 2014 | MORB, 169oxi | TT | Karl Fischer Titration, IR Spectroscopy | 0.653036 | 0.275455 | NaN | NaN | NaN | ... | 0.018273 | 0.332483 | 0.118441 | NaN | 0.001833 | 0.185562 | 0.214515 | 0.081553 | 0.004671 | 0.000000 |
| 34 | von Aulock | Thibault and Holloway, 1994 | Leucitite | Devolatilized baseline | SIMS | 0.540940 | 0.288254 | NaN | NaN | NaN | ... | 0.033667 | 0.251079 | 0.129576 | NaN | 0.002678 | 0.226743 | 0.255706 | 0.103560 | 0.073248 | 0.010849 |
35 rows × 77 columns
We’re ready to use the pig.inversion, pig.least_squares, pig.inversion_fit_errors, and pig.inversion_fit_errors_plotting functions now. We input the arguments:
tauoreta: Compositional parameterepsilon: Molar absorptivitysigma_tauorsigma_eta: Uncertainty on compositional parametersigma_epsilon: Uncertainty on absorption coefficient
and output:
mest: Best-fit inversion parameterscovm: Covariance matrix for inversion parameterscovepsilon: Covariance on fit molar absorptivity
[9]:
mest_5200, covm_est_5200, covepsilon_5200 = pig.inversion(tau_5200, epsilon_5200, sigma_tau_5200, sigma_epsilon_5200, intercept_zero=False)
mls_5200, covls_5200 = pig.least_squares(tau_5200, epsilon_5200, sigma_epsilon_5200)
E_calib_5200, see_5200, r2_5200, rmse_5200, rrmse_5200, ccc_5200 = pig.inversion_fit_errors(tau_5200, epsilon_5200, mest_5200, covepsilon_5200)
mest_4500, covm_est_4500, covepsilon_4500 = pig.inversion(tau_4500, epsilon_4500, sigma_tau_4500, sigma_epsilon_4500, intercept_zero=False)
mls_4500, covls_4500 = pig.least_squares(tau_4500, sigma_tau_4500, sigma_epsilon_4500)
E_calib_4500, see_4500, r2_4500, rmse_4500, rrmse_4500, ccc_4500 = pig.inversion_fit_errors(tau_4500, epsilon_4500, mest_4500, covepsilon_4500)
mest_3550, covm_est_3550, covepsilon_3550 = pig.inversion(tau_3550, epsilon_3550, sigma_tau_3550, sigma_epsilon_3550, intercept_zero=False)
mls_3550, covls_3550 = pig.least_squares(tau_3550, epsilon_3550, sigma_epsilon_3550)
E_calib_3550, see_3550, r2_3550, rmse_3550, rrmse_3550, ccc_3550 = pig.inversion_fit_errors(tau_3550, epsilon_3550, mest_3550, covepsilon_3550)
mest_1635, covm_est_1635, covepsilon_1635 = pig.inversion(tau_1635, epsilon_1635, sigma_tau_1635, sigma_epsilon_1635, intercept_zero=False)
mls_1635, covls_1635 = pig.least_squares(tau_1635, epsilon_1635, sigma_epsilon_1635)
E_calib_1635, see_1635, r2_1635, rmse_1635, rrmse_1635, ccc_1635 = pig.inversion_fit_errors(tau_1635, epsilon_1635, mest_1635, covepsilon_1635)
mest_carbonate, covm_est_carbonate, covepsilon_carbonate = pig.inversion(eta, epsilon_carbonate, sigma_eta, sigma_epsilon_carbonate, intercept_zero=False)
mls_carbonate, covls_carbonate = pig.least_squares(eta, epsilon_carbonate, sigma_epsilon_carbonate)
E_calib_carbonate, see_carbonate, r2_carbonate, rmse_carbonate, rrmse_carbonate, ccc_carbonate = pig.inversion_fit_errors(eta, epsilon_carbonate, mls_carbonate, covepsilon_carbonate)
Initial error in implicit equation = 1.0484975092736677
Final error in implicit equation = 5.32481111024183e-30
Final error in implicit equation = 8.480254731125877e-30
Final error in implicit equation = 4.733165431326071e-30
Final error in implicit equation = 4.338734978715565e-30
Final error in implicit equation = 5.32481111024183e-30
Final error in implicit equation = 9.860761315262648e-30
Final error in implicit equation = 4.535950205020818e-30
Final error in implicit equation = 5.127595883936577e-30
Final error in implicit equation = 1.0452406994178406e-29
Initial error in implicit equation = 1.66223140189791
Final error in implicit equation = 3.4019626537656134e-29
Final error in implicit equation = 6.6313619845141305e-28
Final error in implicit equation = 4.235196984905307e-29
Final error in implicit equation = 2.96858219395982e-28
Final error in implicit equation = 4.5753932502818685e-29
Final error in implicit equation = 5.10294398064842e-29
Final error in implicit equation = 9.707919514876077e-29
Final error in implicit equation = 2.8443366013875107e-28
Final error in implicit equation = 2.9552701661842155e-28
Initial error in implicit equation = 1897.1309979878042
Final error in implicit equation = 6.399239663152848e-27
Final error in implicit equation = 4.9067148304746934e-27
Final error in implicit equation = 4.9067148304746934e-27
Final error in implicit equation = 4.9067148304746934e-27
Final error in implicit equation = 4.9067148304746934e-27
Final error in implicit equation = 4.9067148304746934e-27
Final error in implicit equation = 4.9067148304746934e-27
Final error in implicit equation = 4.9067148304746934e-27
Final error in implicit equation = 4.9067148304746934e-27
Initial error in implicit equation = 44.60809833581617
Final error in implicit equation = 1.0097419586828951e-27
Final error in implicit equation = 1.5146129380243427e-28
Final error in implicit equation = 1.5146129380243427e-28
Final error in implicit equation = 1.5146129380243427e-28
Final error in implicit equation = 1.5146129380243427e-28
Final error in implicit equation = 1.5146129380243427e-28
Final error in implicit equation = 1.5146129380243427e-28
Final error in implicit equation = 1.5146129380243427e-28
Final error in implicit equation = 1.5146129380243427e-28
Initial error in implicit equation = 77666.442886835
Final error in implicit equation = 5.169878828456423e-26
Final error in implicit equation = 2.908056841006738e-26
Final error in implicit equation = 2.5849394142282115e-26
Final error in implicit equation = 2.908056841006738e-26
Final error in implicit equation = 2.5849394142282115e-26
Final error in implicit equation = 2.908056841006738e-26
Final error in implicit equation = 2.5849394142282115e-26
Final error in implicit equation = 2.908056841006738e-26
Final error in implicit equation = 2.5849394142282115e-26
Assessing uncertainty of prediction:
[10]:
tau_arr_5200, epsilon_5200_arr, conf_lower_5200, conf_upper_5200, pred_lower_5200, pred_upper_5200 = pig.inversion_fit_errors_plotting(tau_5200, epsilon_5200, mest_5200)
tau_arr_4500, epsilon_4500_arr, conf_lower_4500, conf_upper_4500, pred_lower_4500, pred_upper_4500 = pig.inversion_fit_errors_plotting(tau_4500, epsilon_4500, mest_4500)
tau_arr_3550, epsilon_3550_arr, conf_lower_3550, conf_upper_3550, pred_lower_3550, pred_upper_3550 = pig.inversion_fit_errors_plotting(tau_3550, epsilon_3550, mest_3550)
tau_arr_1635, epsilon_1635_arr, conf_lower_1635, conf_upper_1635, pred_lower_1635, pred_upper_1635 = pig.inversion_fit_errors_plotting(tau_1635, epsilon_1635, mest_1635)
eta_arr, epsilon_carbonate_arr, conf_lower_carbonate, conf_upper_carbonate, pred_lower_carbonate, pred_upper_carbonate = pig.inversion_fit_errors_plotting(eta, epsilon_carbonate, mest_carbonate)
We can now make Figure 5 from the paper.
[11]:
sz = 150
fig, ax = plt.subplots(3, 2, figsize=(14, 19))
ax = ax.flatten()
epsilon_5200_mandeville = -2.463 + 4.899*tau_arr_5200
fuego_idx = np.where((tau_arr_5200 > 0.653) & (tau_arr_5200 < 0.715))
legend_5200 = r'$\mathregular{ƐH_2O_{m, 5200}}$ = ' + f'{round(mest_5200[0],3)}(±{round(np.sqrt(np.diag(covm_est_5200))[0],3)}) + {round(mest_5200[1],3)}(±{round(np.sqrt(np.diag(covm_est_5200))[1],3)})'+ '·' + r'$\tau$'+ f', N={len(tau_5200)}'
ax[0].plot(tau_arr_5200, epsilon_5200_arr, 'k', lw=2, zorder=0, label=legend_5200)
mand, = ax[0].plot(tau_arr_5200, epsilon_5200_mandeville, 'k-.', lw=2, zorder=0, label='Mandeville et al., 2002')
mand.set_dashes([1.5, 1, 3, 1])
ax[0].fill_between(tau_arr_5200, conf_lower_5200, conf_upper_5200, color='k', alpha=0.20, edgecolor=None,
zorder=-5, label='68% Confidence Interval')
ax[0].plot(tau_arr_5200, pred_upper_5200, 'k--', lw=0.5, zorder=0, dashes=(16, 10))
ax[0].plot(tau_arr_5200, pred_lower_5200, 'k--', lw=0.5, zorder=0, dashes=(16, 10), label='68% Prediction Interval')
ax[0].fill_between(tau_arr_5200[fuego_idx], conf_lower_5200[fuego_idx], conf_upper_5200[fuego_idx], color='r', alpha=0.30,
edgecolor=None, zorder=-5, label='Fuego Interval')
ax[0].errorbar(tau_5200, epsilon_5200, yerr = sigma_epsilon_5200, xerr = sigma_tau_5200, ls='none', elinewidth=0.5, ecolor='k')
ax[0].scatter(tau_5200, epsilon_5200, s=sz, c='#0C7BDC', edgecolors='black', linewidth=0.5, zorder=15)
ax[0].set_xlim([ 0.5, 1.0])
ax[0].set_ylim([-0.5, 3.5])
xlabel_5200 = r'$\tau$=(Si+Al)/Total Cations'
ax[0].set_xlabel(xlabel_5200)
ax[0].set_ylabel(r'$\mathregular{ƐH_2O_{m, 5200}}$')
ax[0].legend(loc='upper left', labelspacing=0.4, handletextpad=0.5, handlelength=1.50, prop={'size': 12}, frameon=False)
ax[0].tick_params(axis="x", direction='in', length=5, pad=6.5)
ax[0].tick_params(axis="y", direction='in', length=5, pad=6.5)
epsilon_4500_mandeville = -2.026+4.054*tau_arr_4500
fuego_idx = np.where((tau_arr_4500 > 0.653) & (tau_arr_4500 < 0.715))
legend_4500 = r'$\mathregular{ƐOH^{-}_{4500}}$ = ' + f'{round(mest_4500[0],3)}(±{round(np.sqrt(np.diag(covm_est_4500))[0],3)}) + {round(mest_4500[1],3)}(±{round(np.sqrt(np.diag(covm_est_4500))[1],3)})'+ '·' + r'$\tau$'+ f', N={len(tau_4500)}'
ax[1].plot(tau_arr_4500, epsilon_4500_arr, 'k', lw=2, zorder=0, label=legend_4500)
mand, = ax[1].plot(tau_arr_4500, epsilon_4500_mandeville, 'k-.', lw=2, zorder=0, label='Mandeville et al., 2002')
mand.set_dashes([1.5, 1, 3, 1])
ax[1].fill_between(tau_arr_4500, conf_lower_4500, conf_upper_4500, color='k', alpha=0.20, edgecolor=None,
zorder=-5, label='68% Confidence Interval')
ax[1].plot(tau_arr_4500, pred_upper_4500, 'k--', lw=0.5, zorder=0, dashes=(16, 10))
ax[1].plot(tau_arr_4500, pred_lower_4500, 'k--', lw=0.5, zorder=0, dashes=(16, 10), label='68% Prediction Interval')
ax[1].fill_between(tau_arr_4500[fuego_idx], conf_lower_4500[fuego_idx], conf_upper_4500[fuego_idx], color='r', alpha=0.30,
edgecolor=None, zorder=-5, label='Fuego Interval')
ax[1].errorbar(tau_4500, epsilon_4500, yerr = sigma_epsilon_4500, xerr = sigma_tau_4500, ls='none', elinewidth=0.5, ecolor='k')
ax[1].scatter(tau_4500, epsilon_4500, s=sz, c='#0C7BDC', edgecolors='black', linewidth=0.5, zorder=15)
ax[1].set_xlim([ 0.5, 1.0])
ax[1].set_ylim([-0.5, 3.5])
xlabel_4500 = r'$\tau$=(Si+Al)/Total Cations'
ax[1].set_xlabel(xlabel_4500)
ax[1].set_ylabel(r'$\mathregular{ƐOH^{-}_{4500}}$')
ax[1].legend(loc='upper left', labelspacing=0.4, handletextpad=0.5, handlelength=1.50, prop={'size': 12}, frameon=False)
ax[1].tick_params(axis="x", direction='in', length=5, pad=6.5)
ax[1].tick_params(axis="y", direction='in', length=5, pad=6.5)
fuego_idx = np.where((tau_arr_3550 > 0.653) & (tau_arr_3550 < 0.715))
legend_3550 = r'$\mathregular{ƐH_2O_{t, 3550}}$ = ' + f'{round(mest_3550[0],3)}(±{round(np.sqrt(np.diag(covm_est_3550))[0],3)}) + {round(mest_3550[1],3)}(±{round(np.sqrt(np.diag(covm_est_3550))[1],3)})'+ '·' + r'$\tau$'+ f', N={len(tau_3550)}'
ax[2].plot(tau_arr_3550, epsilon_3550_arr, 'k', lw=2, zorder=0, label=legend_3550)
mand.set_dashes([1.5, 1, 3, 1])
ax[2].fill_between(tau_arr_3550, conf_lower_3550, conf_upper_3550, color='k', alpha=0.20, edgecolor=None,
zorder=-5, label='68% Confidence Interval')
ax[2].plot(tau_arr_3550, pred_upper_3550, 'k--', lw=0.5, zorder=0, dashes=(16, 10))
ax[2].plot(tau_arr_3550, pred_lower_3550, 'k--', lw=0.5, zorder=0, dashes=(16, 10), label='68% Prediction Interval')
ax[2].fill_between(tau_arr_3550[fuego_idx], conf_lower_3550[fuego_idx], conf_upper_3550[fuego_idx], color='r', alpha=0.30,
edgecolor=None, zorder=-5, label='Fuego Interval')
ax[2].errorbar(tau_3550, epsilon_3550, yerr = sigma_epsilon_3550, xerr = sigma_tau_3550, ls='none', elinewidth=0.5, ecolor='k')
ax[2].scatter(tau_3550, epsilon_3550, s=sz, c='#0C7BDC', edgecolors='black', linewidth=0.5, zorder=15)
ax[2].set_xlim([0.4, 1.0])
ax[2].set_ylim([20, 110])
xlabel_3550 = r'$\tau$=(Si+Al)/Total Cations'
ax[2].set_xlabel(xlabel_3550)
ax[2].set_ylabel(r'$\mathregular{ƐH_2O_{t, 3550}}$')
ax[2].legend(loc='upper left', labelspacing=0.4, handletextpad=0.5, handlelength=1.50, prop={'size': 12}, frameon=False)
ax[2].tick_params(axis="x", direction='in', length=5, pad=6.5)
ax[2].tick_params(axis="y", direction='in', length=5, pad=6.5)
ax[2].scatter(tau_3550[epsilon_3550==63.027], epsilon_3550[epsilon_3550==63.027], s=sz, c='#0C7BDC', edgecolors='black', linewidth=2, zorder=15)
epsilon_1635_mandeville = -57.813+131.94*tau_arr_1635
fuego_idx = np.where((tau_arr_1635 > 0.653) & (tau_arr_1635 < 0.715))
legend_1635 = r'$\mathregular{ƐH_2O_{m, 1635}}$ = ' + f'{round(mest_1635[0],3)}(±{round(np.sqrt(np.diag(covm_est_1635))[0],3)}) + {round(mest_1635[1],3)}(±{round(np.sqrt(np.diag(covm_est_1635))[1],3)})'+ '·' + r'$\tau$'+ f', N={len(tau_1635)}'
ax[3].plot(tau_arr_1635, epsilon_1635_arr, 'k', lw=2, zorder=0, label=legend_1635)
mand, = ax[3].plot(tau_arr_1635, epsilon_1635_mandeville, 'k-.', lw=2, zorder=0, label='Mandeville et al., 2002')
mand.set_dashes([1.5, 1, 3, 1])
ax[3].fill_between(tau_arr_1635, conf_lower_1635, conf_upper_1635, color='k', alpha=0.20, edgecolor=None,
zorder=-5, label='68% Confidence Interval')
ax[3].plot(tau_arr_1635, pred_upper_1635, 'k--', lw=0.5, zorder=0, dashes=(16, 10))
ax[3].plot(tau_arr_1635, pred_lower_1635, 'k--', lw=0.5, zorder=0, dashes=(16, 10), label='68% Prediction Interval')
ax[3].fill_between(tau_arr_1635[fuego_idx], conf_lower_1635[fuego_idx], conf_upper_1635[fuego_idx], color='r', alpha=0.30,
edgecolor=None, zorder=-5, label='Fuego Interval')
ax[3].errorbar(tau_1635, epsilon_1635, yerr = sigma_epsilon_1635, xerr = sigma_tau_1635, ls='none', elinewidth=0.5, ecolor='k')
ax[3].scatter(tau_1635, epsilon_1635, s=sz, c='#0C7BDC', edgecolors='black', linewidth=0.5, zorder=15)
ax[3].set_xlim([0.5, 1.0])
ax[3].set_ylim([0, 90])
xlabel_1635 = r'$\tau$=(Si+Al)/Total Cations'
ax[3].set_xlabel(xlabel_1635)
ax[3].set_ylabel(r'$\mathregular{ƐH_2O_{m, 1635}}$')
ax[3].legend(loc='upper left', labelspacing=0.4, handletextpad=0.5, handlelength=1.50, prop={'size': 12}, frameon=False)
ax[3].tick_params(axis="x", direction='in', length=5, pad=6.5)
ax[3].tick_params(axis="y", direction='in', length=5, pad=6.5)
epsilon_carbonate_dixonpan = 451-342*eta_arr
fuego_idx = np.where((eta_arr > 0.389) & (eta_arr < 0.554))
df_carbonate = pd.read_excel('./EpsilonRegression.xlsx', sheet_name='CarbonateRegress')
low_df = df_carbonate[df_carbonate.Epsilon_Location == 'Low']
high_df = df_carbonate[df_carbonate.Epsilon_Location == 'High']
shi_low = low_df[low_df.Compilation=='Shi']
shi_high = low_df[low_df.Compilation=='Shi']
ax[4].errorbar(low_df['Eta'], low_df['Epsilon_Carbonate'], yerr = low_df['Epsilon_Carbonate']*0.1, xerr = low_df['Eta']*0.025, ls='none', elinewidth=0.5, ecolor='k')
ax[4].scatter(low_df['Eta'], low_df['Epsilon_Carbonate'], s=sz, c='#0C7BDC', edgecolors='black', linewidth=0.5, zorder=15, label=r'$\mathregular{CO_{3, 1430}^{2-}}$, N='+str(len(low_df)))
ax[4].errorbar(high_df['Eta'], high_df['Epsilon_Carbonate'], yerr = high_df['Epsilon_Carbonate']*0.10, xerr = high_df['Eta']*0.025, ls='none', elinewidth=0.5, ecolor='k')
ax[4].scatter(high_df['Eta'], high_df['Epsilon_Carbonate'], s=sz, c='#E42211', marker='s', edgecolors='black', linewidth=0.5, zorder=15, label=r'$\mathregular{CO_{3, 1515}^{2-}}$, N='+str(len(high_df)))
dixonpan, = ax[4].plot(eta_arr, epsilon_carbonate_dixonpan, 'k-.', lw=1.5, zorder=0, label='Dixon and Pan, 1995')
dixonpan.set_dashes([1.5, 1, 3, 1])
legend_carbonate = r'$\mathregular{ƐCO_3^{2-}}$= ' + f'{round(mest_carbonate[0],3)}(±{round(np.sqrt(np.diag(covm_est_carbonate))[0],3)})-{round(mest_carbonate[1],3)*-1}(±{round(np.sqrt(np.diag(covm_est_carbonate))[1],3)})' + '·' + r'Na/(Na+Ca)'
ax[4].plot(eta_arr, epsilon_carbonate_arr, 'k', lw=2, zorder=0, label=legend_carbonate)
ax[4].fill_between(eta_arr, conf_lower_carbonate, conf_upper_carbonate, color='k', alpha=0.20, edgecolor=None,
zorder=-5, label='68% Confidence Interval')
ax[4].plot(eta_arr, pred_upper_carbonate, 'k--', lw=0.5, zorder=0, dashes=(16, 10))
ax[4].plot(eta_arr, pred_lower_carbonate, 'k--', lw=0.5, zorder=0, dashes=(16, 10), label='68% Prediction Interval')
ax[4].fill_between(eta_arr[fuego_idx], conf_lower_carbonate[fuego_idx], conf_upper_carbonate[fuego_idx], color='r', alpha=0.30, edgecolor=None, zorder=-5, label='Fuego Interval')
ax[4].set_xlim([0.1, 0.9])
ax[4].set_ylim([0, 500])
ax[4].set_xlabel(r'$\eta$ = Na/(Na+Ca)')
ax[4].set_ylabel(r'$\mathregular{ƐCO_3^{2-}}$')
ax[4].legend(loc='lower left', labelspacing=0.4, handletextpad=0.5, handlelength=1.50, prop={'size': 12}, frameon=False)
ax[4].tick_params(axis="x", direction='in', length=5, pad=6.5)
ax[4].tick_params(axis="y", direction='in', length=5, pad=6.5)
ax[4].scatter(shi_high['Eta'], shi_high['Epsilon_Carbonate'], s=sz, c='#E42211', marker='s', edgecolors='black', linewidth=2, zorder=15)
ax[4].scatter(shi_low['Eta'], shi_low['Epsilon_Carbonate'], s=sz, c='#0C7BDC', edgecolors='black', linewidth=2, zorder=15)
fig.delaxes(ax[5])
plt.tight_layout()
plt.savefig('AllEpsilonRegress.pdf')
Apply Inversion Parameters to determine Molar Absorptivities with Uncertainties
Load in our glass composition data with the pig.SampleDataLoader class. We input:
chemistry_thickness_path: String pointing to CSV file with glass chemistry and thickness data
and use the method load_chemistry_thickness to return:
chemistry: DataFrame of chemical datathickness: DataFrame of thickness data
[12]:
chemistry_thickness_path = 'ChemThick.csv'
loader = pig.SampleDataLoader(chemistry_thickness_path=chemistry_thickness_path)
chemistry, thickness = loader.load_chemistry_thickness()
We’ll use the pig.calculate_epsilon function, which takes in the parameters:
chemistry: DataFrame of compositionsT: Room temperature at time of FTIR analysis, given the sensitivity of density to temperatureP: Room pressure at time of FTIR analysis, given the sensitivity of density to pressure
and returns:
epsilon: DataFrame of the appropriate molar absorptivity and the corresponding uncertainty, following Equation 8 from the paper.
[13]:
T = 25 # C
P = 1 # Bar
epsilon = pig.calculate_epsilon(chemistry, T, P)
epsilon
[13]:
| Tau | Eta | epsilon_H2Ot_3550 | sigma_epsilon_H2Ot_3550 | epsilon_H2Om_1635 | sigma_epsilon_H2Om_1635 | epsilon_CO2 | sigma_epsilon_CO2 | epsilon_H2Om_5200 | sigma_epsilon_H2Om_5200 | epsilon_OH_4500 | sigma_epsilon_OH_4500 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AC4_OL49_021920_30x30_H2O_a | 0.705990 | 0.499048 | 66.142594 | 7.503769 | 37.322108 | 8.645060 | 258.429949 | 18.362798 | 1.009458 | 0.300803 | 0.861196 | 0.279571 |
| AC4_OL53_101220_256s_30x30_a | 0.682895 | 0.389547 | 64.493655 | 7.380834 | 34.452486 | 8.504269 | 293.261300 | 16.287120 | 0.901474 | 0.295829 | 0.779611 | 0.274924 |
| STD_D1010_012821_256s_100x100_a | 0.658501 | 0.331580 | 62.751984 | 7.251813 | 31.421482 | 8.354348 | 311.700491 | 15.127604 | 0.787418 | 0.290510 | 0.693438 | 0.270004 |