Model dependent variables
Functions for calculating various model dependent variables given a set of conditions (e.g., P and T).
- VolFe.model_dependent_variables.C_CH4(PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Solubility constant for disolving CH4 in the melt: C_CH4 = wmCH4/fCH4 (ppmw/bar).
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
melt_wf (dict) – Melt composition (SiO2, TiO2, etc.), not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is index of “methane” and column label of “option”.
- Returns:
Solubility constant for CH4 in ppmw/bar
- Return type:
Model options for “methane”
‘Basalt_Ardia13’ [default] Eq. (7a) from Ardia et al. (2013) GCA 114:52-71 https://doi.org/10.1016/j.gca.2013.03.028
Only one option available currently, included for future development.
- VolFe.model_dependent_variables.C_CO(PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Solubility constant for disolving CO in the melt: C_CO = wmCO/fCO (ppmw/bar).
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
melt_wf (dict) – Melt composition (SiO2, TiO2, etc.), not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is index of “carbon monoxide” and column label of “option”.
- Returns:
Solubility constant for CH4 in ppmw/bar
- Return type:
Model options for ‘carbon monoxide’
‘Basalt_Hughes24’ [default] CO in Table S4 from Hughes et al. (2024) https://doi.org/10.2138/am-2023-8739, based on data from Armstrong et al. (2015), Stanley et al. (2014), and Wetzel et al. (2013).
Only one option available currently, included for future development.
- VolFe.model_dependent_variables.C_CO3(PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Solubility constant for disolving CO2 as CO2,T (all oxidised carbon, i.e., CO2mol and CO32-, as CO2,T) in the melt: C_CO2,T = xmCO2,T/fCO2 (mole fraction/bar)
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
melt_wf (dict) – Melt composition (SiO2, TiO2, etc.).
models (pandas.DataFrame) – Minimum requirement is index of “carbon dioxide” and column label of “option”.
- Returns:
Solubility constant for CO2 in mole fraction/bar
- Return type:
Model options for ‘carbon dioxide’
‘MORB_Dixon95’ [default] Bullet (5) of summary from Dixon et al. (1995) JPet 36(6):1607-1631 https://doi.org/10.1093/oxfordjournals.petrology.a037267
‘Basalt_Dixon97’ Eq. (7) from Dixon (1997) AmMin 82(3-4)368-378 https://doi.org/10.2138/am-1997-3-415
‘NorthArchBasalt_Dixon97’ Eq. (8) from Dixon (1997) AmMin 82(3-4)368-378 https://doi.org/10.2138/am-1997-3-415
‘Basalt_Lesne11’ Eq. (25,26) from Lesne et al. (2011) CMP 162:153-168 https://doi.org/10.1007/s00410-010-0585-0
‘VesuviusAlkaliBasalt_Lesne11’ VES-9 in Table 4 from Lesne et al. (2011) CMP 162:153-168 https://doi.org/10.1007/s00410-010-0585-0
‘EtnaAlkaliBasalt_Lesne11’ ETN-1 in Table 4 from Lesne et al. (2011) CMP 162:153-168 https://doi.org/10.1007/s00410-010-0585-0
‘StromboliAlkaliBasalt_Lense11’ PST-9 in Table 4 from Lesne et al. (2011) CMP 162:153-168 https://doi.org/10.1007/s00410-010-0585-0
‘Basanite_Holloway94’ Basanite in Table 5 from Holloway and Blank (1994) RiMG 30:187-230 https://doi.org/10.1515/9781501509674-012
‘Leucitite_Thibault94’ Leucitite from Thibault & Holloway (1994) CMP 116:216-224 https://doi.org/10.1007/BF00310701
‘Rhyolite_Blank93’ Fig.2 caption from Blank et al. (1993) EPSL 119:27-36 https://doi.org/10.1016/0012-821X(93)90004-S
‘approx_IaconoMarziano12-anh’ Approximate version of eq. (12) using anhydrous parameters from Iacono-Marziano et al. (2012) GCA 97:1-23 http://dx.doi.org/10.1016/j.gca.2012.08.035
‘approx_IaconoMarziano12-hyd’ Approximate version of eq. (12) using hydrous parameters from Iacono-Marziano et al. (2012) GCA 97:1-23 http://dx.doi.org/10.1016/j.gca.2012.08.035
- VolFe.model_dependent_variables.C_H2(PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Solubility constant for disolving H2 in the melt: C_H2 = wmH2/fH2 (ppmw/bar).
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
melt_wf (dict) – Melt composition (SiO2, TiO2, etc.), not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is index of “hydrogen” and column label of “option”.
- Returns:
Solubility constant for H2 in ppmw/bar
- Return type:
Model options for hydrogen
‘Basalt_Hughes24’ [default] Basalt in Table S4 from Hughes et al. (2024) https://doi.org/10.2138/am-2023-8739, based on experimental data from Hirschmann et al. (2012).
‘Andesite_Hughes24’ Andesite in Table S4 from Hughes et al. (2024) https://doi.org/10.2138/am-2023-8739, based on experimental data from Hirschmann et al. (2012).
- VolFe.model_dependent_variables.C_H2O(PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Solubility constant for disolving H2O in the melt.
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
melt_wf (dict) – Melt composition (SiO2, TiO2, etc.), not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is indexes of “Hspeciation” and “water” and column label of “option”.
- Returns:
Solubility constant for H2O
- Return type:
Model options for Hspeciation
“none” [default]
Only one option available currently, included for future development.
Model options for water
‘Basalt_Hughes24’ [default] Fig.S2 from Hughes et al. (2024) AmMin 109(3):422-438 https://doi.org/10.2138/am-2023-8739
‘Rhyolite_Hughes25’ Eq. (S1) from Hughes et al. (2025) Volcanica 8(2):457-481 https://doi.org/10.30909/vol/imvc1781 based on data in Fig. 3 of Blank et al. (1993)
‘approx_IaconoMarziano12-anh’ Approximate version of eq. (13) using anhydrous parameters from Iacono-Marziano et al. (2012) GCA 97:1-23 http://dx.doi.org/10.1016/j.gca.2012.08.035
‘approx_IaconoMarziano12-hyd’ Approximate version of eq. (13) using hydrous parameters from Iacono-Marziano et al. (2012) GCA 97:1-23 http://dx.doi.org/10.1016/j.gca.2012.08.035
‘approx_IaconoMarziano12-webapp’ Approximate version of eq. (13) using webapp parameters (Wieser et al., 2022) from Iacono-Marziano et al. (2012) GCA 97:1-23 http://dx.doi.org/10.1016/j.gca.2012.08.035
- VolFe.model_dependent_variables.C_H2S(PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Solubility constant for disolving H2S in the melt: C_H2S = wmH2S/fH2S (ppmw/bar).
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
melt_wf (dict) – Melt composition (SiO2, TiO2, etc.)., not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is ndex of “hydrogen sulfide” and column label of “option”.
- Returns:
Solubility constant for H2S in ppmw/bar
- Return type:
Model options for hydrogen sulfide
‘Basalt_Hughes24’ [default] Fig.S6 from Hughes et al. (2024) https://doi.org/10.2138/am-2023-8739, based on experimental data Moune et al. (2009) and calculations in Lesne et al. (2011).
‘BasalticAndesite_Hughes24’ Fig.S6 from Hughes et al. (2024) https://doi.org/10.2138/am-2023-8739, based on experimental data Moune et al. (2009) and calculations in Lesne et al. (2011).
- VolFe.model_dependent_variables.C_S(PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Solubility constant for disolving S in the melt as S2-: C_S = wmS2-*(fO2/fS2)^0.5 (in ppmw and bar).
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
melt_wf (dict) – Melt composition (SiO2, TiO2, etc.)..
models (pandas.DataFrame) – Minimum requirement is index of “sulfide” and column label of “option”.
- Returns:
Solubility constant for S2-
- Return type:
Model options for sulfide
‘ONeill21dil’ [default] Eq. (10.34) inc. H2O dilution from O’Neill (2021) in “Magma Redox Geochemistry” https://doi.org/10.1002/9781119473206.ch10
‘ONeill21’ Eq. (10.34) ex. H2O dilution from O’Neill (2021) in “Magma Redox Geochemistry” https://doi.org/10.1002/9781119473206.ch10
‘ONeill21hyd’ (hydrous) Eq. (10.34, 10.49) from O’Neill (2021) in “Magma Redox Geochemistry” https://doi.org/10.1002/9781119473206.ch10
‘Boulliung23_eq6’ Eq. (6) from Boulliung & Wood (2023) CMP 178:56 https://doi.org10.1007/s00410-023-02033-9
‘Boulliung23_eq7’ Eq. (7) from Boulliung & Wood (2023) CMP 178:56 https://doi.org10.1007/s00410-023-02033-9
‘Boulliung23_eq7_12’ Eq. (7) and (12) [P-effect] from Boulliung & Wood (2023) CMP 178:56 https://doi.org10.1007/s00410-023-02033-9
‘Thomas26_eq15’ Eq. (15) from Thomas, R.W. and Wood, B.J., 2026. Sulfur speciation in silicate melts at high pressure. GCA 417:37-51 https://doi.org/10.1016/j.gca.2026.02.003
‘Gorojovsky26_eq8’ Eq. (8) from Gorojovsky, L.R. and Wood, B.J., (2026). Solubility and speciation of sulfur in silicate melts under crustal conditions. EPSL 687:120088 https://doi.org/10.1016/j.epsl.2026.120088
‘Gorojovsky26_eq8_13’ Eq. (8) and (13) from Gorojovsky, L.R. and Wood, B.J., (2026). Solubility and speciation of sulfur in silicate melts under crustal conditions. EPSL 687:120088 https://doi.org/10.1016/j.epsl.2026.120088
‘Gorojovsky26_eq9’ Eq. (9) from Gorojovsky, L.R. and Wood, B.J., (2026). Solubility and speciation of sulfur in silicate melts under crustal conditions. EPSL 687:120088 687:120088 https://doi.org/10.1016/j.epsl.2026.120088
‘Gorojovsky26_eq9_13’ Eq. (9) and (13) from Gorojovsky, L.R. and Wood, B.J., (2026). Solubility and speciation of sulfur in silicate melts under crustal conditions. EPSL 687:120088 https://doi.org/10.1016/j.epsl.2026.120088
- VolFe.model_dependent_variables.C_SO4(PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Solubility constant for disolving S6+ in the melt: C_SO4 = wmS6+(fS2*fO2^3)^-0.5 (in ppmw and bar)
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
melt_wf (dict) – Melt composition (SiO2, TiO2, etc.)..
models (pandas.DataFrame) – Minimum requirement is index of “sulfate” and column label of “option”.
- Returns:
Solubility constant for S6+
- Return type:
Model options for sulfate
‘ONeill22dil’ [default] Eq. (12a) inc. H2O dilution from O’Neill & Mavrogenes (2022) GCA 334:368-382 https://doi.org/10.1016/j.gca.2022.06.020
‘ONeill22’ Eq. (12a) without H2O dilution from O’Neill & Mavrogenes (2022) GCA 334:368-382 https://doi.org/10.1016/j.gca.2022.06.020
‘Boulliung22nP’ Eq. (5) from Boulliung & Wood (2023) GCA 343:420 https://doi.org/10.1016/j.gca.2022.11.025
‘Boulliung22wP’ Eq. (5) from Boulliung & Wood (2023) GCA 343:420 https://doi.org/10.1016/j.gca.2022.11.025 and Eq. (8) for P from Boulliung & Wood (2022) GCA 336:150-164 https://doi.org/10.1016/j.gca.2022.08.032
‘Boulliung23_eq9’ Eq. (9) from Boulliung & Wood (2023) CMP 178:56 https://doi.org/10.1007/s00410-023-02033-9
‘Boulliung23_eq9_12’ Eq. (9) and (12) [P-effect] from Boulliung & Wood (2023) CMP 178:56 https://doi.org/10.1007/s00410-023-02033-9
‘Boulliung23_eq11’ Eq. (11) from Boulliung & Wood (2023) CMP 178:56 https://doi.org/10.1007/s00410-023-02033-9
‘Thomas26_eq21’ Eq. (21) from Thomas, R.W. and Wood, B.J., 2026. Sulfur speciation in silicate melts at high pressure. GCA 417:37-51 https://doi.org/10.1016/j.gca.2026.02.003
‘Thomas26_eq22’ Eq. (22) from Thomas, R.W. and Wood, B.J., 2026. Sulfur speciation in silicate melts at high pressure. GCA 417:37-51 https://doi.org/10.1016/j.gca.2026.02.003
‘Gorojovsky26_eq10’ Eq. (10) from Gorojovsky, L.R. and Wood, B.J., (2026). Solubility and speciation of sulfur in silicate melts under crustal conditions. EPSL 687:120088 https://doi.org/10.1016/j.epsl.2026.120088
‘Gorojovsky26_eq10_14’ Eq. (10) and (14) from Gorojovsky, L.R. and Wood, B.J., (2026). Solubility and speciation of sulfur in silicate melts under crustal conditions. EPSL 687:120088 https://doi.org/10.1016/j.epsl.2026.120088
‘Gorojovsky26_eq11’ Eq. (11) from Gorojovsky, L.R. and Wood, B.J., (2026). Solubility and speciation of sulfur in silicate melts under crustal conditions. EPSL 687:120088 https://doi.org/10.1016/j.epsl.2026.120088
‘Gorojovsky26_eq11_14’ Eq. (11) and (14) from Gorojovsky, L.R. and Wood, B.J., (2026). Solubility and speciation of sulfur in silicate melts under crustal conditions. EPSL 687:120088 https://doi.org/10.1016/j.epsl.2026.120088
- VolFe.model_dependent_variables.C_X(PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Solubility constant for disolving X in the melt: C_X = wmX/fX (ppmw/bar).
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
melt_wf (dict) – Melt composition (SiO2, TiO2, etc.), not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is index of “species X solubility” and column label of “option”.
- Returns:
Solubility constant for X in ppmw/bar
- Return type:
Model options for species X solubility
‘Ar_Basalt_Hughes25’ [default] Eq. (S2) Hughes et al. (2025) Volcanica 8(2):457-481 https://doi.org/10.30909/vol/imvc1781 based on data from Iacono-Marziano et al. (2010) Chemical Geology 279(3–4):145-157
‘Ar_Rhyolite_Hughes25’ Eq. (S3) Hughes et al. (2025) Volcanica 8(2):457-481 https://doi.org/10.30909/vol/imvc1781 based on data from Iacono-Marziano et al. (2010) Chemical Geology 279(3–4):145-157
‘Ne_Basalt_Hughes25’ Eq. (S4) Hughes et al. (2025) Volcanica 8(2):457-481 https://doi.org/10.30909/vol/imvc1781 based on data from Iacono-Marziano et al. (2010) Chemical Geology 279(3–4):145-157
‘Ne_Rhyolite_Hughes25’ Eq. (S5) Hughes et al. (2025) Volcanica 8(2):457-481 https://doi.org/10.30909/vol/imvc1781 based on data from Iacono-Marziano et al. (2010) Chemical Geology 279(3–4):145-157
[float: user specified number] User can type a number that will be used instead (i.e., a constant value)
- VolFe.model_dependent_variables.FMQ(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
fO2 value of the FMQ buffer.
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is index of “FMQbuffer” and column label of “option”.
- Returns:
log10fO2 value of FMQ buffer
- Return type:
Model options for FMQbuffer
‘Frost91’ Frost (1991) in “Oxide Minerals: Petrologic and Magnetic Significance” https//doi.org/10.1515/9781501508684-004
‘ONeill87’ O’Neill (1897) AmMin 72(1-2):67-75
- VolFe.model_dependent_variables.FefO2_Borisov18_terms(PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Terms for Borisov et al. (2018) [https//doi.org/10.1007/s00410-018-1524-8] equation (4) to convert between fO2 and Fe3+/FeT of the melt.
- VolFe.model_dependent_variables.FefO2_KC91_Eq7_terms(PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Terms for Kress & Carmichael (1991) [https//doi.org/10.1007/BF00307328] equation (7) to convert between fO2 and Fe3+/FeT of the melt.
- VolFe.model_dependent_variables.FefO2_KC91_EqA_terms(PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Terms for Kress & Carmichael (1991) [https//doi.org/10.1007/BF00307328] equation (A-5,6) to convert between fO2 and Fe3+/FeT of the melt.
- VolFe.model_dependent_variables.FefO2_ONeill18_terms(PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Terms for O’Neill et al. (2018) [https//doi.org/10.1016/j.epsl.2018.10.0020012-821X] equation (9a) to convert between fO2 and Fe3+/FeT the melt.
- VolFe.model_dependent_variables.KCOHg(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Equilibrium constant for homogeneous vapor reaction: CH4(g) + 2O2(g) = CO2(g) + 2H2O(g), K = (fCO2*(fH2O^2))/(fCH4*(fO2^2))
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is index of “KCOHg” and column label of “option”.
- Returns:
Equilibrium constant
- Return type:
Model options for KCOHg
‘Ohmoto97’ [default] Reaction (e) in Table 1 of Ohmoto & Kerrick (1997).
‘noCH4’ Almost stops CH4 forming in the vapor, K = very large.
- VolFe.model_dependent_variables.KCOg(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Equilibrium constant for homogeneous vapor reaction: CO(g) + 0.5O2(g) = CO2(g), K = fCO2/(fCO*(fO2^0.5))
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is index of “KCOg” and column label of “option”.
- Returns:
Equilibrium constant
- Return type:
Model options for KCOg
‘Ohmoto97’ [default] Reaction (c) in Table 1 of Ohmoto & Kerrick (1997).
Only one option available currently, included for future development.
- VolFe.model_dependent_variables.KCOm(PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Speciation constant for homogeneous melt reaction: CO2(m) + O(m) = CO3(m)
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
melt_wf (dict) – Melt composition (SiO2, TiO2, etc.), not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is index of “Cspeccomp” and column label of “option”.
- Returns:
Equilibrium constant
- Return type:
Model options for Cspeccomp
‘Basalt’ [default] Assume all oxidised carbon in the melt is present as carbonate ions.
‘Andesite_Botcharnikov06’ Eq. (8) from Botcharnikov et al. (2006) Chem. Geol. 229(1-3)125-143 https://doi.org/10.1016/j.chemgeo.2006.01.016
‘Dacite_Botcharnikov06’ Eq. in the text from Botcharnikov et al. (2006) https://doi.org/10.1016/j.chemgeo.2006.01.016, based on data from Behrens et al. (2004)
‘Rhyolite’ Assume all oxidised carbon in the melt is present as molecular CO2.
- VolFe.model_dependent_variables.KCOs(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Equilibrium constant for heterogeneous vapor-solid reaction: Cgraphite + O2(g) = CO2(g)
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is index of “KCOs” and column label of “option”.
- Returns:
Equilibrium constant
- Return type:
Model options for KCOs
‘Holloway92’ [default] Eq (3) KI in Holloway et al. (1992) Eur J. Mineral. 4:105-114
Only one option available currently, included for future development.
- VolFe.model_dependent_variables.KHOSg(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Equilibrium constant for homogeneous vapor reaction: H2O(g) + 0.5S2(g) = H2S(g) + 0.5O2(g), K = (fH2S*(fO2)^0.5)/((fS2^0.5)*fH2O)
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is ndex of “KHOSg” and column label of “option”.
- Returns:
Equilibrium constant
- Return type:
Model options for KHOSg
‘Ohmoto97’ [default] Reaction (h) in Table 1 of Ohmoto & Kerrick (1997).
‘noH2S’ Stops H2S forming in the vapor, K = 0.
- VolFe.model_dependent_variables.KHOg(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Equilibrium constant for homogeneous vapor reaction: H2(g) + 0.5O2(g) = H2O(g) K = fH2O/(fH2*(fO2)^0.5)
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is index of “KHOg” and column label of “option”.
- Returns:
Equilibrium constant
- Return type:
Model options for KHOg
‘Ohmoto97’ [default] Reaction (d) in Table 1 of Ohmoto & Kerrick (1997).
Only one option available currently, included for future development.
- VolFe.model_dependent_variables.KHOm(PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Speciation constant for homogeneous melt reaction: H2Omol(m) + O(m) = 2OH-(m) assuming ideal mixing.
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
melt_wf (dict) – Melt composition (SiO2, TiO2, etc.), not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is index of “Hspeccomp” and column label of “option”.
- Returns:
Equilibrium constant
- Return type:
Model options for Hspeccomp
‘MORB_HughesIP’ [default] Eq. SX in Hughes et al. (in prep) based on data from Dixon et al. (1995)
‘StromboliAlkaliBasalt_Lesne10’ Eq. (15) Lesne et al. (2010) CMP 162:133-151 https://doi.org/10.1007/s00410-010-0588-x
‘VesuviusAlkaliBasalt_Lesne10’ Eq. (16) Lesne et al. (2010) CMP 162:133-151 https://doi.org/10.1007/s00410-010-0588-x
‘EtnaAlkaliBasalt_Lesne10’ Eq. (17) Lesne et al. (2010) CMP 162:133-151 https://doi.org/10.1007/s00410-010-0588-x
‘Andesite_Botcharnikov06’ Eq (7) from Botcharnikov et al. (2006) Chem. Geol. 229(1-3)125-143 https://doi.org/10.1016/j.chemgeo.2006.01.016
‘Albite_Silver89’ Fig. 8 from Silver & Stolper (1989) J.Pet 30(3)667-709 https://doi.org/10.1093/petrology/30.3.667
‘Rhyolite_Zhang97’ Eq. (9) from Zhang et al. (1997) GCA 61(15):3089-3100 https://doi.org/10.1016/S0016-7037(97)00151-8
- VolFe.model_dependent_variables.KOCSg(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Equilibrium constant for homogeneous vapor reaction involving OCS: either K = (fCO2*fH2S)/(fOCS*fH2O) or (fCO^3*fSO2)/(fCO2^2*fOCS)
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is index of “KOCSg” and “carbonylsulfide” and column label of “option”.
- Returns:
Equilibrium constant
- Return type:
Model options for KOCSg
‘Moussallam19’ [default] Eq. (8) in Moussallam et al. (2019) https://doi.org/10.1016/j.epsl.2019.05.036 for KOCSg and ‘COS’ for carbonlysulfide
‘noOCS’ Almost stops OCS forming in the vapor, K = very large.
- VolFe.model_dependent_variables.KOSg(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Equilibrium constant for homogeneous vapor reaction: 0.5S2(g) + O2(g) = SO2(g), K = fSO2/((fS2^0.5)*fO2)
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is index of “KOSg” and column label of “option”.
- Returns:
Equilibrium constant
- Return type:
Model options for KOSg
‘Ohmoto97’ [default] Reaction (f) in Table 1 of Ohmoto & Kerrick (1997).
‘noSO2’ Stops SO2 forming in the vapor, K = 0.
- VolFe.model_dependent_variables.KOSg2(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Equilibrium constant for homogeneous vapor reaction: 0.5S2(g) + 1.5O2(g) = SO3(g), K = fSO3/((fS2^0.5)*(fO2^1.5)
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is index of “KOsg2” and column label of “option”.
- Returns:
Equilibrium constant
- Return type:
Model options for KOSg2
‘ONeill22’ [default] Eq (6b) in O’Neill and Mavrogenes (2022) https://doi.org/10.1016/j.gca.2022.06.020
Only one option available currently, included for future development.
- VolFe.model_dependent_variables.KregH2O(PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Speciation constant for homogeneous melt reaction: H2Omol(m) + O(m) = 2OH-(m) assuming regular mixing.
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
melt_wf (dict) – Melt composition (SiO2, TiO2, etc.), not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is index of “Hspeccomp” and column label of “option”.
- Returns:
Equilibrium constant
- Return type:
Model options for Hspeccomp
‘MORB_HughesIP’ [default] WHICH IS NOT USABLE WITH THIS FUNCTION
‘MORB_Dixon95’ Table 5 of Dixon et al. (1995) https://doi.org/10.1093/oxfordjournals.petrology.a037267
‘AlkaliBasalt_Lesne10’ Eq. (24-27) Lesne et al. (2010) CMP 162:133-151 https://doi.org/10.1007/s00410-010-0588-x
‘StromboliAlkaliBasalt_Lesne10’ PST-9 in Table 5 from Lesne et al. (2010) 162:133-151 https://doi.org/10.1007/s00410-010-0588-x
‘VesuviusAlkaliBasalt_Lesne10’ VES-9 in Table 5 from Lesne et al. (2010) 162:133-151 https://doi.org/10.1007/s00410-010-0588-x
‘EtnaAlkaliBasalt_Lesne10’ ETN-1 in Table 5 from Lesne et al. (2010) 162:133-151 https://doi.org/10.1007/s00410-010-0588-x
‘Albite_Silver89’ Silver & Stolper (1989) J.Pet 30(3)667-709 https://doi.org/10.1093/petrology/30.3.667
- VolFe.model_dependent_variables.NNO(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
fO2 value of the NNO buffer.
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is index of “NNObuffer” and column label of “option”.
- Returns:
log10fO2 value of NNO buffer
- Return type:
Model options for NNObuffer
‘Frost91’ [default] Frost (1991) in “Oxide Minerals: Petrologic and Magnetic Significance” https//doi.org/10.1515/9781501508684-004
Only one option available currently, included for future development.
- VolFe.model_dependent_variables.Q_SS(PT, Tr, Pcr, models)[source]
Modelling constants for Shi & Saxena (1992) from Table 1.
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
Pcr (float) – Critical pressure in bars.
Tcr (float) – Critical temperature in K.
models (pandas.DataFrame) – Model options.
- Returns:
Calculated values for A, B, C, D, P0, integral0
- Return type:
- VolFe.model_dependent_variables.SCAS(PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Sulfate content at anhydrite saturation (S6+CAS) for the melt.
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
melt_wf (dict) – Melt composition (SiO2, TiO2, etc.)..
models (pandas.DataFrame) – Minimum requirement is index of “SCAS” and column label of “option”.
- Returns:
S6+CAS in ppm
- Return type:
Model options for SCAS
‘Liu23’ Eq. (4) Liu et al. (2023) GCA 349:135-145 https://doi.org/10.1016/j.gca.2023.04.007
‘Chowdhury19_pss’ Chowdhury & Dasgupta (2019) using PySulfSat by Wieser and Gleeson (2023) Volcanica 6(1):107-127 https://doi.org/10.30909/vol.06.01.107127
‘Zajacz19_pss’ Zajacz and Tsay (2019) using PySulfSat by Wieser and Gleeson (2023) Volcanica 6(1):107-127 https://doi.org/10.30909/vol.06.01.107127
‘Masotta15_pss’ Masotta and Kepler (2015) using PySulfSat by Wieser and Gleeson (2023) Volcanica 6(1):107-127 https://doi.org/10.30909/vol.06.01.107127
- VolFe.model_dependent_variables.SCSS(PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Sulfide content at sulfide saturation (S2-CSS) for the melt.
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
melt_wf (dict) – Melt composition (SiO2, TiO2, etc.). Assumes sulfide is pure FeS unless specified in melt_wf.
models (pandas.DataFrame) – Minimum requirement is index of “SCSS” and column label of “option”.
- Returns:
S2-CCS in ppm
- Return type:
Model options for SCSS
‘ONeill21hyd’ [default] Eq. (10.34, 10.43, 10.45, 10.46, 10.49) from O’Neill (2021) in “Magma Redox Geochemistry” https://doi.org/10.1002/9781119473206.ch10
‘ONeill21’ Eq. (10.34, 10.43, 10.45, 10.46) excluding water dilution from O’Neill (2021) in “Magma Redox Geochemistry” https://doi.org/10.1002/9781119473206.ch10
‘ONeill21dil’ Eq. (10.34, 10.43, 10.45, 10.46) including water dilution from O’Neill (2021) in “Magma Redox Geochemistry” https://doi.org/10.1002/9781119473206.ch10
‘Liu07’ Eq. (9) in Liu et al. (2007) GCA 71:1783-1799 https://doi.org/10.1016/j.gca.2007.01.004
‘Fortin15_pss’ Eq. (7) in Fortin et al. (2015) using PySulfSat by Wieser & Gleeson (2023) Volcanica 6(1):107-127 https://doi.org/10.30909/vol.06.01.107127
‘Liu21_pss’ Eq. (2) in Liu et al. (2021) using PySulfSat by Wieser & Gleeson (2023) Volcanica 6(1):107-127 https://doi.org/10.30909/vol.06.01.107127
‘ONeill22_pss’ O’Neill & Mavrogenes (2022) using PySulfSat by Wieser & Gleeson (2023) Volcanica 6(1):107-127 https://doi.org/10.30909/vol.06.01.107127
‘ONeill21_pss’ O’Neill (2021) using PySulfSat by Wieser & Gleeson (2023) Volcanica 6(1):107-127 https://doi.org/10.30909/vol.06.01.107127
‘Smythe17_pss’ Smythe et al. (2017) using PySulfSat by Wieser & Gleeson (2023) Volcanica 6(1):107-127 https://doi.org/10.30909/vol.06.01.107127
‘Li22_pss’ Eq. (19) from Li and Zhang (2022) using PySulfSat by Wieser and Gleeson (2023) Volcanica 6(1):107-127 https://doi.org/10.30909/vol.06.01.107127
‘Blanchard21_eq11_pss’ Eq. (11) from Blanchard et al. (2021) using PySulfSat by Wieser and Gleeson (2023) Volcanica 6(1):107-127 https://doi.org/10.30909/vol.06.01.107127
‘Blanchard21_eq12_pss’ Eq. (12) from Blanchard et al. (2021) using PySulfSat by Wieser and Gleeson (2023) Volcanica 6(1):107-127 https://doi.org/10.30909/vol.06.01.107127
- VolFe.model_dependent_variables.alpha_C_CH4v_CH4m(PT, comp, models)[source]
Alpha fractionation factor for 13C/12C (R) between CH4(v) and CH4mol(m): a = R[CH4(v)]/R[CH4mol(m)].
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
comp (dict) – Melt composition (SiO2, TiO2, etc.), not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is index of “alpha_C_CH4v_CH4m” and column label of “option”.
- Returns:
alpha fractionation factor
- Return type:
Model options for “alpha_C_CH4v_CH4m”
‘no fractionation’ Treat as no isotopic fractionation between these species
Only one option available currently, included for future development.
- VolFe.model_dependent_variables.alpha_C_CO2v_CO2m(PT, comp, models)[source]
Alpha fractionation factor for 13C/12C (R) between CO2(v) and CO2(m): a = R[CO2(v)]/R[CO2(m)].
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
comp (dict) – Melt composition (SiO2, TiO2, etc.), not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is index of “alpha_C_CO2v_CO2m” and column label of “option”.
- Returns:
alpha fractionation factor
- Return type:
Model options for “alpha_C_CO2v_CO2m”
‘Blank93’ [default] Blank & Stolper (1993) EOS Trans Am Geophys Union 74:347-8
‘no fractionation’ Treat as no isotopic fractionation between these species
- VolFe.model_dependent_variables.alpha_C_CO2v_CO32mm(PT, comp, models)[source]
Alpha fractionation factor for 13C/12C (R) between CO2(v) and CO32-(m): a = R[CO2(v)]/R[CO32-(m)].
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
comp (dict) – Melt composition (SiO2, TiO2, etc.), not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is index of “alpha_C_CO2v_CO32mm” and column label of “option”.
- Returns:
alpha fractionation factor
- Return type:
Model options for “alpha_C_CO2v_CO32mm”
‘Lee24’ [default] Lee et al. (2024) GCA 380:208-219 https://doi.org/10.1016/j.gca.2024.07.015
‘no fractionation’ Treat as no isotopic fractionation between these species
- VolFe.model_dependent_variables.alpha_C_COv_COm(PT, comp, models)[source]
Alpha fractionation factor for 13C/12C (R) between CO(v) and COmol(m): a = R[CO(v)]/R[COmol(m)].
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
comp (dict) – Melt composition (SiO2, TiO2, etc.), not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is index of “alpha_C_COv_COm” and column label of “option”.
- Returns:
alpha fractionation factor
- Return type:
Model options for “alpha_C_COv_COm”
‘no fractionation’ Treat as no isotopic fractionation between these species
Only one option available currently, included for future development.
- VolFe.model_dependent_variables.alpha_H_CH4v_CH4m(PT, comp, models)[source]
Alpha fractionation factor for 13C/12C (R) between CH4(v) and CH4mol(m): a = R[CH4(v)]/R[CH4mol(m)].
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
comp (dict) – Melt composition (SiO2, TiO2, etc.), not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is index of “alpha_H_CH4v_CH4m” and column label of “option”.
- Returns:
alpha fractionation factor
- Return type:
Model options for “alpha_H_CH4v_CH4m”
‘no fractionation’ Treat as no isotopic fractionation between these species
Only one option available currently, included for future development.
- VolFe.model_dependent_variables.alpha_H_H2Ov_H2Om(PT, comp, models)[source]
Alpha fractionation factor for D/H (R) between H2O(v) and H2Omol(m): a = R[H2O(v)]/R[H2Omol(m)].
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
comp (dict) – Melt composition (SiO2, TiO2, etc.), not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is index of “alpha_H_H2Ov_H2Om” and column label of “option”.
- Returns:
alpha fractionation factor
- Return type:
Model options for “alpha_H_H2Ov_H2Om”
‘Rust04’ [default] Rust et al. (2004) Geology 32(4) 349-352 https://doi.org/10.1130/G20388.2
‘no fractionation’ Treat as no isotopic fractionation between these species
- VolFe.model_dependent_variables.alpha_H_H2Ov_OHmm(PT, comp, models)[source]
Alpha fractionation factor for D/H (R) between H2O(v) and OH-(m): a = R[H2O(v)]/R[OH-(m)].
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
comp (dict) – Melt composition (SiO2, TiO2, etc.), not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is index of “alpha_H_H2Ov_OHmm” and column label of “option”.
- Returns:
alpha fractionation factor
- Return type:
Model options for “alpha_H_H2Ov_OHmm”
‘Rust04’ [default] Rust et al. (2004) Geology 32(4) 349-352 https://doi.org/10.1130/G20388.2
‘no fractionation’ Treat as no isotopic fractionation between these species
- VolFe.model_dependent_variables.alpha_H_H2Sv_H2Sm(PT, comp, models)[source]
Alpha fractionation factor for 13C/12C (R) between H2S(v) and H2Smol(m): a = R[H2S(v)]/R[H2Smol(m)].
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
comp (dict) – Melt composition (SiO2, TiO2, etc.), not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is index of “alpha_H_H2Sv_H2Sm” and column label of “option”.
- Returns:
alpha fractionation factor
- Return type:
Model options for “alpha_H_H2Sv_H2Sm”
‘no fractionation’ Treat as no isotopic fractionation between these species
Only one option available currently, included for future development.
- VolFe.model_dependent_variables.alpha_H_H2v_H2m(PT, comp, models)[source]
Alpha fractionation factor for 13C/12C (R) between H2(v) and H2mol(m): a = R[H2(v)]/R[H2mol(m)].
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
comp (dict) – Melt composition (SiO2, TiO2, etc.), not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is index of “alpha_H_H2v_H2m” and column label of “option”.
- Returns:
alpha fractionation factor
- Return type:
Model options for “alpha_H_H2v_H2m”
‘no fractionation’ Treat as no isotopic fractionation between these species
Only one option available currently, included for future development.
- VolFe.model_dependent_variables.alpha_S_H2Sv_H2Sm(PT, comp, models)[source]
Alpha fractionation factor for 32S/34S (R) between H2S(v) and H2S(m): a = R[H2S(v)]/R[H2S(m)].
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
comp (dict) – Melt composition (SiO2, TiO2, etc.), not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is index of “alpha_S_H2Sv_H2Sm” and column label of “option”.
- Returns:
alpha fractionation factor
- Return type:
Model options for “alpha_S_H2Sv_H2Sm”
‘no fractionation’ Treat as no isotopic fractionation between these species
Only one option available currently, included for future development.
- VolFe.model_dependent_variables.alpha_S_H2Sv_S2mm(PT, comp, models)[source]
Alpha fractionation factor for 32S/34S (R) between H2S(v) and *S2-(m): a = R[H2S(m)]/R[S2-(m)].
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
comp (dict) – Melt composition (SiO2, TiO2, etc.), not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is index of “alpha_H2S_S” and column label of “option”.
- Returns:
alpha fractionation factor
- Return type:
Model options for “alpha_H2S_S”
‘Fiege15’ [default] Eq. (8) from Fiege et al. (2015) Chem. Geol. 393:36-54 https://doi.org/10.1016/j.chemgeo.2014.11.012
‘no fractionation’ Treat as no isotopic fractionation between these species
- VolFe.model_dependent_variables.alpha_S_SO2v_S6pm(PT, comp, models)[source]
Alpha fractionation factor for 32S/34S (R) between SO2(v) and S6+(m): a = R[SO2(v)]/R[S6+(m)].
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
comp (dict) – Melt composition (SiO2, TiO2, etc.), not normally used unless model option requires melt composition.
models (pandas.DataFrame) – Minimum requirement is index of “alpha_SO2_SO4” and column label of “option”.
- Returns:
alpha fractionation factor
- Return type:
Model options for “alpha_SO2_SO4”
‘Fiege15’ [default] Eq. (9) from Fiege et al. (2015) Chem. Geol. 393:36-54 https://doi.org/10.1016/j.chemgeo.2014.11.012
‘no fractionation’ Treat as no isotopic fractionation between these species
- VolFe.model_dependent_variables.beta_gas(PT, element, species, models)[source]
Beta isotopic fractionation factors between vapor species containing 32S/34S, 13C/12C, and D/H.
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
element (str) – Element of interest (H, C, or S).
species (str) – Vapor species of interest (H2O, H2, CH4, H2S, CO2, CO, OCS, SO2, S2).
models (pandas.DataFrame) – Minimum requirement is index of “beta_factors” and column label of “option”.
- Returns:
Beta factor for element in species of interest
- Return type:
Model options for ‘beta_factors’
‘Richet77’ [default] Quadratic fits to data in Tables 9, 10, and 13 between 600 < T’C < 1300 of Richet et al. (1977) Ann. Rev. Earth Planet. Sci. 5:65-110 as detailed in Saper et al. (2025) Lithos 518-519:108331 https://doi.org/10.1016/j.lithos.2025.108331.
Only one option available currently, included for future development.
- VolFe.model_dependent_variables.check_default_options(models)[source]
Adds default options to models DataFrame if no user-option is given.
- Parameters:
models (pd.DataFrame) – User-specified model options.
- Returns:
Index of ‘type’ and column of ‘option’, containing the user-specified option and default options where none are speficied.
- Return type:
- VolFe.model_dependent_variables.fO22Fe3FeT(fO2, PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Fe3+/FeT in the melt from fO2.
- Parameters:
fO2 (float) – fO2 value in bar (NOT log10).
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
melt_wf (dict) – Melt composition (SiO2, TiO2, etc.).
models (pandas.DataFrame) – Minimum requirement is index of “fO2” and column label of “option”.
- Returns:
Fe3+/FeT in the melt
- Return type:
Model options for fO2
‘Kress91A’ [default] Eq. (A-5, A-6) in Kress and Carmichael (1991) CMP 108:82-92 https//doi.org/10.1007/BF00307328
‘Kress91’ Eq. (7) in Kress and Carmichael (1991) CMP 108:82-92 https//doi.org/10.1007/BF00307328
‘ONeill18’ Eq. (9a) in O’Neill et al. (2018) EPSL 504:152-162 https//doi.org/10.1016/j.epsl.2018.10.0020012-821X
‘Borisov18’ Eq. (4) from Borisov et al. (2018) CMP 173:98 https//doi.org/10.1007/s00410-018-1524-8
- VolFe.model_dependent_variables.f_O2(PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
fO2 from Fe3+/FeT in the melt.
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
melt_wf (dict) – Melt composition (SiO2, TiO2, etc.).
models (pandas.DataFrame) – Minimum requirement is index of “fO2” and column label of “option”.
- Returns:
fO2 in bars
- Return type:
Model options for fO2
‘Kress91A’ [default] Eq. (A-5, A-6) in Kress and Carmichael (1991) CMP 108:82-92 https//doi.org/10.1007/BF00307328
‘Kress91’ Eq. (7) in Kress and Carmichael (1991) CMP 108:82-92 https//doi.org/10.1007/BF00307328
‘ONeill18’ Eq. (9a) in O’Neill et al. (2018) EPSL 504:152-162 https//doi.org/10.1016/j.epsl.2018.10.0020012-821X
‘Borisov18’ Eq. (4) from Borisov et al. (2018) CMP 173:98 https//doi.org/10.1007/s00410-018-1524-8
- VolFe.model_dependent_variables.gas_molar_volume(species, PT, models)[source]
Calculates molar volume of a given gas species.
- Parameters:
species (str) – Gas species of interest (e.g., ‘H2O’, ‘CO2’).
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Model options
- Returns:
volume in kJ/kbar
- Return type:
- VolFe.model_dependent_variables.lny_SS(PT, Pcr, Tcr, models)[source]
Natural log of the fugacity coefficient using Shi & Saxena (1992).
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
Pcr (float) – Critical pressure in bars.
Tcr (float) – Critical temperature in K.
models (pandas.DataFrame) – Model options.
- Returns:
Natural log of the fugacity coefficient
- Return type:
- VolFe.model_dependent_variables.make_df_and_add_model_defaults(models)[source]
Converts user-provided model configurations (e.g. [‘carbon dioxide’,’MORB_Dixon95’], [‘hydrogen sulfide’,’basaltic andesite’] into a structured pandas DataFrame, combined with default options for anything not specified.
- Parameters:
models (list of [str, str]) – Each inner list contains two elements: the model type (str) and the user-specified option (str) for that model type.
- Returns:
Index of ‘type’ and column of ‘option’, containing the user-specified option or the default option if none is provided.
- Return type:
Model Parameters and Options
The following parameters can be overridden in models.
### Specifying species ###
- COH_species: Specifying what COH species are present in the melt and vapor.
‘yes_H2_CO_CH4_melt’ [default] Include H2mol (if H present), COmol (if C present), and/or CH4mol (if H and C present) as dissolved melt species.
‘no_H2_CO_CH4_melt’ H2, CO, and/or CH4 are insoluble in the melt but they are still present in the vapor (H2 in the vapor if H present, CO in the vapor if C present, CH4 in the vapor if both H and C present).
‘H2O-CO2 only’ The only species present in the vapor are H2O and CO2 and in the melt are H2OT and CO2T (i.e., no CO, H2, and/or CH4 in the melt or vapor).
- H2S_m: Is H2S a dissolved melt species.
‘True’ [default] Include H2Smol as a dissolved melt species.
‘False’ H2Smol is insoluble in the melt.
- species X: Chemical identity of species X, which defines its atomic mass.
‘Ar’ [default] Species X is argon (i.e., atomic mass of ~40).
‘Ne’ Species X is Ne (i.e., atomic mass of ~20).
Other noble gases not currently supported, but we can add them if you get in touch!
- Hspeciation:
‘none’ [default] Oxidised H in the melt only occurs as H2OT species (i.e., no OH-).
Only one option available currently, included for future development.
### Oxygen fugacity ###
- fO2: Model for parameterisation of relationship between fO2 and Fe3+/FeT
See function fO2 for options.
- NNObuffer: Model for the parameterisation for the fO2 value of the NNO buffer.
See function NNO for options.
- FMQbuffer: Model for the parameterisation for the fO2 value of the FMQ buffer.
See function FMQ for options.
### Models for solubility and speciation constants ###
- carbon dioxide: Model for the parameterisation of the CO2T solubility constant.
See function C_CO3 for options.
- water: Model for the parameterisation for the H2O solubility constant.
See function C_H2O for options.
- hydrogen: Model for the parameterisation of the H2 solubility constant.
See function C_H2 for options.
- sulfide: Model for the parameterisation for the *S2- solubility constant.
See function C_S for options.
- sulfate: Model for the parameterisation of the S6+ solubility constant.
See function C_SO4 for options.
- hydrogen sulfide: Model for the parameterisation for the H2S solubility constant.
See function C_H2S for options.
- methane: Model for the parameterisation of the CH4 solubility constant.
See function C_CH4 for options.
- carbon monoxide: Model for the parameterisation of the CO solubility constant.
See function C_CO for options.
- species X solubility: Model for the parameterisation of the X solubility constant.
See function C_X for options.
- Cspeccomp: Model for the parameterisation of the speciation constant for CO2mol and CO32- in the melt.
See function K_COm for options.
- Hspeccomp: Model for the parameterisation of the speciation constant for H2Omol and OH- in the melt.
See function K_HOm for options.
### Saturation conditions ###
- SCSS: Model for parameterisation of the sulfide content at sulfide saturation (S2-CSS).
See function SCSS for options.
- SCAS: Model for parameterisation of the sulfate content at anhydrite saturation (S6+CAS).
See function SCAS for options.
- sulfur_saturation: Is sulfur allowed to form sulfide or anhydrite if sulfur content of the melt reaches saturation levels for these phases?
‘False’ [default] melt ± vapor are the only phases present - results are metastable with respect to sulfide and anhydrite if they could saturate.
‘True’ If saturation conditions for sulfide or anhydrite are met, melt sulfur content reflects this.
- graphite_saturation: Is graphite allowed to form if the carbon content of the melt reaches saturation levels for graphite?
‘False’ [default] melt ± vapor are the only phases present - results are metastable with respect to graphite if it could saturate.
‘True’ If saturation conditions for graphite are met, melt carbon content reflects this.
### Fugacity coefficients ###
- ideal_gas: Treat all vapor species as ideal gases (i.e., all fugacity coefficients = 1 at all P).
‘False’ [default] At least some of the vapor species are not treated as ideal gases.
‘True’ All fugacity coefficients = 1 at all P.
- y_CO2: Model for the parameterisation of the CO2 fugacity coefficient.
See function y_CO2 for options.
- y_SO2: Model for the parameterisation of the SO2 fugacity coefficient.
See function y_SO2 for options.
- y_H2S: Model for the parameterisation of the H2S fugacity coefficient.
See function y_H2S for options.
- y_H2: Model for the parameterisation of the H2 fugacity coefficient.
See function y_H2 for options.
- y_O2: Model for the parameterisation of the O2 fugacity coefficient.
See function y_O2 for options.
- y_S2: Model for the parameterisation of the S2 fugacity coefficient.
See function y_S2 for options.
- y_CO: Model for the parameterisation of the CO fugacity coefficient.
See function y_CO for options.
- y_CH4: Model for the parameterisation of the CH4 fugacity coefficient.
See function y_CH4 for options.
- y_H2O: Model for the parameterisation of the H2O fugacity coefficient.
See function y_H2O for options.
- y_OCS: Model for the parameterisation of the OCS fugacity coefficient.
See function y_OCS for options.
- y_X: Model for the parameterisation of the X fugacity coefficient.
See function y_X for options.
### Equilibrium constants ###
- KHOg: Model for the parameterisation of the equilibiurm constant for H2 + 0.5O2 ⇄ H2O.
See function KHOg for options.
- KHOSg: Model for the parameterisation of the equilibiurm constant for 0.5S2 + H2O ⇄ H2S + 0.5O2.
See function KHOSg for options.
- KOSg: Model for the parameterisation of the equilibiurm constant for 0.5S2 + O2 ⇄ SO2.
See function KOSg for options.
- KOSg2: Model for the parameterisation of the equilibiurm constant for 0.5S2 + 1.5O2 ⇄ SO3.
See function KOSg2 for options.
- KOCg: Model for the parameterisation of the equilibiurm constant for CO + 0.5O2 ⇄ CO2.
See function KOCg for options.
- KCOHg: Model for the parameterisation of the equilibiurm constant for CH4 + 2O2 ⇄ CO2 + 2H2O.
See function KCOHg for options.
- KOCSg: Model for the parameterisation of the equilibiurm constant for OCS.
See function KOCSg for options.
- KCOs: Model for the parameterisation of the equilibiurm constant for Cgrahite + O2 ⇄ CO2.
See function KCOs for options.
- carbonylsulfide: Reaction equilibrium KOCSg is for.
‘COS’ [default] 2CO2 + OCS ⇄ 3CO + SO2
Only one option available currently, included for future development.
### Degassing calculation ###
- bulk_composition: Specifying what the inputted melt composition (i.e., dissolved volatiles and fO2-estimate) corresponds to for the re/degassing calculation.
‘melt-only’ [default] The inputted melt composition (i.e., dissolved volatiles) represents the bulk system - there is no vapor present. The fO2-estimate is calculated at Pvsat for this melt composition.
‘melt+vapor_wtg’ The inputted melt composition (i.e., dissolved volatiles) is in equilibrium with a vapor phase. The amount of vapor as weight fraction gas (wtg) is specified in the inputs. The bulk system composition will be calculated by calculating Pvsat and the vapor composition given the input composition.
‘melt+vapor_initialCO2’ The inputted melt composition (i.e., dissolved volatiles) is in equilibrium with a vapor phase. The initial CO2 content of the melt (i.e., before degassing) is specified in the inputs. The bulk system composition will be calculated by calculating Pvsat and the vapor composition given the input composition. The amount of vapor present is calculated using the given initial CO2.
- starting_P: Determining the starting pressure for a re/degassing calculation.
‘Pvsat’ [default] Calculation starts at Pvsat for the inputted melt composition (i.e., dissolved volatiles).
Only one option available currently, included for future development.
- gassing_style: Does the bulk composition of the system (including oxygen) remain constant during the re/degassing calculation.
‘closed’ [default] The bulk composition of the system (inc. oxygen) is constant during the re/degassing calculation - vapor and melt remain in chemical equilibrium throughout.
‘open’ At each pressure-step, the vapor in equilibrium with the melt is removed (or added for regassing), such that the bulk composition of the system changes. This does not refer to being externally buffered in terms of fO2.
- gassing_direction: Is pressure increasing or decreasing from the starting pressure.
‘degas’ [default] Pressure progressively decreases for isothermal, polybaric calculations (i.e., degassing).
‘regas’ Pressure progressively increases for isothermal, polybaric calculations (i.e., regassing).
- P_variation: Is pressure varying during the calculation?
‘polybaric’ [default] Pressure progressively changes during the calculation.
Only one option available currently, included for future development.
- T_variation: Is temperature varying during the calculation?
‘isothermal’ [default] Temperature is constant during the calculation.
Only one option available currently, included for future development.
- eq_Fe: Does iron in the melt equilibrate with fO2.
‘yes’ [default] Iron equilibrates with fO2
Only one option available currently, included for future development.
### Other ###
- density: Model for parameterisation of melt density.
See function melt_density for options.
- print status: Specifies whether some sort of status information during the calculation is outputted to let you know progress.
‘False’ [default] No information about calculation progress is printed.
‘True’ Some information about calculation progress is printed.
- output csv: Specicies whether a csv of the outputted dataframe is automatically saved at the end of the calculation.
‘True’ [default] csv is outputted.
‘False’ csv is not outputted.
### In development ###
For now, just leave them as their default option and everything should work fine!
- isotopes
default: ‘no’
- crystallisation
default: ‘no’
- mass_volume
default: ‘mass’
- calc_sat
default: ‘fO2_melt’
- bulk_O
default: ‘exc_S’
- error
default: 0.1
- sulfur_is_sat
default: ‘no’
- solve_species
default: ‘auto’
- setup
default: ‘False’
- high precision
default: ‘False’
- VolFe.model_dependent_variables.make_models_df(models)[source]
Creates the model options DataFrame.
- Parameters:
models (list of [str, value]) – Each inner list contains two elements: the model type (str) and the user-specified option for that model type. Boolean options accept True/False (strings “True”/”False” are also accepted for backwards compatibility).
- Returns:
Index of ‘type’ and column of ‘option’ containing the user-specified option. Default options are not added if no option is provided.
- Return type:
- VolFe.model_dependent_variables.melt_density(PT, melt_wf, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Melt density from melt composition.
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
melt_wf (dict) – Melt composition (SiO2, TiO2, etc.).
models (pandas.DataFrame) – Minimum requirement is index of “density” and column label of “option”.
- Returns:
melt density in g/cm3
- Return type:
Model options for density
‘DensityX’ [default] DensityX from Iacovino & Till (2019) Volcanica 2(1):1-10 https//doi.org/10.30909/vol.02.01.0110
Only one option available currently, included for future development.
- VolFe.model_dependent_variables.parameters_Holland91(species, PT, models)[source]
Parameters for (simplified) CORK equations in Holland & Powell (1991) CMP = 109:265-273 https://doi.org/10.1007/BF00306484
- VolFe.model_dependent_variables.vol_CORK(species, PT, models)[source]
Volume from ‘Appendix: Calculation of CORK volumes’ using eq. (4, A1) from Holland & Powell (1991) CMP 109:265-273 https://doi.org/10.1007/BF00306484
- Parameters:
species (str) – Gas species of interest (e.g., ‘H2O’, ‘CO2’).
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Model options.
- Returns:
volume in kJ/kbar
- Return type:
- VolFe.model_dependent_variables.vol_sCORK(species, PT, models)[source]
Volume using eq. (7a) from Holland & Powell (1991) CMP 109:265-273 https://doi.org/10.1007/BF00306484
- Parameters:
species (str) – Gas species of interest (e.g., ‘H2O’, ‘CO2’).
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Model options.
- Returns:
volume in kJ/kbar
- Return type:
- VolFe.model_dependent_variables.y_CH4(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Fugacity coefficient for CH4.
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is index of “y_CH4” and “ideal_gas” and column label of “option”.
- Returns:
Fugacity coefficient for CH4
- Return type:
Model options for y_CH4
‘Shi92’ [default] Shi & Saxena (1992) AmMin 77(9-10):1038-1049
‘ideal’ Treat as ideal gas, y = 1 at all P.
Note: “ideal_gas” = “True” overides chosen option.
- VolFe.model_dependent_variables.y_CO(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Fugacity coefficient for CO.
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is index of “y_CO” and “ideal_gas” and column label of “option”.
- Returns:
Fugacity coefficient for CO
- Return type:
Model options for y_CO
‘Shi92’ [default] Shi & Saxena (1992) AmMin 77(9-10):1038-1049
‘ideal’ Treat as ideal gas, y = 1 at all P.
Note: “ideal_gas” = “True” overides chosen option.
- VolFe.model_dependent_variables.y_CO2(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Fugacity coefficient for CO2.
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is index of “y_CO2” and “ideal_gas” and column label of “option”.
- Returns:
Fugacity coefficient for CO2
- Return type:
Model options for y_CO2
‘Shi92’ [default] Shi & Saxena (1992) AmMin 77(9-10):1038-1049
‘Holland91_eq8_tab1’ Eq. (8) and Table 1 from Holland & Powell (1991) CMP 109:265-273 https://doi.org/10.1007/BF00306484
‘Holland91_eq4,A1-3_tab1’ Eq. (4,A1-3) and Table 1 from Holland & Powell (1991) CMP 109:265-273 https://doi.org/10.1007/BF00306484
‘Holland91_eq8,9_tab2’ Eq. (8,9) and Table 2 from Holland & Powell (1991) CMP 109:265-273 https://doi.org/10.1007/BF00306484
‘Flowers79’ Flowers (1979) modified from code from MIMiC (Rasmussen et al., 2021: https://github.com/DJRgeoscience/MIMiC), originally from VolatileCalc (Newman & # Lowenstern, 2001)
‘ideal’ Treat as ideal gas, y = 1 at all P.
Note: “ideal_gas” = “True” overides chosen option
- VolFe.model_dependent_variables.y_CORK(species, PT, models)[source]
Fugacity coefficient using eq. (4,A1-3) from Holland & Powell (1991) CMP 109:265-273 https://doi.org/10.1007/BF00306484
- Parameters:
species (str) – Species of interest (e.g., ‘H2O’, ‘CO2’).
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Model options.
- Returns:
Fugacity coefficient
- Return type:
- VolFe.model_dependent_variables.y_H2(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Fugacity coefficient for H2
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is index of “y_H2” and “ideal_gas” and column label of “option”.
- Returns:
Fugacity coefficient for H2
- Return type:
Model options for y_H2
‘Shaw64’ [default] Eq. (4) from Shaw & Wones (1964) AmJSci 262:918-929
‘ideal’ Treat as ideal gas, y = 1 at all P.
Note: “ideal_gas” = “True” overides chosen option.
- VolFe.model_dependent_variables.y_H2O(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Fugacity coefficient for H2O.
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is index of “y_H2O” and “ideal_gas” and column label of “option”.
- Returns:
Fugacity coefficient for H2O
- Return type:
Model options for y_H2O
‘Holland91’ [default] Eq. (4,6,A1-3) and Table 1 (T > 673 K only) from Holland & Powell (1991) CMP 109:265-273 https://doi.org/10.1007/BF00306484
‘Flowers79’ Flowers (1979) modified from code from MIMiC (Rasmussen et al., 2021: https://github.com/DJRgeoscience/MIMiC), originally from VolatileCalc (Newman & Lowenstern, 2001)
‘ideal’ Treat as ideal gas, y = 1 at all P.
Note: “ideal_gas” = “True” overides chosen option.
- VolFe.model_dependent_variables.y_H2S(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Fugacity coefficient for H2S.
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is index of “y_H2S” and “ideal_gas” and column label of “option”.
- Returns:
Fugacity coefficient for H2S
- Return type:
Model options for y_H2S
‘Shi92_Hughes23’ [default] Fig.S1 modified from Shi & Saxena (1992) Hughes et al. (2024) AmMin 109(3):422-438 https://doi.org/10.2138/am-2023-8739
‘Shi92’ Shi & Saxena (1992) AmMin 77(9-10):1038-1049
‘ideal’ Treat as ideal gas, y = 1 at all P.
Note: “ideal_gas” = “True” overides chosen option.
- VolFe.model_dependent_variables.y_O2(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Fugacity coefficient for O2.
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is index of “y_O2” and “ideal_gas” and column label of “option”.
- Returns:
Fugacity coefficient for O2
- Return type:
Model options for y_O2
‘Shi92’ [default] Shi & Saxena (1992) AmMin 77(9-10):1038-1049
‘ideal’ Treat as ideal gas, y = 1 at all P.
Note: “ideal_gas” = “True” overides chosen option.
- VolFe.model_dependent_variables.y_OCS(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Fugacity coefficient for OCS.
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is index of “y_OCS” and “ideal_gas” and column label of “option”.
- Returns:
Fugacity coefficient for OCS
- Return type:
Model options for y_OCS
‘Shi92’ [default] Shi & Saxena (1992) AmMin 77(9-10):1038-1049
‘ideal’ Treat as ideal gas, y = 1 at all P.
Note: “ideal_gas” = “True” overides chosen option.
- VolFe.model_dependent_variables.y_S2(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Fugacity coefficient for S2.
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is index of “y_S2” and “ideal_gas” and column label of “option”.
- Returns:
Fugacity coefficient for S2
- Return type:
Model options for y_S2
‘Shi92’ [default] Shi & Saxena (1992) AmMin 77(9-10):1038-1049
‘ideal’ Treat as ideal gas, y = 1 at all P.
Note: “ideal_gas” = “True” overides chosen option.
- VolFe.model_dependent_variables.y_SO2(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Fugacity coefficient for SO2,
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is index of “y_SO2” and “ideal_gas” and column label of “option”.
- Returns:
Fugacity coefficient for SO2
- Return type:
Model options for y_SO2
‘Shi92_Hughes23’ [default] Fig.S1 modified from Shi & Saxena (1992) from Hughes et al. (2023) JGSL 180(3) https://doi.org/10.1144/jgs2021-12
‘Shi92’ Shi & Saxena (1992) AmMin 77(9-10):1038-1049
‘ideal’ Treat as ideal gas, y = 1 at all P.
Note: “ideal_gas” = “True” overides chosen option.
- VolFe.model_dependent_variables.y_SS(gas_species, PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Fugacity coefficient using Shi & Saxena (1992).
- Parameters:
gas_species (string) – Name of gas species.
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Model options.
- Returns:
Fugacity coefficient
- Return type:
- VolFe.model_dependent_variables.y_X(PT, models= option type COH_species yes_H2_CO_CH4_melt H2S_m True species X Ar Hspeciation none fO2 Kress91A ... ... error 0.1 print status False output csv True setup False high precision False [78 rows x 1 columns])[source]
Fugacity coefficient for X.
- Parameters:
PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.
models (pandas.DataFrame) – Minimum requirement is index of “y_X” and “ideal_gas” and column label of “option”.
- Returns:
Fugacity coefficient for X
- Return type:
Model options for y_X
“ideal” Treat as ideal gas, y = 1 at all P.
Only one option available currently, included for future development. Note: “ideal_gas” = “True” overides chosen option.
- VolFe.model_dependent_variables.y_sCORK(species, PT, models)[source]
Fugacity coefficient using eq. (8) from Holland & Powell (1991) CMP 109:265-273 https://doi.org/10.1007/BF00306484