Eigenspectra: a Framework for Identifying Spectra from 3D Eclipse Mapping (MNRAS, 2020)

Planetary atmospheres are inherently 3D objects that can have strong gradients in latitude, longitude, and altitude. Secondary eclipse mapping is a powerful way to map the 3D distribution of the atmosphere, but the data can have large correlations and errors in the presence of photon and instrument noise. We develop a technique to mitigate the large uncertainties of eclipse maps by identifying a small number of dominant spectra to make them more tractable for individual analysis via atmospheric retrieval. We use the eigencurves method to infer a multiwavelength map of a planet from spectroscopic secondary eclipse light curves. We then apply a clustering algorithm to the planet map to identify several regions with similar emergent spectra. We combine the similar spectra together to construct an ‘eigenspectrum’ for each distinct region on the planetary map. We demonstrate how this approach could be used to isolate hot from cold regions and/or regions with different chemical compositions in observations of hot Jupiters with the James Webb Space Telescope (JWST). We find that our method struggles to identify sharp edges in maps with sudden discontinuities, but generally can be used as a first step before a more physically motivated modelling approach to determine the primary features observed on the planet.

Continue Reading →

VPLANET: The Virtual Planet Simulator (PASP, 2020)

We describe a software package called VPLanet that simulates fundamental aspects of planetary system evolution over Gyr timescales, with a focus on investigating habitable worlds. In this initial release, 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. VPLanet is written in C and designed so that the user can choose the physics modules to apply to an individual object at runtime without recompiling, i.e., a single executable can simulate the diverse phenomena that are relevant to a wide range of planetary and stellar systems. This feature is enabled by matrices and vectors of function pointers that are dynamically allocated and populated based on user input. The speed and modularity of VPLanet enables large parameter sweeps and the versatility to add/remove physical phenomena to assess their importance. VPLanet is publicly available from a repository that contains extensive documentation, numerous examples, Python scripts for plotting and data management, and infrastructure for community input and future development.

Continue Reading →