This page was generated from docs/Examples/Cpx_Cpx_Liq_Thermobarometry/Cpx_Liquid_melt_matching/Cpx_MeltMatch2_ScruggsPutirka2018.ipynb. Interactive online version: Binder badge.

Python Notebook Download

This code is a more advanced example of Cpx-Liquid melt matching

You need to install Thermobar once on your machine, if you haven’t done this yet, uncomment the line below (remove the #)

[1]:
#!pip install Thermobar

Load python things

[2]:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import Thermobar as pt
pd.options.display.max_columns = None

This sets plotting parameters

[3]:
# This sets some plotting things
plt.rcParams["font.family"] = 'arial'
plt.rcParams["font.size"] =12
plt.rcParams["mathtext.default"] = "regular"
plt.rcParams["mathtext.fontset"] = "dejavusans"
plt.rcParams['patch.linewidth'] = 1
plt.rcParams['axes.linewidth'] = 1
plt.rcParams["xtick.direction"] = "in"
plt.rcParams["ytick.direction"] = "in"
plt.rcParams["ytick.direction"] = "in"
plt.rcParams["xtick.major.size"] = 6 # Sets length of ticks
plt.rcParams["ytick.major.size"] = 4 # Sets length of ticks
plt.rcParams["ytick.labelsize"] = 12 # Sets size of numbers on tick marks
plt.rcParams["xtick.labelsize"] = 12 # Sets size of numbers on tick marks
plt.rcParams["axes.titlesize"] = 14 # Overall title
plt.rcParams["axes.labelsize"] = 14 # Axes labels

Load in data

  • First sheet, “Liquids” has whole-rock data

  • Second sheet, “Cpxs” has clinopyroxene data

  • The function “import excel” pulls out the liquids, and cpxs in a format ready to feed into the later functions. All other inputs are stored in “my_input” (E.g., any other columns you had)

[4]:
# Extract liquids
out=pt.import_excel('Scruggs_Input.xlsx', sheet_name="Liquids")
my_input=out['my_input']
myLiquids1=out['Liqs']

# Extract Cpx
out2=pt.import_excel('Scruggs_Input.xlsx', sheet_name="Cpxs")
my_input2=out2['my_input']
myCpxs1=out2['Cpxs']

Inspect data to check it has read in correctly.

  • .head() displays the first N columns. Check for any columns which are all zero’s which you think you entered data for. Check column headings in excel

[5]:
display(myLiquids1.head())
display(myCpxs1.head())
SiO2_Liq TiO2_Liq Al2O3_Liq FeOt_Liq MnO_Liq MgO_Liq CaO_Liq Na2O_Liq K2O_Liq Cr2O3_Liq P2O5_Liq H2O_Liq Fe3Fet_Liq NiO_Liq CoO_Liq CO2_Liq Sample_ID_Liq
0 69.67 0.360 15.690 2.645412 0.07 1.36 3.270 4.14 2.67 0.0 0.120 0.0 0.0 0.0 0.0 0.0 0
1 69.34 0.375 15.575 2.627416 0.06 1.39 3.255 4.19 2.69 0.0 0.120 0.0 0.0 0.0 0.0 0.0 1
2 56.14 0.770 18.680 6.658520 0.12 4.08 8.080 3.23 1.24 0.0 0.240 0.0 0.0 0.0 0.0 0.0 2
3 56.11 0.770 18.710 6.631526 0.12 4.17 8.000 3.19 1.28 0.0 0.236 0.0 0.0 0.0 0.0 0.0 3
4 57.94 0.570 18.090 6.073650 0.12 3.97 7.730 3.21 1.44 0.0 0.106 0.0 0.0 0.0 0.0 0.0 4
SiO2_Cpx TiO2_Cpx Al2O3_Cpx FeOt_Cpx MnO_Cpx MgO_Cpx CaO_Cpx Na2O_Cpx K2O_Cpx Cr2O3_Cpx Sample_ID_Cpx
0 47.558 0.880 7.697 8.230 0.183 13.257 21.465 0.244 0 0.034 0
1 50.643 0.548 4.410 7.811 0.190 16.048 19.995 0.182 0 0.031 1
2 47.000 1.280 8.458 7.998 0.176 13.159 21.713 0.240 0 0.041 2
3 51.328 0.391 2.756 12.116 0.651 15.586 16.798 0.195 0 0.000 3
4 50.770 0.416 2.910 11.054 0.593 14.724 19.081 0.218 0 0.010 4

This section calculates melt matching using just the measured liquids and clinopyroxenes

  • here, we have specified to use the barometer of Neave and Putirka, 2017, and the thermometer of Putirka (2008) eq 33

  • We are using the default equilibrium filters for DiHd, CaTs and EnFs errors from Neave and Putirka (2017)

  • And overwriting the default for Kd to 0.27+-0.03 following Scruggs and Putirka (2017)

  • Finally, following Scruggs and Putirka (2017), we set water based on melt SiO2 content

[6]:
melt_match_out=pt.calculate_cpx_liq_press_temp_matching(liq_comps=myLiquids1, cpx_comps=myCpxs1,
                                                    equationP="P_Neave2017",
                                                    equationT="T_Put2008_eq33",
                                                    Kd_Match=0.27, Kd_Err=0.03,
                                                    H2O_Liq=myLiquids1['SiO2_Liq']*0.06995+0.383)
Meas_Avs=melt_match_out['Av_PTs']
Meas_All=melt_match_out['All_PTs']
C:\Users\penny\anaconda3\lib\site-packages\pandas\core\indexing.py:2120: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)
  new_ix = Index(new_ix)
Considering N=286 Cpx & N=96 Liqs, which is a total of N=27456 Liq-Cpx pairs, be patient if this is >>1 million!
the code is evaluating Kd matches using Kd=0.27
4986 Matches remaining after initial Kd filter. Now moving onto iterative calculations
Finished calculating Ps and Ts, now just averaging the results. Almost there!
Done!!! I found a total of N=1510 Cpx-Liq matches using the specified filter. N=81 Cpx out of the N=286 Cpx that you input matched to 1 or more liquids

However, are the measured liquids really representative of all measured liquids at depth?

[7]:
# Lets look at the naturally sampled liquids first
fig, ((ax1, ax2)) = plt.subplots(1, 2, figsize=(12, 5))
ax1.plot(myLiquids1['SiO2_Liq'], myLiquids1['MgO_Liq'], '^k', markerfacecolor='k', label='Measured Liquids')
ax2.plot(myLiquids1['CaO_Liq'], myLiquids1['FeOt_Liq'], 'ok', markerfacecolor='k', label='Measured Liquids')

[7]:
[<matplotlib.lines.Line2D at 0x1f844622fa0>]
../../../_images/Examples_Cpx_Cpx_Liq_Thermobarometry_Cpx_Liquid_melt_matching_Cpx_MeltMatch2_ScruggsPutirka2018_14_1.png
  • As Scruggs and Putrika (2018) showed, measured liquids have a clear Daly gap, and it is probably some cpxs crystallized from liquids between the analsed mafic and silicic end members

  • They use a mixing model to generate liquids lying between these two extremes to then feed into the Cpx-Liq spreadsheet (see https://www.youtube.com/watch?v=CjKvgXrah_k&list=PLnOXMT9X-AL_No_vUkkx8tYrahGQ1X4Kh&index=2&t=13s)

  • Here, we take liquids with SiO2_Liq>65 wt% (e.g., the evolved end member), add some noise to account for the silicic liquids we did not sample, in this case, 1% noise distributed normally, and make 5 synthetic samples per measured sample. This will be important if there are relatively large gaps between measured samples. We do the same to create a mafic end member, using a SiO2 and MgO filter

[8]:
Sil_endmember_noise1=pt.add_noise_sample_1phase(phase_comp=myLiquids1,  duplicates=5, filter_q='SiO2_Liq > 65',
                     phase_err_type="Perc", noise_percent=1, err_dist="normal", append=True)

Maf_endmember_noise1=pt.add_noise_sample_1phase(phase_comp=myLiquids1, duplicates=5,
                                                filter_q='SiO2_Liq < 53.8 & MgO_Liq>4',
                     phase_err_type="Perc", noise_percent=1, err_dist="normal", append=True)

All negative numbers replaced with zeros. If you wish to keep these, set positive=False
All negative numbers replaced with zeros. If you wish to keep these, set positive=False

We can plot these synthetic liquids, and see they cluster around measured liquid

[10]:

fig, ((ax1, ax2)) = plt.subplots(1, 2, figsize=(12, 5)) ax1.plot(myLiquids1['SiO2_Liq'], myLiquids1['MgO_Liq'], '^k', markerfacecolor='k', label='Measured Liquids') ax1.plot(Sil_endmember_noise1['SiO2_Liq'], Sil_endmember_noise1['MgO_Liq'], 'oy', markeredgecolor='y', label='Silicic end-members', markersize=4, alpha=0.5) ax1.plot(Maf_endmember_noise1['SiO2_Liq'], Maf_endmember_noise1['MgO_Liq'], 'oc', markeredgecolor='c', label='Mafic end-members', markersize=4, alpha=0.5) ax1.set_xlabel('SiO$_2$ Liquid (wt%)') ax1.set_ylabel('MgO Liquid (wt%)') ax1.legend() ax2.plot(myLiquids1['CaO_Liq'], myLiquids1['FeOt_Liq'], 'ok', markerfacecolor='k', label='Measured Liquids') ax2.plot(Sil_endmember_noise1['CaO_Liq'], Sil_endmember_noise1['FeOt_Liq'], 'oy', markeredgecolor='y', label='Silicic end-members', markersize=4, alpha=0.5) ax2.plot(Maf_endmember_noise1['CaO_Liq'], Maf_endmember_noise1['FeOt_Liq'], 'oc', markeredgecolor='c', label='Mafic end-members', markersize=4, alpha=0.5) ax2.set_xlabel('CaO Liquid (wt%)') ax2.set_ylabel('FeO$_t$ Liquid (wt%)') ax1.grid(color = 'k', linestyle = '--', linewidth = 1, alpha = 0.1) ax2.grid(color = 'k', linestyle = '--', linewidth = 1, alpha = 0.1) fig.savefig('EndMembers.png', dpi=300, transparent=True)
../../../_images/Examples_Cpx_Cpx_Liq_Thermobarometry_Cpx_Liquid_melt_matching_Cpx_MeltMatch2_ScruggsPutirka2018_18_0.png

There are now a number of ways to mix these end-members to incorperate the liquid line of descent.

Option 1 - Mixing by bootstrapping, with no self mixing.

  • Takes end member 1 (Sil_endmember_noise1) and and end member 2 (Maf_endmember_noise1). Makes each input the length of the number of samples you specify with number samples. E.g., say when you generate your end member 1, you end up with 2000 samples. if you enter num_samples=500, it will randomly sample down to 500 samples. Conversely, if your end member only has 80 samples, it will scale it up by randomly resampling until you have 500 inputs.

  • Basically, if you generate more samples at the “end member” stage, they are generated with noise. If you generate more here, they are randomly sampled without adding noise.

  • The code then randomly mixes each element of end member 1 with end member 2 in a proportion determined by a random number generator between 0 and 1.

[11]:
# Make mixes
Mixed_noise5=pt.calculate_bootstrap_mixes(Sil_endmember_noise1, Maf_endmember_noise1,
                                          num_samples = 500, self_mixing = False)

# Plot them
fig, ((ax1, ax2)) = plt.subplots(1, 2, figsize=(12, 5))
ax1.plot(myLiquids1['SiO2_Liq'], myLiquids1['MgO_Liq'], '^k', label='Measured Liquids')
ax1.plot(Mixed_noise5['SiO2_Liq'], Mixed_noise5['MgO_Liq'], 'or', markerfacecolor='r',
         markersize=3, label='synthetic mixed liquids',  alpha=0.5)
ax1.set_xlabel('SiO$_2$ Liquid (wt%)')
ax1.set_ylabel('MgO Liquid (wt%)')
ax1.legend()
ax2.plot(myLiquids1['CaO_Liq'], myLiquids1['FeOt_Liq'], 'ok', label='Measured Liquids')
ax2.plot(Mixed_noise5['CaO_Liq'], Mixed_noise5['FeOt_Liq'], 'or', markerfacecolor='r',
         markersize=3,  alpha=0.5)

ax2.set_xlabel('CaO Liquid (wt%)')
ax2.set_ylabel('FeO$_t$ Liquid (wt%)')
ax1.grid(color = 'k', linestyle = '--', linewidth = 1, alpha = 0.1)
ax2.grid(color = 'k', linestyle = '--', linewidth = 1, alpha = 0.1)
../../../_images/Examples_Cpx_Cpx_Liq_Thermobarometry_Cpx_Liquid_melt_matching_Cpx_MeltMatch2_ScruggsPutirka2018_21_0.png

Option 2 - Using self mixing

  • This will not only mix silicic and mafic end member, it will also mix between mafic end members, and between silic end-members.

  • This will cluster more liquids around where you have defined your end members, with more sparse coverage inbetween.

[12]:
Mixed_noise5_self=pt.calculate_bootstrap_mixes(Sil_endmember_noise1, Maf_endmember_noise1,
                                               num_samples = 500, self_mixing = True)

plt.plot(myLiquids1['SiO2_Liq'], myLiquids1['MgO_Liq'], 'ok', label='Measured Liquids')
plt.plot(Mixed_noise5_self['SiO2_Liq'], Mixed_noise5_self['MgO_Liq'], 'or', markerfacecolor='r',
         markersize=3,  alpha=0.5)
plt.xlabel('SiO$_2$ Liquid')
plt.ylabel('MgO Liquid')
g:\my drive\postdoc\pymme\mybarometers\thermobar_outer\src\Thermobar\noise_averaging.py:538: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.
  my_dataset3 = my_dataset3.append(endmember2, ignore_index=True)
[12]:
Text(0, 0.5, 'MgO Liquid')
../../../_images/Examples_Cpx_Cpx_Liq_Thermobarometry_Cpx_Liquid_melt_matching_Cpx_MeltMatch2_ScruggsPutirka2018_23_2.png

If you want more even coverage in the middle, but some mixing at the edges, can use the keyword self_mixing=Partial

  • This will give half your liquids from self mixing, half from non-self mixing

[13]:
# Make mixes
Mixed_noise1_selfbig=pt.calculate_bootstrap_mixes(endmember1=Sil_endmember_noise1,
                                                  endmember2=Maf_endmember_noise1,
                                                  num_samples = 500, self_mixing = "Partial")



fig, ((ax1, ax2)) = plt.subplots(1, 2, figsize=(12, 5))

ax1.plot(myLiquids1['SiO2_Liq'], myLiquids1['MgO_Liq'], '^k', label='Measured Liquids')
ax1.plot(Mixed_noise1_selfbig['SiO2_Liq'], Mixed_noise1_selfbig['MgO_Liq'], 'or',
         markerfacecolor='r', markersize=3, label='Synthetic mixed liquids',  alpha=0.5)
ax1.set_xlabel('SiO$_2$ Liquid (wt%)')
ax1.set_ylabel('MgO Liquid (wt%)')
ax1.legend()
ax2.plot(myLiquids1['CaO_Liq'], myLiquids1['FeOt_Liq'], 'ok', label='Measured Liquids')
ax2.plot(Mixed_noise1_selfbig['CaO_Liq'], Mixed_noise1_selfbig['FeOt_Liq'], 'or',
         markerfacecolor='r', markersize=3,  alpha=0.5)

ax2.set_xlabel('CaO Liquid (wt%)')
ax2.set_ylabel('FeO$_t$ Liquid (wt%)')
ax1.grid(color = 'k', linestyle = '--', linewidth = 1, alpha = 0.1)
ax2.grid(color = 'k', linestyle = '--', linewidth = 1, alpha = 0.1)
fig.savefig('Mixing_EndMembers.svg', dpi=300)
g:\my drive\postdoc\pymme\mybarometers\thermobar_outer\src\Thermobar\noise_averaging.py:513: FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.
  my_dataset3_self = my_dataset3_self.append(
../../../_images/Examples_Cpx_Cpx_Liq_Thermobarometry_Cpx_Liquid_melt_matching_Cpx_MeltMatch2_ScruggsPutirka2018_25_1.png

Now want to use these synthetic “partially-mixed” liquids for melt matching

First, lets combine these synthetic liquids with all measured liquids to get an even bigger dataset

[14]:
Liq_Comp=pd.concat([Mixed_noise1_selfbig.reset_index(drop=True),
                    myLiquids1.reset_index(drop=True)], axis=0).reset_index(drop=True).fillna(0)

Second, following Scruggs and Putirka (2018), lets allocate H2O as a function of SiO2 content in the melt

[15]:
Liq_Comp['H2O_Liq']=Liq_Comp['SiO2_Liq']*0.06995+0.383

Third, lets do melt matching

  • Uses fixed Kd of 0.27, +-0.03 following scruggs and Putirka

[16]:
melt_match_out_syn=pt.calculate_cpx_liq_press_temp_matching(liq_comps=Liq_Comp, cpx_comps=myCpxs1,
                                                    equationP="P_Neave2017", equationT="T_Put2008_eq33",
                                                    Kd_Match=0.27, Kd_Err=0.03)
Syn_Avs=melt_match_out_syn['Av_PTs']
Syn_All=melt_match_out_syn['All_PTs']
C:\Users\penny\anaconda3\lib\site-packages\pandas\core\indexing.py:2120: FutureWarning: In a future version, the Index constructor will not infer numeric dtypes when passed object-dtype sequences (matching Series behavior)
  new_ix = Index(new_ix)
Considering N=286 Cpx & N=596 Liqs, which is a total of N=170456 Liq-Cpx pairs, be patient if this is >>1 million!
the code is evaluating Kd matches using Kd=0.27
31325 Matches remaining after initial Kd filter. Now moving onto iterative calculations
Finished calculating Ps and Ts, now just averaging the results. Almost there!
Done!!! I found a total of N=5438 Cpx-Liq matches using the specified filter. N=82 Cpx out of the N=286 Cpx that you input matched to 1 or more liquids
[17]:
Syn_Avs
[17]:
Sample_ID_Cpx # of Liqs Averaged Mean_T_K_calc Std_T_K_calc Mean_P_kbar_calc Std_P_kbar_calc ID_CPX Mean_Delta_T_K_Iter Mean_Delta_P_kbar_Iter Mean_Delta_Kd_Put2008 Mean_Delta_Kd_Mas2013 Mean_Delta_EnFs_Mollo13 Mean_Delta_EnFs_Put1999 Mean_Delta_CaTs_Put1999 Mean_Delta_DiHd_Mollo13 Mean_Delta_DiHd_Put1999 Mean_Delta_CrCaTs_Put1999 Mean_Delta_CaTi_Put1999 Mean_DeltaKd_userselected=0.27 Mean_SiO2_Liq Mean_TiO2_Liq Mean_Al2O3_Liq Mean_FeOt_Liq Mean_MnO_Liq Mean_MgO_Liq Mean_CaO_Liq Mean_Na2O_Liq Mean_K2O_Liq Mean_Cr2O3_Liq Mean_P2O5_Liq Mean_H2O_Liq Mean_Fe3Fet_Liq Mean_NiO_Liq Mean_CoO_Liq Mean_CO2_Liq Mean_SiO2_Liq_mol_frac Mean_MgO_Liq_mol_frac Mean_MnO_Liq_mol_frac Mean_FeOt_Liq_mol_frac Mean_CaO_Liq_mol_frac Mean_Al2O3_Liq_mol_frac Mean_Na2O_Liq_mol_frac Mean_K2O_Liq_mol_frac Mean_TiO2_Liq_mol_frac Mean_P2O5_Liq_mol_frac Mean_Cr2O3_Liq_mol_frac Mean_Si_Liq_cat_frac Mean_Mg_Liq_cat_frac Mean_Mn_Liq_cat_frac Mean_Fet_Liq_cat_frac Mean_Ca_Liq_cat_frac Mean_Al_Liq_cat_frac Mean_Na_Liq_cat_frac Mean_K_Liq_cat_frac Mean_Ti_Liq_cat_frac Mean_P_Liq_cat_frac Mean_Cr_Liq_cat_frac Mean_Mg_Number_Liq_NoFe3 Mean_Mg_Number_Liq_Fe3 Mean_ID_Liq Mean_SiO2_Cpx Mean_TiO2_Cpx Mean_Al2O3_Cpx Mean_FeOt_Cpx Mean_MnO_Cpx Mean_MgO_Cpx Mean_CaO_Cpx Mean_Na2O_Cpx Mean_K2O_Cpx Mean_Cr2O3_Cpx Mean_Si_Cpx_cat_6ox Mean_Mg_Cpx_cat_6ox Mean_Fet_Cpx_cat_6ox Mean_Ca_Cpx_cat_6ox Mean_Al_Cpx_cat_6ox Mean_Na_Cpx_cat_6ox Mean_K_Cpx_cat_6ox Mean_Mn_Cpx_cat_6ox Mean_Ti_Cpx_cat_6ox Mean_Cr_Cpx_cat_6ox Mean_oxy_renorm_factor Mean_Al_IV_cat_6ox Mean_Al_VI_cat_6ox Mean_En_Simple_MgFeCa_Cpx Mean_Fs_Simple_MgFeCa_Cpx Mean_Wo_Simple_MgFeCa_Cpx Mean_Cation_Sum_Cpx Mean_Ca_CaMgFe Mean_Lindley_Fe3_Cpx Mean_Lindley_Fe2_Cpx Mean_Lindley_Fe3_Cpx_prop Mean_CrCaTs Mean_a_cpx_En Mean_Mgno_Cpx Mean_Jd Mean_Jd_from 0=Na, 1=Al Mean_CaTs Mean_CaTi Mean_DiHd_1996 Mean_EnFs Mean_DiHd_2003 Mean_Di_Cpx Mean_FeIII_Wang21 Mean_FeII_Wang21 Mean_Kd_Fe_Mg_Fe2 Mean_Kd_Fe_Mg_Fe2_Lind Mean_Kd_Fe_Mg_Fet Mean_lnK_Jd_liq Mean_lnK_Jd_DiHd_liq_1996 Mean_lnK_Jd_DiHd_liq_2003 Mean_Kd_Fe_Mg_IdealWB Mean_Mgno_Liq_noFe3 Mean_Mgno_Liq_Fe2 Mean_DeltaFeMg_WB Mean_T_Liq_MinP Mean_T_Liq_MaxP Mean_Kd_Ideal_Put Mean_Kd_Ideal_Masotta Mean_Delta_Kd_Put2008_I_M Mean_DiHd_Pred_Put1999 Mean_Delta_DiHd_I_M_Put1999 Mean_DiHd_Pred_P2008 Mean_Delta_DiHd_P2008 Mean_DiHd_Pred_Mollo13 Mean_Delta_DiHd_I_M_Mollo13 Mean_EnFs_Pred_Put1999 Mean_Delta_EnFs_I_M_Put1999 Mean_EnFs_Pred_Mollo13 Mean_Delta_EnFs_I_M_Mollo13 Mean_CaTs_Pred_Put1999 Mean_Delta_CaTs_I_M_Put1999 Mean_CrCaTs_Pred_Put1999 Mean_Delta_CrCaTs_I_M_Put1999 Mean_CaTi_Pred_Put1999 Mean_Delta_CaTi_I_M_Put1999 Mean_Jd_Pred_Put1999 Mean_Delta_Jd_Put1999 Mean_Delta_Jd_I_M_Put1999 Mean_DeltaKd_Kd_Match_userSp Std_Delta_T_K_Iter Std_Delta_P_kbar_Iter Std_Delta_Kd_Put2008 Std_Delta_Kd_Mas2013 Std_Delta_EnFs_Mollo13 Std_Delta_EnFs_Put1999 Std_Delta_CaTs_Put1999 Std_Delta_DiHd_Mollo13 Std_Delta_DiHd_Put1999 Std_Delta_CrCaTs_Put1999 Std_Delta_CaTi_Put1999 Std_DeltaKd_userselected=0.27 Std_SiO2_Liq Std_TiO2_Liq Std_Al2O3_Liq Std_FeOt_Liq Std_MnO_Liq Std_MgO_Liq Std_CaO_Liq Std_Na2O_Liq Std_K2O_Liq Std_Cr2O3_Liq Std_P2O5_Liq Std_H2O_Liq Std_Fe3Fet_Liq Std_NiO_Liq Std_CoO_Liq Std_CO2_Liq Std_SiO2_Liq_mol_frac Std_MgO_Liq_mol_frac Std_MnO_Liq_mol_frac Std_FeOt_Liq_mol_frac Std_CaO_Liq_mol_frac Std_Al2O3_Liq_mol_frac Std_Na2O_Liq_mol_frac Std_K2O_Liq_mol_frac Std_TiO2_Liq_mol_frac Std_P2O5_Liq_mol_frac Std_Cr2O3_Liq_mol_frac Std_Si_Liq_cat_frac Std_Mg_Liq_cat_frac Std_Mn_Liq_cat_frac Std_Fet_Liq_cat_frac Std_Ca_Liq_cat_frac Std_Al_Liq_cat_frac Std_Na_Liq_cat_frac Std_K_Liq_cat_frac Std_Ti_Liq_cat_frac Std_P_Liq_cat_frac Std_Cr_Liq_cat_frac Std_Mg_Number_Liq_NoFe3 Std_Mg_Number_Liq_Fe3 Std_ID_Liq Std_SiO2_Cpx Std_TiO2_Cpx Std_Al2O3_Cpx Std_FeOt_Cpx Std_MnO_Cpx Std_MgO_Cpx Std_CaO_Cpx Std_Na2O_Cpx Std_K2O_Cpx Std_Cr2O3_Cpx Std_Si_Cpx_cat_6ox Std_Mg_Cpx_cat_6ox Std_Fet_Cpx_cat_6ox Std_Ca_Cpx_cat_6ox Std_Al_Cpx_cat_6ox Std_Na_Cpx_cat_6ox Std_K_Cpx_cat_6ox Std_Mn_Cpx_cat_6ox Std_Ti_Cpx_cat_6ox Std_Cr_Cpx_cat_6ox Std_oxy_renorm_factor Std_Al_IV_cat_6ox Std_Al_VI_cat_6ox Std_En_Simple_MgFeCa_Cpx Std_Fs_Simple_MgFeCa_Cpx Std_Wo_Simple_MgFeCa_Cpx Std_Cation_Sum_Cpx Std_Ca_CaMgFe Std_Lindley_Fe3_Cpx Std_Lindley_Fe2_Cpx Std_Lindley_Fe3_Cpx_prop Std_CrCaTs Std_a_cpx_En Std_Mgno_Cpx Std_Jd Std_Jd_from 0=Na, 1=Al Std_CaTs Std_CaTi Std_DiHd_1996 Std_EnFs Std_DiHd_2003 Std_Di_Cpx Std_FeIII_Wang21 Std_FeII_Wang21 Std_Kd_Fe_Mg_Fe2 Std_Kd_Fe_Mg_Fe2_Lind Std_Kd_Fe_Mg_Fet Std_lnK_Jd_liq Std_lnK_Jd_DiHd_liq_1996 Std_lnK_Jd_DiHd_liq_2003 Std_Kd_Fe_Mg_IdealWB Std_Mgno_Liq_noFe3 Std_Mgno_Liq_Fe2 Std_DeltaFeMg_WB Std_T_Liq_MinP Std_T_Liq_MaxP Std_Kd_Ideal_Put Std_Kd_Ideal_Masotta Std_Delta_Kd_Put2008_I_M Std_DiHd_Pred_Put1999 Std_Delta_DiHd_I_M_Put1999 Std_DiHd_Pred_P2008 Std_Delta_DiHd_P2008 Std_DiHd_Pred_Mollo13 Std_Delta_DiHd_I_M_Mollo13 Std_EnFs_Pred_Put1999 Std_Delta_EnFs_I_M_Put1999 Std_EnFs_Pred_Mollo13 Std_Delta_EnFs_I_M_Mollo13 Std_CaTs_Pred_Put1999 Std_Delta_CaTs_I_M_Put1999 Std_CrCaTs_Pred_Put1999 Std_Delta_CrCaTs_I_M_Put1999 Std_CaTi_Pred_Put1999 Std_Delta_CaTi_I_M_Put1999 Std_Jd_Pred_Put1999 Std_Delta_Jd_Put1999 Std_Delta_Jd_I_M_Put1999 Std_DeltaKd_Kd_Match_userSp
0 12 130 1306.040828 9.402208 -0.557223 0.420869 12 0.0 0.0 0.046238 0.146955 0.040985 0.042904 0.016497 0.039036 0.209537 0.001323 0.002241 0.017658 55.566810 0.678861 18.482938 6.886876 0.128742 4.426468 8.785491 3.082183 1.070783 0.0 0.094666 4.269898 0.0 0.0 0.0 0.0 0.600325 0.071293 0.001178 0.062224 0.101697 0.117673 0.032281 0.007379 0.005517 0.000433 0.0 0.518514 0.061581 0.001018 0.053748 0.087846 0.203276 0.055761 0.012744 0.004765 0.000748 0.0 0.533700 0.533700 359.107692 52.0030 0.3960 3.0110 7.3920 0.2120 16.5370 20.4390 0.1570 0.0 0.0910 1.913065 0.906915 0.227415 0.805627 0.130548 0.011198 0.0 0.006606 0.010958 0.002647 0.0 0.086935 0.043613 0.467492 0.117227 0.415281 4.014979 0.415281 0.029958 0.197457 0.131731 0.001323 0.169950 0.799511 0.011198 0.0 0.032415 0.027260 0.744629 0.194851 0.744629 0.591896 0.029958 0.197457 0.287176 0.249346 0.287176 1.303418 -4.312151 -4.312151 0.257709 0.533700 0.533700 0.029467 1263.932042 1463.748053 0.240938 0.140221 -0.046238 0.954166 0.209537 0.781035 0.036406 0.783666 0.039036 0.151947 -0.042904 0.153866 -0.040985 0.015917 -0.016497 0.0 0.001323 0.029357 0.002241 0.014263 0.003064 0.003064 0.017658 0.0 0.0 0.008759 0.011631 0.005317 0.003857 0.001036 0.014240 0.014797 0.0 0.001758 0.008435 1.316883 0.059008 0.320099 0.416049 0.007425 0.333626 0.543692 0.163311 0.212871 0.0 0.020343 0.092116 0.0 0.0 0.0 0.0 0.013943 0.005382 0.000068 0.003769 0.006269 0.002091 0.001712 0.001467 0.000478 0.000094 0.0 0.011740 0.004688 0.000060 0.003302 0.005522 0.003588 0.002871 0.002522 0.000409 0.000161 0.0 0.008239 0.008239 184.122484 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.009385 0.008149 0.009385 0.075378 0.157102 0.157102 0.0 0.008239 0.008239 0.009385 7.262448 9.739071 0.002283 0.005101 0.008759 0.014797 0.014797 0.010138 0.010138 0.014240 0.014240 0.003857 0.003857 0.005317 0.005317 0.001036 0.001036 0.0 0.0 0.001928 0.001758 0.000689 0.000689 0.000689 0.008435
1 16 57 1279.786454 18.977426 1.305130 0.758236 16 0.0 0.0 0.058400 0.151919 0.004746 0.009986 0.010129 0.030248 0.248824 0.000686 0.017922 0.025210 58.721356 0.617418 17.770385 6.031123 0.116580 3.614138 7.586884 3.378390 1.440664 0.0 0.098706 4.490559 0.0 0.0 0.0 0.0 0.634448 0.058216 0.001067 0.054501 0.087834 0.113148 0.035388 0.009929 0.005018 0.000452 0.0 0.547440 0.050239 0.000921 0.047031 0.075800 0.195265 0.061063 0.017132 0.004330 0.000779 0.0 0.516967 0.516967 391.052632 52.7020 0.2600 2.1400 7.1460 0.2480 14.6610 22.8580 0.3130 0.0 0.0470 1.946267 0.807137 0.220696 0.904454 0.093142 0.022411 0.0 0.007757 0.007222 0.001372 0.0 0.053733 0.039409 0.417711 0.114215 0.468074 4.010459 0.468074 0.020919 0.199777 0.094786 0.000686 0.068859 0.785275 0.022411 0.0 0.016998 0.018368 0.868403 0.079715 0.868403 0.676831 0.020919 0.199777 0.292903 0.265139 0.292903 1.840965 -4.154654 -4.154654 0.255061 0.516967 0.516967 0.038646 1231.588187 1420.570951 0.234503 0.140984 -0.058400 1.117227 0.248824 0.788198 0.080204 0.872414 0.004011 0.069730 -0.009986 0.082522 0.002806 0.006869 -0.010129 0.0 0.000686 0.036290 0.017922 0.015374 0.007037 0.007037 0.025210 0.0 0.0 0.013243 0.009509 0.003148 0.002274 0.001095 0.017775 0.031154 0.0 0.005152 0.004804 2.615419 0.079447 0.595840 0.907107 0.013720 0.490048 1.045771 0.250421 0.307528 0.0 0.023791 0.182949 0.0 0.0 0.0 0.0 0.027636 0.007897 0.000126 0.008218 0.012109 0.003845 0.002628 0.002116 0.000649 0.000110 0.0 0.023573 0.006855 0.000109 0.007110 0.010515 0.006592 0.004428 0.003637 0.000558 0.000187 0.0 0.010667 0.010667 198.038725 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.011666 0.010560 0.011666 0.120424 0.321091 0.321091 0.0 0.010667 0.010667 0.008568 14.692536 19.536493 0.004677 0.004165 0.013243 0.031154 0.031154 0.019532 0.019532 0.035083 0.035083 0.002274 0.002274 0.004982 0.004982 0.001095 0.001095 0.0 0.0 0.005152 0.005152 0.000982 0.000982 0.000982 0.004804
2 26 5 1304.251537 4.271816 0.623434 0.441238 26 0.0 0.0 0.024975 0.131124 0.040744 0.031713 0.028638 0.033057 0.221923 0.000425 0.001505 0.016434 54.998000 0.796000 18.850000 7.664496 0.138000 3.948000 8.572000 3.258000 0.952000 0.0 0.110400 4.230110 0.0 0.0 0.0 0.0 0.597052 0.063890 0.001269 0.069589 0.099719 0.120601 0.034283 0.006590 0.006500 0.000507 0.0 0.513827 0.054986 0.001092 0.059886 0.085815 0.207572 0.059009 0.011345 0.005594 0.000873 0.0 0.478832 0.478832 546.200000 50.9350 0.4840 3.9410 8.0800 0.2120 15.7240 20.3010 0.1880 0.0 0.0290 1.887518 0.868653 0.250405 0.806056 0.172123 0.013508 0.0 0.006654 0.013491 0.000850 0.0 0.112482 0.059641 0.451222 0.130073 0.418706 4.019258 0.418706 0.038516 0.211888 0.153816 0.000425 0.163612 0.776230 0.013508 0.0 0.046133 0.033174 0.726324 0.196367 0.726324 0.560466 0.038516 0.211888 0.265483 0.224648 0.265483 1.431192 -4.201248 -4.201248 0.253379 0.478832 0.478832 0.015852 1257.214122 1454.738265 0.240508 0.134359 -0.024975 0.948247 0.221923 0.748754 0.022430 0.759382 0.033057 0.164653 -0.031713 0.155623 -0.040744 0.017495 -0.028638 0.0 0.000425 0.032574 0.001505 0.015204 0.001697 0.001697 0.016434 0.0 0.0 0.020773 0.014736 0.007091 0.006429 0.001232 0.015389 0.012336 0.0 0.001569 0.011433 0.819189 0.045056 0.501149 0.384837 0.004472 0.140428 0.327292 0.185391 0.221179 0.0 0.008933 0.057302 0.0 0.0 0.0 0.0 0.007203 0.002122 0.000042 0.003576 0.004117 0.003620 0.001821 0.001522 0.000368 0.000043 0.0 0.006664 0.001883 0.000036 0.003037 0.003458 0.005997 0.003170 0.002629 0.000316 0.000074 0.0 0.019329 0.019329 7.463243 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.021043 0.017806 0.021043 0.043221 0.062687 0.062687 0.0 0.019329 0.019329 0.017659 3.019301 4.041718 0.001039 0.007425 0.020773 0.012336 0.012336 0.014362 0.014362 0.015389 0.015389 0.006429 0.006429 0.007091 0.007091 0.001232 0.001232 0.0 0.0 0.002201 0.001569 0.000756 0.000756 0.000756 0.011433
3 29 212 1307.937499 11.968520 -0.492135 0.516820 29 0.0 0.0 0.013538 0.117195 0.039353 0.044859 0.010763 0.022980 0.216568 0.002095 0.008944 0.017852 54.431995 0.679384 18.681867 7.117302 0.130659 4.761481 9.272306 2.983501 0.948165 0.0 0.090411 4.190518 0.0 0.0 0.0 0.0 0.587908 0.076675 0.001195 0.064294 0.107313 0.118910 0.031239 0.006532 0.005520 0.000413 0.0 0.508081 0.066270 0.001033 0.055568 0.092751 0.205533 0.053992 0.011288 0.004770 0.000715 0.0 0.543568 0.543568 294.179245 52.7470 0.3110 2.5050 6.4260 0.1780 16.8710 21.2650 0.1560 0.0 0.1450 1.927730 0.919174 0.196402 0.832697 0.107898 0.011054 0.0 0.005510 0.008549 0.004190 0.0 0.072270 0.035628 0.471789 0.100808 0.427403 4.013204 0.427403 0.026408 0.169994 0.134457 0.002095 0.146629 0.823941 0.011054 0.0 0.024574 0.023848 0.782180 0.166698 0.782180 0.641307 0.026408 0.169994 0.254779 0.220522 0.254779 1.352839 -4.244987 -4.244987 0.262253 0.543568 0.543568 0.012600 1265.413539 1465.740883 0.241395 0.137583 -0.013384 0.998748 0.216568 0.805975 0.023795 0.804905 0.022725 0.121839 -0.044859 0.127345 -0.039353 0.013811 -0.010763 0.0 0.002095 0.032792 0.008944 0.013879 0.002825 0.002825 0.017852 0.0 0.0 0.011086 0.012404 0.006135 0.004102 0.001102 0.018268 0.021366 0.0 0.002246 0.007855 1.630930 0.054229 0.385884 0.452633 0.009029 0.387536 0.693422 0.173726 0.216971 0.0 0.009389 0.114084 0.0 0.0 0.0 0.0 0.016793 0.006311 0.000084 0.004145 0.008083 0.002447 0.001802 0.001491 0.000440 0.000043 0.0 0.014144 0.005514 0.000073 0.003622 0.007080 0.004208 0.003040 0.002567 0.000376 0.000075 0.0 0.011530 0.011530 168.965842 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.012211 0.010569 0.012211 0.088867 0.182476 0.182476 0.0 0.011530 0.011530 0.006763 9.259749 12.418986 0.002907 0.004951 0.011273 0.021366 0.021366 0.012444 0.012444 0.018585 0.018585 0.004102 0.004102 0.006135 0.006135 0.001102 0.001102 0.0 0.0 0.002246 0.002246 0.000710 0.000710 0.000710 0.007855
4 30 11 1302.787795 7.103075 -0.561921 0.219530 30 0.0 0.0 0.047838 0.146350 0.040597 0.036408 0.021698 0.050539 0.218011 0.000511 0.005276 0.024096 56.091818 0.691364 18.299545 7.020485 0.132273 4.064091 8.619545 3.165455 1.153636 0.0 0.088864 4.306623 0.0 0.0 0.0 0.0 0.606292 0.065489 0.001211 0.063464 0.099828 0.116564 0.033169 0.007955 0.005621 0.000407 0.0 0.523531 0.056551 0.001046 0.054798 0.086205 0.201298 0.057277 0.013739 0.004853 0.000702 0.0 0.508135 0.508135 558.000000 51.2810 0.5250 3.5980 8.0110 0.2110 16.1520 20.1810 0.1600 0.0 0.0350 1.893578 0.889123 0.247383 0.798441 0.156583 0.011455 0.0 0.006599 0.014582 0.001022 0.0 0.106422 0.050161 0.459508 0.127850 0.412642 4.018765 0.412642 0.037530 0.209853 0.151708 0.000511 0.174035 0.782325 0.011455 0.0 0.038706 0.033858 0.725366 0.205570 0.725366 0.564199 0.037530 0.209853 0.287988 0.244298 0.287988 1.289235 -4.331453 -4.331453 0.254512 0.508135 0.508135 0.035234 1260.920668 1459.707757 0.240150 0.141639 -0.047838 0.943377 0.218011 0.770561 0.045196 0.775905 0.050539 0.169162 -0.036408 0.164973 -0.040597 0.017008 -0.021698 0.0 0.000511 0.028582 0.005276 0.014609 0.003154 0.003154 0.024096 0.0 0.0 0.016767 0.012834 0.003715 0.005212 0.000616 0.007566 0.016315 0.0 0.002397 0.006181 0.718291 0.075898 0.231478 0.421157 0.005179 0.125754 0.320082 0.174477 0.131246 0.0 0.012466 0.050244 0.0 0.0 0.0 0.0 0.006722 0.002063 0.000046 0.003852 0.003747 0.001604 0.001816 0.000912 0.000619 0.000057 0.0 0.006162 0.001858 0.000039 0.003266 0.003354 0.002358 0.003027 0.001582 0.000527 0.000097 0.0 0.016407 0.016407 20.029978 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.017915 0.015197 0.017915 0.053479 0.095173 0.095173 0.0 0.016407 0.016407 0.013712 6.112737 8.191214 0.001727 0.006786 0.016767 0.016315 0.016315 0.006769 0.006769 0.007566 0.007566 0.005212 0.005212 0.003715 0.003715 0.000616 0.000616 0.0 0.0 0.002397 0.002397 0.000819 0.000819 0.000819 0.006181
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
77 262 136 1255.486248 19.190267 -0.043387 0.333104 262 0.0 0.0 0.046477 0.124907 0.023935 0.099416 0.016722 0.023648 0.005092 0.000000 0.010804 0.013358 67.263292 0.435169 15.965948 3.411283 0.075085 1.895414 4.144459 4.030928 2.412168 0.0 0.109205 5.088067 0.0 0.0 0.0 0.0 0.725813 0.030486 0.000686 0.030782 0.047910 0.101520 0.042167 0.016605 0.003532 0.000499 0.0 0.625264 0.026267 0.000591 0.026522 0.041279 0.174917 0.072649 0.028608 0.003043 0.000859 0.0 0.495813 0.495813 261.154412 53.6456 0.4939 1.3572 9.6502 0.7088 19.3882 15.0159 0.2492 0.0 0.0000 1.958609 1.055260 0.294650 0.587406 0.058400 0.017640 0.0 0.021919 0.013564 0.000000 0.0 0.041391 0.017009 0.544702 0.152092 0.303206 4.007448 0.303206 0.014895 0.279754 0.050553 0.000000 0.379938 0.781721 0.017009 1.0 0.000000 0.020696 0.566710 0.391600 0.566710 0.435934 0.014895 0.279754 0.274961 0.261061 0.274961 1.232568 -5.298197 -5.298197 0.254400 0.495813 0.495813 0.020812 1214.451223 1397.831363 0.228484 0.150053 -0.046477 0.570220 0.003511 0.535172 0.031538 0.589995 0.023285 0.292184 -0.099416 0.367665 -0.023935 0.016722 0.016722 0.0 0.000000 0.009891 0.010804 0.017540 0.000667 0.000667 0.013358 0.0 0.0 0.010899 0.012895 0.012023 0.023597 0.002753 0.012138 0.003551 0.0 0.001477 0.007096 1.734352 0.041553 0.399781 0.556419 0.008264 0.387050 0.705783 0.181789 0.202355 0.0 0.006345 0.121318 0.0 0.0 0.0 0.0 0.018657 0.006205 0.000075 0.005011 0.008120 0.002378 0.001911 0.001418 0.000338 0.000028 0.0 0.015651 0.005369 0.000065 0.004342 0.007031 0.004142 0.003211 0.002426 0.000292 0.000048 0.0 0.013072 0.013072 156.887970 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.014329 0.013604 0.014329 0.069448 0.361822 0.361822 0.0 0.013072 0.013072 0.013958 16.682551 22.116648 0.004773 0.003733 0.010899 0.005130 0.005130 0.006448 0.006448 0.012825 0.012825 0.023597 0.023597 0.012023 0.012023 0.002753 0.002753 0.0 0.0 0.001477 0.001477 0.000674 0.000538 0.000538 0.007096
78 263 297 1303.228792 21.019788 1.542851 0.814222 263 0.0 0.0 0.029548 0.124146 0.032081 0.046784 0.009695 0.029299 0.169302 0.000539 0.015374 0.008741 58.009662 0.621336 17.951789 6.118950 0.117492 3.906119 7.827534 3.300080 1.360697 0.0 0.097179 4.440776 0.0 0.0 0.0 0.0 0.626525 0.062888 0.001075 0.055265 0.090575 0.114252 0.034554 0.009375 0.005048 0.000444 0.0 0.540727 0.054286 0.000928 0.047706 0.078188 0.197224 0.059639 0.016179 0.004357 0.000767 0.0 0.531642 0.531642 323.488215 53.5085 0.3759 1.2288 6.8566 0.4798 16.1983 21.2414 0.3399 0.0 0.0371 1.967516 0.887919 0.210844 0.836858 0.053252 0.024232 0.0 0.014943 0.010397 0.001079 0.0 0.032484 0.020767 0.458726 0.108928 0.432346 4.007039 0.432346 0.014077 0.196766 0.066766 0.000539 0.133453 0.808103 0.020767 1.0 0.000000 0.016242 0.820076 0.139343 0.820076 0.653819 0.014077 0.196766 0.269781 0.251769 0.269781 1.803947 -4.081310 -4.081310 0.259307 0.531642 0.531642 0.011731 1252.256640 1448.146711 0.240233 0.145635 -0.029548 0.989379 0.169302 0.754161 0.065915 0.812872 -0.007204 0.092559 -0.046784 0.107262 -0.032081 0.009695 0.009695 0.0 0.000539 0.031616 0.015374 0.015068 0.005699 0.005699 0.008741 0.0 0.0 0.009829 0.011510 0.006543 0.002499 0.001518 0.017349 0.029207 0.0 0.003757 0.006410 2.607858 0.070190 0.591646 0.813262 0.013304 0.582132 1.090925 0.274633 0.315565 0.0 0.017572 0.182420 0.0 0.0 0.0 0.0 0.028156 0.009341 0.000122 0.007326 0.012578 0.003683 0.002891 0.002179 0.000569 0.000081 0.0 0.023780 0.008118 0.000106 0.006376 0.010955 0.006473 0.004889 0.003741 0.000491 0.000138 0.0 0.009927 0.009927 178.746312 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.010849 0.010125 0.010849 0.132857 0.333872 0.333872 0.0 0.009927 0.009927 0.009471 16.109484 21.526567 0.005120 0.003989 0.009829 0.029207 0.029207 0.019823 0.019823 0.033320 0.033320 0.002499 0.002499 0.006543 0.006543 0.001518 0.001518 0.0 0.0 0.003757 0.003757 0.001080 0.001080 0.001080 0.006410
79 264 68 1252.898908 11.189092 1.033130 0.167848 264 0.0 0.0 0.055957 0.132355 0.010415 0.099449 0.008380 0.045335 0.020152 0.000245 0.004856 0.013810 68.244081 0.413776 15.724785 3.121599 0.070653 1.651492 3.735313 4.087513 2.545596 0.0 0.110214 5.156673 0.0 0.0 0.0 0.0 0.737058 0.026591 0.000646 0.028198 0.043225 0.100080 0.042798 0.017539 0.003362 0.000504 0.0 0.634888 0.022907 0.000557 0.024290 0.037235 0.172414 0.073730 0.030215 0.002896 0.000868 0.0 0.484830 0.484830 265.044118 53.7403 0.2988 1.7901 9.8862 0.5881 18.3977 15.1352 0.3080 0.0 0.0169 1.968239 1.004500 0.302805 0.593935 0.077270 0.021871 0.0 0.018244 0.008232 0.000489 0.0 0.031761 0.045509 0.528339 0.159267 0.312394 3.995585 0.312394 0.000000 0.302805 0.000000 0.000245 0.365055 0.768369 0.021871 0.0 0.023638 0.004062 0.565991 0.370657 0.565991 0.428908 -0.008829 0.311635 0.283810 0.283810 0.283810 1.451655 -5.242722 -5.242722 0.251917 0.484830 0.484830 0.031894 1207.806321 1389.006107 0.227854 0.151456 -0.055957 0.586143 0.020152 0.536943 0.029048 0.611327 0.045335 0.271207 -0.099449 0.360315 -0.010342 0.015258 -0.008380 0.0 0.000245 0.008918 0.004856 0.017714 0.004157 0.004157 0.013810 0.0 0.0 0.006245 0.007138 0.005716 0.017669 0.001319 0.006666 0.003134 0.0 0.000850 0.007938 1.020404 0.033767 0.212631 0.321878 0.005241 0.200725 0.356694 0.084464 0.094762 0.0 0.007003 0.071377 0.0 0.0 0.0 0.0 0.009847 0.003242 0.000048 0.002936 0.004121 0.001118 0.000873 0.000685 0.000280 0.000031 0.0 0.008216 0.002806 0.000042 0.002543 0.003568 0.001891 0.001450 0.001168 0.000242 0.000053 0.0 0.006958 0.006958 162.027124 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.007938 0.007938 0.007938 0.034555 0.215359 0.215359 0.0 0.006958 0.006958 0.007938 9.811744 12.975525 0.002792 0.002564 0.006245 0.003134 0.003134 0.002959 0.002959 0.006666 0.006666 0.017669 0.017669 0.005851 0.005851 0.001319 0.001319 0.0 0.0 0.000850 0.000850 0.000320 0.000320 0.000320 0.007938
80 265 43 1283.476480 9.648399 1.727389 0.269835 265 0.0 0.0 0.056610 0.140242 0.035567 0.065660 0.002793 0.042879 0.140120 0.000166 0.013197 0.022037 63.381497 0.504425 16.846127 4.557670 0.093469 2.693741 5.716766 3.710234 1.953857 0.0 0.103438 4.816536 0.0 0.0 0.0 0.0 0.684401 0.043367 0.000855 0.041162 0.066149 0.107199 0.038839 0.013458 0.004097 0.000473 0.0 0.590015 0.037388 0.000737 0.035487 0.057028 0.184830 0.066965 0.023203 0.003532 0.000815 0.0 0.512895 0.512895 227.720930 53.5292 0.3074 1.4979 8.0562 0.5608 16.2976 19.2569 0.3632 0.0 0.0114 1.974330 0.896110 0.248494 0.761007 0.065113 0.025973 0.0 0.017520 0.008528 0.000332 0.0 0.025670 0.039443 0.470248 0.130401 0.399351 3.997406 0.399351 0.000000 0.248494 0.000000 0.000166 0.203283 0.782894 0.025973 0.0 0.013470 0.006100 0.741270 0.201666 0.741270 0.571591 -0.005188 0.253682 0.292037 0.292037 0.292037 1.797069 -4.447233 -4.447233 0.254618 0.512895 0.512895 0.037418 1233.336917 1422.872823 0.235427 0.151795 -0.056610 0.881391 0.140120 0.694830 0.046441 0.784149 0.042879 0.136006 -0.065660 0.166099 -0.035567 0.010677 -0.002793 0.0 0.000166 0.019297 0.013197 0.016499 0.009474 0.009474 0.022037 0.0 0.0 0.004248 0.005196 0.003969 0.003703 0.000846 0.012565 0.009817 0.0 0.001414 0.004960 1.122410 0.031975 0.265540 0.304337 0.005451 0.203095 0.417678 0.096567 0.121501 0.0 0.006663 0.078513 0.0 0.0 0.0 0.0 0.010728 0.003330 0.000051 0.002812 0.004933 0.001693 0.000956 0.000835 0.000265 0.000030 0.0 0.009120 0.002885 0.000045 0.002441 0.004274 0.002862 0.001618 0.001435 0.000229 0.000052 0.0 0.004260 0.004260 159.457910 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.004960 0.004960 0.004960 0.041507 0.148953 0.148953 0.0 0.004260 0.004260 0.004960 7.863617 10.482190 0.002361 0.001802 0.004248 0.009817 0.009817 0.006575 0.006575 0.012565 0.012565 0.003703 0.003703 0.003969 0.003969 0.000846 0.000846 0.0 0.0 0.001414 0.001414 0.000339 0.000339 0.000339 0.004960
81 277 267 1312.827591 15.990801 1.078003 0.708746 277 0.0 0.0 0.013408 0.114693 0.024199 0.031668 0.014236 0.022724 0.199839 0.003681 0.008399 0.017117 55.196820 0.663578 18.511304 6.885731 0.127346 4.593752 8.955467 3.049072 1.042049 0.0 0.092872 4.244018 0.0 0.0 0.0 0.0 0.596233 0.073980 0.001165 0.062207 0.103654 0.117836 0.031930 0.007180 0.005392 0.000425 0.0 0.515148 0.063927 0.001007 0.053752 0.089570 0.203628 0.055171 0.012404 0.004658 0.000734 0.0 0.542828 0.542828 299.655431 52.5100 0.3052 2.7442 6.2195 0.1422 16.2207 21.8581 0.2240 0.0 0.2542 1.923772 0.885910 0.190556 0.858020 0.118491 0.015911 0.0 0.004413 0.008411 0.007363 0.0 0.076228 0.042263 0.457956 0.098505 0.443539 4.012846 0.443539 0.025692 0.164864 0.134828 0.003681 0.117133 0.822975 0.015911 0.0 0.026352 0.024938 0.803048 0.136709 0.803048 0.658195 0.025692 0.164864 0.255715 0.221237 0.255715 1.678608 -3.992824 -3.992824 0.262073 0.542828 0.542828 0.012124 1263.157234 1462.724221 0.242573 0.141022 -0.013143 1.002887 0.199839 0.775994 0.027426 0.806691 0.003642 0.105041 -0.031668 0.112510 -0.024199 0.012115 -0.014236 0.0 0.003681 0.033337 0.008399 0.014128 0.001802 0.001802 0.017117 0.0 0.0 0.011127 0.012535 0.006751 0.003725 0.001350 0.013343 0.026678 0.0 0.002930 0.007861 2.145146 0.061849 0.500921 0.626839 0.011157 0.488058 0.902786 0.210186 0.274374 0.0 0.014780 0.150053 0.0 0.0 0.0 0.0 0.022690 0.007899 0.000103 0.005689 0.010474 0.003159 0.002193 0.001890 0.000502 0.000068 0.0 0.019194 0.006887 0.000089 0.004958 0.009143 0.005490 0.003714 0.003254 0.000431 0.000117 0.0 0.011579 0.011579 167.605228 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.012290 0.010633 0.012290 0.112596 0.241782 0.241782 0.0 0.011579 0.011579 0.006640 11.984622 16.063307 0.003874 0.005008 0.011440 0.026678 0.026678 0.015965 0.015315 0.026135 0.026135 0.003725 0.003725 0.006751 0.006751 0.001350 0.001350 0.0 0.0 0.002930 0.002930 0.000833 0.000791 0.000791 0.007861

82 rows × 271 columns

[23]:
Syn_Avs['Std_T_K_calc']
[23]:
0      9.402208
1     18.977426
2      4.271816
3     11.968520
4      7.103075
        ...
77    19.190267
78    21.019788
79    11.189092
80     9.648399
81    15.990801
Name: Std_T_K_calc, Length: 82, dtype: float64
  • e.g., just using measured liquids, and using these synthetic liquids as well

[18]:
fig, ((ax1, ax2)) = plt.subplots(1, 2, figsize=(12, 5), sharex=True, sharey=True)

# Measured liquids only
ax1.set_title('Measured Liq-Cpx (All Matches)')
ax1.plot(Meas_All['T_K_calc']-273.15, Meas_All['P_kbar_calc'], '.k')
ax1.plot(np.nanmean(Meas_All['T_K_calc']-273.15), np.nanmean(Meas_All['P_kbar_calc']), 'pk',
        mfc='c', ms=15, label="Mean Meas Matches")

ax1.invert_yaxis()

ax1.set_xlabel('Temperature (C)')
ax1.set_ylabel('Pressure (kbar)')

# Synthetic liquids
ax2.set_title('Synthetic Liq-Cpx (All Matches)')
ax2.plot(Syn_All['T_K_calc']-273.15, Syn_All['P_kbar_calc'], '.r')

ax2.plot(np.nanmean(Syn_All['T_K_calc']-273.15), np.nanmean(Syn_All['P_kbar_calc']), 'pk',
        mfc='y', ms=15,label="Mean Syn+Meas Matches")
ax2.plot(np.nanmean(Meas_All['T_K_calc']-273.15), np.nanmean(Meas_All['P_kbar_calc']), 'pk',
        mfc='c', ms=15, label="Mean Meas Matches")

ax2.set_ylim([-2, 5])
ax2.invert_yaxis()
#ax2.set_xlim([700, 1200])

ax2.set_xlabel('Temperature (C)')
ax2.set_ylabel('Pressure (kbar)')
ax2.legend()
[18]:
<matplotlib.legend.Legend at 0x1f844a8a310>
../../../_images/Examples_Cpx_Cpx_Liq_Thermobarometry_Cpx_Liquid_melt_matching_Cpx_MeltMatch2_ScruggsPutirka2018_37_1.png
[22]:
fig, (ax1) = plt.subplots(1, 1, figsize=(6, 5))
ax1.plot(Syn_All['T_K_calc'],  Syn_All['P_kbar_calc'], 'or',
         ms=2, mfc='red', alpha=0.1, label='All Matches')
ax1.errorbar(Syn_Avs['Mean_T_K_calc'],  Syn_Avs['Mean_P_kbar_calc'],
             xerr=Syn_Avs['Std_T_K_calc'].fillna(0),
             yerr=Syn_Avs['Std_P_kbar_calc'].fillna(0),
             fmt='d', ecolor='k', elinewidth=0.8,
              mfc='red', ms=8, mec='k', label='Average Matches')
ax1.invert_yaxis()
ax1.set_xlabel('Temp (K)')
ax1.set_ylabel('Pressure (kbar)')
ax1.legend()
fig.savefig('AllMatches_PT.png', dpi=300)
../../../_images/Examples_Cpx_Cpx_Liq_Thermobarometry_Cpx_Liquid_melt_matching_Cpx_MeltMatch2_ScruggsPutirka2018_39_0.png
[40]:
fig, ((ax1, ax2, ax3)) = plt.subplots(1, 3, figsize=(15, 5))#, sharex=True, sharey=True)
ax1.set_title('Measured liquids only')
ax1.errorbar(Meas_Avs['Mean_T_K_calc']-273.15,  Meas_Avs['Mean_P_kbar_calc'],
             xerr=Meas_Avs['Std_T_K_calc'], yerr=Meas_Avs['Std_P_kbar_calc'],
             fmt='d', ecolor='k', elinewidth=0.8, mfc='cyan', ms=8, mec='k', label='Pennys code')
ax1.invert_yaxis()

ax2.set_title('Measured+synthetic liquids')
ax2.errorbar(Syn_Avs['Mean_T_K_calc']-273.15,  Syn_Avs['Mean_P_kbar_calc'],
             xerr=Syn_Avs['Std_T_K_calc'], yerr=Syn_Avs['Std_P_kbar_calc'],
             fmt='d', ecolor='k', elinewidth=0.8, mfc='red', ms=8, mec='k', label='Pennys code')
ax2.invert_yaxis()

ax3.set_title('Comparison')
ax3.errorbar(Meas_Avs['Mean_T_K_calc']-273.15,  Meas_Avs['Mean_P_kbar_calc'],
             xerr=Meas_Avs['Std_T_K_calc'], yerr=Meas_Avs['Std_P_kbar_calc'],
             fmt='d', ecolor='k', elinewidth=0.8, mfc='cyan', ms=8, mec='k', label='Pennys code')
ax3.errorbar(Syn_Avs['Mean_T_K_calc']-273.15,  Syn_Avs['Mean_P_kbar_calc'],
             xerr=Syn_Avs['Std_T_K_calc'], yerr=Syn_Avs['Std_P_kbar_calc'],
             fmt='d', ecolor='k', elinewidth=0.8, mfc='red', ms=8, mec='k', label='Pennys code', alpha=0.5)
ax3.invert_yaxis()

ax1.set_xlabel('Temperature (C)')
ax2.set_xlabel('Temperature (C)')
ax3.set_xlabel('Temperature (C)')
ax1.set_ylabel('Pressure (kbar)')
[40]:
Text(0, 0.5, 'Pressure (kbar)')
../../../_images/Examples_Cpx_Cpx_Liq_Thermobarometry_Cpx_Liquid_melt_matching_Cpx_MeltMatch2_ScruggsPutirka2018_41_1.png
  • Here, averaging all measurements

[41]:
fig, ((ax1, ax2)) = plt.subplots(1, 2, figsize=(12, 5), sharex=True, sharey=True)

ax1.set_title('Measured Liq-Cpx (All Matches)')
ax1.plot(Meas_All['T_K_calc']-273.15, Meas_All['P_kbar_calc'], '.', color='cyan', alpha=0.3)


ax1.errorbar(np.nanmean(Meas_All['T_K_calc']-273.15),  np.nanmean(Meas_All['P_kbar_calc']),
             xerr=np.nanstd(Meas_All['T_K_calc']-273.15), yerr=np.nanstd(Meas_All['P_kbar_calc']),
             fmt='d', ecolor='k', elinewidth=0.8, mfc='cyan', ms=15, mec='k', label='Pennys code', zorder=100)


#ax1.set_ylim([-2, 5])
ax1.invert_yaxis()

#ax1.set_xlim([700, 1200])
ax1.set_xlabel('Temperature (C)')
ax1.set_ylabel('Pressure (kbar)')
ax2.set_title('Synthetic Liq-Cpx (All Matches)')

ax2.plot(Syn_All['T_K_calc']-273.15, Syn_All['P_kbar_calc'], '.', color='red', alpha=0.1)
ax2.errorbar(np.nanmean(Syn_All['T_K_calc']-273.15),  np.nanmean(Syn_All['P_kbar_calc']),
             xerr=np.nanstd(Syn_All['T_K_calc']-273.15), yerr=np.nanstd(Syn_All['P_kbar_calc']),
             fmt='d', ecolor='k', elinewidth=0.8, mfc='red', ms=15, mec='k', label='Pennys code', zorder=100)


ax2.set_ylim([-2, 5])
ax2.invert_yaxis()
#ax2.set_xlim([700, 1200])

ax2.set_xlabel('Temperature (C)')
ax2.set_ylabel('Pressure (kbar)')
[41]:
Text(0, 0.5, 'Pressure (kbar)')
../../../_images/Examples_Cpx_Cpx_Liq_Thermobarometry_Cpx_Liquid_melt_matching_Cpx_MeltMatch2_ScruggsPutirka2018_43_1.png
[42]:
#
fig, ((ax1)) = plt.subplots(1, figsize=(8, 6))

ax1.plot(Syn_All['T_K_calc']-273.15, Syn_All['P_kbar_calc'], '.', color='red', alpha=0.1)

ax1.errorbar(Syn_Avs['Mean_T_K_calc']-273.15,  Syn_Avs['Mean_P_kbar_calc'],
             xerr=Syn_Avs['Std_T_K_calc'], yerr=Syn_Avs['Std_P_kbar_calc'],
             fmt='d', ecolor='k', elinewidth=0.8, mfc='red', ms=8, mec='k', label='Pennys code')

ax1.set_xlim([700, 1200])
ax1.set_ylim([-2, 10])
ax1.invert_yaxis()
../../../_images/Examples_Cpx_Cpx_Liq_Thermobarometry_Cpx_Liquid_melt_matching_Cpx_MeltMatch2_ScruggsPutirka2018_45_0.png

image.png

[ ]:

[ ]:

[ ]: