exoplanet-dev / exoplanet

Fast & scalable MCMC for all your exoplanet needs!
https://docs.exoplanet.codes
MIT License
207 stars 52 forks source link

Simple phase curve parameterizations #127

Open bmorris3 opened 4 years ago

bmorris3 commented 4 years ago

Background

I'm working on simultaneously fitting optical transits, eclipses and reflected light phase curves of exoplanets via exoplanet, and exoplanet has been working beautifully (so thanks again!). I've written up a three parameterizations of the reflected light phase curves of exoplanets and I'm wondering if it'd be self-consistent to contribute those to exoplanet. I saw you recommended opening an issue with a suggestion, so here's my little pitch.

The details

Lambertian

The zero-th order assumption we often make for reflected light from planets is that they are Lambertian spheres, which has a very simple functional form:

image

and one free parameter describing the full amplitude of the phase curve, where \xi is a parameterization of the orbital phase.

Piecewise-Lambertian

The next step up in complexity looks a bit more intimidating but is just a piecewise implementation of the Lambertian model from Hu et al. (2015). This model assumes a range of longitudes behave as a Lambertian sphere, and incurs two new free parameters \xi_1, \xi_2. Its functional form is:

image

where \alpha' = -\xi.

Generalized parameterization for any reflection law

In a forthcoming manuscript, Kevin Heng and Daniel Kitzmann re-cast the reflected light problem and derive a closed-form solution for the reflected light from exoplanets for any reflection law, including isotropic, Lambertian, Rayleigh and Henyey-Greenstein reflection laws. Since the manuscript is in review, I won't write out the functional form here (though I'm happy to add it to the thread once the manuscript is public, of course). The implementation is quite lightweight despite its powerful implications.

What about secondary eclipses in reflected light?

Since eclipses in reflected light isn't fully implemented in starry, I'm simply computing standard LimbDark eclipse models with no limb darkening, and applying that eclipse shape to the phase curve. This is imperfect but sufficient for the photometry I'm working on.

Alternatives

I've been considering if I should make a separate lighter-than-air package for this, but I'm relying on exoplanet to do 95% of the heavy lifting in these analyses, so rather than introduce another dependency, I thought it might be simplest to offer the code to exoplanet.

I wondered if I should wait for starry to fully implement maps in reflected light, but there are a few reasons it might be handy to have these parameterizations built into exoplanet:

dfm commented 4 years ago

Thanks for this Brett! I think that either approach would be just fine (I'm not scared of dependency management :D) so it's totally up to you. I also agree that a set of nice descriptive models for reflected light would be useful and high-impact.

All that to say: I'd be happy to review a pull request or point folks in the direction of a package that you develop!