lkreidberg / batman

Fast transit light curves models in Python.
http://lkreidberg.github.io/batman
GNU General Public License v3.0
83 stars 52 forks source link

Uniform vs Quadratic limb darkening #25

Closed exowanderer closed 7 years ago

exowanderer commented 7 years ago

I was trying to compare BATMAN to KTransit (https://github.com/mrtommyb/ktransit) for both uniform and quadratic limb darkening, when I realized that BATMAN with quadratic LD assumes that the delta-Flux is maximized along the light curve to exactly the same depth as the uniform LD model.

I've attached these images here to elaborate.

comparing_uniform_to_quadratice_limb_darkeining_with_batman comparing_uniform_to_quadratice_limb_darkeining_with_ktransit

For each of these cases, I took the tutorial examples and set the limb darkening to zero. I changed absolutely nothing else in the models.

My assumptions about how BATMAN is interpreting the LD coefficients vs depth may be incorrect; but I imagine that the default thinking for any given user would be closer to the K-Transit example than the BATMAN example.

Am I interpreting LD incorrectly or should the uniform LD light curve be 'inside' the quadratic LD light curve? -- as is the case with K-Transit?

lkreidberg commented 7 years ago

hey Jonathan, sorry for the slow response on this. The short answer is that I think BATMAN is doing the correct thing here. The quadratic LD calculation uses the Mandel & Agol formalism, which is probably the best tested/most widely used of all the LD models, so I'm inclined to trust it.

It also make sense to me intuitively -- in the center, where there is no limb darkening, the transit depth should be identical. Then, for a limb darkened star, the planet blocks relatively less total stellar flux closer to the edge of the stellar disk, because the star is fainter at the edge.

Maybe an easier way of saying this is that BATMAN normalizes the transit depth relative to the brightness of the star at its center. K-transit must be assuming something different, but I think the BATMAN/Mandel&Agol assumption is standard.

Hope that makes sense!

exowanderer commented 7 years ago

I definitely understand what you're saying. KTransit also states that they are using the Fortran code from Mandel&Agol 2002.

Moreover, I reopened Mandel&Agol 2002 to look at Figure 2 (attached here). It shows that with increased limb darkening, we should expect a deeper transit -- not related to an increase in transit depth.

screen shot 2017-09-18 at 4 38 46 pm

Similarly, Figure 2 (bottom) from Knutson+2007a shows a similar effect from the HD209458b STIS light curve models:

screen shot 2017-09-18 at 4 45 44 pm

This is the experiment I tried to recreate with the two codes. Same everything, with/without limb darkening.

It's completely plausible that I missed something when preparing the light curves for either BATMAN or KTransit or both. All I did for BATMAN was change the tutorial limb darkening from "params.limb_dark = 'quadratic'" to "params.limb_dark = 'uniform'"; and "params.u = [0.1, 0.3]" to "params.u = []" (empty list).

As I understand it though, more relative flux is lost at the center of a transit with with greater limb darkening contributions; but my BATMAN use case results in the same flux loss at the center of the transit for both uniform and quadratic limb darkening -- assuming that I ran the proper experiment.

exowanderer commented 7 years ago

I would be happy if you could reproduce the experiment and prove me wrong -- i.e. compare the quickstart tutorial verbatim to the quickstart tutorial with uniform limb darkening.

Then we would know that I messed something up in my scripts.

jlothringer commented 7 years ago

Hey Jonathan and Laura,

I took a look at this issue and I think it has to do with the inclination of the orbit. When I set the inclination to 90 degrees, but otherwise keep the parameters the same as in the tutorial, BATMAN successfully recreates the correct behavior from Mandel and Agol and Knutson+ 2007a. My physical interpretation is that this is all similar to how the transit depth varies in the presence of star spots or plages/bright spots. In the model with limb darkening and 90 degrees inclination, the transit center is occuring over the spot of maximum stellar brightness, thus it is acting like an occulted bright spot and the transit depth looks larger than it would be without limb darkening.

When I set the inclination back to 87 degrees, as in the tutorial, I recreate what Jonathan had. I verified this behavior with @iancrossfield 's transit modeling code. It turns out it is just a coincidence that the flux at the transit center matches in the limb darkening and uniform case (i.e. in the model with limb darkening, the transit center just happens to occur where the stellar intensity is approximately equal to the disk average).

If I set the inclination to 86 degrees, the model with limb darkening reaches a much smaller maximum depth than in the model without limb darkening. In this case, in the model with limb darkening, the transit center is occurring where the stellar intensity is less than the disk average.

So if I'm correct in all this, then the model Jonathan ran with k-transit should be with an inclination of 90 degrees. Is this the case?

To summarize, I chalk this issue up to the effects of the impact ratio, but I think BATMAN is working correctly.

-Josh

P.S. Here are some plots of the BATMAN models: figure_1 figure_2 figure_3

exowanderer commented 7 years ago

Hi Josh,

Thank you for working this out with us. I believe that you are indeed correct

I took the BATMAN initial parameters and translated them into the KTRANSIT initial parameters -- i.e. stellar density instead of orbital distance; then I varied the inclination from 87-90.

If i = 89 or 90, then the quadratic model is deeper than the uniform model. but,

If i = 87 or 88, then the uniform model is deeper than the quadratic model.

This can be seen in the figured below.

Note that the tutorial conditions for BATMAN set a / Rs = 15 and i =87; but the tutorial conditions for KTRANSIT set a / Rs = 6.2 and i = 89. This is where the confusion started.

After converting from BATMAN params to KTRANSIT params, we are all set.

Thank you both!

-Jonathan

ktransit_experiment_batman_params_inc87 ktransit_experiment_batman_params_inc88 ktransit_experiment_batman_params_inc89 ktransit_experiment_batman_params_inc90

lkreidberg commented 7 years ago

Nice, this totally checks out! Thank you both for thinking about this - yayyyy open source!