This page was generated from docs/Examples/S6_S2_Corrections/S6_S2_Corrections_Nash_Jugo_Kleinsasser.ipynb. Interactive online version: .
Correcting SCSS for S6+ and SCAS for S2-
in reality, many magmas contain both S6+ and S2- species
This means we have to correct the SCSS and SCAS to get the Total dissolved S content before saturation in a S-phase, to compare to say melt inclusion measurements
This notebook shows first how to visualize the transition using Jugo, and then how to perform the correction for a calculated SCSS
Download Petrolog data from: https://github.com/PennyWieser/PySulfSat/blob/main/docs/Examples/S6_S2_Corrections/PetrologCalculations.xlsx
[30]:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import PySulfSat as ss
import Thermobar as pt
pd.options.display.max_columns = None
Visualization
First, lets visualize for a linspace of delta QFM values, how different parameters change, using the S6/St ratios from Jugo et al. (2010)
[31]:
SCSS=1000
SCAS=5000
DeltaQFM_lin=np.linspace(-1, 3, 10001)
QFM_point1=DeltaQFM_lin==-1
QFM_point2=DeltaQFM_lin==1
QFM_point4=DeltaQFM_lin==2
df_Species=ss.calculate_S_Total_SCSS_SCAS(deltaQFM=DeltaQFM_lin,
SCSS=SCSS, SCAS=SCAS, model='Jugo')
df_Species.head()
[31]:
Total_S_ppm | S2_Tot_ppm | S6_Tot_ppm | deltaQFM | S6St_Liq | SCSS_2_ppm | SCAS_6_ppm | SCSS_Tot | SCAS_Tot | S6 in SCSS_Tot | S2 in SCAS_Tot | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1000.079433 | 1000.0 | 0.079433 | -1.0000 | 0.000079 | 1000 | 5000 | 1000.079433 | 6.295127e+07 | 0.079433 | 6.294627e+07 |
1 | 1000.079579 | 1000.0 | 0.079579 | -0.9996 | 0.000080 | 1000 | 5000 | 1000.079579 | 6.283543e+07 | 0.079579 | 6.283043e+07 |
2 | 1000.079726 | 1000.0 | 0.079726 | -0.9992 | 0.000080 | 1000 | 5000 | 1000.079726 | 6.271979e+07 | 0.079726 | 6.271479e+07 |
3 | 1000.079873 | 1000.0 | 0.079873 | -0.9988 | 0.000080 | 1000 | 5000 | 1000.079873 | 6.260438e+07 | 0.079873 | 6.259938e+07 |
4 | 1000.080020 | 1000.0 | 0.080020 | -0.9984 | 0.000080 | 1000 | 5000 | 1000.080020 | 6.248917e+07 | 0.080020 | 6.248417e+07 |
[32]:
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10,4))
SCSS_Tot_excessS6=df_Species['S6 in SCSS_Tot']>df_Species['SCAS_6_ppm']
ax1.plot(df_Species['deltaQFM'].loc[~SCSS_Tot_excessS6],
df_Species['SCSS_Tot'].loc[~SCSS_Tot_excessS6], '-m', label='SCSS Tot')
ax1.plot(df_Species['deltaQFM'].loc[SCSS_Tot_excessS6],
df_Species['SCSS_Tot'].loc[SCSS_Tot_excessS6], ':m')
SCAS_Tot_excessS2=df_Species['S2 in SCAS_Tot']>df_Species['SCSS_2_ppm']
ax1.plot(df_Species['deltaQFM'].loc[~SCAS_Tot_excessS2],
df_Species['SCAS_Tot'].loc[~SCAS_Tot_excessS2], '-k', label='SCAS_Tot')
ax1.plot(df_Species['deltaQFM'].loc[SCAS_Tot_excessS2],
df_Species['SCAS_Tot'].loc[SCAS_Tot_excessS2], ':k')
ax1.plot([-1, 3], [SCSS, SCSS], '-m', lw=0.5, label='S2- sol limit')
ax1.plot([-1, 3], [SCAS, SCAS], '-k', lw=0.5, label='S6 sol limit')
ax1.plot([-1, 3], [SCAS+SCSS, SCAS+SCSS], '-g', lw=0.5, label='ST sol limit')
ax1.legend()
#ax1.legend()
maxS=SCSS+SCAS
maxX=df_Species['deltaQFM'].loc[df_Species['Total_S_ppm']==maxS]
ax2.plot(df_Species['deltaQFM'], df_Species['Total_S_ppm'], '-g', lw=2, label='Total S')
ax2.yaxis.set_tick_params(which='both', labelbottom=True)
ax2b=ax2.twinx()
ax2.plot(df_Species['deltaQFM'], df_Species['S2_Tot_ppm'], '-r', lw=0.5, label='S$^{2}$')
ax2.plot(df_Species['deltaQFM'], df_Species['S6_Tot_ppm'], '-', color='grey', lw=0.5, label='S$^{6}$')
ax2b.plot(df_Species['deltaQFM'], df_Species['S6St_Liq'], '-c', label='S$^{6}$/$_{T}$')
ax2.legend()
ax2b.plot([maxX, maxX], [0, 1], ':c')
ax1.set_ylim([0, 10000])
ax2.set_ylim([0, 10000])
ax2b.set_ylim([0, 1])
ax1.set_ylabel('S (ppm)')
ax2.set_ylabel('S (ppm)')
ax1.set_xlabel('ΔQFM')
ax2.set_xlabel('ΔQFM')
ax2b.set_ylabel('S$^{6+}$/S$_{T}$')
fig.tight_layout()
fig.savefig('SCSS_SCAS.png', dpi=300)
[33]:
QFM2=ss.calculate_S_Total_SCSS_SCAS(deltaQFM=2,
SCSS=SCSS, SCAS=SCAS, model='Jugo')
QFM2
[33]:
Total_S_ppm | S2_Tot_ppm | S6_Tot_ppm | deltaQFM | S6St_Liq | SCSS_2_ppm | SCAS_6_ppm | SCSS_Tot | SCAS_Tot | S6 in SCSS_Tot | S2 in SCAS_Tot | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 5062.946271 | 62.946271 | 5000.0 | 2 | 0.987567 | 1000 | 5000 | 80432.823472 | 5062.946271 | 79432.823472 | 62.946271 |
[34]:
SCAS_Tot=ss.calculate_SCAS_Total (SCAS=5000, S6St_Liq=0.9876)
SCAS_Tot
[34]:
5062.778452814905
Now lets apply it to some Petrolog fractionation path
[35]:
df_out=ss.import_data('PetrologCalculations.xlsx', Petrolog=True)
df_out.head()
We have replaced all missing liquid oxides and strings with zeros.
[35]:
SiO2_Liq | TiO2_Liq | Al2O3_Liq | FeOt_Liq | MnO_Liq | MgO_Liq | CaO_Liq | Na2O_Liq | K2O_Liq | P2O5_Liq | H2O_Liq | Fe3Fet_Liq | Ni_Liq_ppm | Cu_Liq_ppm | SiO2_magma | TiO2_magma | Al2O3_magma | Fe2O3_magma | FeO_magma | MnO_magma | MgO_magma | CaO_magma | Na2O_magma | K2O_magma | P2O5_magma | Cr2O3_magma | Ni_magma | Cu_magma | Cr2O3_Liq | Ni_Liq | Cu_Liq | SiO2_cumulate | TiO2_cumulate | Al2O3_cumulate | Fe2O3_cumulate | FeO_cumulate | MnO_cumulate | MgO_cumulate | CaO_cumulate | Na2O_cumulate | K2O_cumulate | P2O5_cumulate | Cr2O3_cumulate | Ni_cumulate | Cu_cumulate | Temperature | Temperature_Olv | Olv_Fo_magma | Olv_Kd | Olv_Fo_cumulate | Pressure(kbar) | Lg(fO2) | dNNO | density | Ln(viscosity) | Melt_%_magma | Olv_%_magma | Olv_Peritectic | Fluid_%_magma | Olv_%_cumulate | Sample | Unnamed:58 | T_K | P_kbar | Fraction_melt | Sample_ID_Liq | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 49.9010 | 0.9981 | 14.9715 | 8.980926 | 0.0998 | 9.9763 | 11.9772 | 2.4953 | 0.1996 | 0.0998 | 0.0 | 0.098489 | 697.8 | 99.8 | 49.9010 | 0.9981 | 14.9715 | 0.9839 | 8.0964 | 0.0998 | 9.9763 | 11.9772 | 2.4953 | 0.1996 | 0.0998 | 0.0998 | 697.8 | 99.8 | 0.0998 | 697.8 | 99.8 | 40.2986 | 0 | 0 | 0 | 11.7372 | 0 | 46.9121 | 0 | 0 | 0 | 0 | 0 | 8257.6 | 10.0 | 1253.281 | 1253.281 | 87.69 | 0.308 | 87.69 | 1 | -7.72 | -0.7 | 2.683 | 6.25 | 99.9900 | 0 | N | 0 | 0.0100 | PetrologDefault | 08:21:15 | 1526.431 | 1 | 0.999900 | 0 |
1 | 49.9978 | 1.0081 | 15.1220 | 8.951296 | 0.1008 | 9.6064 | 12.0976 | 2.5203 | 0.2016 | 0.1008 | 0.0 | 0.097851 | 624.6 | 100.7 | 49.9978 | 1.0081 | 15.1220 | 0.9743 | 8.0754 | 0.1008 | 9.6064 | 12.0976 | 2.5203 | 0.2016 | 0.1008 | 0.1008 | 624.6 | 100.7 | 0.1008 | 624.6 | 100.7 | 40.2698 | 0 | 0 | 0 | 11.9273 | 0 | 46.7855 | 0 | 0 | 0 | 0 | 0 | 7984.5 | 10.0 | 1243.430 | 1243.430 | 87.28 | 0.309 | 87.49 | 1 | -7.83 | -0.7 | 2.682 | 6.38 | 98.9950 | 0 | N | 0 | 1.0050 | PetrologDefault | 08:21:15 | 1516.580 | 1 | 0.989950 | 1 |
2 | 50.0982 | 1.0185 | 15.2770 | 8.916645 | 0.1018 | 9.2279 | 12.2216 | 2.5462 | 0.2037 | 0.1018 | 0.0 | 0.097284 | 554.8 | 101.6 | 50.0982 | 1.0185 | 15.2770 | 0.9649 | 8.0492 | 0.1018 | 9.2279 | 12.2216 | 2.5462 | 0.2037 | 0.1018 | 0.1018 | 554.8 | 101.6 | 0.1018 | 554.8 | 101.6 | 40.2390 | 0 | 0 | 0 | 12.1280 | 0 | 46.6507 | 0 | 0 | 0 | 0 | 0 | 7708.8 | 10.1 | 1233.064 | 1233.064 | 86.83 | 0.310 | 87.27 | 1 | -7.94 | -0.7 | 2.681 | 6.52 | 97.9904 | 0 | N | 0 | 2.0096 | PetrologDefault | 08:21:15 | 1506.214 | 1 | 0.979904 | 2 |
3 | 50.2003 | 1.0289 | 15.4337 | 8.877334 | 0.1029 | 8.8486 | 12.3469 | 2.5723 | 0.2058 | 0.1029 | 0.0 | 0.096823 | 489.9 | 102.6 | 50.2003 | 1.0289 | 15.4337 | 0.9561 | 8.0178 | 0.1029 | 8.8486 | 12.3469 | 2.5723 | 0.2058 | 0.1029 | 0.1029 | 489.9 | 102.6 | 0.1029 | 489.9 | 102.6 | 40.2069 | 0 | 0 | 0 | 12.3359 | 0 | 46.5096 | 0 | 0 | 0 | 0 | 0 | 7436.5 | 10.1 | 1222.361 | 1222.361 | 86.36 | 0.311 | 87.05 | 1 | -8.05 | -0.7 | 2.680 | 6.67 | 96.9959 | 0 | N | 0 | 3.0041 | PetrologDefault | 08:21:15 | 1495.511 | 1 | 0.969959 | 3 |
4 | 50.3062 | 1.0397 | 15.5950 | 8.832002 | 0.1040 | 8.4612 | 12.4760 | 2.5992 | 0.2079 | 0.1040 | 0.0 | 0.096445 | 428.7 | 103.5 | 50.3062 | 1.0397 | 15.5950 | 0.9475 | 7.9802 | 0.1040 | 8.4612 | 12.4760 | 2.5992 | 0.2079 | 0.1040 | 0.1040 | 428.7 | 103.5 | 0.1040 | 428.7 | 103.5 | 40.1725 | 0 | 0 | 0 | 12.5558 | 0 | 46.3589 | 0 | 0 | 0 | 0 | 0 | 7162.8 | 10.2 | 1211.080 | 1211.080 | 85.84 | 0.312 | 86.81 | 1 | -8.18 | -0.7 | 2.679 | 6.83 | 95.9923 | 0 | N | 0 | 4.0077 | PetrologDefault | 08:21:15 | 1484.230 | 1 | 0.959923 | 4 |
Calculate Smythe SCSS with a fixed sulfide composition
[36]:
Smythe_FixedSulf=ss.calculate_S2017_SCSS(df=df_out,
T_K=df_out['T_K'], P_kbar=df_out['P_kbar'],
Fe3Fet_Liq=df_out['Fe3Fet_Liq'],
Fe_FeNiCu_Sulf=0.65)
Smythe_FixedSulf.head()
Using inputted Fe_FeNiCu_Sulf ratio for calculations.
Index(['SiO2_Liq', 'TiO2_Liq', 'Al2O3_Liq', 'FeOt_Liq', 'MnO_Liq', 'MgO_Liq',
'CaO_Liq', 'Na2O_Liq', 'K2O_Liq', 'P2O5_Liq', 'H2O_Liq', 'Fe3Fet_Liq',
'Ni_Liq_ppm', 'Cu_Liq_ppm', 'SiO2_magma', 'TiO2_magma', 'Al2O3_magma',
'Fe2O3_magma', 'FeO_magma', 'MnO_magma', 'MgO_magma', 'CaO_magma',
'Na2O_magma', 'K2O_magma', 'P2O5_magma', 'Cr2O3_magma', 'Ni_magma',
'Cu_magma', 'Cr2O3_Liq', 'Ni_Liq', 'Cu_Liq', 'SiO2_cumulate',
'TiO2_cumulate', 'Al2O3_cumulate', 'Fe2O3_cumulate', 'FeO_cumulate',
'MnO_cumulate', 'MgO_cumulate', 'CaO_cumulate', 'Na2O_cumulate',
'K2O_cumulate', 'P2O5_cumulate', 'Cr2O3_cumulate', 'Ni_cumulate',
'Cu_cumulate', 'Temperature', 'Temperature_Olv', 'Olv_Fo_magma',
'Olv_Kd', 'Olv_Fo_cumulate', 'Pressure(kbar)', 'Lg(fO2)', 'dNNO',
'density', 'Ln(viscosity)', 'Melt_%_magma', 'Olv_%_magma',
'Olv_Peritectic', 'Fluid_%_magma', 'Olv_%_cumulate', 'Sample',
'Unnamed:58', 'T_K', 'P_kbar', 'Fraction_melt', 'Sample_ID_Liq',
'Fe_FeNiCu_Sulf_calc'],
dtype='object')
no non ideal SCSS as no Cu/CuFeNiCu
[36]:
SCSS2_ppm_ideal_Smythe2017 | SCSS2_ppm_ideal_Smythe2017_1sigma | T_Input_K | P_Input_kbar | Fe_FeNiCu_Sulf | Fe3Fet_Liq_input | Si_wt_atom | Ti_wt_atom | Al_wt_atom | Mg_wt_atom | Mn_wt_atom | Fe2_wt_atom | Fe3_wt_atom | Ca_wt_atom | Na_wt_atom | K_wt_atom | P_wt_atom | H_wt_atom | Si_XA_ideal | Ti_XA_ideal | Al_XA_ideal | Mg_XA_ideal | Fe2_XA_ideal | Ca_XA_ideal | Na_XA_ideal | K_XA_ideal | H_XA_ideal | Si*Fe_ideal | Si_XA_non_ideal | Ti_XA_non_ideal | Al_XA_non_ideal | Mg_XA_non_ideal | Fe2_XA_non_ideal | Ca_XA_non_ideal | Na_XA_non_ideal | K_XA_non_ideal | H_XA_non_ideal | Si*Fe_non_ideal | log_SCSS_ideal | Fe_FeNiCu_Sulf_calc | SiO2_Liq | TiO2_Liq | Al2O3_Liq | FeOt_Liq | MnO_Liq | MgO_Liq | CaO_Liq | Na2O_Liq | K2O_Liq | P2O5_Liq | H2O_Liq | Fe3Fet_Liq | Ni_Liq_ppm | Cu_Liq_ppm | SiO2_magma | TiO2_magma | Al2O3_magma | Fe2O3_magma | FeO_magma | MnO_magma | MgO_magma | CaO_magma | Na2O_magma | K2O_magma | P2O5_magma | Cr2O3_magma | Ni_magma | Cu_magma | Cr2O3_Liq | Ni_Liq | Cu_Liq | SiO2_cumulate | TiO2_cumulate | Al2O3_cumulate | Fe2O3_cumulate | FeO_cumulate | MnO_cumulate | MgO_cumulate | CaO_cumulate | Na2O_cumulate | K2O_cumulate | P2O5_cumulate | Cr2O3_cumulate | Ni_cumulate | Cu_cumulate | Temperature | Temperature_Olv | Olv_Fo_magma | Olv_Kd | Olv_Fo_cumulate | Pressure(kbar) | Lg(fO2) | dNNO | density | Ln(viscosity) | Melt_%_magma | Olv_%_magma | Olv_Peritectic | Fluid_%_magma | Olv_%_cumulate | Sample | Unnamed:58 | T_K | P_kbar | Fraction_melt | Sample_ID_Liq | Fe_FeNiCu_Sulf_calc | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1163.632126 | 317.869126 | 1526.431 | 1 | 0.65 | 0.098489 | 0.458760 | 0.006900 | 0.162217 | 0.136728 | 0.000777 | 0.062247 | 0.006799 | 0.117975 | 0.044478 | 0.002341 | 0.000777 | 0.0 | -12643.917846 | -77.425761 | -2992.954217 | -1910.042747 | -2133.469827 | -923.846254 | -589.186980 | -67.922629 | -0.0 | 3328.767457 | -12843.656196 | -73.937634 | -3082.117373 | -1984.261077 | -2172.132780 | -1041.911444 | -609.912056 | -66.914620 | -0.0 | 3364.402871 | 7.059302 | 0.65 | 49.9010 | 0.9981 | 14.9715 | 8.980926 | 0.0998 | 9.9763 | 11.9772 | 2.4953 | 0.1996 | 0.0998 | 0.0 | 0.098489 | 697.8 | 99.8 | 49.9010 | 0.9981 | 14.9715 | 0.9839 | 8.0964 | 0.0998 | 9.9763 | 11.9772 | 2.4953 | 0.1996 | 0.0998 | 0.0998 | 697.8 | 99.8 | 0.0998 | 697.8 | 99.8 | 40.2986 | 0 | 0 | 0 | 11.7372 | 0 | 46.9121 | 0 | 0 | 0 | 0 | 0 | 8257.6 | 10.0 | 1253.281 | 1253.281 | 87.69 | 0.308 | 87.69 | 1 | -7.72 | -0.7 | 2.683 | 6.25 | 99.9900 | 0 | N | 0 | 0.0100 | PetrologDefault | 08:21:15 | 1526.431 | 1 | 0.999900 | 0 | 0.65 |
1 | 1132.187652 | 309.279446 | 1516.580 | 1 | 0.65 | 0.097851 | 0.460128 | 0.006977 | 0.164018 | 0.131795 | 0.000786 | 0.062150 | 0.006740 | 0.119285 | 0.044970 | 0.002367 | 0.000785 | 0.0 | -12681.596545 | -78.282676 | -3026.179002 | -1841.131776 | -2130.145227 | -934.101871 | -595.707729 | -68.674435 | -0.0 | 3333.484439 | -12881.930112 | -74.755944 | -3116.331958 | -1912.672440 | -2168.747932 | -1053.477703 | -616.662177 | -67.655269 | -0.0 | 3369.170350 | 7.031907 | 0.65 | 49.9978 | 1.0081 | 15.1220 | 8.951296 | 0.1008 | 9.6064 | 12.0976 | 2.5203 | 0.2016 | 0.1008 | 0.0 | 0.097851 | 624.6 | 100.7 | 49.9978 | 1.0081 | 15.1220 | 0.9743 | 8.0754 | 0.1008 | 9.6064 | 12.0976 | 2.5203 | 0.2016 | 0.1008 | 0.1008 | 624.6 | 100.7 | 0.1008 | 624.6 | 100.7 | 40.2698 | 0 | 0 | 0 | 11.9273 | 0 | 46.7855 | 0 | 0 | 0 | 0 | 0 | 7984.5 | 10.0 | 1243.430 | 1243.430 | 87.28 | 0.309 | 87.49 | 1 | -7.83 | -0.7 | 2.682 | 6.38 | 98.9950 | 0 | N | 0 | 1.0050 | PetrologDefault | 08:21:15 | 1516.580 | 1 | 0.989950 | 1 | 0.65 |
2 | 1099.523987 | 300.356720 | 1506.214 | 1 | 0.65 | 0.097284 | 0.461540 | 0.007056 | 0.165875 | 0.126736 | 0.000794 | 0.062014 | 0.006682 | 0.120635 | 0.045480 | 0.002394 | 0.000794 | 0.0 | -12720.511949 | -79.173986 | -3060.433090 | -1770.461624 | -2125.481450 | -944.675207 | -602.466551 | -69.463239 | -0.0 | 3336.392958 | -12921.460271 | -75.607099 | -3151.606511 | -1839.256265 | -2163.999637 | -1065.402284 | -623.658745 | -68.432367 | -0.0 | 3372.110005 | 7.002633 | 0.65 | 50.0982 | 1.0185 | 15.2770 | 8.916645 | 0.1018 | 9.2279 | 12.2216 | 2.5462 | 0.2037 | 0.1018 | 0.0 | 0.097284 | 554.8 | 101.6 | 50.0982 | 1.0185 | 15.2770 | 0.9649 | 8.0492 | 0.1018 | 9.2279 | 12.2216 | 2.5462 | 0.2037 | 0.1018 | 0.1018 | 554.8 | 101.6 | 0.1018 | 554.8 | 101.6 | 40.2390 | 0 | 0 | 0 | 12.1280 | 0 | 46.6507 | 0 | 0 | 0 | 0 | 0 | 7708.8 | 10.1 | 1233.064 | 1233.064 | 86.83 | 0.310 | 87.27 | 1 | -7.94 | -0.7 | 2.681 | 6.52 | 97.9904 | 0 | N | 0 | 2.0096 | PetrologDefault | 08:21:15 | 1506.214 | 1 | 0.979904 | 2 | 0.65 |
3 | 1066.279038 | 291.275205 | 1495.511 | 1 | 0.65 | 0.096823 | 0.462968 | 0.007136 | 0.167753 | 0.121655 | 0.000804 | 0.061837 | 0.006628 | 0.122000 | 0.045995 | 0.002421 | 0.000803 | 0.0 | -12759.875643 | -80.066770 | -3095.084610 | -1699.479235 | -2119.422207 | -955.366577 | -609.283904 | -70.253349 | -0.0 | 3337.176747 | -12961.445800 | -76.459662 | -3187.290335 | -1765.515721 | -2157.830588 | -1077.459984 | -630.715903 | -69.210751 | -0.0 | 3372.902185 | 6.971930 | 0.65 | 50.2003 | 1.0289 | 15.4337 | 8.877334 | 0.1029 | 8.8486 | 12.3469 | 2.5723 | 0.2058 | 0.1029 | 0.0 | 0.096823 | 489.9 | 102.6 | 50.2003 | 1.0289 | 15.4337 | 0.9561 | 8.0178 | 0.1029 | 8.8486 | 12.3469 | 2.5723 | 0.2058 | 0.1029 | 0.1029 | 489.9 | 102.6 | 0.1029 | 489.9 | 102.6 | 40.2069 | 0 | 0 | 0 | 12.3359 | 0 | 46.5096 | 0 | 0 | 0 | 0 | 0 | 7436.5 | 10.1 | 1222.361 | 1222.361 | 86.36 | 0.311 | 87.05 | 1 | -8.05 | -0.7 | 2.680 | 6.67 | 96.9959 | 0 | N | 0 | 3.0041 | PetrologDefault | 08:21:15 | 1495.511 | 1 | 0.969959 | 3 | 0.65 |
4 | 1031.735153 | 281.838860 | 1484.230 | 1 | 0.65 | 0.096445 | 0.464443 | 0.007218 | 0.169688 | 0.116454 | 0.000813 | 0.061613 | 0.006575 | 0.123408 | 0.046526 | 0.002449 | 0.000813 | 0.0 | -12800.521565 | -80.994067 | -3130.789539 | -1626.819177 | -2111.747851 | -966.392392 | -616.316520 | -71.046416 | -0.0 | 3335.684853 | -13002.733814 | -77.345183 | -3224.058949 | -1690.032319 | -2150.017156 | -1089.894870 | -637.995897 | -69.992049 | -0.0 | 3371.394320 | 6.938997 | 0.65 | 50.3062 | 1.0397 | 15.5950 | 8.832002 | 0.1040 | 8.4612 | 12.4760 | 2.5992 | 0.2079 | 0.1040 | 0.0 | 0.096445 | 428.7 | 103.5 | 50.3062 | 1.0397 | 15.5950 | 0.9475 | 7.9802 | 0.1040 | 8.4612 | 12.4760 | 2.5992 | 0.2079 | 0.1040 | 0.1040 | 428.7 | 103.5 | 0.1040 | 428.7 | 103.5 | 40.1725 | 0 | 0 | 0 | 12.5558 | 0 | 46.3589 | 0 | 0 | 0 | 0 | 0 | 7162.8 | 10.2 | 1211.080 | 1211.080 | 85.84 | 0.312 | 86.81 | 1 | -8.18 | -0.7 | 2.679 | 6.83 | 95.9923 | 0 | N | 0 | 4.0077 | PetrologDefault | 08:21:15 | 1484.230 | 1 | 0.959923 | 4 | 0.65 |
Calculate SCAS using ZT2022
[37]:
ZT22_SCAS=ss.calculate_ZT2022_SCAS(df=df_out, T_K=df_out['T_K'])
ZT22_SCAS.head()
[37]:
SCAS6_ppm | SiO2_Liq | TiO2_Liq | Al2O3_Liq | FeOt_Liq | MnO_Liq | MgO_Liq | CaO_Liq | Na2O_Liq | K2O_Liq | P2O5_Liq | H2O_Liq | Fe3Fet_Liq | Ni_Liq_ppm | Cu_Liq_ppm | SiO2_magma | TiO2_magma | Al2O3_magma | Fe2O3_magma | FeO_magma | MnO_magma | MgO_magma | CaO_magma | Na2O_magma | K2O_magma | P2O5_magma | Cr2O3_magma | Ni_magma | Cu_magma | Cr2O3_Liq | Ni_Liq | Cu_Liq | SiO2_cumulate | TiO2_cumulate | Al2O3_cumulate | Fe2O3_cumulate | FeO_cumulate | MnO_cumulate | MgO_cumulate | CaO_cumulate | Na2O_cumulate | K2O_cumulate | P2O5_cumulate | Cr2O3_cumulate | Ni_cumulate | Cu_cumulate | Temperature | Temperature_Olv | Olv_Fo_magma | Olv_Kd | Olv_Fo_cumulate | Pressure(kbar) | Lg(fO2) | dNNO | density | Ln(viscosity) | Melt_%_magma | Olv_%_magma | Olv_Peritectic | Fluid_%_magma | Olv_%_cumulate | Sample | Unnamed:58 | T_K | P_kbar | Fraction_melt | Sample_ID_Liq | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 8800.801280 | 49.9010 | 0.9981 | 14.9715 | 8.980926 | 0 | 9.9763 | 11.9772 | 2.4953 | 0.1996 | 0.0998 | 0.0 | 0.098489 | 697.8 | 99.8 | 49.9010 | 0.9981 | 14.9715 | 0.9839 | 8.0964 | 0.0998 | 9.9763 | 11.9772 | 2.4953 | 0.1996 | 0.0998 | 0.0998 | 697.8 | 99.8 | 0.0998 | 697.8 | 99.8 | 40.2986 | 0 | 0 | 0 | 11.7372 | 0 | 46.9121 | 0 | 0 | 0 | 0 | 0 | 8257.6 | 10.0 | 1253.281 | 1253.281 | 87.69 | 0.308 | 87.69 | 1 | -7.72 | -0.7 | 2.683 | 6.25 | 99.9900 | 0 | N | 0 | 0.0100 | PetrologDefault | 08:21:15 | 1526.431 | 1 | 0.999900 | 0 |
1 | 8329.162079 | 49.9978 | 1.0081 | 15.1220 | 8.951296 | 0 | 9.6064 | 12.0976 | 2.5203 | 0.2016 | 0.1008 | 0.0 | 0.097851 | 624.6 | 100.7 | 49.9978 | 1.0081 | 15.1220 | 0.9743 | 8.0754 | 0.1008 | 9.6064 | 12.0976 | 2.5203 | 0.2016 | 0.1008 | 0.1008 | 624.6 | 100.7 | 0.1008 | 624.6 | 100.7 | 40.2698 | 0 | 0 | 0 | 11.9273 | 0 | 46.7855 | 0 | 0 | 0 | 0 | 0 | 7984.5 | 10.0 | 1243.430 | 1243.430 | 87.28 | 0.309 | 87.49 | 1 | -7.83 | -0.7 | 2.682 | 6.38 | 98.9950 | 0 | N | 0 | 1.0050 | PetrologDefault | 08:21:15 | 1516.580 | 1 | 0.989950 | 1 |
2 | 7866.305310 | 50.0982 | 1.0185 | 15.2770 | 8.916645 | 0 | 9.2279 | 12.2216 | 2.5462 | 0.2037 | 0.1018 | 0.0 | 0.097284 | 554.8 | 101.6 | 50.0982 | 1.0185 | 15.2770 | 0.9649 | 8.0492 | 0.1018 | 9.2279 | 12.2216 | 2.5462 | 0.2037 | 0.1018 | 0.1018 | 554.8 | 101.6 | 0.1018 | 554.8 | 101.6 | 40.2390 | 0 | 0 | 0 | 12.1280 | 0 | 46.6507 | 0 | 0 | 0 | 0 | 0 | 7708.8 | 10.1 | 1233.064 | 1233.064 | 86.83 | 0.310 | 87.27 | 1 | -7.94 | -0.7 | 2.681 | 6.52 | 97.9904 | 0 | N | 0 | 2.0096 | PetrologDefault | 08:21:15 | 1506.214 | 1 | 0.979904 | 2 |
3 | 7420.997354 | 50.2003 | 1.0289 | 15.4337 | 8.877334 | 0 | 8.8486 | 12.3469 | 2.5723 | 0.2058 | 0.1029 | 0.0 | 0.096823 | 489.9 | 102.6 | 50.2003 | 1.0289 | 15.4337 | 0.9561 | 8.0178 | 0.1029 | 8.8486 | 12.3469 | 2.5723 | 0.2058 | 0.1029 | 0.1029 | 489.9 | 102.6 | 0.1029 | 489.9 | 102.6 | 40.2069 | 0 | 0 | 0 | 12.3359 | 0 | 46.5096 | 0 | 0 | 0 | 0 | 0 | 7436.5 | 10.1 | 1222.361 | 1222.361 | 86.36 | 0.311 | 87.05 | 1 | -8.05 | -0.7 | 2.680 | 6.67 | 96.9959 | 0 | N | 0 | 3.0041 | PetrologDefault | 08:21:15 | 1495.511 | 1 | 0.969959 | 3 |
4 | 6983.909186 | 50.3062 | 1.0397 | 15.5950 | 8.832002 | 0 | 8.4612 | 12.4760 | 2.5992 | 0.2079 | 0.1040 | 0.0 | 0.096445 | 428.7 | 103.5 | 50.3062 | 1.0397 | 15.5950 | 0.9475 | 7.9802 | 0.1040 | 8.4612 | 12.4760 | 2.5992 | 0.2079 | 0.1040 | 0.1040 | 428.7 | 103.5 | 0.1040 | 428.7 | 103.5 | 40.1725 | 0 | 0 | 0 | 12.5558 | 0 | 46.3589 | 0 | 0 | 0 | 0 | 0 | 7162.8 | 10.2 | 1211.080 | 1211.080 | 85.84 | 0.312 | 86.81 | 1 | -8.18 | -0.7 | 2.679 | 6.83 | 95.9923 | 0 | N | 0 | 4.0077 | PetrologDefault | 08:21:15 | 1484.230 | 1 | 0.959923 | 4 |
Now combine to calculate the total S, using S6+/ST ratio from Nash
[38]:
df_ST_Nash=ss.calculate_S_Total_SCSS_SCAS(Fe3Fet_Liq=df_out['Fe3Fet_Liq'],
SCSS=Smythe_FixedSulf['SCSS2_ppm_ideal_Smythe2017'],
T_K=df_out['T_K'],
SCAS=ZT22_SCAS['SCAS6_ppm'], model='Nash')
df_ST_Nash.head()
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)
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)
[38]:
Total_S_ppm | S2_Tot_ppm | S6_Tot_ppm | deltaQFM | S6St_Liq | SCSS_2_ppm | SCAS_6_ppm | SCSS_Tot | SCAS_Tot | S6 in SCSS_Tot | S2 in SCAS_Tot | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1181.411865 | 1163.632126 | 17.779739 | None | 0.015050 | 1163.632126 | 8800.801280 | 1181.411865 | 5.847876e+05 | 17.779739 | 5.759868e+05 |
1 | 1146.119468 | 1132.187652 | 13.931816 | None | 0.012156 | 1132.187652 | 8329.162079 | 1146.119468 | 6.852097e+05 | 13.931816 | 6.768805e+05 |
2 | 1110.380551 | 1099.523987 | 10.856564 | None | 0.009777 | 1099.523987 | 7866.305310 | 1110.380551 | 8.045448e+05 | 10.856564 | 7.966785e+05 |
3 | 1074.748164 | 1066.279038 | 8.469126 | None | 0.007880 | 1066.279038 | 7420.997354 | 1074.748164 | 9.417386e+05 | 8.469126 | 9.343176e+05 |
4 | 1038.301658 | 1031.735153 | 6.566504 | None | 0.006324 | 1031.735153 | 6983.909186 | 1038.301658 | 1.104302e+06 | 6.566504 | 1.097318e+06 |
Using Jugo et al. (2010)
First we need to calculate delta QFM relative to Frost, which is what Jugo has to use.
[39]:
# You will need to pip install thermobar
#!pip install Thermobar
import Thermobar as pt
pt.__version__
[39]:
'1.0.17'
[40]:
Buffer_calc=pt.convert_fo2_to_buffer(fo2=10**df_out['Lg(fO2)'],
T_K=df_out['T_K'], P_kbar=df_out['P_kbar'])
Buffer_calc.head()
[40]:
DeltaNNO_Frost1991 | DeltaQFM_Frost1991 | QFM_equation_Choice | T_K | P_kbar | fo2 | DeltaQFM_ONeill1987 | Cut off T (K) | |
---|---|---|---|---|---|---|---|---|
0 | -0.777890 | -0.085829 | High T | 1526.431 | 1 | 1.905461e-08 | 0.110830 | 871.15 |
1 | -0.781999 | -0.089502 | High T | 1516.580 | 1 | 1.479108e-08 | 0.107427 | 871.15 |
2 | -0.779077 | -0.086116 | High T | 1506.214 | 1 | 1.148154e-08 | 0.111103 | 871.15 |
3 | -0.770841 | -0.077393 | High T | 1495.511 | 1 | 8.912509e-09 | 0.120128 | 871.15 |
4 | -0.774373 | -0.080406 | High T | 1484.230 | 1 | 6.606934e-09 | 0.117438 | 871.15 |
[41]:
# Then calculate buffer using Thermobar
Buffer_calc=pt.convert_fo2_to_buffer(fo2=10**df_out['Lg(fO2)'],
T_K=df_out['T_K'], P_kbar=df_out['P_kbar'])
Buffer_calc.head()
[41]:
DeltaNNO_Frost1991 | DeltaQFM_Frost1991 | QFM_equation_Choice | T_K | P_kbar | fo2 | DeltaQFM_ONeill1987 | Cut off T (K) | |
---|---|---|---|---|---|---|---|---|
0 | -0.777890 | -0.085829 | High T | 1526.431 | 1 | 1.905461e-08 | 0.110830 | 871.15 |
1 | -0.781999 | -0.089502 | High T | 1516.580 | 1 | 1.479108e-08 | 0.107427 | 871.15 |
2 | -0.779077 | -0.086116 | High T | 1506.214 | 1 | 1.148154e-08 | 0.111103 | 871.15 |
3 | -0.770841 | -0.077393 | High T | 1495.511 | 1 | 8.912509e-09 | 0.120128 | 871.15 |
4 | -0.774373 | -0.080406 | High T | 1484.230 | 1 | 6.606934e-09 | 0.117438 | 871.15 |
[42]:
df_ST_Jugo=ss.calculate_S_Total_SCSS_SCAS(deltaQFM=Buffer_calc['DeltaQFM_Frost1991'],
SCSS=Smythe_FixedSulf['SCSS2_ppm_ideal_Smythe2017'],
T_K=df_out['T_K'],
SCAS=ZT22_SCAS['SCAS6_ppm'], model='Jugo')
df_ST_Jugo.head()
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)
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)
[42]:
Total_S_ppm | S2_Tot_ppm | S6_Tot_ppm | deltaQFM | S6St_Liq | SCSS_2_ppm | SCAS_6_ppm | SCSS_Tot | SCAS_Tot | S6 in SCSS_Tot | S2 in SCAS_Tot | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1169.857388 | 1163.632126 | 6.225262 | -0.085829 | 0.005321 | 1163.632126 | 8800.801280 | 1169.857388 | 1.653855e+06 | 6.225262 | 1.645055e+06 |
1 | 1138.143086 | 1132.187652 | 5.955434 | -0.089502 | 0.005233 | 1132.187652 | 8329.162079 | 1138.143086 | 1.591786e+06 | 5.955434 | 1.583457e+06 |
2 | 1105.398524 | 1099.523987 | 5.874536 | -0.086116 | 0.005314 | 1099.523987 | 7866.305310 | 1105.398524 | 1.480185e+06 | 5.874536 | 1.472319e+06 |
3 | 1072.209449 | 1066.279038 | 5.930411 | -0.077393 | 0.005531 | 1066.279038 | 7420.997354 | 1072.209449 | 1.341705e+06 | 5.930411 | 1.334284e+06 |
4 | 1037.394378 | 1031.735153 | 5.659225 | -0.080406 | 0.005455 | 1031.735153 | 6983.909186 | 1037.394378 | 1.280223e+06 | 5.659225 | 1.273239e+06 |
Or can instead just enter a S6/ST ratio, if say you have done Xanes
This could be any float, integer or panda series, we use 20% S6+ here
[43]:
df_ST_FixedS6=ss.calculate_S_Total_SCSS_SCAS(
SCSS=Smythe_FixedSulf['SCSS2_ppm_ideal_Smythe2017'],
SCAS=ZT22_SCAS['SCAS6_ppm'], S6St_Liq=0.2)
df_ST_FixedS6.head()
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)
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)
[43]:
Total_S_ppm | S2_Tot_ppm | S6_Tot_ppm | deltaQFM | S6St_Liq | SCSS_2_ppm | SCAS_6_ppm | SCSS_Tot | SCAS_Tot | S6 in SCSS_Tot | S2 in SCAS_Tot | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1454.540158 | 1163.632126 | 290.908032 | None | 0.2 | 1163.632126 | 8800.801280 | 1454.540158 | 44004.006400 | 290.908032 | 35203.205120 |
1 | 1415.234565 | 1132.187652 | 283.046913 | None | 0.2 | 1132.187652 | 8329.162079 | 1415.234565 | 41645.810394 | 283.046913 | 33316.648316 |
2 | 1374.404984 | 1099.523987 | 274.880997 | None | 0.2 | 1099.523987 | 7866.305310 | 1374.404984 | 39331.526550 | 274.880997 | 31465.221240 |
3 | 1332.848797 | 1066.279038 | 266.569759 | None | 0.2 | 1066.279038 | 7420.997354 | 1332.848797 | 37104.986770 | 266.569759 | 29683.989416 |
4 | 1289.668942 | 1031.735153 | 257.933788 | None | 0.2 | 1031.735153 | 6983.909186 | 1289.668942 | 34919.545930 | 257.933788 | 27935.636744 |
Can also use the transition of Kleinsasser et al. 2022
Specifically for dacitic melt compositions, only requires delta QFM
[44]:
df_ST_Klein=ss.calculate_S_Total_SCSS_SCAS(
SCSS=Smythe_FixedSulf['SCSS2_ppm_ideal_Smythe2017'],
T_K=df_out['T_K'], deltaQFM=Buffer_calc['DeltaQFM_Frost1991'],
SCAS=ZT22_SCAS['SCAS6_ppm'], model='Kleinsasser')
df_ST_Klein.head()
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)
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)
[44]:
Total_S_ppm | S2_Tot_ppm | S6_Tot_ppm | deltaQFM | S6St_Liq | SCSS_2_ppm | SCAS_6_ppm | SCSS_Tot | SCAS_Tot | S6 in SCSS_Tot | S2 in SCAS_Tot | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1164.330612 | NaN | NaN | -0.085829 | NaN | 1163.632126 | 8800.801280 | 1164.330612 | 45637.730330 | 0.698486 | 36836.929050 |
1 | 1132.855863 | NaN | NaN | -0.089502 | NaN | 1132.187652 | 8329.162079 | 1132.855863 | 43449.059868 | 0.668211 | 35119.897789 |
2 | 1100.183121 | NaN | NaN | -0.086116 | NaN | 1099.523987 | 7866.305310 | 1100.183121 | 40810.649273 | 0.659134 | 32944.343963 |
3 | 1066.944441 | NaN | NaN | -0.077393 | NaN | 1066.279038 | 7420.997354 | 1066.944441 | 37962.897991 | 0.665403 | 30541.900637 |
4 | 1032.370129 | NaN | NaN | -0.080406 | NaN | 1031.735153 | 6983.909186 | 1032.370129 | 35900.632169 | 0.634975 | 28916.722983 |
Can also use ONeill and Mavrogenes to calculate the sulfate capacity. See the workbook ‘CS6_S6ST_Correction’ for more detail on this method
[45]:
calcS_OM2022_GivenFe3=ss.calculate_OM2022_S6St(df=df_out, T_K=df_out['T_K'],
Fe3Fet_Liq=df_out['Fe3Fet_Liq'])
calcS_OM2022_GivenFe3.head()
[45]:
S6St_Liq | LnCS2_calc | LnCS6_calc | LnKSO2S2 | LnS6S2 | deltaQFM_calc | SiO2_Liq | TiO2_Liq | Al2O3_Liq | FeOt_Liq | MnO_Liq | MgO_Liq | CaO_Liq | Na2O_Liq | K2O_Liq | P2O5_Liq | H2O_Liq | Fe3Fet_Liq | Ni_Liq_ppm | Cu_Liq_ppm | SiO2_magma | TiO2_magma | Al2O3_magma | Fe2O3_magma | FeO_magma | MnO_magma | MgO_magma | CaO_magma | Na2O_magma | K2O_magma | P2O5_magma | Cr2O3_magma | Ni_magma | Cu_magma | Cr2O3_Liq | Ni_Liq | Cu_Liq | SiO2_cumulate | TiO2_cumulate | Al2O3_cumulate | Fe2O3_cumulate | FeO_cumulate | MnO_cumulate | MgO_cumulate | CaO_cumulate | Na2O_cumulate | K2O_cumulate | P2O5_cumulate | Cr2O3_cumulate | Ni_cumulate | Cu_cumulate | Temperature | Temperature_Olv | Olv_Fo_magma | Olv_Kd | Olv_Fo_cumulate | Pressure(kbar) | Lg(fO2) | dNNO | density | Ln(viscosity) | Melt_%_magma | Olv_%_magma | Olv_Peritectic | Fluid_%_magma | Olv_%_cumulate | Sample | Unnamed:58 | T_K | P_kbar | Fraction_melt | Sample_ID_Liq | SiO2_Liq_mol_frac | MgO_Liq_mol_frac | MnO_Liq_mol_frac | FeOt_Liq_mol_frac | CaO_Liq_mol_frac | Al2O3_Liq_mol_frac | Na2O_Liq_mol_frac | K2O_Liq_mol_frac | TiO2_Liq_mol_frac | P2O5_Liq_mol_frac | Si_Liq_cat_frac | Mg_Liq_cat_frac | Mn_Liq_cat_frac | Fet_Liq_cat_frac | Ca_Liq_cat_frac | Al_Liq_cat_frac | Na_Liq_cat_frac | K_Liq_cat_frac | Ti_Liq_cat_frac | P_Liq_cat_frac | Mg_Number_Liq_NoFe3 | Mg_Number_Liq_Fe3 | logfo2_calc | Fe2_Liq_cat_frac | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0.010815 | -2.202857 | 12.717791 | -16.307958 | -4.515928 | 0.070616 | 49.9010 | 0.9981 | 14.9715 | 8.980926 | 0.0998 | 9.9763 | 11.9772 | 2.4953 | 0.1996 | 0.0998 | 0.0 | 0.098489 | 697.8 | 99.8 | 49.9010 | 0.9981 | 14.9715 | 0.9839 | 8.0964 | 0.0998 | 9.9763 | 11.9772 | 2.4953 | 0.1996 | 0.0998 | 0.0998 | 697.8 | 99.8 | 0.0998 | 697.8 | 99.8 | 40.2986 | 0 | 0 | 0 | 11.7372 | 0 | 46.9121 | 0 | 0 | 0 | 0 | 0 | 8257.6 | 10.0 | 1253.281 | 1253.281 | 87.69 | 0.308 | 87.69 | 1 | -7.72 | -0.7 | 2.683 | 6.25 | 99.9900 | 0 | N | 0 | 0.0100 | PetrologDefault | 08:21:15 | 1526.431 | 1 | 0.999900 | 0 | 0.512524 | 0.152750 | 0.000868 | 0.077140 | 0.131805 | 0.090614 | 0.024845 | 0.001308 | 0.007711 | 0.000434 | 0.458757 | 0.136726 | 0.000777 | 0.069048 | 0.117978 | 0.162217 | 0.044478 | 0.002341 | 0.006902 | 0.000777 | 0.664440 | 0.687150 | -7.761827 | 0.062247 |
1 | 0.009048 | -2.291531 | 12.841584 | -16.541783 | -4.696094 | 0.041201 | 49.9978 | 1.0081 | 15.1220 | 8.951296 | 0.1008 | 9.6064 | 12.0976 | 2.5203 | 0.2016 | 0.1008 | 0.0 | 0.097851 | 624.6 | 100.7 | 49.9978 | 1.0081 | 15.1220 | 0.9743 | 8.0754 | 0.1008 | 9.6064 | 12.0976 | 2.5203 | 0.2016 | 0.1008 | 0.1008 | 624.6 | 100.7 | 0.1008 | 624.6 | 100.7 | 40.2698 | 0 | 0 | 0 | 11.9273 | 0 | 46.7855 | 0 | 0 | 0 | 0 | 0 | 7984.5 | 10.0 | 1243.430 | 1243.430 | 87.28 | 0.309 | 87.49 | 1 | -7.83 | -0.7 | 2.682 | 6.38 | 98.9950 | 0 | N | 0 | 1.0050 | PetrologDefault | 08:21:15 | 1516.580 | 1 | 0.989950 | 1 | 0.514720 | 0.147431 | 0.000879 | 0.077066 | 0.133442 | 0.091739 | 0.025153 | 0.001324 | 0.007806 | 0.000439 | 0.460124 | 0.131793 | 0.000786 | 0.068892 | 0.119288 | 0.164017 | 0.044970 | 0.002367 | 0.006978 | 0.000785 | 0.656710 | 0.679537 | -7.897861 | 0.062150 |
2 | 0.007578 | -2.386549 | 12.973861 | -16.791165 | -4.874920 | 0.012558 | 50.0982 | 1.0185 | 15.2770 | 8.916645 | 0.1018 | 9.2279 | 12.2216 | 2.5462 | 0.2037 | 0.1018 | 0.0 | 0.097284 | 554.8 | 101.6 | 50.0982 | 1.0185 | 15.2770 | 0.9649 | 8.0492 | 0.1018 | 9.2279 | 12.2216 | 2.5462 | 0.2037 | 0.1018 | 0.1018 | 554.8 | 101.6 | 0.1018 | 554.8 | 101.6 | 40.2390 | 0 | 0 | 0 | 12.1280 | 0 | 46.6507 | 0 | 0 | 0 | 0 | 0 | 7708.8 | 10.1 | 1233.064 | 1233.064 | 86.83 | 0.310 | 87.27 | 1 | -7.94 | -0.7 | 2.681 | 6.52 | 97.9904 | 0 | N | 0 | 2.0096 | PetrologDefault | 08:21:15 | 1506.214 | 1 | 0.979904 | 2 | 0.516994 | 0.141963 | 0.000890 | 0.076952 | 0.135134 | 0.092903 | 0.025473 | 0.001341 | 0.007906 | 0.000445 | 0.461536 | 0.126734 | 0.000794 | 0.068697 | 0.120638 | 0.165874 | 0.045480 | 0.002394 | 0.007058 | 0.000794 | 0.648476 | 0.671438 | -8.040201 | 0.062014 |
3 | 0.006390 | -2.486488 | 13.112564 | -17.052315 | -5.046569 | -0.014195 | 50.2003 | 1.0289 | 15.4337 | 8.877334 | 0.1029 | 8.8486 | 12.3469 | 2.5723 | 0.2058 | 0.1029 | 0.0 | 0.096823 | 489.9 | 102.6 | 50.2003 | 1.0289 | 15.4337 | 0.9561 | 8.0178 | 0.1029 | 8.8486 | 12.3469 | 2.5723 | 0.2058 | 0.1029 | 0.1029 | 489.9 | 102.6 | 0.1029 | 489.9 | 102.6 | 40.2069 | 0 | 0 | 0 | 12.3359 | 0 | 46.5096 | 0 | 0 | 0 | 0 | 0 | 7436.5 | 10.1 | 1222.361 | 1222.361 | 86.36 | 0.311 | 87.05 | 1 | -8.05 | -0.7 | 2.680 | 6.67 | 96.9959 | 0 | N | 0 | 3.0041 | PetrologDefault | 08:21:15 | 1495.511 | 1 | 0.969959 | 3 | 0.519301 | 0.136457 | 0.000902 | 0.076798 | 0.136850 | 0.094083 | 0.025796 | 0.001358 | 0.008006 | 0.000451 | 0.462964 | 0.121653 | 0.000804 | 0.068467 | 0.122003 | 0.167752 | 0.045995 | 0.002421 | 0.007137 | 0.000803 | 0.639869 | 0.662987 | -8.186003 | 0.061838 |
4 | 0.005400 | -2.593890 | 13.261190 | -17.331682 | -5.215929 | -0.039894 | 50.3062 | 1.0397 | 15.5950 | 8.832002 | 0.1040 | 8.4612 | 12.4760 | 2.5992 | 0.2079 | 0.1040 | 0.0 | 0.096445 | 428.7 | 103.5 | 50.3062 | 1.0397 | 15.5950 | 0.9475 | 7.9802 | 0.1040 | 8.4612 | 12.4760 | 2.5992 | 0.2079 | 0.1040 | 0.1040 | 428.7 | 103.5 | 0.1040 | 428.7 | 103.5 | 40.1725 | 0 | 0 | 0 | 12.5558 | 0 | 46.3589 | 0 | 0 | 0 | 0 | 0 | 7162.8 | 10.2 | 1211.080 | 1211.080 | 85.84 | 0.312 | 86.81 | 1 | -8.18 | -0.7 | 2.679 | 6.83 | 95.9923 | 0 | N | 0 | 4.0077 | PetrologDefault | 08:21:15 | 1484.230 | 1 | 0.959923 | 4 | 0.521687 | 0.130806 | 0.000913 | 0.076596 | 0.138624 | 0.095302 | 0.026130 | 0.001375 | 0.008110 | 0.000457 | 0.464439 | 0.116452 | 0.000813 | 0.068190 | 0.123411 | 0.169687 | 0.046526 | 0.002449 | 0.007220 | 0.000813 | 0.630682 | 0.653976 | -8.339038 | 0.061614 |
Can do using logfo2
This is more robust, because the Oneill definition for how Fe3Fet relates to logfo2 isnt the same as the one being used by Petrolog
[46]:
calcS_OM2022_Givenlogfo2=ss.calculate_OM2022_S6St(df=df_out, T_K=df_out['T_K'],
logfo2=df_out['Lg(fO2)'])
calcS_OM2022_Givenlogfo2.head()
[46]:
S6St_Liq | LnCS2_calc | LnCS6_calc | LnKSO2S2 | LnS6S2 | deltaQFM_calc | SiO2_Liq | TiO2_Liq | Al2O3_Liq | FeOt_Liq | MnO_Liq | MgO_Liq | CaO_Liq | Na2O_Liq | K2O_Liq | P2O5_Liq | H2O_Liq | Fe3Fet_Liq | Ni_Liq_ppm | Cu_Liq_ppm | SiO2_magma | TiO2_magma | Al2O3_magma | Fe2O3_magma | FeO_magma | MnO_magma | MgO_magma | CaO_magma | Na2O_magma | K2O_magma | P2O5_magma | Cr2O3_magma | Ni_magma | Cu_magma | Cr2O3_Liq | Ni_Liq | Cu_Liq | SiO2_cumulate | TiO2_cumulate | Al2O3_cumulate | Fe2O3_cumulate | FeO_cumulate | MnO_cumulate | MgO_cumulate | CaO_cumulate | Na2O_cumulate | K2O_cumulate | P2O5_cumulate | Cr2O3_cumulate | Ni_cumulate | Cu_cumulate | Temperature | Temperature_Olv | Olv_Fo_magma | Olv_Kd | Olv_Fo_cumulate | Pressure(kbar) | Lg(fO2) | dNNO | density | Ln(viscosity) | Melt_%_magma | Olv_%_magma | Olv_Peritectic | Fluid_%_magma | Olv_%_cumulate | Sample | Unnamed:58 | T_K | P_kbar | Fraction_melt | Sample_ID_Liq | SiO2_Liq_mol_frac | MgO_Liq_mol_frac | MnO_Liq_mol_frac | FeOt_Liq_mol_frac | CaO_Liq_mol_frac | Al2O3_Liq_mol_frac | Na2O_Liq_mol_frac | K2O_Liq_mol_frac | TiO2_Liq_mol_frac | P2O5_Liq_mol_frac | Si_Liq_cat_frac | Mg_Liq_cat_frac | Mn_Liq_cat_frac | Fet_Liq_cat_frac | Ca_Liq_cat_frac | Al_Liq_cat_frac | Na_Liq_cat_frac | K_Liq_cat_frac | Ti_Liq_cat_frac | P_Liq_cat_frac | Mg_Number_Liq_NoFe3 | Mg_Number_Liq_Fe3 | Fe2Fet_Liq_calc | Fe2_Liq_cat_frac | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0.013062 | -2.202857 | 12.716180 | -16.307958 | -4.324920 | 0.112443 | 49.9010 | 0.9981 | 14.9715 | 8.980926 | 0.0998 | 9.9763 | 11.9772 | 2.4953 | 0.1996 | 0.0998 | 0.0 | 0.098489 | 697.8 | 99.8 | 49.9010 | 0.9981 | 14.9715 | 0.9839 | 8.0964 | 0.0998 | 9.9763 | 11.9772 | 2.4953 | 0.1996 | 0.0998 | 0.0998 | 697.8 | 99.8 | 0.0998 | 697.8 | 99.8 | 40.2986 | 0 | 0 | 0 | 11.7372 | 0 | 46.9121 | 0 | 0 | 0 | 0 | 0 | 8257.6 | 10.0 | 1253.281 | 1253.281 | 87.69 | 0.308 | 87.69 | 1 | -7.72 | -0.7 | 2.683 | 6.25 | 99.9900 | 0 | N | 0 | 0.0100 | PetrologDefault | 08:21:15 | 1526.431 | 1 | 0.999900 | 0 | 0.512524 | 0.152750 | 0.000868 | 0.077140 | 0.131805 | 0.090614 | 0.024845 | 0.001308 | 0.007711 | 0.000434 | 0.458757 | 0.136726 | 0.000777 | 0.069048 | 0.117978 | 0.162217 | 0.044478 | 0.002341 | 0.006902 | 0.000777 | 0.664440 | 0.687150 | 0.899352 | 0.062098 |
1 | 0.012295 | -2.291531 | 12.838958 | -16.541783 | -4.386210 | 0.109061 | 49.9978 | 1.0081 | 15.1220 | 8.951296 | 0.1008 | 9.6064 | 12.0976 | 2.5203 | 0.2016 | 0.1008 | 0.0 | 0.097851 | 624.6 | 100.7 | 49.9978 | 1.0081 | 15.1220 | 0.9743 | 8.0754 | 0.1008 | 9.6064 | 12.0976 | 2.5203 | 0.2016 | 0.1008 | 0.1008 | 624.6 | 100.7 | 0.1008 | 624.6 | 100.7 | 40.2698 | 0 | 0 | 0 | 11.9273 | 0 | 46.7855 | 0 | 0 | 0 | 0 | 0 | 7984.5 | 10.0 | 1243.430 | 1243.430 | 87.28 | 0.309 | 87.49 | 1 | -7.83 | -0.7 | 2.682 | 6.38 | 98.9950 | 0 | N | 0 | 1.0050 | PetrologDefault | 08:21:15 | 1516.580 | 1 | 0.989950 | 1 | 0.514720 | 0.147431 | 0.000879 | 0.077066 | 0.133442 | 0.091739 | 0.025153 | 0.001324 | 0.007806 | 0.000439 | 0.460124 | 0.131793 | 0.000786 | 0.068892 | 0.119288 | 0.164017 | 0.044970 | 0.002367 | 0.006978 | 0.000785 | 0.656710 | 0.679537 | 0.898646 | 0.061909 |
2 | 0.011922 | -2.386549 | 12.969959 | -16.791165 | -4.417377 | 0.112759 | 50.0982 | 1.0185 | 15.2770 | 8.916645 | 0.1018 | 9.2279 | 12.2216 | 2.5462 | 0.2037 | 0.1018 | 0.0 | 0.097284 | 554.8 | 101.6 | 50.0982 | 1.0185 | 15.2770 | 0.9649 | 8.0492 | 0.1018 | 9.2279 | 12.2216 | 2.5462 | 0.2037 | 0.1018 | 0.1018 | 554.8 | 101.6 | 0.1018 | 554.8 | 101.6 | 40.2390 | 0 | 0 | 0 | 12.1280 | 0 | 46.6507 | 0 | 0 | 0 | 0 | 0 | 7708.8 | 10.1 | 1233.064 | 1233.064 | 86.83 | 0.310 | 87.27 | 1 | -7.94 | -0.7 | 2.681 | 6.52 | 97.9904 | 0 | N | 0 | 2.0096 | PetrologDefault | 08:21:15 | 1506.214 | 1 | 0.979904 | 2 | 0.516994 | 0.141963 | 0.000890 | 0.076952 | 0.135134 | 0.092903 | 0.025473 | 0.001341 | 0.007906 | 0.000445 | 0.461536 | 0.126734 | 0.000794 | 0.068697 | 0.120638 | 0.165874 | 0.045480 | 0.002394 | 0.007058 | 0.000794 | 0.648476 | 0.671438 | 0.897532 | 0.061658 |
3 | 0.011826 | -2.486488 | 13.107226 | -17.052315 | -4.425590 | 0.121808 | 50.2003 | 1.0289 | 15.4337 | 8.877334 | 0.1029 | 8.8486 | 12.3469 | 2.5723 | 0.2058 | 0.1029 | 0.0 | 0.096823 | 489.9 | 102.6 | 50.2003 | 1.0289 | 15.4337 | 0.9561 | 8.0178 | 0.1029 | 8.8486 | 12.3469 | 2.5723 | 0.2058 | 0.1029 | 0.1029 | 489.9 | 102.6 | 0.1029 | 489.9 | 102.6 | 40.2069 | 0 | 0 | 0 | 12.3359 | 0 | 46.5096 | 0 | 0 | 0 | 0 | 0 | 7436.5 | 10.1 | 1222.361 | 1222.361 | 86.36 | 0.311 | 87.05 | 1 | -8.05 | -0.7 | 2.680 | 6.67 | 96.9959 | 0 | N | 0 | 3.0041 | PetrologDefault | 08:21:15 | 1495.511 | 1 | 0.969959 | 3 | 0.519301 | 0.136457 | 0.000902 | 0.076798 | 0.136850 | 0.094083 | 0.025796 | 0.001358 | 0.008006 | 0.000451 | 0.462964 | 0.121653 | 0.000804 | 0.068467 | 0.122003 | 0.167752 | 0.045995 | 0.002421 | 0.007137 | 0.000803 | 0.639869 | 0.662987 | 0.896111 | 0.061354 |
4 | 0.011098 | -2.593890 | 13.254914 | -17.331682 | -4.489806 | 0.119144 | 50.3062 | 1.0397 | 15.5950 | 8.832002 | 0.1040 | 8.4612 | 12.4760 | 2.5992 | 0.2079 | 0.1040 | 0.0 | 0.096445 | 428.7 | 103.5 | 50.3062 | 1.0397 | 15.5950 | 0.9475 | 7.9802 | 0.1040 | 8.4612 | 12.4760 | 2.5992 | 0.2079 | 0.1040 | 0.1040 | 428.7 | 103.5 | 0.1040 | 428.7 | 103.5 | 40.1725 | 0 | 0 | 0 | 12.5558 | 0 | 46.3589 | 0 | 0 | 0 | 0 | 0 | 7162.8 | 10.2 | 1211.080 | 1211.080 | 85.84 | 0.312 | 86.81 | 1 | -8.18 | -0.7 | 2.679 | 6.83 | 95.9923 | 0 | N | 0 | 4.0077 | PetrologDefault | 08:21:15 | 1484.230 | 1 | 0.959923 | 4 | 0.521687 | 0.130806 | 0.000913 | 0.076596 | 0.138624 | 0.095302 | 0.026130 | 0.001375 | 0.008110 | 0.000457 | 0.464439 | 0.116452 | 0.000813 | 0.068190 | 0.123411 | 0.169687 | 0.046526 | 0.002449 | 0.007220 | 0.000813 | 0.630682 | 0.653976 | 0.895277 | 0.061049 |
[47]:
df_ST_OM2022=ss.calculate_S_Total_SCSS_SCAS(
SCSS=Smythe_FixedSulf['SCSS2_ppm_ideal_Smythe2017'],
T_K=df_out['T_K'],
SCAS=ZT22_SCAS['SCAS6_ppm'], S6St_Liq=calcS_OM2022_Givenlogfo2['S6St_Liq'])
df_ST_OM2022.head()
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)
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)
[47]:
Total_S_ppm | S2_Tot_ppm | S6_Tot_ppm | deltaQFM | S6St_Liq | SCSS_2_ppm | SCAS_6_ppm | SCSS_Tot | SCAS_Tot | S6 in SCSS_Tot | S2 in SCAS_Tot | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1179.032345 | 1163.632126 | 15.400218 | None | 0.013062 | 1163.632126 | 8800.801280 | 1179.032345 | 673784.556326 | 15.400218 | 664983.755046 |
1 | 1146.280914 | 1132.187652 | 14.093262 | None | 0.012295 | 1132.187652 | 8329.162079 | 1146.280914 | 677455.639809 | 14.093262 | 669126.477730 |
2 | 1112.790664 | 1099.523987 | 13.266677 | None | 0.011922 | 1099.523987 | 7866.305310 | 1112.790664 | 659814.890490 | 13.266677 | 651948.585180 |
3 | 1079.039354 | 1066.279038 | 12.760316 | None | 0.011826 | 1066.279038 | 7420.997354 | 1079.039354 | 627535.251420 | 12.760316 | 620114.254066 |
4 | 1043.314130 | 1031.735153 | 11.578977 | None | 0.011098 | 1031.735153 | 6983.909186 | 1043.314130 | 629279.369624 | 11.578977 | 622295.460438 |
You can also do this in one step, but it requires you to input your dataframe of liquids
[48]:
df_ST_OM2022_1step=ss.calculate_S_Total_SCSS_SCAS(
SCSS=Smythe_FixedSulf['SCSS2_ppm_ideal_Smythe2017'],
T_K=df_out['T_K'],
SCAS=ZT22_SCAS['SCAS6_ppm'],
model='OM2022', logfo2=df_out['Lg(fO2)'],
df=df_out)
df_ST_OM2022_1step.head()
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)
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)
[48]:
Total_S_ppm | S2_Tot_ppm | S6_Tot_ppm | deltaQFM | S6St_Liq | SCSS_2_ppm | SCAS_6_ppm | SCSS_Tot | SCAS_Tot | S6 in SCSS_Tot | S2 in SCAS_Tot | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1179.032345 | 1163.632126 | 15.400218 | None | 0.013062 | 1163.632126 | 8800.801280 | 1179.032345 | 673784.556326 | 15.400218 | 664983.755046 |
1 | 1146.280914 | 1132.187652 | 14.093262 | None | 0.012295 | 1132.187652 | 8329.162079 | 1146.280914 | 677455.639809 | 14.093262 | 669126.477730 |
2 | 1112.790664 | 1099.523987 | 13.266677 | None | 0.011922 | 1099.523987 | 7866.305310 | 1112.790664 | 659814.890490 | 13.266677 | 651948.585180 |
3 | 1079.039354 | 1066.279038 | 12.760316 | None | 0.011826 | 1066.279038 | 7420.997354 | 1079.039354 | 627535.251420 | 12.760316 | 620114.254066 |
4 | 1043.314130 | 1031.735153 | 11.578977 | None | 0.011098 | 1031.735153 | 6983.909186 | 1043.314130 | 629279.369624 | 11.578977 | 622295.460438 |
[49]:
df_ST_OM2022_1step=ss.calculate_S_Total_SCSS_SCAS(
SCSS=Smythe_FixedSulf['SCSS2_ppm_ideal_Smythe2017'],
T_K=df_out['T_K'],
SCAS=ZT22_SCAS['SCAS6_ppm'],
model='OM2022',logfo2=df_out['Lg(fO2)'],
df=df_out)
df_ST_OM2022_1step.head()
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)
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)
[49]:
Total_S_ppm | S2_Tot_ppm | S6_Tot_ppm | deltaQFM | S6St_Liq | SCSS_2_ppm | SCAS_6_ppm | SCSS_Tot | SCAS_Tot | S6 in SCSS_Tot | S2 in SCAS_Tot | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1179.032345 | 1163.632126 | 15.400218 | None | 0.013062 | 1163.632126 | 8800.801280 | 1179.032345 | 673784.556326 | 15.400218 | 664983.755046 |
1 | 1146.280914 | 1132.187652 | 14.093262 | None | 0.012295 | 1132.187652 | 8329.162079 | 1146.280914 | 677455.639809 | 14.093262 | 669126.477730 |
2 | 1112.790664 | 1099.523987 | 13.266677 | None | 0.011922 | 1099.523987 | 7866.305310 | 1112.790664 | 659814.890490 | 13.266677 | 651948.585180 |
3 | 1079.039354 | 1066.279038 | 12.760316 | None | 0.011826 | 1066.279038 | 7420.997354 | 1079.039354 | 627535.251420 | 12.760316 | 620114.254066 |
4 | 1043.314130 | 1031.735153 | 11.578977 | None | 0.011098 | 1031.735153 | 6983.909186 | 1043.314130 | 629279.369624 | 11.578977 | 622295.460438 |
Lets plot up these results
[50]:
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10,5))
# Using fixed S6
ax1.plot(df_out['MgO_Liq'],
100*df_ST_FixedS6['S6St_Liq'],
'-b', label='Smythe_SCSS, ZT_SCAS, 20% S6')
# using Jugo
ax1.plot(df_out['MgO_Liq'],
100*df_ST_Jugo['S6St_Liq'],
'-m', label='Smythe_SCSS, ZT_SCAS, Jugo S6')
# Using Nash
ax1.plot(df_out['MgO_Liq'],
100*df_ST_Nash['S6St_Liq'],
'-c', label='Smythe_SCSS, ZT_SCAS, Nash S6')
# Using ONeill and Mavrogenes (2022)
ax1.plot(df_out['MgO_Liq'],
100*df_ST_OM2022['S6St_Liq'],
'-', color='grey', label='Smythe_SCSS, ZT_SCAS, OM2022 S6')
# Using Kleinsasser transition
ax2.plot(df_out['MgO_Liq'], df_ST_Klein['Total_S_ppm'],
'-r', label='Smythe_SCSS, ZT_SCAS, Klein S6')
# Using fixed S6
ax2.plot(df_out['MgO_Liq'],
df_ST_FixedS6['Total_S_ppm'],
'-b', label='Smythe_SCSS, ZT_SCAS, 20% S6')
# using Jugo
ax2.plot(df_out['MgO_Liq'],
df_ST_Jugo['Total_S_ppm'],
'-m', label='Smythe_SCSS, ZT_SCAS, Jugo S6')
# Using Nash
ax2.plot(df_out['MgO_Liq'],
df_ST_Nash['Total_S_ppm'],
'-c', label='Smythe_SCSS, ZT_SCAS, Nash S6')
# Using ONeill Mavrogenes (2022)
ax2.plot(df_out['MgO_Liq'],
df_ST_OM2022['Total_S_ppm'],
'-', color='grey', label='Smythe_SCSS, ZT_SCAS, OM2022 S6')
ax1.set_ylabel('S$^{6+}$/S$_T$ (%)')
ax1.set_xlabel('MgO (wt%)')
ax2.set_ylabel('S total (ppm)')
ax2.set_xlabel('MgO (wt%)')
ax2.legend(fontsize=7)
[50]:
<matplotlib.legend.Legend at 0x14f0c0d04c0>
[ ]:
[ ]: