Planetary Science Research Discoveries

about archive search subscribe glossary comments

Citation: Davenport, J. D. (December, 2013) The Igneous SPICEs Suite: Old Programs with a New Look. Planetary Science Research Discoveries. (date accessed).

pdf version   PSRD-SPICEs-LMO.pdf
Simulating Planetary Igneous Crystallization Environments, SPICEs.

Headline Article
December 11, 2013

The Igneous SPICEs Suite: Old Programs with a New Look

--- Long-established, reliable programs for calculating how magmas evolve have been given a facelift and used for modeling the crystallization of the lunar magma ocean.

Written by Jesse D. Davenport
Centre de Recherches Pétrographiques et Géochimiques (CRPG), Nancy, France

Understanding the chemistry of magma is important for understanding how the planets differentiated into crusts, rocky mantles, and metallic cores. Magma formation and crystallization can be modeled using computer programs. A valuable and useful set of programs was developed by John Longhi (Lamont-Doherty Earth Observatory, Palisades, New York). John Longhi generously shared these programs widely with colleagues, but they were written in Fortran by John for his own use, and not as user-friendly research tools. As a major part of my Masters thesis at the University of Notre Dame, I was using the programs to do numerous calculations of the crystallization of the lunar magma ocean, the deep, global magma layer surrounding the Moon when it formed. It occurred to me that it would make my life easier if the programs were more straightforward, so working with others at Notre Dame and elsewhere, including John Longhi, I converted the programs for use with MATLAB, a powerful mathematical program. The revisions (Simulating Planetary Igneous Crystallization Environments, SPICEs) have a simple graphical interface for ease of input and output, yet use the same rigorous calculations in the original Longhi programs. My goal is to make the programs more widely used for research and education.


Spicing Up an Old Favorite

While at the University of Notre Dame, I did research primarily on the Lunar Magma Ocean (LMO). This research first started out as trying to recreate the famous (possibly infamous) LMO crystallization model published by Gregory Snyder and co-authors in 1992. I don't want to get into the details of the LMO at this point (learn more about it in this PSRD article: Crystallizing the Lunar Magma Ocean) but suffice it to say, as all scientists know, research can take quite unexpected turns. My research at Notre Dame generally stayed on the LMO track but I began to work with a few, well-established crystallization programs called MAGFOX, MAGPOX, FXMOTR and BATCH. These programs are igneous crystallization models that have mainly been used to model lunar magmatic scenarios, but can readily be applied to the Earth, Mars, Venus and many other planets.

Solar System inner planets

These crystallization programs were created by John Longhi. Dr. Longhi spent most of his career at the Lamont-Doherty Earth Observatory where he used experimental methods and modeling of basaltic systems applied to areas such as the origin of angrites (meteorites from an asteroid that melted), Proterozoic anorthosites and mid-ocean ridge basalts from the Earth, and lunar anorthosites. Much of his experimental work has been compiled into four programs discussed here: MAGFOX, MAGPOX, BATCH and FXMOTR. All of the experimental work can be found in his papers (see additional resources below).

The MAGFOX, MAGPOX, BATCH and FXMOTR programs were originally written by John Longhi in the FORTRAN programming language. MAGFOX and MAGPOX were developed in the early 1990s and BATCH and FXMOTR much more recently. MAGFOX uses Rayleigh fractional crystallization, while MAGPOX and BATCH use equilibrium crystallization to calculate the evolution of liquid magma in a cooling magma chamber. During fractional crystallization minerals separate from the remaining silicate melt, i.e. they cannot react with the melt. This greatly affects minerals that form "solid solutions," such as olivine and pyroxene. During equilibrium crystallization, the solids continuously react with the remaining melt. Real systems are usually somewhere in between these two cases. When using the programs, I can tell them to run according to parameters such as the initial magma composition, the crystallization step (e.g., a crystallization interval of 1%), when the model should end (e.g., when only 5% of melt remains), and the pressure (hence the depth). Mineralogy is determined in crystallization steps using experimentally derived equations and algorithms for geochemical systems, from which I can derive crystallization sequences. FXMOTR uses a combination of equilibrium and fractional crystallization to calculate the evolution of major and trace elements of the liquid and the crystallizing mineralogy of a magma ocean. The second half of my work at Notre Dame was translating and updating MAGFOX, MAGPOX, BATCH and FXMOTR into the MATLAB (Matrix Laboratory) programming environment, the creation of a graphical user interface or GUI for each program, and the creation of the Simulating Planetary Igneous Crystallization Environments (SPICEs). This work could not have been completed without the help of my colleagues Dr. Clive Neal and Dr. Diogo Bolster (University of Notre Dame), Dr. John Longhi, and Dr. Bradley Jolliff (Washington University at St. Louis). The underlying goal in this conversion is to be able to promote the MAGFOX, MAGPOX, BATCH and FXMOTR code to a much larger and broader scientific audience.

The Wonders of MATLAB

MATLAB is a computer program (available on both the Windows and Macintosh platform) developed by The MathWorks, Inc. in 1984 to analyze, visualize, and perform mathematical calculations on data sets as well as write new and widely accessible software programs. MATLAB's exceptional processing power derives from its ability to combine a large library of pre-programmed math and graphical functions with a high-level language allowing the user to solve complicated, technical problems. The stand alone MATLAB application can also be significantly augmented by a number of toolboxes and add-ons for performing special applications such as image processing, constructing map displays, performing geospatial data analysis, or solving partial differential equations. More recently, MATLAB has become increasingly popular in the earth science community. It has been used for a plethora of purposes such as for seismic interpretation, groundwater modeling, satellite image processing, generating digital elevation models, rock mechanics modeling—and now for SPICEs.

Why use SPICEs?

The primary purpose for using SPICEs is that the programs reasonably match experimental results (they are based on experiments, after all), hence are useful probes of magma genesis on the Earth and other planets. For example, in 1994 Clive Neal (then at the University of Tennessee) and colleagues at U. Tennessee and Oregon State University examined the petrogenesis of mare basalts at the Apollo 12 site using geochemical analyses of basalts as the initial liquid composition. Fractionating (separating) phases and corresponding crystallization assemblages were determined by using MAGFOX. Neal and coworkers found that the Apollo 12 basalts were produced from source regions composed of early- and late-stage LMO cumulates, although the relative amounts of each was not clear. More recently (2009), Stephanie Brown and Linda Elkins-Tanton used MAGPOX to model the geochemical evolution of a magma ocean on Mercury using several possible bulk mantle compositions. MAGPOX allowed them to easily change the bulk composition, thereby modeling many compositions quickly and efficiently. Using the modeled crystallization sequences, they calculated the compositions of the first crust produced by the magma ocean and compared those model calculations to data retrieved from the MESSENGER mission.

The chemistry of magmas informs us about magma oceans, magma chambers, and lava flows.

Other programs can be used to model the evolution of magmatic systems. Three widely used ones are MELTS [link, developed by Mark Ghiorso and Richard Sack], COMAGMAT [link, created by Alexei Ariskin] and THERMOCALC [link]. All of these programs have advantages and disadvantages, so it is up to the user to be aware of the strengths and weaknesses of each. In the early 2000s, a group of students led by professor Larry Taylor at the University of Tennessee conducted an evaluation of MELTS and COMAGMAT compared to MAGPOX and MAGFOX (see short reports by Slater and others and Thompson and others referenced below). They used compositions of the Martian meteorites Nakhla [Data link from the Meteoritical Bulletin] and LEW 86010 [Data link from the Meteoritical Bulletin], and Apollo 15 basalt 15555 [Data link from the Lunar Sample Compendium]. They concluded that MAFOX and MAGPOX most readily recreate the observed values of major mineral abundances in lunar suites. Although MELTS and COMAGMAT accurately model terrestrial systems, MAGFOX and MAGPOX also give consistent results for the same magma systems. Furthermore, at the time of these tests, MELTS had trouble modeling lunar and other planetary systems because of problems calculating oxygen fugacity.

A crucial point, however, is that MAGFOX, MAGPOX, BATCH and FXMOTR are calibrated for rock types that will always crystallize the mineral olivine first. Therefore, the data generated must be interpreted correctly for rocks in which a different mineral first appears on the liquidus. Several versions of each program are available from various sources and have been modified by different scientists for specific compositions in order to obtain better results. New modifications can easily be made to COMAGMAT and the SPICEs suite, but not to MELTS or THERMOCALC (proprietary software). Therefore, whether one uses the SPICEs suite or not, it is important that both the user and the reader understand which version of a particular model was used and for what compositional range it was calibrated or modified.

Looking Under the Hood: How the SPICEs Programs Work

MAGFOX uses Rayleigh fractional crystallization and MAGPOX equilibrium crystallization to calculate the compositions of the liquid and minerals using experimentally derived equations and algorithms in several geochemical systems. These compositions are then used to derive the crystallization sequence for differing magma compositions. The programs are basically mathematical conversions of phase diagrams, which have been widely used to understand the chemical evolution of magmas since the early 1900s. FXMOTR uses a combination of equilibrium and fractional crystallization. BATCH is a high-pressure version of MAGPOX.

MAGFOX and FXMOTR model fractional crystallization using these three steps:
1. The composition of crystals are first computed,
2. A crystal/liquid partition coefficient for each major element is calculated from data inside the program and
3. A new liquid composition is calculated based on a mass balance between the bulk system (previous liquid composition), the new crystals, and the new liquid composition using:
equation for a new liquid composition used by models

Here, Ci is the concentration of element i, Ki is the partition coefficient for element i, and FX is the percent fraction crystallized in each step, usually equal to 0.01. (Partition coefficients are quantitative measures of the ratio of elements in a mineral compared to a silicate melt with which they are in equilibrium.) Equilibrium crystallization (for MAGPOX and BATCH) uses the same equation as shown above. However, whereas in fractional crystallization the old liquid composition was taken from the previous crystallization cycle, this term is fixed at the bulk composition of the magma. Here the weight factors are not the proportion of crystals in each step, but accumulated fractions of each solid phase crystallized. FX still represents the percent fraction crystallized in each step.

That gives you a general idea of what takes place in these four programs, but of course it is much more complicated than that. More detail can be found in an article I am preparing or can be found in the numerous, clear articles by John Longhi.

Using FXMOTR to model the Lunar Magma Ocean

Generally, most scientists believe the Moon formed from a collision between the Earth and a Mars-sized object (see PSRD article: Compositional Balancing before Moon Formation). This enormous collision produced a massive amount of planetary fragments that coalesced together via gravitational forces to form the Moon. The collision also produced enough heat to melt the newly formed layers of the Moon, consequently forming the LMO (see diagram below). Two very important factors largely control what sort of minerals form the layers of the Moon: the initial bulk liquid composition of the LMO and the pressure/depth of the magma ocean.

Four-panel illustration of lunar magam ocean crystallization sequence.
A schematic of the evolution of the lunar magma ocean (LMO) from formation to present, left to right. Within a turbulent convection magma ocean, olivine crystallizes first, followed by pyroxene. These minerals cool and sink to form early-stage LMO cumulates. Plagioclase then begins to crystallize and floats to the top to form an insulating anorthositic lid. The LMO continues to crystallize, eventually forming ilmenite and urKREEP, the last dregs of the LMO, which contains a strong enrichment in elements that are not readily incorporated into the main minerals olivine and pyroxene.

Most lunar scientists believe that the depth of the lunar magma ocean was at least 400 km (≈20 kilobars) and as deep as 1000 km (≈50 kilobars). And most scientists subscribe to one of two LMO bulk compositions: the Taylor Whole Moon (TWM) and the Lunar Planetary Upper Mantle (LPUM) compositions (for more, see PSRD article: Two Views of the Moon's Composition). Basically, these two compositions differ most in their abundances of refractory elements such as aluminum and thorium. I used FXMOTR with both of these depths and bulk compositions and we find something quite interesting (see figure below).

Four strat columns showing the cumulate stratigraphy of the Lunar Magma Ocean modeled for two compositions by Davenport et al.
Cumulate stratigraphy (TWM left, LPUM right) at 20 and 50 kilobars, for the crystallization of the lunar magma ocean for two compositions, one richer in aluminum (TWM) than the other (LPUM). The crystallization order was calculated using FXMOTR. Opx = orthopyroxene; Ilm = ilmenite; Pig = pigeonite; Sp = spinel; Arm = armalcolite; An = anorthite feldspar (plagioclase); Aug = augite.

From the beginning, it stood out quite remarkably to my colleagues and me that the composition with higher aluminum abundances, i.e. TWM, produced plagioclase in the LMO before LPUM every time. Higher alumina content implies several things about the LMO and the Moon:

And finally, if the LMO is greater than 500 km there is a possibility that garnet will crystallize in the lunar mantle. Similar results were found by laboratory experiments by Steve Elardo and his colleagues at the University of New Mexico (see PSRD article: Crystallizing the Lunar Magma Ocean).

FORTRAN, MATLAB, and the Future

In my opinion, FORTRAN is a dying computer language used only for high level technical scientific computing. MATLAB fits the bill for almost all Earth Science computing needs. The crystallization programs developed by John Longhi, MAGFOX, MAGPOX, BATCH and FXMOTR, are now available in the MATLAB format. Copies of the MAGFOX , MAGPOX, BATCH and FXMOTR programs are available on the Lunar and Planetary Institute (LPI) website within the "Computational Tools" as the original translated code, a GUI, and windows executable file [link]. The models are written in MATLAB [link], but the basic code can also be executed in the open source Octave programming language [link]. We also provide the original FORTRAN source code as a means to compare the two source codes. Feel free to contact me ( or Clive Neal ( with any questions about the program.

Additional Resources

These papers explain John Longhi's programs (*) and provide experimental data

Examples of research that used John Longhi's programs (in addition to those published by John Longhi)

Testing the magma programs

Other programs

[ About PSRD | Archive | CosmoSparks | Search | Subscribe ]

[ Glossary | General Resources | Comments | Top of page ]       + Share