Skip to content

Add ABI Day Cloud Type ("cloud_type") RGB #3089

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

djhoese
Copy link
Member

@djhoese djhoese commented Mar 26, 2025

New ABI composite. Almost the exact same thing as day cloud phase distinction but different red channel.

  • Closes #xxxx
  • Tests added
  • Fully documented
  • Add your name to AUTHORS.md if not there already

@djhoese djhoese added enhancement code enhancements, features, improvements component:compositors labels Mar 26, 2025
@djhoese djhoese self-assigned this Mar 26, 2025
@djhoese djhoese requested a review from mraspaud as a code owner March 26, 2025 16:00
Copy link

codecov bot commented Mar 26, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 96.18%. Comparing base (f15bd3b) to head (c5dca11).
Report is 19 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3089   +/-   ##
=======================================
  Coverage   96.18%   96.18%           
=======================================
  Files         391      391           
  Lines       56633    56633           
=======================================
  Hits        54471    54471           
  Misses       2162     2162           
Flag Coverage Δ
behaviourtests 3.82% <ø> (ø)
unittests 96.27% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@coveralls
Copy link

coveralls commented Mar 26, 2025

Pull Request Test Coverage Report for Build 14538111256

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 96.286%

Totals Coverage Status
Change from base Build 14401317584: 0.0%
Covered Lines: 54725
Relevant Lines: 56836

💛 - Coveralls

@strandgren
Copy link
Collaborator

Just for your information, there is also the cimss_cloud_type RGB available in visir.yaml, but that one uses slightly different stretching and gamma. Here is the guide from Eumetrain providing the recipes for both variants: https://resources.eumetrain.org/data/7/736/navmenu.php?tab=3&page=1.0.0. I guess this is a good candidate for RGB recipe standardization during this weeks RGB workshop 😄

@gerritholl
Copy link
Member

gerritholl commented Mar 31, 2025

satpy also has a version that uses the sunz_reduced modifier (for FCI). In DWD, we have swapped this for the solar_pathlength_corrected modifier (similar to effective_solar_pathlength_corrected but with different parameters).

cloud_type:
description: >
Equal to cimss_cloud_type recipe, but with additional sunz_reducer modifier to avoid saturation at the terminator.
references:
EUMETRAIN Quick Guide: https://resources.eumetrain.org/rgb_quick_guides/quick_guides/CloudTypeRGB.pdf
Recipe: https://resources.eumetrain.org/RGBguide/recipes/RGB_recipes.pdf
compositor: !!python/name:satpy.composites.GenericCompositor
prerequisites:
- name: nir_13
modifiers: [sunz_corrected, sunz_reduced]
- name: vis_06
modifiers: [sunz_corrected, sunz_reduced]
- name: nir_16
modifiers: [sunz_corrected, sunz_reduced]
standard_name: cimss_cloud_type

I understand sunz_corrected is already applied to ABI data, but is this reduced near the terminator in any way?

@djhoese
Copy link
Member Author

djhoese commented Mar 31, 2025

I understand sunz_corrected is already applied to ABI data, but is this reduced near the terminator in any way?

VIIRS SDR has the sunz corrected applied in the reader, but not ABI. ABI requires it to be specified in the composite recipe if it is desired. And no reduction is done other than max_sza and correction_limit of the modifier class in satpy/modifiers/geometry.py.

@strandgren Thanks. Maybe I'll add that URL to this recipe. I had noticed the CIMSS variant but also that it didn't match what the CIRA/NASA/NOAA guide had. I do not like RGBs.

@mraspaud
Copy link
Member

At the RGB workshop, it was decided this composite should be called day_cloud_type.
Also, just cloud_type can potentially conflict with the level 2 product of the same name. I wonder is satpy is smart enough to sort this out depending on the kind of input file it has.

@djhoese
Copy link
Member Author

djhoese commented Apr 11, 2025

Yeah I will rename this one and I'll probably make a separate PR to rename and deprecate other RGBs for ABI. For example, convection -> day_convection.

The enhancements can be configured by "reader" so there is at least that control. I did actually need to do that in my Polar2Grid project for this RGB where Satpy was matching with a L2 product clavrx product's enhancement for "cloud_type" versus this one. I had to add "reader" to the L2 version.

Anyway...I'll try to find time for this and the other RGBs today.

@djhoese djhoese force-pushed the feat-abi-cloud-type-ocean-cloud-convection branch from 36553ae to 22613dd Compare April 11, 2025 14:19
@djhoese
Copy link
Member Author

djhoese commented Apr 15, 2025

@mraspaud can you double check this? I think I made all the changes you requested.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:compositors enhancement code enhancements, features, improvements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants