Welcome to the GSFC Exoplanet Modeling and Analysis Center (EMAC)
EMAC serves as a catalog, repository and integration platform for modeling and analysis resources focused on the study of exoplanet characteristics and environments. EMAC is a key project of the GSFC Sellers Exoplanet Environments Collaboration (SEEC).More Information on EMAC...
- If you make use of tools linked or hosted on EMAC, please use the following statement in your publication acknowledgements: “This research made use of the NASA Exoplanet Modeling and Analysis Center (EMAC), which is funded by the NASA Planetary Science Division’s Internal Scientist Funding Model.”
- EMAC is intended as a clearinghouse for the whole research community interested in exoplanets, where any software or model developer can submit their tool/model or their model output as a contribution for others to use.
- EMAC provides a searchable and sortable database for available source code and data output files - both resources hosted locally by EMAC as well as existing external tools and repositories hosted elsewhere.
- The EMAC team also helps develop new web interfaces for tools that can be run “on-demand” or model grids that can be interpolated for more individualized results.
- If you would like to submit a new tool/model to EMAC, please visit Submit a Resource page.
- If you have suggestions for tools we should recruit or improvements to the site, please visit Feedback page or email us at
- Please help us determine the best tools for new web interfaces by voting on our Vote page.
The P.I. is Avi Mandell, and the Deputy P.I. is Eric Lopez; more information on EMAC staffing and organization will be posted shortly.
Feng, F., Tuomi, M., Jones, H. R. A.
Agatha is a framework of periodograms used to disentangle periodic signals from correlated noise and to solve the two-dimensional model selection problem: signal dimension and noise model dimension. Agatha is based on the Bayes factor periodogram (BFP) and the marginalized likelihood periodogram (MLP). Agatha outperforms other periodograms in terms of removing correlated noise and assessing the significances of signals with more robust metrics, and has been used successfully to identify planetary signals in high-precision radial velocity (RV) data. Moreover, it can be used to select the optimal noise model and to test the consistency of signals in time.
Günther, M., and Daylan, T.
Allesfitter (Günther & Daylan, 2019 and in prep.) is a public and user-friendly astronomy software package for modeling photometric and RV data. It can accommodate multiple exoplanets, multi-star systems, star spots, stellar flares, and various noise models. A graphical user interface allows definition of all input. Then, allesfitter automatically runs a nested sampling or MCMC fit, and produces ASCII tables, LaTeX tables, and plots. For all this, allesfitter constructs an inference framework that unites the versatile packages ellc (Maxted 2016), aflare (Davenport et al. 2014), dynesty (Speagle 2019), emcee (Foreman-Mackey et al. 2013) and celerite (Foreman-Mackey et al. 2017).
Collins, K., Kielkopf, J., Stassun, K., and Hessman, F.
AstroImageJ (AIJ) provides an astronomy-focused image display environment and tools for image calibration and data reduction. AIJ maintains the general purpose image processing capabilities of ImageJ, but AIJ is streamlined for time-series differential photometry, light curve detrending and fitting, and light curve plotting, especially for applications requiring ultra-precise light curves (e.g., exoplanet transits). AIJ reads and writes standard Flexible Image Transport System (FITS) files, as well as other common image formats, provides FITS header viewing and editing, and is World Coordinate System aware, including an automated interface to astrometry.net for plate solving images.
ATMO Exoplanet-Specific Grid
Jayesh Goyal et al.
A grid of forward model transmission spectra, adopting an isothermal temperature-pressure profile, alongside corresponding equilibrium chemical abundances for 117 observationally significant hot exoplanets (equilibrium temperatures of 547–2710 K). This model grid has been developed using a 1D radiative–convective–chemical equilibrium model termed ATMO, with up-to-date high-temperature opacities.
ATMO Generic Grid @ ExoCTK
Jayesh Goyal et al.
A generic model grid of planetary transmission spectra, scalable to a wide range of H2/He dominated atmospheres. The grid is computed using the 1D/2D atmosphere model ATMO for two different chemical scenarios, first considering local condensation only, secondly considering global condensation and removal of species from the atmospheric column (rainout). Using the model grid as a framework, we allow you to rescale your models with custom temperature, gravity, and radius values. The web interface is hosted and maintained by the STScI Exoplanet Characterization ToolKit.
Claire et al.
IN PROGRESS — Atmos is a packaged photochemical model and climate model used to understand the vertical structure of various terrestrial atmospheres. Its photochemical model calculates the profiles of various chemicals in the atmosphere, including both gaseous and aerosol phases. Its climate model calculates the temperature profile of the atmosphere. While individually these models may be run for useful information, when coupled they offer a detailed analysis of atmospheric steady-state structures.
BATMAN is a Python package for fast calculation of exoplanet transit light curves. The package supports calculation of light curves for any radially symmetric stellar limb darkening law, using a new integration algorithm for models that cannot be quickly calculated analytically. In typical use, BATMAN can calculate a million model light curves in well under 10 minutes for any limb darkening profile.
Coronagraphic Mission Simulator
Arney et al.
This simplified coronagraph simulator tool is based on the coronagraph noise model in Robinson et al. 2016, adapted by J. Lustig-Yaeger, G. Arney and J. Tumlinson. The tool was developed for the LUVOIR mission concept, but can be used to simulated observations for any exoplanet coronagraphy mission.
Emily Sandford, David Kipping
EightBitTransit is an MIT-licensed Cython code that can calculate the light curve of any pixelated image transiting a star, and invert a light curve to recover the "shadow image" that produced it. The methodology behind the code is available in Sandford & Kipping 2018 (https://arxiv.org/pdf/1812.01618.pdf).
Feinstein, A. D., Montet, B. T., Foreman-Mackey, D., et al.
Eleanor is a Python package that extracts target pixel files from TESS Full Frame Images and produces systematics-corrected light curves for any star observed by the TESS mission. In its simplest form, eleanor takes a TIC ID, a Gaia source ID, or (RA, Dec) coordinates of a star observed by TESS and returns, as a single object, a light curve and accompanying target pixel data. Paper: Feinstein et al., eleanor: An open-source tool for extracting light curves from the TESS Full-Frame Images, 2019
EPOS (the Exoplanet Population Observation Simulator)
The Exoplanet Population Observation Simulator is a software package to simulate observations of exoplanet populations. It provides an interface between planet formation simulations and exoplanet surveys such as Kepler, accounting for detection biases in transit and radial velocity surveys.
EqTide: Tidal Evolution Simulator
EqTide simulates the tidal evolution of two bodies using the equilibrium tide theory. Six ordinary differential equations for the semi-major axis, eccentricity, both rotation rates, and both obliquities are integrated for a user-specified amount of time. Additionally the tidal power generated in each body is calculated. EqTide specifically simulates the constant-phase-lag model of Ferraz-Mello et al. (2008) and the constant-time-lag model of Leconte et al. (2010).
Jason Eastman et al.
EXOFASTv2 can fit an arbitrary number of planets, radial velocity data sets, astrometric data sets, and/or transits observed with any combination of wavelengths. We model the star simultaneously in the fit and provide several state-of-the-art ways to constrain its properties, including taking advantage of the now-ubiquitous all-sky catalog photometry and Gaia parallaxes. EXOFASTv2 can model the star by itself, too. Multi-planet systems are modeled self-consistently with the same underlying stellar mass that defines their semi-major axes through Kepler's law and the planetary period. Transit timing, duration, and depth variations can be modeled with a simple command line option.
ExoPlanetary Spectrum Generator
Jonathan Brande, Geronimo Villanueva et al.
The ExoPlanetary Spectrum Generator (ExoPSG) provides a streamlined interface to Goddard's Planetary Spectrum Generator, modified for exoplanet-specific work. It allows users to interact with the PSG API and make use of exoplanetary templates and models.
Exoplanet Boundaries Calculator 1.1
Kopparapu et al.
The Exoplanet Boundaries Calculator (EBC) is an online calculator that provides condensation boundaries (in stellar fluxes) for ZnS, H2O, CO2 and CH4 for the following planetary radii that represent transition to different planet regimes: 0.5, 1, 1.75, 3.5, 6, and 14.3 RE. The purpose is to classify planets into different categories based on a species condensing in a planet's atmosphere. These boundaries are applicable only for G-dwarf stars.
Exoplanet Composition Interpolator 1.0
Eric Lopez, NASA GSFC
This tool allows the user to load pre-computed planet evolution models and interpolate between those models to explore the possible structures of transiting exoplanets. Select a planet mass, radius, age, and irradiation and this tool will estimate its possible present-day gaseous envelope mass, rocky core mass, and thermal brightness.
Savransky et al.
EXOSIMS is a modular, open source, Python-based framework for the simulation and analysis of exoplanet imaging space missions. The base code is highly extensible and allows for the end-to-end simulation of imaging missions, taking into account details about the spacecraft, its orbit, the instrumentation, the assumed population of exoplanets, and the mission operating rules.
Gabrielle Suissa, David Kipping
IN PROGRESS — HARDCORE exploits boundary conditions on exoplanet internal composition to solve for the minimum and maximum core radius fraction based on mass and radius limits.
Malik et al.
HELIOS is an open-source radiative transfer code designed to study exoplanetary atmospheres, from rocky terrestrial planets to ultra-hot Jupiters. For given opacities and planetary parameters, HELIOS finds the atmospheric temperature profile in radiative-convective equilibrium and the synthetic planetary emission spectrum. HELIOS is written in Python, with the core computations parallelized to run on a GPU. HELIOS is part of the Exoclimes Simulation Platform.
LAPS: The Live Atmosphere-of-Planets Simulator
Martin Turbet (LMD), Cédric Schott (ESEP) and the LMD team
LAPS was developed to easily simulate the climate of planets similar to Earth (i.e., terrestrial but not giant planets). This model is based on the LMD (Laboratoire de Météorologie Dynamique) Global Climate Model (GCM), a complex 3-D numerical model of climate solving equations of thermodynamics, radiative transfer and hydrodynamics. This complex 3-D model has been simplified to a 1-D code (Turbet et al. 2016, 2017), which is therefore much faster to run and can now be used online in an interactive fashion.
Vinícius, Barentsen, Hedges, et al.
IN PROGRESS — The lightkurve Python package offers a beautiful and user-friendly way to analyze astronomical flux time series data, in particular the pixels and lightcurves obtained by NASA’s Kepler, K2, and TESS missions.
Multiplanet Yield Tool
Christopher Stark, Jason Tumlinson, et al.
This tool visualizes the results of detailed exoplanet mission yield simulations, calculated using the planet classifications from Kopparapu et al. (in preparation). The methodology is described in Stark et al. (2014), ApJ, 795, 122 and Stark et al. (2015), ApJ, 808, 149. The Python code to render the results was written by Jason Tumlinson. This tool was developed to support the LUVOIR Mission Concept Study Report, pending submission to the Astro2020 Decadal Survey.
Multipolator - Model Grid Interpolator
Carlos E. Munoz Romero
The multipolator package is a fast routine written in C that performs N-dimensional interpolation on a grid of astronomical models. The code finds the two closest neighbors to the input parameters in each dimension, constructs an N-dimensional hypercube, and interpolates the nearest models through inverse distance weighting.
Sarah Blunt, Jason Wang, Henry Ngo, Isabel Angelo, et al. Full list here.
Orbitize! is a package for orbit-fitting of directly imaged objects (anything with relative astrometric measurements). It packages the OFTI algorithm and two flavors of MCMC into a consistent API. It’s written to be fast, extensible, and easy-to-use. Extensive tutorials are available here. Up-to-date documentation is available at orbitize.info.
PandExo JWST/HST Simulator
Batalha et al.
PandExo is both an online tool and a Python package for generating instrument simulations of JWST's NIRSpec, NIRCam, NIRISS and NIRCam and HST WFC3. It uses throughput calculations from STScI's Exposure Time Calculator, Pandeia.
PetitRADTRANS (pRT) is a Python package for calculating transmission and emission spectra of exoplanets, at low (𝜆/Δ𝜆=1000) and high (𝜆/Δ𝜆=106) resolution, for clear and cloudy atmospheres. pRT offers a large variety of atomic and molecular gas opacities, cloud cross-sections from optical constants, or parametrized cloud models using either opacity power laws or grey cloud decks. The code also calculation of emission and transmission contribution functions, and contains a PHOENIX/ATLAS9 spectral library for host stars to calculate planet-to-star contrasts. Implemented examples for MCMC retrievals with pRT can be found on the code website.
Natasha Batalha, Mark Marley, Nikole Lewis, Jonathon Fortney
IN PROGRESS — The Planetary Intensity Code for Atmospheric Scattering Observations (PICASO) is an open-source radiative transfer model for computing the reflected light of exoplanets at any phase geometry. This code, written in Python, has heritage from a decades old, well-known Fortran model used for several studies of planetary objects within the Solar System and beyond. We have adopted it to include several methodologies for computing both direct and diffuse scattering phase functions, and have added several updates including the ability to compute Raman scattering spectral features.
Planetary Spectrum Generator
Villanueva et al.
The Planetary Spectrum Generator (PSG) is an online tool for synthesizing planetary spectra (atmospheres and surfaces) for a broad range of wavelengths (100 nm to 100 mm, UV/Vis/near-IR/IR/far-IR/THz/sub-mm/Radio) from any observatory (e.g., JWST, ALMA, Keck, SOFIA).
PLATON: PLanetary Atmospheric Tool for Observer Noobs
Michael Zhang, Yayaati Chachan, Eliza Kempton, Heather Knutson
PLATON is a Python package that can calculate transmission and emission spectra for exoplanets, as well as retrieve atmospheric characteristics based on observed spectra. PLATON is easy to install and use, with common use cases taking no more than a few lines of code. It is also fast, with the forward model taking less than 100 ms and a typical retrieval finishing in ~10 min on an ordinary desktop. PLATON supports the most common atmospheric parameters, such as temperature, metallicity, C/O ratio, cloud-top pressure, and scattering slope. It also has less commonly included features, such as a Mie scattering cloud model and unocculted starspot corrections.
William Fawcett et al.
PyATMOS is a software package able to configure and run the Virtual Planetary Laboratories' ATMOS software, which is an exoplanetary atmosphere simulator. PyATMOS is written in Python, allowing easy user configuration and running, and is optionally configurable with Docker and therefore can be used on any machine with Docker and Python installed, regardless of the operating system. PyATMOS can be used in "single-use" mode, simulating a single exoplanet atmosphere with a given set of atmospheric parameters, but also in a parallel mode, whereby a grid of possible parameters for many atmospheres is supplied. PyATMOS will explore this parameter space and produce a database of the results.
PyATMOS NExSci Repository
William Fawcett et al.
The PyATMOS NExSci dataset comprises ~125,000 simulated 1-D exoplanet atmospheres. All of these exoplanets are based around an Earth-like planet that orbits a star similar to the Sun, but with different gas mixtures in their atmospheres. The atmospheres were generated using the PyATMOS code. The parameter space was created by incrementally varying the concentrations of carbon dioxide, oxygen, water vapour, methane, hydrogen, and nitrogen; and for each point in the parameter space an atmosphere was simulated. Other gases with negligible concentrations, such as ozone, were not varied. The planet's composition, orbital parameters and stellar parameters were also not varied.
Wang, J. et al.
pyKLIP subtracts out the stellar PSF to search for and characterize directly-imaged exoplanets and circumstellar disks using a Python implementation of the Karhunen-Loève Image Projection (KLIP) algorithm. pyKLIP supports using ADI, SDI, and RDI observing techniques and parallelizes the KLIP algorithm to speed up the reduction. pyKLIP supports data from most high-contrast imaging instruments and provides libraries to both detect and characterize astrophysical sources in the data.
Reflection Spectra Repository for Cool Giant Planets 2.0
Ryan J. MacDonald; Mark S. Marley; Jonathan J. Fortney; Nikole K. Lewis
IN PROGRESS — We present an extensive parameter space survey of the prominence of H2O in reflection spectra of cool giant planets. We explore the influence of a wide range of effective temperatures, gravities, metallicities, and sedimentation efficiencies, providing a grid of >50,000 models for the community. Our models range from Teff = 150 → 400 K, log(g) = 2.0–4.0 (cgs), fsed = 1–10, and log(m) = 0.0–2.0 ́ solar. We discretize this parameter space into intervals of ΔTeff = 10 K, Δlog(g) = 0.1 dex, Δfsed = 1, and Δlog(m) = 0.5 dex, generating reflection spectra both with and without H2O opacity.
The species toolkit is a Python package for spectral and photometric analysis of self-luminous, planetary and substellar atmospheres. It provides a coherent framework for atmospheric characterization which builds on publicly-available data from various resources such as spectral and photometric libraries, atmospheric models, evolutionary models, photometry of directly imaged planets, and filter transmission profiles. All data are stored in a central database and there are tools available for extracting, inspecting, analyzing, and plotting of data, models, and results.
StaggerGrid: A Grid of 3D stellar spectra with StaggerCode
Chiavassa, A.; Casagrande, L.; Collet, R.; Magic, Z.; Bigot, L.; Thévenin, F.; Asplund, M.
StaggerCode is a 3D radiation-hydrodynamic (RHD) simulation code for convection at the surface of late-type stars. The code solves the full set of hydrodynamical equations for the conservation of mass, momentum, and energy coupled to an accurate treatment of the radiative transfer. StaggerCode uses a realistic equation-of-state that accounts for ionization, recombination, and dissociation and both continuous and line opacities. Model atmosphere grids, which we call StaggerGrid, were performed with the StaggerCode for a range of temperature from 4000 to 7000 K; log(g) from 1.5 to +5.0; and metallicity of [Fe/H] = +0.5 to -4.0.
The grid is available online at the Pollux database.
STARRY: Analytic Occultation Light Curves
Rodrigo Luger, Eric Agol, Daniel Foreman-Mackey, David P. Fleming, Jacob Lustig-Yaeger, Russell Deitrick
The STARRY code package enables the computation of light curves for various applications in astronomy: transits and secondary eclipses of exoplanets, light curves of eclipsing binaries, rotational phase curves of exoplanets, light curves of planet-planet and planet-moon occultations, and more. By modeling celestial body surface maps as sums of spherical harmonics, STARRY does all this analytically and is therefore fast, stable, and differentiable. Coded in C++ but wrapped in Python, STARRY is easy to install and use.
Transit Least Squares
Michael Hippke, René Heller
The Transit Least Squares (TLS) algorithm is a method to detect planetary transits from time-series photometry. While the commonly used Box Least Squares (BLS, Kovács et al. 2002) algorithm searches for rectangular signals in stellar light curves, TLS searches for transit-like features with stellar limb-darkening and including the effects of planetary ingress and egress. Moreover, TLS analyses the entire, unbinned data of the phase-folded light curve. These improvements yield a ~10 % higher detection efficiency (and similar false alarm rates) compared to BLS.
TROPF: Tidal Response Of Planetary Fluids
The TROPF (Tidal Response Of Planetary Fluids) software package is a MATLAB/Octave package that enables efficient terrestrial fluid tidal studies across a wide range of parameter space. TROPF includes several different solutions to the governing equations in classical tidal theory, and can calculate millions of such solutions on several-minute-long timescales. A comprehensive manual is included in the distribution directory. To help improve the development of TROPF, or become involved in future releases, please send feedback to firstname.lastname@example.org.
VPLanet: Planetary System Evolution Simulator
Rory Barnes et al.
VPLanet is open source software that simulates planetary system evolution, with a focus on habitability. Physical models, typically consisting of ordinary differential equations, are coupled together to simulate evolution of a wide variety of systems. Eleven physics modules are included that model internal, atmospheric, rotational, orbital, stellar, and galactic processes. Many of these modules can be coupled to simultaneously simulate the evolution of terrestrial planets, gaseous planets, and stars. The code is validated by reproducing a selection of observations and past results.