VIIRS NOAA-21 CLDICE vs NOAA-20
VIIRS NOAA-21 CLDICE vs NOAA-20
Hi,
It seems that CLDICE is not raised the same way for VIIRS NOAA-21 than for NOAA-20: with NOAA-21 strong clouds are not flag CLDICE, and also CLDICE seems not well flag in glint areas. On the other hand, the ATMFAIL flag is more raised with NOAA-21.
In our GlobColour project we calculate a Cloud Fraction (%) product based on CLDICE, and for NOAA-20 we obtain for example for 2026-02-23: where for NOAA-21 we obtain: Is it expected? If yes is it documented somewhere? I searched in reprocessing docs but found nothing.
Do you know if we can implement a workaround for NOAA-21 to have a CLDICE similar to NOAA-20?
Thanks for your help,
Julien
It seems that CLDICE is not raised the same way for VIIRS NOAA-21 than for NOAA-20: with NOAA-21 strong clouds are not flag CLDICE, and also CLDICE seems not well flag in glint areas. On the other hand, the ATMFAIL flag is more raised with NOAA-21.
In our GlobColour project we calculate a Cloud Fraction (%) product based on CLDICE, and for NOAA-20 we obtain for example for 2026-02-23: where for NOAA-21 we obtain: Is it expected? If yes is it documented somewhere? I searched in reprocessing docs but found nothing.
Do you know if we can implement a workaround for NOAA-21 to have a CLDICE similar to NOAA-20?
Thanks for your help,
Julien
Last edited by dem1 on Mon Mar 16, 2026 12:04 pm America/New_York, edited 2 times in total.
Filters:
-
OB ScienceSW - jlindo1
- Subject Matter Expert

- Posts: 12
- Joined: Thu Oct 03, 2024 8:46 am America/New_York
Re: VIIRS NOAA-21 CLDICE vs NOAA-20
Hi Julien,
Would you mind posting the filenames used to generate those images?
Best,
Jakob
Would you mind posting the filenames used to generate those images?
Best,
Jakob
Re: VIIRS NOAA-21 CLDICE vs NOAA-20
Hi Jakob,
Sorry for the late reply.
I check the date and sorry I did a mistake, in fact it's 2026-02-23 (I just fixed my post).
For example you can compare these 2 granules:
JPSS1_VIIRS.20260223T085401.L2.OC.NRT.nc
JPSS2_VIIRS.20260223T094801.L2.OC.NRT.nc
Analysis with SNAP: left NOAA-20 with coherent CLDICE, right NOAA-21 where strong clouds are not flagged CLDICE but seem instead flagged ATMFAIL:
Sorry for the late reply.
I check the date and sorry I did a mistake, in fact it's 2026-02-23 (I just fixed my post).
For example you can compare these 2 granules:
JPSS1_VIIRS.20260223T085401.L2.OC.NRT.nc
JPSS2_VIIRS.20260223T094801.L2.OC.NRT.nc
Analysis with SNAP: left NOAA-20 with coherent CLDICE, right NOAA-21 where strong clouds are not flagged CLDICE but seem instead flagged ATMFAIL:
-
OB ScienceSW - jlindo1
- Subject Matter Expert

- Posts: 12
- Joined: Thu Oct 03, 2024 8:46 am America/New_York
Re: VIIRS NOAA-21 CLDICE vs NOAA-20
Thank you for that. I am looking through the source code and will get back to you when I have something of substance.
Best,
Jakob
Best,
Jakob
-
OB ScienceSW - jlindo1
- Subject Matter Expert

- Posts: 12
- Joined: Thu Oct 03, 2024 8:46 am America/New_York
Re: VIIRS NOAA-21 CLDICE vs NOAA-20
Thank you for your patience with this.
I've been stepping through a debugger and found that the L1 mask is different between the examples you showed. When converting the L1 data to L2, there is a guard against atmospheric correction if the L1 record is masked already. In the JPSS1 data in the region you circled, atmospheric correction seems to be skipped because of this guard. In the region circled for the JPSS2 file, l2gen goes ahead with atmospheric correction at those pixels. It seems as though those pixels flagged ATMFAIL have radiance values that are not physical, so atmospheric correction fails.
Does that answer your question?
Best,
Jakob
I've been stepping through a debugger and found that the L1 mask is different between the examples you showed. When converting the L1 data to L2, there is a guard against atmospheric correction if the L1 record is masked already. In the JPSS1 data in the region you circled, atmospheric correction seems to be skipped because of this guard. In the region circled for the JPSS2 file, l2gen goes ahead with atmospheric correction at those pixels. It seems as though those pixels flagged ATMFAIL have radiance values that are not physical, so atmospheric correction fails.
Does that answer your question?
Best,
Jakob
-
OB ScienceSW - jlindo1
- Subject Matter Expert

- Posts: 12
- Joined: Thu Oct 03, 2024 8:46 am America/New_York
Re: VIIRS NOAA-21 CLDICE vs NOAA-20
Hello,
I dug deeper into this issue and found a problem with one of the LUTs used in VIIRS calibration. We're working on a fix.
Best,
Jakob
I dug deeper into this issue and found a problem with one of the LUTs used in VIIRS calibration. We're working on a fix.
Best,
Jakob