We are trying to set up a NRT processing chain for Suomi-VIIRS data we acquire at level 0. We are using CSPP to process it from level 0 to level1, then l2gen for processing the resulting VIIRS SDR up to level 2. The l1->l2 step is done as follows:
l2gen ifile=$input_file geofile=$geo_file ofile= $ofile calfile="" gain="1,1,1,1,1,1,1,1,1,1"
The resulting Rrs are way lower than we'd expect, particularly when compared with the equivalent level 2 file from your catalogue, see example figure attached for the 443 nm band. We were wondering if we are missing anything on the l2gen step?
Many thanks in advance!
- CSPP_l2genvsNASA_M2021164_1245_Rrs_443.jpg (328.3 KiB) Not viewed yet
Your question is related to data processing done in NOAA's Interface Data Processing Segment (IDPS), which receives raw instrument data and telemetry from ground stations supporting the Suomi NPP mission. The IDPS converts the Level 0 Raw Data Records (RDRs), generated by sensors on Suomi NPP, into calibrated geolocated Level 1 measurements called Sensor Data Records (SDRs), and then into Level 2+ geophysical parameters or Environmental Data Records (EDRs). or the Community Satellite Processing Package (CSPP)
Here at NASA VIIRS SIPSs we do not use CSPP but our re-worked VIRS code that generate 6-min products: 1 radiometric L1B file and 1 geolocation file in each of the 3 resolutions (IMG, MOD, & DNB). Also, we do not separate spectral bands.
So, you may want to contact the Community Satellite Processing Package (CSPP) at https://cimss.ssec.wisc.edu/cspp/ or NOAA’s VIIRS at https://ncc.nesdis.noaa.gov/VIIRS/index.php.
LAADS Users Support
The question about why l2gen results in incorrect Rrs when applied over CSPP-derived L1 still stands, unless the answer is that l2gen is not longer compatible with L1 files generated in such a way?
Since you got a result, it's not that l2gen is no longer compatible with the SDR input, rather the issue is that the on-orbit calibration differs between the IDPS (and thus CSPP) processing and the NASA VIIRS L1 processing (as would any vicarious calibration, which I see you disabled by setting the gains to unity). If you choose to use the NOAA SDR product as input to l2gen, you will have to derive a set of vicarious calibration coefficients to use with it.
I agree 'compatible' wasn't the right word. What I meant was that, in the past (I'm talking about ~7 years ago, CSPP VIIRS SDR v2.0), it was enough to set the gains to 1 to get reasonable numbers out of l2gen from such an CSPP-derived input. In retrospective, it was very naive of us to expect the calibration to remain the same after all this time.
We don't have much choice regarding the processing chain, so we'll start looking at deriving a custom SVC.
Thanks again and kind regards,