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).
If you've used EMAC in any part of your research, please cite our RNAAS paper either in your methods section or in the "Software used" portion of any manuscripts; see the FAQ for more information.
More Information on EMAC for first-time visitors...
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.”
Stay up to date with EMAC!
Subscribe to our monthly RSS messages on new updates and tools.
Check out the Bluesky account @exoplanetmodels.bsky.social (not an official NASA account), where new tools and features are highlighted.
Help us improve EMAC!
Email us with general feedback at
gsfc-emac@mail.nasa.gov.
and tell us what you'd change or improve.
Click the icon in a resource box to provide suggestions for an individual tool or tools.
Other EMAC info!
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 our Submit a Resource page.
For help with tutorials for select resources/tools use the “Demo” buttons below and subscribe to our YouTube channel.
Watch this video for a walk-through of the whole EMAC site, including how to submit a new tool and how to access information for each resource.
EMAC co-leads are Joe P. Renaud and Eric Lopez; more information on EMAC staffing and organization can be found on Our Team page.
EMAC has launched a new community-supported curator program, and we need your help! Check out our curator page to learn how exoplanet experts like yourself can support EMAC's mission, and help us spread the word about this new initiative!
StellarSpectraObservationFitting.jl is a Julia package for measuring Doppler shifts and creating data-driven models (with fast, physically-motivated Gaussian Process regularization) for the time-variable spectral features for both the telluric transmission and stellar spectrum, while accounting for the wavelength-dependent instrumental line-spread function.
speclib is a Python package for working with grids of model stellar spectra. It can download PHOENIX spectra (Husser et al. 2013) on the fly and can also work with pre-downloaded libraries of MPS-Atlas (Witzke et al. 2021, Kostogryz et al. 2023) and SPHINX (Iyer et al. 2023) spectra.
MOOG is a code that performs a variety of LTE line analysis and spectrum synthesis tasks. The typical use of MOOG is to assist in the determination of the chemical composition of a star. The basic equations of LTE stellar line analysis are followed, in particular using the formulation of F. N. Edmonds, Jr. (1969, JQSRT, 9, 1427). Much of the MOOG code follows in a general way the WIDTH and SYNTHE codes of R. L. Kurucz (see his web site: kurucz.harvard.edu)
linemake is an open-source atomic and molecular line list generator. It is a lightweight, easy-to-use tool to generate formatted and curated lists suitable for spectral synthesis work. linemake produces synthesis line lists compatible with those needed by the line analysis code MOOG. linemake is primarily suitable for spectroscopic studies of stars cooler than B spectral type.
Starfinder is an IDL code for the deep analysis of stellar fields, designed for Adaptive Optics well-sampled images, characterized by a complex and highly structured Point Spread Function.
The Point Spread Function is extracted directly from the frame, to take into account the actual structure of the instrumental response and the atmospheric effects.
The code is written in IDL language and organized in the form of a self-contained widget-based application, provided with a series of tools for data visualization and analysis.
SAGE corrects the time-dependent impact of stellar activity on transmission spectra. It uses a pixelation approach to model the stellar surface with spots and faculae, while accounting for limb-darkening and rotational line-broadening. The code can be used to evaluate stellar contamination for F to M-type hosts, test various spot sizes and locations, and quantify the impact of limb-darkening. SAGE can also retrieve the properties and distribution of active regions on the stellar surface from photometric monitoring, and connect the photometric variability to the stellar contamination of transmission spectra.
The Modules for Experiments in Stellar Astrophysics (MESA) source code is a set of software modules for stellar astrophysics that can be used on their own, or combined to solve the coupled equations governing 1D stellar evolution. MESA is described in MESA I, MESA II, MESA III, MESA IV, and MESA V.
FastChem 2 is a new version of the established semi-analytical thermochemical equilibrium code FastChem. Whereas the original version of FastChem is limited to atmospheres containing a significant amount of the element hydrogen, FastChem 2 is now also applicable to chemical mixtures dominated by any other species such as CO2, N2, or Si for example. The code is written in object-oriented C++ and also offers an optional Python module.
BASTA is a python-based fitting tool designed to determine properties of stars using a pre-computed grid of stellar models. It calculates the probability density function of a given stellar property based on a set of observational constraints defined by the user.
The Habitable Worlds Observatory Preliminary Input Catalog (HPIC) is a list of ~13,000 nearby bright stars that will be potential targets for the Habitable Worlds Observatory in its search for Earth-sized planets around Sun-like stars. It was constructed using the TESS and Gaia DR3 catalogs, and uses an automated pipeline to compile stellar measurements and derived astrophysical properties for all stars.
Version 1.1 adds modeled UV fluxes for all objects.
The Spectra of Exoplanet-forming Disks (SpExoDisks) database and web portal (spexodisks.com) provides infrared spectra of protoplanetary disks. The spectra included in SpExoDisks are contributed by individual researchers who have either taken the observations or obtained the data from archives, and who provided the fully reduced 1-dimensional spectra. All spectra are transformed into a standard format inside SpExoDisks which includes additional information as available (program number, PI, date, and references for the data reduction and for acknowledging use of the data).
PHOEBE (PHysics Of Eclipsing Binaries) is an eclipsing binary modeling code - reproducing and fitting light curves, radial velocity curves, and spectral line profiles of eclipsing systems, including exoplanetary transits.
ODUSSEAS is an automatic computational tool able to quickly and reliably derive the Teff and [Fe/H] of M dwarfs using optical spectra obtained by different spectrographs with different resolutions.
It is based on the measurement of the pseudo equivalent widths for more than 4000 stellar absorption lines and on the use of the machine learning Python package “scikit-learn” for predicting the stellar parameters.
It is able to derive parameters accurately and with high precision, having precision errors of ~30 K for Teff and ~0.04 dex for [Fe/H]. The results are consistent for spectra with resolutions of between 48000 and 115000 and a signal-to-noise ratio above 20.
ExoTR (Exoplanetary Transmission Retrieval) is a Bayesian inverse retrieval algorithm to interpret exoplanetary transmission spectra.
The code can be used in two ways:
Leveraging the physics forward model only to generate synthetic planetary atmospheric transmission spectra (including the addition of errorbars);
Using a retrieval routine based on nested sampling (i.e. MultiNest) to extract physical and chemical information from the input transmission spectra.
flatstar is an open-source Python tool for drawing stellar disks as numpy.ndarray objects with scientifically-rigorous limb darkening. Each pixel has an accurate fractional intensity in relation to the total stellar intensity of 1.0. It is ideal for ray-tracing simulations of stars and planetary transits.
A python package to fit the photometric spectral energy distribution of stars. It uses a Markov chain Monte Carlo approach to determine the errors on the derived parameters.
Speedyfit is a command line tool writen in Python 3 that allows you to search the most common online databases for photometric observations of your target, and fit theoretical atmosphere models to the obtained photometry. Speedyfit can deal with both single and binary stars, and allows for the inclusion of constraints from other sources, as for example atmosphere parameters derived from spectroscopy, distances from GAIA or reddening.
Gollum is a tool for spectral visualization and analysis. It boasts both a programmatic interface and a visual interface that help users analyze stellar and substellar spectra, with support included for a set of precomputed synthetic spectral model grids.
VSPEC (Variable Star PhasE Curve) is an exoplanet modeling suite that combines NASA’s Planetary Spectrum Generator (PSG) with a custom variable star. Originally built to simulate the infrared excess of non-transiting planets, the code supports transit, eclipse, phase curve geometries as well as spots, faculae, flares, granulation, and the transit light source effect. Install it with pip or see the documentation linked below.
MAGPy-RV models data with Gaussian Process regression and affine invariant Monte Carlo Markov Chain parameter searching. Developed to model intrinsic, quasi-periodic variations induced by the host star in radial velocity (RV) surveys for the detection of exoplanets and the accurate measurements of their orbital parameters and masses, it now includes a variety of kernels and models and can be applied to any time-series analysis. MAGPy-RV includes publication level plotting, efficient posterior extraction, and export-ready LaTeX results tables. It also handles multiple datasets at once and can model offsets and systematics from multiple instruments.
PBjam is toolbox for modeling the oscillation spectra of solar-like oscillators. This involves two main parts: identifying a set of modes of interest, and accurately modeling those modes to measure their frequencies.
Currently, the mode identification is based on fitting the asymptotic relation to the l=2,0 pairs, relying on the cumulative sum of prior knowledge gained from NASA's Kepler mission to inform the fitting process.
Modeling the modes, or 'peakbagging', is done using the HMC sampler from pymc3, which fits a Lorentzian to each of the identified modes, with much fewer priors than during he mode ID process.
Latest version of TS (Turbospectrum), with NLTE capabilities.
Computation of stellar spectra (flux and intensities) in 1D or average <3D> stellar atmosphere models.
In order to compute NLTE stellar spectra, additional data is needed, downloadable outside GitHub.
See documentation in DOC folder
Python wrappers are available at https://github.com/EkaterinaSe/TurboSpectrum-Wrapper/ and https://github.com/JGerbs13/TSFitPy
They allow interpolation between models and fitting of spectra to derive stellar parameters.
We present SpecMatch-Empirical, a tool for measuring the fundamental properties of stars from their spectra by comparing them against an empirical spectral library of FGKM stars. The spectral library comprises high-resolution, high signal-to-noise observed spectra from Keck/HIRES for 404 touchstone stars with well-determined stellar parameters derived from interferometry, asteroseismology, and spectrophotometry. The code achieves accuracies of 100K, 15%, and 0.09 dex in Teff, Rstar, and [Fe/H] respectively for FGKM dwarfs.
Astroquery is a collection of tools for requesting data from databases hosted on remote servers with interfaces exposed on the internet, including those with web pages but without formal application program interfaces. These tools are built on the Python requests package, which is used to make HTTP requests, and astropy, which provides most of the data parsing functionality. Astroquery modules generally attempt to replicate the web page interface provided by a given service as closely as possible, making the transition from browser-based to command-line interaction easy. Astroquery enables the creation of fully reproducible workflows from data acquisition through publication.
Butterpy is a Python-based tool for simulating star spot emergence, evolution, and decay as well as stellar rotational light curves. It is adapted from the physically motivated model used by Aigrain et al. (2015, MNRAS, 450, 3211) to test the recovery of stellar rotation periods using different frequency analysis techniques. Butterpy allows the user to simulate light curves of stars with variable activity level, rotation period, spot lifetime, magnetic cycle duration and overlap, spot emergence latitudes, and latitudinal differential rotation shear.
The name Butterpy is a portmanteau of "butterfly" (like the solar butterfly diagram) and "Python."
Kiauhoku is a Python package for interacting with, interpolating, and fitting stellar evolutionary tracks to observational data. It includes popular stellar model grids like MIST, Dartmouth, and GARSTEC, as well as a few custom YREC grids, with more being added over time.
From Hawaiian:
vt. To sense the span of a star's existence (i.e., its age).
n. The speed of a star (in this case, its rotational speed).
This name was created in partnership with Dr. Larry Kimura and Bruce Torres Fischer, a student participant in A Hua He Inoa, a program to bring Hawaiian naming practices to new astronomical discoveries. We are grateful for their collaboration.
PYSHELLSPEC is an astrophysical tool for modeling of binary systems with circumstellar matter (e.g. accretion disk, jet, shell), computation of interferometric observables |V2|, arg T3, |T3|, |dV|, arg dV, comparison of light curves, spectro-interferometry, spectra, and SED with observations, and both global and local optimisation of system parameters. It is based on Shellspec, a long-characteristic LTE radiation transfer code by Budaj & Richards (2004).
Spectroscopy Made Easy (SME) is a software tool that fits an observed spectrum of a star with a model spectrum. Since its initial release in 1996, SME has been a suite of IDL routines that call a dynamically linked library, which is compiled from C++ and Fortran. This classic IDL version of SME is available for download.
In 2018, we began began reimplementing the IDL part of SME in python 3, adopting an object oriented paradigm and continuous integration practices (code repository, build automation, self-testing, frequent builds).
Blasé introduces a powerful new approach to whole-spectrum fitting: clone 10,000+ spectral lines from a precomputed synthetic spectral model template, and then learn the perturbations to those lines through comparison to real data. Each spectral line has 4 parameters, yielding possibly 40,000+ parameters. The technique hinges on the magic of autodiff, the enabling technology behind Machine Learning, to tune all of those parameters precisely and quickly. The tool has conceivable extensions to Doppler imaging, Precision RV's, abundances, and more. It is built in PyTorch, with native GPU support.
VPLanet simulates planetary system evolution with a single executable: 1) thermal and magnetic evolution of terrestrial planets, 2) magma oceans, 3) radiogenic heating of interiors, 4) tidal effects, 5) rotational axis evolution, 6) stellar evolution, including pre-MS, XUV, and spin-down, 7) stellar flares, 8) climate via a 1-D EBM, 9) atmospheric escape, including water photolysis and H escape, 10) approximate orbital evolution, 11) exact orbital evolution, 12) circumbinary planet orbits, and 13) galactic perturbations on planetary systems. The code is validated by reproducing selected Solar System, exoplanet, and binary star properties. Documentation and numerous examples are provided.
A flexible, open-source, Bayesian framework for solving the exo-cartography inverse problem. The map is parameterized with equal-area HEALPix pixels with a Gaussian Process regularization.
SteParSyn is a Python code designed to infer the stellar atmospheric parameters Teff, log(g), and [Fe/H] of late-type stars (FGKM) using the spectral synthesis method. It uses a Markov chain Monte Carlo (MCMC) sampler to explore the parameter space by comparing synthetic spectra to the observations. The code has been employed to study stars in open clusters, cepheids, stars in the Magellanic clouds, exoplanet hosts observed with ESPRESSO and CARMENES, and to characterize the first super-AGB candidate in our Galaxy. The code is available to the community in a GitHub repository.
special is a package developed for the spectral characterization of directly imaged low-mass companions (MLT dwarfs). Nonetheless, this toolkit can also be used in a more general way for the characterisation of any object with a measured spectrum, provided an input model or template grid. The available tools range from the calculation of spectral covariance matrices (e.g. for IFS datacubes) and empirical spectral indices to the Bayesian inference of atmospheric parameters provided an input grid of models. In the latter case, an MCMC or nested sampler can be used, and additional parameters such as (extra) black body component(s) and extinction can be considered.
RASSINE is a Python3 code dedicated to fitting stellar continuum using an alpha-shape algorithm.
The code is divided in a sequence of five consecutive steps (SNAKE) :
1) Smoothing
2) Neighbourhood local maxima
3) Alpha-shape
4) Killing outliers
5) Envelop interpolation
The code contains a fully automatic mode in case of 1d spectrum is given as input but the stellar spectrum can be also fitted by hand using the GUI interface.
The ESA PLAnetary Transits and Oscillations of stars (PLATO) mission will search for terrestrial planets in the habitable zone of solar-type stars. Because of telemetry limitations, PLATO targets need to be pre-selected. We present an all sky catalog that will be fundamental to select the best PLATO fields and the most promising target stars, derive their fundamental parameters, analyze the instrumental performances, and then plan and optimize follow-up observations. This catalog also represents a valuable resource for the general definition of stellar samples optimized for the search of transiting planets.
The Hypatia Catalog is a comprehensive collection of literature data and the largest database of stellar abundances for stars near to the Sun (Hinkel et al. 2014}. The multidimensional database currently spans 78 unique elements and species in ~9400 stars, ~1300 of which are planet hosts, within 500 pc of the Sun, including all exoplanet host stars regardless of distance. Hypatia was compiled from ~215 literature source abundance measurements that were re-normalized to the same solar scale, so that all values were on a common baseline.
A catalog of atmospheric parameters for planet-host stars. It compiles sets of atmospheric parameters previously published in literature (including Teff, logg, and [Fe / H]) and, whenever possible, derives them using the same uniform methodology.
The MCMCI tool offers the opportunity to perform an integrated analysis of an exoplanetary system without splitting it into the preliminary stellar characterisation through theoretical models.The MCMCI combines the Markov chain Monte Carlo approach of analysing photometric or radial velocity time series with a proper interpolation within stellar evolutionary isochrones and tracks, to be performed at each chain step, to retrieve stellar theoretical parameters such as age, mass, and radius. This approach favours a close interaction between lightcurve analysis and isochrones, so that the parameters recovered at each step of the MCMC enter as inputs for purposes of the isochrone placement.
An approximate stellar atmosphere and spectrum modelling code in Python that includes in situ modelling of the transit light-curve due to a "small" exo-planet occulting the computed stellar surface intensity distribution.
SPInS is a Python tool that takes in a set of photometric, spectroscopic, interferometric, and/or global asteroseismic observational constraints, and uses a Bayesian approach to find the probability distribution functions of stellar parameters, such as the age, mass, and radius of a star, as well as error bars and correlations between these parameters. At the heart of the code is a Markov chain Monte Carlo solver coupled with interpolation within a pre-computed grid of stellar models. Priors can be considered, such as the initial mass function or the stellar formation rate. SPInS can characterize single stars or coeval stars, such as members of binary systems or of stellar clusters.
The SVO Theory Server provides data for more than 60 collections of theoretical spectra and observational templates.
Using this web page you can search for spectra in each collection in terms of the corresponding grid parameter ranges, visualize the spectra and/or download them in ascii or VOTable format. You will be able to compare spectra from different collections too.
Synthetic Photometry is also available for these spectra and all the filters in the SVO Filter Profile Service.
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.
In the initial CCMC exoplanet applications adaptation, users are able to view and analyze simulations carried out with three different models: SWMF, PWOM and ALF3D. These simulations are used to demonstrate how heliophysics models hosted at CCMC can be used to explore exoplanetary problems. Please follow the links to individual models for more details and to access the simulation results.
ExoSim models host star and planet transit events, simulating the temporal change in stellar flux due to the light curve.
Published in "ExoSim: the Exoplanet Observation Simulator", 2021, Experimental Astronomy, Volume 51, Issue 2, p.287-317.
fiducial_flare generates a reasonable approximation of the UV emission of M dwarf stars over a single flare or a series of them. The simulated radiation is resolved in both wavelength and time. The intent is to provide consistent input for applications requiring time-dependent stellar UV radiation fields that balances simplicity with realism, namely for simulations of exoplanet atmospheres.
Published on the Astrophysics Source Code Library (ASCL).
Disentangling stellar and instrumental variability from exoplanetary Doppler shifts in Fourier domain.
Published in "FIESTA II. Disentangling Stellar and Instrumental Variability from Exoplanetary Doppler Shifts in the Fourier Domain", 2022, The Astrophysical Journal, Volume 935, Issue 2, id.75, 19 pp.
PyHammer is a tool developed to allow rapid and automatic spectral classification of stars according to the Morgan-Keenan classification system.
Published in "Classifying Single Stars and Spectroscopic Binaries Using Optical Stellar Templates", 2020, The Astrophysical Journal Supplement Series, Volume 249, Issue 2, id.34.
pySYD detects solar-like oscillations and measures global asteroseismic parameters. The code is a python-based implementation of the IDL-based SYD pipeline by Huber et al. (2009).
Published in "pySYD: Automated measurements of global asteroseismic parameters", 2022, Journal of Open Source Software, vol. 7, issue 79, id. 3331.
SOAP-GPU is a revision of SOAP 2, which simulates spectral time series with the effect of active regions (spot, faculae or both).
Published in "SOAP-GPU: Efficient spectral modeling of stellar activity using graphical processing units", 2023, Astronomy & Astrophysics, Volume 671, id.A11, 16 pp.
SpinSpotter uses autocorrelation to calculate stellar rotation periods from high-cadence photometry, including that from the TESS and Kepler mission.
Published in "SpinSpotter : An Automated Algorithm for Identifying Stellar Rotation Periods with Autocorrelation Analysis", 2022, The Astrophysical Journal, Volume 936, Issue 2, id.138, 12 pp.
starry_process implements an interpretable Gaussian process (GP) for modeling stellar light curves.
Published in "starry_process: Interpretable Gaussian processes for stellar light curves", 2021, Journal of Open Source Software, vol. 6, issue 63, id. 3071.
This catalog contains spectra from stellar models and standard stars.
Published in "Models of very-low-mass stars, brown dwarfs and exoplanets", 2012, Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences, vol. 370, issue 1968, pp. 2765-2777.
TYCHO is a simulation suite used in observing the effects of star-star scattering on exoplanets within clustered natal environments.
Published in "TYCHO: Realistically Simulating Exoplanets within Stellar Clusters. I. Improving the Monte Carlo Approach", 2020, The Astronomical Journal, Volume 160, Issue 3, id.126.
Models of planetary atmospheres, including 1D and 3D structure and dynamics models, chemistry, cloud models, etc.
Curators: Eleonora Alei, Sarah Moran
Interior & Surface Processes
Models of planetary interiors, including mass/radius, interior thermochemistry, interior/surface evolution, etc.
Radiative Transfer Tools
Tools used to produce simulated observations, including opacity information, spectral simulators, etc.
Curators: Sarah Moran
Observatory/Instrument Models
Models of simulated output for specific observatories or instruments, including observatory science yields, simulated data from specific instruments, etc. (occurrence rates)
Model-Fitting Tools
Tools to fit models to data products, including light-curve fitting, spectral retrieval, etc.
Curators:Clément Ranc, Eleonora Alei, Amna Ejaz, Sora Fancher, Nicole Schanche, Jakob Roche
Data Reduction Tools
Tools to reduce primary data products (e.g. images) to secondary data products, including time series, photometry/spectra, etc.
Curators: Nicole Schanche
Formation and Dynamics Tools
Tools and models to determine the orbital architecture and behavior of planetary systems e.g. orbital integrators, astrometric/RV orbit determinations, transit-timing variations.
Population Simulations and Catalogs
Tools and models to simulate and fit exoplanet populations, occurrence rates, and system architectures.
Curators: Eleonora Alei
Data Visualization Tools
Tools to visualize planetary data. Includes elements such as graphs, charts, and maps.
Hardware Control & Optimization
Tools that model and control hardware performance. For example, algorithms that perform adaptive optics optimization, wavefront sensing and control, segment phasing, etc.