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 os
import sys
import glob
import numpy as np
import pandas as pd
import PyIRoGlass as pig
import matplotlib
from matplotlib import pyplot as plt
from matplotlib import rc, cm
%matplotlib inline
%config InlineBackend.figure_format = 'retina'
pig.__version__
[2]:
'0.6.1'
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
[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
[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
[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
[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
[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 Inversion function now. We input the arguments:
Compositional parameter
Molar absorptivity
Uncertainty on compositional parameter
Uncertainty on absorption coefficient
and output:
Best-fit inversion parameters
Covariance matrix for inversion parameters
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, covm_est_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, covm_est_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, covm_est_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_tau_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, covm_est_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, covls_carbonate, covepsilon_carbonate)
Initial error in implicit equation = 1.0484975092736677
Final error in implicit equation = 6.508102468073347e-30
Final error in implicit equation = 1.0255191767873153e-29
Final error in implicit equation = 4.535950205020818e-30
Final error in implicit equation = 4.930380657631324e-30
Final error in implicit equation = 8.874685183736383e-30
Final error in implicit equation = 4.535950205020818e-30
Final error in implicit equation = 5.127595883936577e-30
Final error in implicit equation = 4.338734978715565e-30
Final error in implicit equation = 4.733165431326071e-30
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[9], line 3
1 mest_5200, covm_est_5200, covepsilon_5200 = pig.inversion(tau_5200, epsilon_5200, sigma_tau_5200, sigma_epsilon_5200, intercept_zero=False)
2 mls_5200, covls_5200 = pig.least_squares(tau_5200, epsilon_5200, sigma_epsilon_5200)
----> 3 E_calib_5200, see_5200, r2_5200, rmse_5200, rrmse_5200, ccc_5200 = pig.inversion_fit_errors(tau_5200, epsilon_5200, mest_5200, covm_est_5200, covepsilon_5200)
5 mest_4500, covm_est_4500, covepsilon_4500 = pig.inversion(tau_4500, epsilon_4500, sigma_tau_4500, sigma_epsilon_4500, intercept_zero=False)
6 mls_4500, covls_4500 = pig.least_squares(tau_4500, sigma_tau_4500, sigma_epsilon_4500)
TypeError: inversion_fit_errors() takes 4 positional arguments but 5 were given
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)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Cell In[10], line 2
1 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)
----> 2 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)
3 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)
4 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)
NameError: name 'mest_4500' is not defined
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 = '$\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)})'+ '·' + '$\\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 = '$\\tau$='+'(Si+Al)/Total Cations'
ax[0].set_xlabel(xlabel_5200)
ax[0].set_ylabel('$\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 = '$\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)})'+ '·' + '$\\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 = '$\\tau$=' + '(Si+Al)/Total Cations'
ax[1].set_xlabel(xlabel_4500)
ax[1].set_ylabel('$\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 = '$\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)})'+ '·' + '$\\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 = '$\\tau$=' + '(Si+Al)/Total Cations'
ax[2].set_xlabel(xlabel_3550)
ax[2].set_ylabel('$\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)
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 = '$\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)})'+ '·' + '$\\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 = '$\\tau$=' + '(Si+Al)/Total Cations'
ax[3].set_xlabel(xlabel_1635)
ax[3].set_ylabel('$\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']
ax[4].errorbar(low_df['Na/Na+Ca'], low_df['Epsilon_Carbonate'], yerr = low_df['Epsilon_Carbonate']*0.1, xerr = low_df['Na/Na+Ca']*0.025, ls = 'none', elinewidth = 0.5, ecolor = 'k')
ax[4].scatter(low_df['Na/Na+Ca'], low_df['Epsilon_Carbonate'], s = sz, c = '#0C7BDC', edgecolors='black', linewidth = 0.5, zorder = 15, label = '$\mathregular{CO_{3, 1430}^{2-}}$, N='+str(len(low_df)))
ax[4].errorbar(high_df['Na/Na+Ca'], high_df['Epsilon_Carbonate'], yerr = high_df['Epsilon_Carbonate']*0.10, xerr = high_df['Na/Na+Ca']*0.025, ls = 'none', elinewidth = 0.5, ecolor = 'k')
ax[4].scatter(high_df['Na/Na+Ca'], high_df['Epsilon_Carbonate'], s = sz, c = '#E42211', marker = 's', edgecolors='black', linewidth = 0.5, zorder = 15, label = '$\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 = '$\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)})' + '·' + f'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('$\eta$ = Na/(Na+Ca)')
ax[4].set_ylabel('$\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)
fig.delaxes(ax[5])
plt.tight_layout()
plt.savefig('AllEpsilonRegress.pdf')
<>:8: SyntaxWarning: invalid escape sequence '\m'
<>:25: SyntaxWarning: invalid escape sequence '\m'
<>:33: SyntaxWarning: invalid escape sequence '\m'
<>:50: SyntaxWarning: invalid escape sequence '\m'
<>:57: SyntaxWarning: invalid escape sequence '\m'
<>:73: SyntaxWarning: invalid escape sequence '\m'
<>:81: SyntaxWarning: invalid escape sequence '\m'
<>:98: SyntaxWarning: invalid escape sequence '\m'
<>:110: SyntaxWarning: invalid escape sequence '\m'
<>:113: SyntaxWarning: invalid escape sequence '\m'
<>:117: SyntaxWarning: invalid escape sequence '\m'
<>:127: SyntaxWarning: invalid escape sequence '\e'
<>:128: SyntaxWarning: invalid escape sequence '\m'
<>:8: SyntaxWarning: invalid escape sequence '\m'
<>:25: SyntaxWarning: invalid escape sequence '\m'
<>:33: SyntaxWarning: invalid escape sequence '\m'
<>:50: SyntaxWarning: invalid escape sequence '\m'
<>:57: SyntaxWarning: invalid escape sequence '\m'
<>:73: SyntaxWarning: invalid escape sequence '\m'
<>:81: SyntaxWarning: invalid escape sequence '\m'
<>:98: SyntaxWarning: invalid escape sequence '\m'
<>:110: SyntaxWarning: invalid escape sequence '\m'
<>:113: SyntaxWarning: invalid escape sequence '\m'
<>:117: SyntaxWarning: invalid escape sequence '\m'
<>:127: SyntaxWarning: invalid escape sequence '\e'
<>:128: SyntaxWarning: invalid escape sequence '\m'
/tmp/ipykernel_2389/2489607765.py:8: SyntaxWarning: invalid escape sequence '\m'
legend_5200 = '$\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)})'+ '·' + '$\\tau$'+ f', N={len(tau_5200)}'
/tmp/ipykernel_2389/2489607765.py:25: SyntaxWarning: invalid escape sequence '\m'
ax[0].set_ylabel('$\mathregular{ƐH_2O_{m, 5200}}$')
/tmp/ipykernel_2389/2489607765.py:33: SyntaxWarning: invalid escape sequence '\m'
legend_4500 = '$\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)})'+ '·' + '$\\tau$'+ f', N={len(tau_4500)}'
/tmp/ipykernel_2389/2489607765.py:50: SyntaxWarning: invalid escape sequence '\m'
ax[1].set_ylabel('$\mathregular{ƐOH^{-}_{4500}}$')
/tmp/ipykernel_2389/2489607765.py:57: SyntaxWarning: invalid escape sequence '\m'
legend_3550 = '$\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)})'+ '·' + '$\\tau$'+ f', N={len(tau_3550)}'
/tmp/ipykernel_2389/2489607765.py:73: SyntaxWarning: invalid escape sequence '\m'
ax[2].set_ylabel('$\mathregular{ƐH_2O_{t, 3550}}$')
/tmp/ipykernel_2389/2489607765.py:81: SyntaxWarning: invalid escape sequence '\m'
legend_1635 = '$\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)})'+ '·' + '$\\tau$'+ f', N={len(tau_1635)}'
/tmp/ipykernel_2389/2489607765.py:98: SyntaxWarning: invalid escape sequence '\m'
ax[3].set_ylabel('$\mathregular{ƐH_2O_{m, 1635}}$')
/tmp/ipykernel_2389/2489607765.py:110: SyntaxWarning: invalid escape sequence '\m'
ax[4].scatter(low_df['Na/Na+Ca'], low_df['Epsilon_Carbonate'], s = sz, c = '#0C7BDC', edgecolors='black', linewidth = 0.5, zorder = 15, label = '$\mathregular{CO_{3, 1430}^{2-}}$, N='+str(len(low_df)))
/tmp/ipykernel_2389/2489607765.py:113: SyntaxWarning: invalid escape sequence '\m'
ax[4].scatter(high_df['Na/Na+Ca'], high_df['Epsilon_Carbonate'], s = sz, c = '#E42211', marker = 's', edgecolors='black', linewidth = 0.5, zorder = 15, label = '$\mathregular{CO_{3, 1515}^{2-}}$, N='+str(len(high_df)))
/tmp/ipykernel_2389/2489607765.py:117: SyntaxWarning: invalid escape sequence '\m'
legend_carbonate = '$\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)})' + '·' + f'Na/(Na+Ca)'
/tmp/ipykernel_2389/2489607765.py:127: SyntaxWarning: invalid escape sequence '\e'
ax[4].set_xlabel('$\eta$ = Na/(Na+Ca)')
/tmp/ipykernel_2389/2489607765.py:128: SyntaxWarning: invalid escape sequence '\m'
ax[4].set_ylabel('$\mathregular{ƐCO_3^{2-}}$')
/tmp/ipykernel_2389/2489607765.py:8: SyntaxWarning: invalid escape sequence '\m'
legend_5200 = '$\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)})'+ '·' + '$\\tau$'+ f', N={len(tau_5200)}'
/tmp/ipykernel_2389/2489607765.py:25: SyntaxWarning: invalid escape sequence '\m'
ax[0].set_ylabel('$\mathregular{ƐH_2O_{m, 5200}}$')
/tmp/ipykernel_2389/2489607765.py:33: SyntaxWarning: invalid escape sequence '\m'
legend_4500 = '$\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)})'+ '·' + '$\\tau$'+ f', N={len(tau_4500)}'
/tmp/ipykernel_2389/2489607765.py:50: SyntaxWarning: invalid escape sequence '\m'
ax[1].set_ylabel('$\mathregular{ƐOH^{-}_{4500}}$')
/tmp/ipykernel_2389/2489607765.py:57: SyntaxWarning: invalid escape sequence '\m'
legend_3550 = '$\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)})'+ '·' + '$\\tau$'+ f', N={len(tau_3550)}'
/tmp/ipykernel_2389/2489607765.py:73: SyntaxWarning: invalid escape sequence '\m'
ax[2].set_ylabel('$\mathregular{ƐH_2O_{t, 3550}}$')
/tmp/ipykernel_2389/2489607765.py:81: SyntaxWarning: invalid escape sequence '\m'
legend_1635 = '$\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)})'+ '·' + '$\\tau$'+ f', N={len(tau_1635)}'
/tmp/ipykernel_2389/2489607765.py:98: SyntaxWarning: invalid escape sequence '\m'
ax[3].set_ylabel('$\mathregular{ƐH_2O_{m, 1635}}$')
/tmp/ipykernel_2389/2489607765.py:110: SyntaxWarning: invalid escape sequence '\m'
ax[4].scatter(low_df['Na/Na+Ca'], low_df['Epsilon_Carbonate'], s = sz, c = '#0C7BDC', edgecolors='black', linewidth = 0.5, zorder = 15, label = '$\mathregular{CO_{3, 1430}^{2-}}$, N='+str(len(low_df)))
/tmp/ipykernel_2389/2489607765.py:113: SyntaxWarning: invalid escape sequence '\m'
ax[4].scatter(high_df['Na/Na+Ca'], high_df['Epsilon_Carbonate'], s = sz, c = '#E42211', marker = 's', edgecolors='black', linewidth = 0.5, zorder = 15, label = '$\mathregular{CO_{3, 1515}^{2-}}$, N='+str(len(high_df)))
/tmp/ipykernel_2389/2489607765.py:117: SyntaxWarning: invalid escape sequence '\m'
legend_carbonate = '$\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)})' + '·' + f'Na/(Na+Ca)'
/tmp/ipykernel_2389/2489607765.py:127: SyntaxWarning: invalid escape sequence '\e'
ax[4].set_xlabel('$\eta$ = Na/(Na+Ca)')
/tmp/ipykernel_2389/2489607765.py:128: SyntaxWarning: invalid escape sequence '\m'
ax[4].set_ylabel('$\mathregular{ƐCO_3^{2-}}$')
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Cell In[11], line 31
27 ax[0].tick_params(axis="x", direction='in', length=5, pad = 6.5)
28 ax[0].tick_params(axis="y", direction='in', length=5, pad = 6.5)
---> 31 epsilon_4500_mandeville = -2.026+4.054*tau_arr_4500
32 fuego_idx = np.where((tau_arr_4500 > 0.653) & (tau_arr_4500 < 0.715))
33 legend_4500 = '$\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)})'+ '·' + '$\\tau$'+ f', N={len(tau_4500)}'
NameError: name 'tau_arr_4500' is not defined
Apply Inversion Parameters to determine Molar Absorptivities with Uncertainties
We’ll use the calculate_epsilon function, which takes in the parameters:
MI_Composition: Dataframe of MI Compositions
T_ROOM: Room temperature at time of FTIR analysis, given the sensitivity of density to T.
P_ROOM: Room pressure at time of FTIR analysis, given the sensitivity of density to P.
and returns a dataframe of the appropriate absorbance coefficient and the uncertainty, following equation 8 from the paper.
Load in our glass composition data with the Load_ChemThick function:
[12]:
CHEMTHICK_PATH = 'ChemThick.csv'
loader = pig.SampleDataLoader(chemistry_thickness_path=CHEMTHICK_PATH)
chemistry, thickness = loader.load_chemistry_thickness()
[13]:
T_ROOM = 25 # C
P_ROOM = 1 # Bar
EPS_DF = pig.calculate_epsilon(chemistry, T_ROOM, P_ROOM)
EPS_DF
[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 |