We are now holding weekly office hours! Office hours are held on Wednesdays from 10-11am ET (1st, 3rd, 5th Wed each month) and from noon-1pm ET (2nd, 4th Wed each month).
To join, email Aaron Wolf at aswolf AT seti.edu to be added to our mailing list and to the ENKI organization's Zulip site (an open-source Slack alternative where we host office hours and answer questions).
WHAT IS ENKI?
ENKI is a flexible, collaborative ecosystem for thermodynamic modeling of geologic systems. ENKI is built upon the ThermoEngine package, an easy-to-use Python framework for using, comparing, and developing thermodynamic models. At the center of ThermoEngine is the MELTS family of models. The ENKI project is the brainchild of Mark Ghiorso and was first developed by Mark and an interdisciplinary team of colleagues in 2016. Since then, many tools and applications have been built on top of the ThermoEngine package and many more tools are in development. Click here to learn more about ENKI and ThermoEngine. To see current examples of ENKI's capabilities, check out our Gallery! ENKI is a work in progress, and more abilities-- including a User Guide-- will be released over the next several months. If you would like to stay informed about ENKI developments, please email Aaron Wolf at aswolf AT seti.org to be added to the mailing list. We are also currently using Zulip (an open-source alternative to Slack) to communicate and hold weekly office hours. If you would like to join our Zulip group, please email Aaron Wolf at aswolf AT seti.org.
HOW TO USE ENKI/THERMOENGINE
Currently, there are two ways to use ThermoEngine: via the ENKI portal (an online server/cluster) or via a locally-installable Python package. Click here to learn how to access ENKI and ThermoEngine.
MAJOR ENKI/THERMOENGINE UPDATE: APRIL 20, 2026
The ENKI developers have been busy since our last update and we have made big advances towards more robust MELTS calculations and a more intuitive user interface.
Our goal is to be “feature complete” with respect to all previous versions of MELTS, but in a modern, extensible, documented, and reproducible software library.
Most excitingly this gives us an ability to more rapidly develop new scientific models and modelling capabilities, many of which we will be presenting at the Goldschmidt meeting this summer (more soon!).
ENKI Workshop at Goldschmidt
We are hosting a one-day workshop at Goldschmidt in Montreal on Sunday 12th July.
The workshop will introduce participants to new developments within the ENKI ecosystem, including the MELTS 2.0 model (including Bayesian error propagation), magmatic fluid exsolution, and teaching tools.
For more information see the Goldschmidt website: Workshop Link.
Robust batch and fractional crystallisation calculations for rhyoliteMELTS
Much of our development work in the past months has been focused on ensuring calculations remain robust when low-abundance components are present (including when components are exhausted during fractional crystallisation).
Previous versions of MELTS required bespoke tweaking of each phase to ensure proper behavior during computations, but the new generalised equilibrium routine removes the need for these adjustments, allowing for fast and robust calculations.
Improvements to the MagmaForge user interface
Our user interface for MELTS crystallisation and melting calculations, MagmaForge, has also been receiving a lot of our attention.
We are hard at work to make it easier and more intuitive to use and build upon.
The newest version of MagmaForge includes a simpler and more intuitive method for creating and equilibrating systems, as well as for running crystallisation routines.
We are currently working on improving redox input options: users can now input redox information as a desired redox ratio or bulk Fe2O3, and we are also working to allow users to input fO2 relative to a wider range of buffers.
New “Supplemental Calculator” prototypes in the gallery
We are working to revive the old “MELTS Supplemental Calculators”!
These calculators (previously hosted at https://melts.ofm-research.org/CalcForms/index.html) returned thermodynamic information about specific phases, such as activities of components within a liquid or solid solution.
Working together with one of our users, we have begun to rebuild these calculators on the ENKI platform.
We have a working calculator for the activity of magnetite in spinel (Gallery link), and we have now added a prototype for calculating liquid properties (Gallery link).
These calculators are beta versions, so please let us know if you find any errors. Also, let us know if there is a particular phase property calculator that you would like to see implemented on the ENKI platform!
Regular releases of built ThermoEngine packages
Along with these new advances, we are regularly releasing new beta-releases of the latest version of the ThermoEngine software package. We release a new version approximately every two weeks, and attendees of our office hours actively participate in testing the newly released versions and suggesting new features. This process has been getting smoother with each release and we are approaching “feature complete” for all published versions of MELTS.
Thanks to all the users who have helped with this process, and we hope to see more of you in the coming months! Please join us!!
Weekly office hours with the development team
The ENKI development team holds weekly office hours on Wednesdays.
These office hours bring together a diverse group of experimentalists and modelers, students & professionals, to discuss how ENKI can support their research with existing tools and newly added features. We also have fun talking about coding and science.
The office hours alternate between 10 am Eastern (1st, and 3rd, & 5th Wednesdays each month) and 12 pm Eastern (2nd and 4th Wednesdays each month). To access office hours, please email Aaron Wolf (aswolf AT seti.org) to be added to our mailing list and Zulip chat interface.
NEWS AND ANNOUNCEMENTS
Major ENKI/ThermoEngine Update. (July, 2025)
Over the past years the ENKI development team has been building new infrastructure for open, reproducible, and flexible thermodynamic model building. This new toolkit will ultimately allow us to provide significant updates and recalibration of the MELTS model (and other related models), and provide a completely transparent and reproducible workflow.At the heart of the ENKI infrastructure is the ThermoEngine Python package, which hosts phase models, equilibration routines, and coding modules for creating and calibrating new phases/models. However, to maintain existing MELTS features within ThermoEngine, we have been relying on large amounts of legacy code to run the original MELTS models. Making this legacy code work led to a complex installation process and was only ever compatible with linux or MacOS. In the past, we got around this by running the ENKI Community Server: a cloud-based solution that required no local installation.
Moving forward, our goal is to move away from the server-based structure and instead allow users to easily install and use ThermoEngine (and thus the MELTS models and equilibration routines) on their local machines. To this end, over the past year we have been working on removing all of the legacy code from the ThermoEngine codebase. We previewed this new version of ThermoEngine at the Goldschmidt 2025 meeting, and the table below summarises our roadmap:
| Feature-complete, pip-installable version of ThermoEngine | We are past the major technical hurdles, and we have the MELTS v1.0 and v1.2 liquid models working with the most frequently used mineral models. The rest of the models will be added over the coming months. Once the new version of ThermoEngine is complete we will submit a paper to the Journal of Open Source Software (JOSS). |
|---|---|
| User-friendly interfaces to MELTS calculations | We have a new Python interface for MELTS calculations: MagmaForge. Right now this module supports batch and fractional crystallisation and will soon support batch and fractional melting (isobaric or isentropic). We have prototype graphical user interfaces (GUIs) which will be released soon. |
| Trace Element and Isotope Engine | The ability to model trace element fractionation during melting and crystallisation (both batch and fractional) will be added to the MagmaForge interface soon. |
| Reinstantiation of missing MELTS-based calculation tools | Due to changes in the ENKI cloud server infrastructure some online MELTS-based calculators are no longer available. These will soon be added to the ThermoEngine gallery page and will be able to be downloaded or run in the cloud. |
| Widen dependency compatibility | Right now ThermoEngine is only compatible with Python v3.10 and specific versions of some of its dependencies. You may also notice that there are many deprecation warnings generated while running ThermoEngine. Once ThermoEngine is feature-complete we will widen the compatibility and fix the deprecation issues. |
| New MELTS v2.0 model | A recalibrated version of the MELTS model which supports model uncertainty propagation is almost complete. A manuscript (and accompanying software release) will be submitted before the end of the year. |
| Integration of the Deep Earth Water (DEW) model | Work is ongoing for DEW to be integrated into ThermoEngine as a native phase, this will enable DEW to be used with the full range of ENKI tools and utilities, as well as allowing DEW fluid equilibration with complex solid solution and silicate liquid phases. |
| New mineral solid-solution models | We now have the infrastructure in place to rapidly reformulate and recalibrate the solid solution models in MELTS, and updates to all major solid solution phases are planned. |
| Addition of other families of models | For model intercomparison we plan to add other families of thermodynamic models to ThermoEngine, using the coder code generation pipeline. |
Want to try out the new version of ThermoEngine?
First, set up a fresh conda environment with Python v3.10, then run “pip install thermoengine” (see instructions here). This should succeed on all common platforms. Feel free to ask for help with configuring conda during our weekly office hours. Please remember that this is a preview version for now- it is not yet feature complete.
The ENKI Community
We are establishing a mailing list for ENKI-related news and a new Discord server for users to get help from each other and the ENKI developers. From Fall 2025 we will begin running weekly “office hours” to provide real-time user support. If you would like to be added to the mailing list, please contact Aaron Wolf at aswolf AT seti.org.
Get Involved
If you think you can contribute to the ENKI project we would like to hear from you! This could be as simple as testing the ThermoEngine gallery examples for your own applications, working with us to develop new applications, or even collaborating on building new thermodynamic models.
Want to build on top of ThermoEngine?
This is exactly what thermoengine is designed to be used for! But please note that you must follow the GNU Affero license when re-using the ThermoEngine code. Importantly, this includes making the source code for any modifications (including interfaces etc.) open source. If your application runs on a cloud-based portal, you must make the source code easily available through that service. Please reach out to the development team if you have questions about this. Please give credit to the ENKI project and the developers of the original models (via academic citations, linking to ENKI’s gitlab repos, or even consider inviting to work with us as collaborators). Together, we can grow the tools and community support needed to help everyone flourish!
Website Updates. (June 13, 2025)
In advance of our Goldschmidt workshop, we are making changes to the website. If you are unable to locate content that was previously available on the website, please contact Suzanne Birner: birners AT berea.edu
ENKI Workshop at Goldschmidt 2025. (January 9, 2025)
Registration is now open for our workshop at the 2025 Goldschmidt Meeting. The 1-day workshop, 'Advances in thermodynamic modeling of volcanic processes using MELTS and the ENKI software ecosystem', will be held Sunday, July 6, 2025. This workshop will introduce users new and old to the ENKI thermodynamic modeling ecosystem and to the latest developments in modeling volcanic/magmatic processes near the surface and at depth. We will showcase a selection of ENKI’s suite of open-source thermodynamic modeling tools, with a focus on how ENKI’s thermoengine software package provides easy access to the entire suite of MELTS models. More information about the workshop can be found here. The deadline for workshop registration is May 21, 2025.
Upcoming developments: an easy-to-install ThermoEngine package. (December 13, 2024)
ENKI developers have been working diligently to create a version of the core ThermoEngine module that is easily installed as a standard, lightweight Python package on a user’s local machine. This package will be faster, easier to use, and require less storage space than any previous MELTS implementation. We also plan to host a workshop at Goldschmidt 2025 that will focus on the new ThermoEngine package, as well as other exciting developments, such as MELTS 2.0 and a new gallery of research and teaching tools. More workshop details coming soon!
ENKI development will soon be moved to a cloud-based production server; the original development server will be decommissioned on Nov 4, 2021. (October 13, 2021)
The ENKI development server will be decommissioned on November 4th, 2021. This server has been superseded by the Google Cloud-based ENKI production server, which will continue to provide community modeling resources and deliver free access to the ENKI software ecosystem. The development server is no longer capable of delivering the computing resources necessary to support the growing ENKI user community. If you have files on the development server that you wish to save, please log into your account prior to November 4, and download them for safekeeping. To continue using the ENKI modeling platform, please watch Accessing the ENKI software ecosystem on the ENKI Portal YouTube channel to learn how to make an account on the ENKI production server.
Accessing the ENKI software ecosystem (March 31, 2021)
Want to access the ENKI software ecosystem? This video shows you two simple ways.
Presentation: "Modeling magma storage: A data science perspective" (March 31, 2021)
If you missed the SZ4D MCS volcano workshop on Feb 23, 2021, here's the video to watch at your leisure. Mark S. Ghiorso discusses—from a data science perspective—issues related to model construction, interoperability, and publication. (Begins around 49:00.)
New cloud-based production server (February 27, 2020)
You may have noticed a new server in the ENKI SERVERS menu at the top of the website: the production server. This cloud-based resource runs the most stable version of ENKI. Use it for class work, workshops, routine calculations, or anything that does not require new and untested features or novel capabilities of ENKI.
The development server (formerly Compute Server) contains the latest code but is less stable than the production server and may contain bugs. Use the development server for situations in which some new feature needs to be alpha- or beta-tested.
Third ENKI user workshop (August 12, 2019)
Group photo from third ENKI user workshop, Breckenridge, Colorado
Equilibrate module (August 3, 2019)
We have much to report, but for now we wanted to alert you that the equilibrate module in Thermoengine has been significantly improved.
The equilibrate module implements a Python interface to the Equilibrate and EquilState classes. It also implements a Python class called MELTSmodel that wraps the objective-C classes (EquilibrateUsingMELTSv102, EquilibrateUsingMELTSv110, EquilibrateUsingMELTSv120, EquilibrateUsingpMELTSv561, EquilibrateUsingMELTSwithDEW, and EquilibrateUsingStixrude).
The Equilibrate class provides methods to calculate an equilibrium phase assemblage given a list of Phase class instances. You can calculate equilibrium in closed thermodynamic systems under a variety of constraints:
- Temperature and pressure (Gibbs free energy minimization)
- Entropy and pressure (enthalpy minimization)
- Temperature and volume (Helmholtz free energy minimization)
- Entropy and volume (internal energy minimization)
You can also calculate equilibrium under constraints of fixed temperature and pressure in open thermodynamic systems by specifying one or more fixed elemental chemical potentials.
For details of the underlying theory and algorithms implemented in the Equilibrate class, see the notebooks in the PublicNotebooks/Equilibrate folder on the ENKI server.
See also Equilibrate package in the Thermoengine documentation.
ENKI Server Update (Feb 19, 2017)
The ENKI server is now running JupyterLab with a number of extensions that improve server performance. The server now has better access to the file system, including a public notebook folder, and has direct access to the ENKI-portal resources at GitLab. Jupyter notebooks work as before, but you may notice that some notebook commands are located in a different part of the user interface. For a tour of the interface, see the YouTube video, Intro to the ENKI Server.