ExoIris: fast exoplanet transmission spectroscopy in Python
Hannu Parviainen
TL;DR
ExoIris addresses the challenge of jointly analyzing heterogeneous exoplanet transit data by directly modeling two-dimensional spectrophotometric time series and inferring both wavelength-dependent and wavelength-independent parameters in a single framework. It achieves efficiency and flexibility by decoupling spectral resolution from data resolution with a knot-based radius-ratio interpolation and by leveraging RoadRunner for fast transit evaluations, along with GP-based noise modeling and TLSE/spots handling. The package supports complex joint analyses across instruments and epochs, including transit timing variations, instrumental offsets, and unocculted stellar heterogeneities, enabling robust, self-consistent transmission spectra and atmospheres. The WASP-39 b ERS example demonstrates accurate recovery of JWST spectra and stellar density, illustrating ExoIris’s practical impact for precise atmospheric retrieval and cross-instrument validation in exoplanet characterization.
Abstract
I present ExoIris, a user-friendly Python package for exoplanet transmission and emission spectroscopy. Unlike existing tools, ExoIris models two-dimensional spectrophotometric transit time series directly and supports the joint analysis of multiple datasets obtained with different instruments and at different epochs, as well as modeling stellar spot crossings and the influence of unocculted heterogeneities (the transit light source effect). These features enable a self-consistent estimation of both wavelength-independent and wavelength-dependent parameters. They offer a more robust workflow than the commonly used two-step approach, in which a "white" light curve is fitted first, and the transmission spectrum is then derived from independent fits constrained by the white-light solution. Despite its increased flexibility and robustness, ExoIris remains computationally efficient. A low-resolution transmission spectrum can be estimated from a single JWST NIRISS transit observation in ~5 minutes assuming white noise, and in ~15 minutes when accounting for time-correlated systematics using a Gaussian process noise model, on a standard desktop computer.
