experimental libRadtran multipart transmittance#833
Merged
Conversation
Contributor
Author
|
Update: Using the same extraterrestrial solar irradiance data as the emulator improves things. |
brentwilder
commented
Jan 26, 2026
| prebuilt_lut_path=prebuilt_lut, | ||
| inversion_windows=INVERSION_WINDOWS, | ||
| multipart_transmittance=multipart_transmittance, | ||
| modtran_path=paths.modtran_path, |
Contributor
Author
There was a problem hiding this comment.
The modtran_path arg is a bit overloaded now. We could alternatively add a libradtran_path. Although, I think it could be nice (not in this PR), to have simply an rtm_path or engine_path, with logic after to decide if its an emulator, modtran, etc. I had something written here, but then realized this would break all of our workflows and tests.. just something to mull over.
Contributor
Author
Contributor
Author
|
@unbohn, ready for your review -thank you! |
brentwilder
commented
Jan 29, 2026
Collaborator
|
Set to come after #848 |
Collaborator
|
Thanks, @brentwilder! This is very useful. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

This assumes that any delta-M scaling effects are relatively small for 8 streams (default in modtran template). Preliminary comparisons to 6c-emulator at least for spaceborne looks fairly reasonable.
Here is a test for AOT=0.2 ; water vapor =1.0 g cm-2 (note this is in units of rdn for rhoatm and the coupled terms). Most of the residual in the forward simulation is via the rhoatm interestingly.
--
However, there must be a user error on my end of setting up irradiance, because using the same source file as sRTMnet (
tsis_f0_0p5.txt) is yielding me different raw irradiance values convolved to sensor grid. This may be influencing the discrepency above with therhoatm.--
Other smaller differences in the VNIR I hypothesize could possibly due to 1) different default aerosol settings in libRadtran, 2) unresolved delta-M errors. Although, if it were delta-M errors alone, I would suspect the transmittance would be slightly increased for the direct terms as a result. However, it is the diffuse terms that have slightly higher radiance.
--
Finally, here is some spectra solved by an EMIT scene for a reference. These are snow and veg pixels sampled at random.
--
More systematically for the scene, here is average residuals. Notably most of the wavelengths even at the 5-95 percentiles fall within a range of -0.05 to 0.05 residual. I think finding my error with the
solar_irrwill likely reduce this residual for the 400-500 nm range.