starry

The starry code package is a suite of tools for mapping stars and exoplanets based on timeseries data. It enables the computation of transit and secondary eclipse light curves of exoplanets, light curves of eclipsing binaries, rotational light curves of stars, rotational phase curves of exoplanets, light curves of planet-planet and planet-moon occultations, light curves in reflected light, 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. starry is coded in C++ and wrapped in Python.


Figure 1 The first six degrees of the real spherical harmonics. starry models the surface intensity profile of stars and planets as a linear combination of spherical harmonics up to arbitrary degree. The expressions for rotational and occultation light curves can be computed analytically, so starry is extremely fast and extremely precise.

Recently, I used starry to map the surface of the Earth from the scattered light in the background pixels of the TESS satellite. The starry algorithm is also at the heart of the exoplanet package for analysis of exoplanet transit light curves and the limb darkening code for fast modeling of transits across stars with arbitrary order polynomial limb darkening. I am currently working on a paper extending the starry formalism to reflected light curves of exoplanets and solar system moons, as well as on a paper to enable fast, semi-analytic models of Doppler imaging datasets for stars. Finally, I am working on turning the starry algorithm into an interpretable Gaussian process, whose hyperparameters are physical properties of the star, such as the size, contrast, and latitude(s) of star spots. Stay tuned!


Figure 2 Sample analytic exoplanet system light curves computed with starry. Top: a hot Jupiter transiting a Sun-like star. The planet’s map is a simple dipole, with the hotspot offset 15 degrees from stellar noon; the offset in the secondary eclipse from the peak of the phase curve is apparent. Bottom: a two-planet system with more complex surface maps. In addition to transits and secondary eclipses, a few planet-planet occultations are visible (e.g., the very short events at t = 0.1 and t = 3.4 days).