VESIcal Part I: An Open‐Source Thermodynamic Model Engine for Mixed Volatile (H2O‐CO2) Solubility in Silicate Melts - K. Iacovino (American Geophysical Union (AGU), 2021)
Abstract Thermodynamics has been fundamental to the interpretation of geologic data and modeling of geologic systems for decades. However, more recent advancements in computational capabilities and a marked increase in researchers' accessibility to computing tools has outpaced the functionality and extensibility of currently available modeling tools. Here, we present VESIcal (Volatile Equilibria and Saturation Identification calculator): the first comprehensive modeling tool for H2O, CO2, and mixed (H2O‐CO2) solubility in silicate melts that: (a) allows users access to seven of the most popular models, plus easy inter‐comparison between models; (b) provides universal functionality for all models (e.g., functions for calculating saturation pressures, degassing paths, etc.); (c) can process large datasets (1,000s of samples) automatically; (d) can output computed data into an Excel spreadsheet or CSV file for simple post‐modeling analysis; (e) integrates plotting capabilities directly within the tool; and (f) provides all of these within the framework of a python library, making the tool extensible by the user and allowing any of the model functions to be incorporated into any other code capable of calling python. The tool is presented within this manuscript, which may be read as a static PDF but is better experienced via the Jupyter Notebook version of this manuscript. Here, we present worked examples accessible to python users with a range of skill levels. The basic functions of VESIcal can also be accessed via a web app (https://vesical.anvil.app). The VESIcal python library is open‐source and available for download at https://github.com/kaylai/VESIcal, or it can be installed using pip. It is recommended to read and interact with this manuscript as an executable Jupyter Notebook, available at https://mybinder.org/v2/gh/kaylai/vesical-binder/HEAD?filepath=Manuscript.ipynb.