WIP: Basic thermal models#380
WIP: Basic thermal models#380jianyangli wants to merge 5 commits intoNASA-Planetary-Science:mainfrom
Conversation
This is an adjustment for `DataClass` setup. ‘eta’ should be in ‘phys’ provenance not ‘ephem’ provenance.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #380 +/- ##
==========================================
- Coverage 76.80% 75.91% -0.89%
==========================================
Files 78 79 +1
Lines 6984 7133 +149
==========================================
+ Hits 5364 5415 +51
- Misses 1620 1718 +98 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
|
||
| not yet implemented | ||
| lon : float | ||
| Longitude in radiance |
There was a problem hiding this comment.
What does this mean, longitude/latitude in "radiance"?
There was a problem hiding this comment.
Ah, typo. Should be radian.
|
|
||
| @u.quantity_input(wave_freq=u.m, delta=u.m, lon=u.deg, lat=u.deg, | ||
| equivalencies=u.spectral()) | ||
| def fluxd(self, wave_freq, delta, sublon, sublat, unit='W m-2 um-1', |
There was a problem hiding this comment.
I like the idea of using sublon and sublat, but can we also have a way to use obliquity and phase angle?
There was a problem hiding this comment.
This method calculates the total flux density by integrating over the whole visible part of the surface of an object, provided that the temperature distribution is available by .T(lon, lat). So as long as a mechanism is provided to convert (obliquity, phase) or any other combination to (sublon, sublat) in a subclass or inherited .fluxd method, we can use it in any circumstance. I think this will also work for an irregular shape model, but haven't thought about it thoroughly or tested it yet.
This is an implementation of the basic thermal models: STM, FRM, and NEATM. It's still a WIP. I'd like to start a PR here for input on everything, API, class inheritance structure, as well as the implementation.