The next generation of alphaMELTS

More ways to access the MELTS family of algorithms

α alphaMELTS 2 is a complete rewrite incorporating the latest source code for Rhyolite-MELTS 1.02, 1.10 and 1.20, and the pMELTS model (see the ENKI-portal on GitLab for code, and read more at the ENKI User Projects page). The program is split into libraries of alphaMELTS functions and a text-based front-end to access them. The external interface (i.e. the menu options and files) of the alphamelts executable resembles the older version, but is more flexible and easier to use, with tab completion and command history / logging. Many improvements to the core program, especially the trace element module, are being implemented as well. alphaMELTS 2 can be automated and called from the command line, or from scripts in MATLAB, Python or R. Users are also able to access (high-level) libalphaMELTS functions and (low-level) libpHMELTS functions and interact with the system state via the alphaMELTS for MATLAB/Python interface. When alphaMELTS 2 / libpHMELTS / libalphaMELTS is complete it will replace the main alphaMELTS program.

alphaMELTS 2, and alphaMELTS for MATLAB/Python were supposed to to be released properly, with a new dedicated website, during 2020. Due to the COVID-19 pandemic and its effect on schools and other business in California, that will not be possible. Instead the existing alphaMELTS website has been updated to include more information about alphaMELTS 2, and alphaMELTS for MATLAB/Python, and the forum will be used as a temporary location for announcements, documentation, troubleshooting etc.

Software and libraries are available in compiled executable form for MacOS, Linux (including the 'Windows Subsystem for Linux') and native Windows through GitLab (see right). As of July 2nd, 2020 the final 'beta' previews of alphaMELTS 2, and alphaMELTS for Python are available in VM alphaMELTS 1.9 (32-bit and 64-bit). From now on all alphaMELTS updates will have version numbers and will be 64-bit only. Not all alphaMELTS options (e.g. trace elements, pHMELTS, reverse fractionation) are available yet, though some new features (such as 'Dual_Adiabat', as described in Smith et al., 2003) may be included sooner. AFC, melt integration, and multiple liquids will be hooked up to the alphaMELTS menu options next.

There is currently not much documentation, but the presentations and example files from the lastest alphaMELTS workshop. should be useful. For alphaMELTS 2 you should be able to use the same input files as for the Rhyolite-MELTS graphical user interface (GUI). If you have used alphaMELTS 1.X then the menus will seem familiar but differ in detail, e.g. compare with files from an earlier workshop. If you have not used any MELTS software before - or even if you have - we recommend you try out easyMelts (see the alphaMELTS links page) as it an excellent way to learn about the basic MELTS input file format. There is an introductory presentation for alphaMELTS for MATLAB in the workshop files, and one or two examples, as well as some examples included with the software download. The MATLAB and Python versions are as similar as possible so these should still help with alphaMELTS for Python.

The full alphaMELTS 2 package has Perl scripts to help in running the alphamelts program from the command line and for migrating calculations to MATLAB, Python etc. Most systems already have Perl installed (see the alphaMELTS download page for more details). There is an option to run alphamelts standalone (i.e. without Perl) and use MELTS for Excel's "Combine tbl" function to import the output tables (see the MELTS links page). The Perl scripts are still the most convenient way to manipulate input and output files though.

libalphaMELTS is written in C. Some functions are based on alphaMELTS menu options, others are modified from the MELTS CT Engine (see xMELTS). libpHMELTS will comprise fully thread-safe functions suitable for small- to medium-scale parallelization etc. It will be written in C++ and loosely based on / ported from ENKI's Thermoengine. In a separate line of development, we are working with grad students in Paul Asimow's research group to expand the amphibole solution model, and to add CO2 to the pMELTS system. See the project description for more details. Once calibrated these new solution models will be incorporated into alphaMELTS 2, as well as other MELTS software, such as the Magma Chamber Simulator and others described on the alphaMELTS links page.


GitLab iconSign up for GitLab to access the new software. Use the link at the bottom of this page to email us your GitLab username to be added to the alphaMELTS group. You'lll get a comfirmation email from GitLab, and then you can download alphaMELTS 2 and/or alphaMELTS for MATLAB/Python (log into GitLab first). Each README explains system requirements and how to install the software.

The The forum at Pomepeii alphaMELTS 2 Home is a dedicated area of the forum. To get an email when a new topic is posted log in or register and select 'Notify' on the individual boards for the alphaMELTS 2 text-menu and/or alphaMELTS for MATLAB/Python interfaces. You can get emails about software updates from GitLab as well, or instead; click the dropdown next to the bell to adjust settings at a project, group, or global level.

The Git version control logoMAGMA Source GitList server hosts MELTS-related tools and add-ons, and workshop files that will be helpful for getting going with alphaMELTS 2. For more details about easyMelts and Combine tbl see the LINKS tab. You can switch between different workshops in the Workshop repository using the 'browsing:' dropdown or by following links from the ARCHIVE tab. 'Caltech 2019' and 'Rice University 2015' were the most recent to use alphaMELTS 2 and alphaMELTS 1.X, respectively.


Forgot your username / password?
Need to register?


More Links