Metadata-Version: 2.1
Name: PyIRoGlass
Version: 0.0.1
Summary: PyIRoGlass
Home-page: https://github.com/sarahshi/PyIRoGlass
Author: Sarah C. Shi
Author-email: sarah.c.shi@gmail.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: pandas
Requires-Dist: numpy
Requires-Dist: matplotlib
Requires-Dist: scikit-learn
Requires-Dist: scipy
Requires-Dist: mc3
Requires-Dist: pykrige
Requires-Dist: peakdetect

# PyIRoGlass
[![PyPI](https://badgen.net/pypi/v/PyIRoGlass)](https://pypi.org/project/PyIRoGlass/)
[![Build Status](https://github.com/SarahShi/PyIRoGlass/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/SarahShi/PyIRoGlass/actions/workflows/main.yml)
[![codecov](https://codecov.io/gh/SarahShi/PyIRoGlass/branch/main/graph/badge.svg)](https://codecov.io/gh/SarahShi/PyIRoGlass/branch/main)

PyIRoGlass is a Bayesian MCMC-founded Python algorithm for determining volatile concentrations and speciation for $\mathrm{H_2O_{t, 3550}}$, $\mathrm{H_2O_{m, 1635}}$, $\mathrm{CO_{3, 1515}^{2-}}$, $\mathrm{CO_{3, 1430}^{2-}}$, $\mathrm{H_2O_{m, 5200}}$, and $\mathrm{OH_{4500}}$ from basaltic to andesitic transmission FTIR spectra. PyIRoGlass is written in the open-source language Python3 with the $\mathrm{MC^3}$ package, allowing for the proper sampling of parameter space and the determination of volatile concentrations with uncertainties. 


Quantifying concentrations of volatiles in magmas is critical for estimating the conditions of magma storage, assessing phase equilibria, and understanding eruption. We develop and present PyIRoGlass, a new open-source Python package implementing a Bayesian method with Markov Chain Monte Carlo sampling, to process the transmission FTIR spectra of basaltic to andesitic glasses and to quantify volatile concentrations with uncertainties for all $\mathrm{H_2O}$ and $\mathrm{CO_2}$ species in basaltic to andesitic glasses, when devolatilized baselines are not readily available. We utilize spectra of natural, devolatilized melt inclusions from the Aleutians to determine the fundamental shapes and variability of the baseline in the mid-IR region, in which the $\mathrm{CO_3^{2-}}$ doublets and $\mathrm{H_2O_{m, 1635}}$ peaks are found. The shape of the baseline and that of the peaks varies across samples, dependent on the chemistry of samples and concentration of volatiles. All parameters within the Beer-Lambert Law — including the baseline, molar absorptivity, thickness, and density — are closely examined to quantify the associated uncertainties. Molar absorptivity is recalibrated as a function of compositional parameters by applying a Newtonian inversion, allowing for the quantification of the uncertainty of the inversion and of the uncertainty in composition. PyIRoGlass further provides functions for processing reflectance FTIR spectra to determine sample wafer thickness. Development of this Bayesian method with MCMC sampling allows for the sampling of all possible baselines and peaks to iteratively solve for the best-fit parameters, presenting a promising method forward for robustly estimating uncertainty and accounting for covariance within fit parameters within a unified framework to confidently process transmission FTIR spectra to determine volatile concentrations with uncertainties. The open-source nature of the Python package allows for continuous evolution as more data become available.


<a href="https://colab.research.google.com/github/SarahShi/PyIRoGlass/blob/main/PyIRoGlass_RUN_colab.ipynb" target="_parent"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/></a>


[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/SarahShi/PyIRoGlass/HEAD)

