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.0.2, 1.1.0 and 1.2.0, and the pMELTS model (see the ENKI-portal on GitLab for code, and read more in the README in GitHub). 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 are being implemented too, especially the pHMELTS module (water in nominally anhydrous mienrals (NAMs)). The new alphaMELTS software can be automated and called from the command line, or from scripts in MATLAB, Python or R.

alphaMELTS 2, and alphaMELTS for MATLAB/Python were supposed to to be released properly with a new dedicated website during 2020, but due to the COVID-19 pandemic that did not happen. As of May 31st, 2024, the software is published with source code in a combined alphaMELTS (v2.3.0) repository on GitHub. Installation information and basic documentation can be found in the Wiki and docs there. Full Read the Docs documentation and the new website (to be hosted at alphamelts.caltech.edu) are under development. In the meantime, this page and other resources on the MAGMA (magmasource.caltech.edu) site form a bridge between alphaMELTS 1.9 and alphaMELTS 2.3.0.

Software and libraries are available in compiled executable form for macOS, Linux (including the 'Windows Subsystem for Linux') and native Windows through GitHub (see right). The final 'beta' previews of alphaMELTS 2, and alphaMELTS for Python were made available in VM alphaMELTS 1.9 (32-bit and 64-bit). Since July 2nd, 2020, alphaMELTS updates have been 64-bit only, including native Apple Silicon since M1 chips were introduced (see the alphaMELTS2 and MELTS_Matlab repositories for version history). As of December 11th, 2023, alphaMELTS 2 and alphaMELTS for MATLAB/Python have been combined into a single alphaMELTS repository on GitHub and now have the same version numbers for all interfaces. Not all alphaMELTS options (e.g. 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. Melt integration, multiple liquids, and an additional method to model AFC 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 the alphaMELTS standalone app 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/Python in the workshop files, some examples in MATLAB and Python (including regular and Google Colab Jupyter notebooks). The 'tutorial' example is available for these and R too.

The alphaMELTS standalone app 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 and the command line interface (CLI) are written in C. Some routines are based on alphaMELTS 1.X options, others are modified from the MELTS CT Engine (see xMELTS and MAGMA). A C++ wrapped version of libalphaMELTS will be used in a future version of alphaMELTS for MATLAB, and also available for users to develop their own interfaces. In a separate line of development, we have been 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, as well as other MELTS software, such as the Magma Chamber Simulator and others described on the alphaMELTS links page.

 

GitHub iconSign up for GitHub to get involved with alphaMELTS. As of May 31st, 2024, you can download the packaged software from the Releases page and browse the corresponding source code via the persistent Zenodo DOI. The Wiki explains system requirements and how to install the software and more information can be found in the READMEs, docs and examples directories.

The The forum at Pomepeii alphaMELTS 2 Home is a dedicated area of the forum that was used as a temporary location for support during Covid. It will be replaced by a new Discord server soon. In the meantime, 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 GitHub as well, or instead.

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 pre-Covid workshops to use alphaMELTS 2 and alphaMELTS 1.X, respectively.

Login

Need to register?
Forgot your username / password?
 

 

 

More Links

Documentation

EXAMPLES