exoplanet-dev / exoplanet

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

[WIP] Upgrade to new starry/limbdark #47

Closed dfm closed 5 years ago

dfm commented 5 years ago

From @rodluger on #46:

I removed the starry submodule and added the new limbdark headers directly to the include path. All current tests are passing, but I want to write some new ones. I also want to do a speed comparison -- it should be a bit faster for quadratic limb darkening, and a lot faster for higher order limb darkening.

Finally, I think we should change the name of the Op to LimbDarkOp or something like that.

dfm commented 5 years ago

@rodluger: I re-arranged the code a little so the limbdark bits now live in: exoplanet/theano_ops/lib/include/exoplanet/starry. Brutal, I know.

dfm commented 5 years ago

I fixed the segfaulting so now we should be good to go when you get a chance to add more tests to this.

dfm commented 5 years ago

Now is probably also a good time to re-name the op to limbdark - I'm happy to do that!

rodluger commented 5 years ago

@dfm Yes, can you rename it? I'm working on the tests today.

rodluger commented 5 years ago

OK, as expected, the new implementation (orange) scales much better with limb darkening degree (top plot). The bottom plot is the time for the quadratic limb darkening evaluation as a function of number of points; this didn't change, since that case is already as optimized as it will ever get!

image

rodluger commented 5 years ago

@dfm I fixed some special cases (no occultation, complete occultation) and added tests for known singular points in the light curve. Everything seems to be working fine, so I'm signing off on this!