emolter / pylanetary

data processing and modeling tools for ring, moon, and planet observations
GNU General Public License v3.0
8 stars 6 forks source link

Compute solar zenith and emission angles #39

Closed emolter closed 10 months ago

emolter commented 1 year ago

Building off of issue #38 it would be really helpful to finish the functionality for computing solar zenith and emission angles. This should be relatively easy to do given what Nav already does, but it needs to be finished and tested.

emolter commented 1 year ago

In the most recent push to the active-dev branch, the ModelEllipsoid class (and therefore the ModelBody and Nav classes that inherit from it) have an attribute mu0 by default, which represents the cosine of the solar incidence angle at each point on the body. I also wrote a quick tutorial using some HST Jupiter data that shows how this can be used to make a limb-darkened disk with a Minnaert law, and that can be found here. @dahlek let me know if this covers your use-cases, and if not, what else you would like to see added

dahlek commented 1 year ago

Maybe in a similar vein, it would be helpful to have a routine to calculate airmasses of objects. At least for me, something like that in python would be a great help for planning observations

emolter commented 1 year ago

The airmass is already calculated by JPL Horizons, it's field number 8. Within pylanetary, this means that it's accessible when you instantiate a Body object, e.g., jup = Body('Jupiter', epoch=obs_time, location='@hst') then print(jup.ephem)

dahlek commented 1 year ago

Oh sorry, I mean just for an RA/dec point in general. e.g. I'm making a plot of planet and calstar airmasses but the calstar stuff isn't as trivial

emolter commented 1 year ago

I would recommend astroplan for that. It's not solar-system-specific, so I don't envision integrating it into pylanetary.

Have you tried out the zenith and emission angle stuff yet? If so, we can go ahead and close this issue

dahlek commented 1 year ago

kk sounds good. figured it might be a bit superfluous. And no, sorry, I haven't had a chance yet - I'll let you know when I do!

dahlek commented 10 months ago

@emolter this looks good! Got the nav object to happily shift around as well, I think I was having an issue with that before. The last thing we need for Nemesis retrievals is maps of azimuth angle; I currently have a code from Pat that can calculate that, and now that we have mu and mu0 we can use the normal vectors to calculate it I think

emolter commented 10 months ago

Thanks @dahlek I'm glad it's working! I'm going to go ahead and close this issue.

What do you mean by azimuth angle in this context? If you like, you can open another issue that requests this feature.

dahlek commented 10 months ago

I'll make a new issue