USER PROJECTS

ENKI users are working on a variety of interesting projects!

Who
Projects
Jenna Adams

Jenna Adams

Traditionally, calibrating new crystalline solution activity-composition models, an essential component to phase equilibria calculations in the MELTS family of phase equilibria codes, has been an extremely tedious and time-consuming process. In collaboration with co-PI Aaron Wolf, my ENKI-related work focuses on using Jupyter notebooks to create an automated system that aims to make calibrating new thermodynamic activity-composition solution models much easier and more accessible to the many model users in the earth and planetary science community. My particular motivation for doing this is that my research endeavors to better understand the genesis of ocean island lavas and involves rigorous use of thermodynamic, phase equilibria models, like MELTS and MCS (Magma Chamber Simulator). Garnet-rich lithologies in the source regions of ocean island lavas likely play an important role in controlling major and trace element signatures we see in oceanic island ("hotspot") lavas. The current activity-composition model for multi-component garnet consists of only three components. Thus, in order to adequately model the geochemical consequences of garnet-rich lithologies in ocean island source regions, a new 7-component thermodynamic model for activity-composition relations in the garnet solid-solution has been created with help from my advisor Frank Spera and ENKI PI Aaron Wolf. This model will be calibrated using the new calibration Jupyter notebook discussed above, and will ultimately be incorporated into MELTS. Once the "machinery" is set up to make activity-composition models relatively easy to implement, additional critically important solid solution models will be updated as well, such as the addition of a Cr-component in clinopyroxene.

ENKI user

Paula Antoshechkina

MAGMA@Caltech: I have not used ENKI extensively, but rather I am developing software and thermodynamic models that fit between the cutting edge tools available on the ENKI portal and more traditional MELTS software (the rhyolite-MELTS / pMELTS graphical user interface, MELTS for Excel, the "Supplemental Calculator" applet etc.). Together with Paul Asimow, I am responsible for alphaMELTS - a text-based interface to the MELTS family of algorithms - and related resources on the MAGMA@Caltech website. Current work includes:

  • Development, maintenance and support for alphaMELTS series 1 and 2, including bug-fixes, implementing user requested features, and tutoring at alphaMELTS workshops.
  • Maintenance and support of the Linux version of graphical user interface (GUI) to rhyolite-MELTS and pMELTS.
  • Software support for all versions of MELTS, on all platforms, via a forum with over 1300 registered users, and as co-administrator of a Facebook page with over 500 followers.

alphaMELTS 2 is a complete rewrite of the alphaMELTS software, based on the latest ENKI-hosted code (see the alphaMELTS branch of xMELTS). Executables, libraries and wrappers are (or will be) available for Windows, MacOS and Linux. Interfaces that are intended to help users convert existing alphaMELTS scripts or MATLAB code, and provide a path to tools on the ENKI portal, include:

  • The original alphaMELTS text-menu interface, updated and expanded to make it easier to move calculations to and from other interfaces, such as the GUI, MATLAB and Python versions.
  • A high-level feature-rich library of alphaMELTS functions (libalphaMELTS; written in C), and a low-level thread-safe library of alphaMELTS functions (libpHMELTS; written in C++).
  • MELTS for MATLAB, a user-friendly set of class-based wrappers to libalphaMELTS, for equilibration or "Supplemental Calculator"-like calculations, and much more.
  • A 'sister' version of MELTS for MATLAB, using the same class hierarchy (or as close as possible), that will be written in Python; this is intended for offline calculations and/or for users coming from the alphaMELTS executable or MATLAB interface.
  • A port of VAPORS to the libraries and executables, that will similarly complement the ENKI version of VAPORS (see below), being developed by Cayman Unterborn (with Denton Ebel and others).

Calibration of solid and liquid solution properties: ENKI is in the process of implementing a flexible model calibration infrastructure, allowing users to create thermodynamic models tailored to their own needs and interests. In the meantime, I am working on three less ambitious calibration efforts; each directly interfaces with a MySQL database (nicknamed Leprechaun), which is adapted from traceDs / LEPR to include volume data, and limited metadata related to confidence in the experimental data. The new models may be useful in their own right or, eventually, as building blocks for user-calibrated models within the ENKI framework:

  • Using a Bayesian approach to calibration of the equation of state of a ten end-member garnet model (with Aaron Wolf and others).
  • Preliminary addition of a CO2 component to the pMELTS system, comparable to rhyolite-MELTS 1.1.0 (with Oliver Shorttle and others).
  • Compiling data for a more extensive calibration of amphibole solid solution properties (with Paul Asimow and others).

Trace Elements: The ability to simultaneously calculate trace element abundances is a key feature of alphaMELTS, and indeed the pHMELTS model relies on feedback between the thermodynamic engine and the trace element engine (strictly "trace species", as "H2O" is included). MELTS is written in C but uses a code layout inspired by object-oriented languages (see the GitLab code base). I am currently rewriting the trace element engine in alphaMELTS, which was previously a tracked-on module, to use a similar code layout; this should be easily portable to other languages, such as such as C++ and Objective C, allowing it to be incorporated into ENKI. Specific features will include:

  • Adding the pHMELTS thermodynamic model, which accounts for partitioning of H2O into nominally anhydrous minerals like olivine and orthopyroxene, to alphaMELTS 2 (with Paul Asimow).
  • Encoded calculation of partition coefficients, D(P,T,X), using the lattice strain model; this functionality will also be available as a standalone calculator independent of MELTS (with Jon Blundy).
  • An option to use MELTS-calculated values to extend the range of mineral phases and ions for which D's may be calculated, and hooks so that users can define their own functions for calculation of D(P,T,X).
  • Setting up a mirror of the traceDs / LEPR database; upgrading it to use the latest PhP and security features; minor bug-fixes and new features for the user interface (with Mark Ghiorso).
  • Migration of the calibration data of Ghiorso & Gualda (2015) to the updated database; currently only about half the dataset is viewable from the traceDs / LEPR web interface.
  • Adding export and import features to traceDs and alphaMELTS 2 so that partition coefficients downloaded from traceDs may be easily assessed and employed in alphaMELTS.
ENKI user

Florence Bégué

See MagmaSat+ project below, undertaken jointly with Kayla Iacovino.

ENKI user

Suzanne Birner

I have been using the ENKI portal primarily to incorporate the MELTS spinel activity model into geochemical models I've developed during my PhD at Stanford University. I am particularly interested in the oxygen fugacity of mantle rocks, and the calculation of this parameter depends strongly on the determination of magnetite activity in the spinel phase. Prior to the existence of ENKI, this calculation could only be done on a web applet, which made running large numbers of samples prohibitively time-consuming. With ENKI, I have now written a Jupyter notebook that performs the calculations quickly with very little user effort. Another bonus is that I can then easily incorporate these calculations directly into other models I develop. For instance, I am currently working on a model that predicts the evolution of recorded oxygen fugacity during sub-solidus cooling, which has important implications for what natural mantle samples can tell us about the thermodynamics of the Earth's interior.

ENKI user

Grayson Boyer

I have developed Jupyter notebook tools for the automation of geochemical data cleanup (charge balancing, etc.), and calculation of water sample chemical properties including speciation and mineral saturation states. These tools, built on the EQ3 code, automate complex quality control calculations for environmental water samples, reducing task time from weeks to moments and allowing easy statistical post-analysis of results. I am working to optimize the use of these notebooks for data mining of results from thousands of output files, taking advantage of ongoing projects by other members of Everett Shock's research group (GEOPIG) who have extensive sets of geochemical analytical data. I am also building notebooks to help with estimation of thermodynamic properties of membrane lipids using predictive tools developed in his recently defended PhD research. I am considering an offer of a post-doc position in GEOPIG to expand my use of data science tools to manage geochemical data and to generate and interpret results of speciation calculations.

ENKI user

Juliane Dannberg

Integration of computational thermodynamics into ASPECT

My goal is to interface the freely available CIG modeling software ASPECT with the high-performance, custom libraries of thermodynamic modeling software under development by PI Spiegelman in order to make large-scale, 3D cosmputations of coupled geodynamic/thermodynamic models available to a wide range of users.

ENKI user

Kayla Iacovino

MagmaSat+ in the ENKI framework

The calculation of volatile solubilities and equilibrium fluid compositions are important for understanding magma storage, differentiation, and degassing processes. Volatile saturation pressures are commonly used to interpret melt inclusion data and give insights into crustal magmatic storage pressures (and depths).

Currently, volatile solubility calculation is built into the ENKI Equilibrate package, but its potential as a volatile-focused tool has not yet been fully exploited. Saturation conditions and dissolved and exsolved volatile concentrations can be calculated very simply within the currently implemented framework of MELTS, which relies upon the volatile solubility model of MagmaSat. Using this as a foundation, Florence Bégué and Kayla Iacovino are working to create a versatile mixed volatile (H2O-CO2) solubility tool capable of producing outputs relevant to volatile solubility and degassing processes. MagmaSat+ will have advanced plotting capabilities and extensibility such that the solubility model can be easily implemented into any other Python code. Early features will include:

  1. The ability to plot H2O-CO2 saturation curves at a given temperature for a range of pressures;
  2. A user-friendly interface using Jupyter widgets for inputting magma composition and necessary thermodynamic parameters;
  3. Ability to compute saturation pressures and fluid compositions for multiple samples at once, read in from a user-supplied Excel or CSV file.

Currently, these implementations are being created in standalone Jupyter notebooks. The goal of the MagmaSat+ project is the creation of one Jupyter notebook that contains all functionality of the currently separate notebooks. Ideally, widgets at the top of this notebook would allow the user to choose the calculation(s) they wish to use.

Cayman unterborn

Yitong Lyu

The project I'm working on for ENKI aims to set up a Jupyter notebook that runs adiabatic melting by pMELTS. Users are able to edit this notebook to change the bulk composition of the rock that's melting, to change the mantel initial temperature, to switch between equilibrium melting and near-fractional melting, and to calculate partition coefficient values for U, Th, Ra and Pa for different minerals that have constant bulk partition coefficients. The outputs will be sent to an Excel file that has columns for pressure, degree of melting, mineral modes for all the major minerals and calculated bulk partition coefficients for each element.
Cayman unterborn

Cayman Unterborn

My goal is to recreate and redesign the VAPORS condensation sequence code of Denton Ebel and co-authors for the ENKI database. VAPORS performs phase equilibria calculations between hot nebular gas and condensing solids for low pressures (<1 bar). These calculations provide us with information as to the stability of various elements at different points in a protoplanetary disk which can then be fed into planet formation models to determine the degree of mixing in the disk itself as a consequence of planet formation. As VAPORS was originally designed to use the MELTS algorithm, it is a natural extension to recreate the VAPORS code in the ENKI framework and provide it as an open-source code for the first time. This work is in conjunction with the ASU NExSS grant, PI Steve Desch.