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 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 did not happen. The existing alphaMELTS website and forum were used as a temporary location for announcements, documentation, troubleshooting etc. As of May 31st, 2024, the software is published with source code in a combined alphaMELTS 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.

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. 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. 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 2 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, and some examples, and the 'tutorial' example is available for all. 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 routines are based on alphaMELTS menu options, others are modified from the MELTS CT Engine (see xMELTS and MAGMA). libpHMELTS will be a C++ wrapped version of the lower level functionality. 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 2, 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 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. 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