tentative evidence has been given for K2-141 b (Zieba
et al., 2022) and 55 Cnc e (Angelo & Hu, 2017; Demory
et al., 2016; Zilinskas et al., 2020,2021), and the advent
of the new generation of telescopes, such as JWST and
Ariel, may allow for the characterization of the chemical
composition of hot rocky-exoplanet atmospheres in the
near future (Ito et al., 2021; Zilinskas et al., 2022).
To know what to look for in such observations and
to interpret the data once it arrives, accurate atmospheric
models are required. For atmospheres on hot rocky
exoplanets, this involves modeling the degassing from
lava at the surface of the planet. Since we yet have to gain
a good understanding of the possible types of rocky-
exoplanet compositions, we do not yet know what kind
of compositions we should expect for these melts. Recent
work (Brugman et al., 2021; Putirka et al., 2021; Putirka
& Rarick, 2019) indicates that we should expect a wide
range of different possible silicate compositions. Hence,
open-source vaporization codes that can work with a
wide range of compositions are necessary to enable
modeling potential atmospheres as our understanding of
hot rocky planets develops.
To date, a limited number of codes have been used to
calculate the chemical composition of vapors degassing
from lava at a given temperature and the composition of
an atmosphere in equilibrium with lava of a given
temperature. The MAGMA code (Fegley & Cameron,
1987) was written to study the fractional vaporization of
Mercury. The same code was used for the study of other
solar system bodies (Schaefer & Fegley, 2007; Schaefer &
Fegley Jr., 2004) and exoplanets (Kite et al., 2016; Miguel
et al., 2011; Schaefer & Fegley, 2009; Schaefer et al.,
2012; Visscher & Fegley, 2013). This code makes use of
the Ideal Mixing of Complex Components (IMCC)
model, developed by Hastie and co-authors (Hastie &
Bonnell, 1985,1986; Hastie et al., 1982), to calculate the
activity of the oxide components in the melt.
In more recent years, the MELTS code (Ghiorso &
Sack, 1995) has seen increased use for modeling the
thermodynamics for outgassing codes (Ito et al., 2015,
2021;J
¨
aggi et al., 2021; Wolf et al., 2023). Wolf and co-
authors have developed the code named VapoRock
which has been used to model the early atmosphere of
Mercury (J¨
aggi et al., 2021) and to explore how relative
abundances of SiO and SiO
2
could be used to infer the O
2
fugacity of a volatile-depleted mantle (Wolf et al., 2023).
The main difference between VapoRock and LavAtmos
is the manner in which the O
2
partial pressure is
determined. In the discussion (“Discussion” Section), we
include a more in-depth comparison of the two codes.
Other approaches that calculate the condensate
compositions from an initial gas composition, as opposed
to calculating vaporization reactions from an existing melt
reservoir, have also been developed in the literature
(Herbort et al., 2020,2022).
In this paper, we present a new open-source code,
which we named LavAtmos, that calculates the
equilibrium composition of a vapor above a melt of a
given composition, at a given temperature and at a given
melt–vapor interface pressure. As shown in the graphical
table of contents, a general overview of the workflow
of the code is presented. Just as the abovementioned
previous works (Ito et al., 2015,2021; Wolf et al., 2023),
we use MELTS to calculate the oxide component
properties of a melt. These properties are then combined
with thermochemical data available in the JANAF
tables (Chase, 1998) to perform gas–melt equilibrium
calculations. The oxygen fugacity (fO
2
) is derived from
the law of mass action, similarly to the approach used for
thermodynamic calculations for pure silica and alumina
(Krieger, 1965a,1965b) and for the MAGMA code
(Fegley & Cameron, 1987). LavAtmos currently takes 9
oxide species into account (SiO
2
, MgO, Al
2
O
3
, TiO
2
,
Fe
2
O
3
, FeO, CaO, Na
2
O, and K
2
O), 31 different vapor
species with corresponding vaporization reactions (shown
in Table 1) and is suitable for calculations between 1500
and 4000 K. LavAtmos is written in Python for ease of
use and integration with the MELTS Python wrapper
named Thermoengine.
1
It is released as an open-source
code under the GNU General Public License version 3.
2
LavAtmos is available on https://github.com/cvbuchem/
LavAtmos.
In this paper, we provide an in-depth look at the
methods used in “Methodology” Section. We compare its
performance to laboratory data and the results calculated
by other similar codes where those are available in
the public domain in “Validation” Section. Finally, we
discuss assumptions made in the method, the advantages
and limitations of the code, and highlight a set of
potential applications in “Discussion” Section, rounding
off with a conclusion in “Conclusion” Section.
METHODOLOGY
In this section, we cover how the partial pressures of
included species are calculated. Consider the generalized
form of a vaporization reaction of a liquid oxide j,
gaseous O
2
, and the resulting vapor species i:
cijXxjOyjlðÞþdijO2gðÞ,Xxjcij Oyjcijþ2dij gðÞ (1)
Xis the cation of the species, x
j
the number of cation
atoms, y
j
the number of oxygen atoms, and c
ij
and d
ij
are the stoichiometric coefficients for this reaction. The
gaseous species (atmosphere) are indicated using (g) and
the liquid species (melt) using (l). As an example, the
1150 C. P. A. van Buchem et al.
19455100, 2023, 8, Downloaded from https://onlinelibrary.wiley.com/doi/10.1111/maps.13994 by University Of Leiden, Wiley Online Library on [15/09/2023]. See the Terms and Conditions (https://onlinelibrary.wiley.com/terms-and-conditions) on Wiley Online Library for rules of use; OA articles are governed by the applicable Creative Commons License