VIIRS processing in Acolite

Technical questions about ACOLITE
Post Reply
oneLaker
Posts: 20
Joined: Thu May 10, 2018 1:39 pm

VIIRS processing in Acolite

Post by oneLaker »

Hi Quinten,

I am excited to see that ACOLITE adds the support of VIIRS. I would like to inquire what the input of ACOLITE for VIIRS is, is it NOAA CLASS (with imaging bands) or NASA Oceancolor disributed M-bands? I am interested in examining the ability of DSF algorithm on VIIRS to compare other algorithms in China lakes.

Regards,
Zhigang
quinten
Posts: 1019
Joined: Tue Mar 03, 2015 8:13 am

Re: VIIRS processing in Acolite

Post by quinten »

Hi Zhigang

You have been paying attention to the GitHub commits! 8-) I have just this week submitted a paper to RSE describing the processing of VIIRS titled "Remote sensing of turbid coastal and estuarine waters with VIIRS I (375 m) and M bands (750 m)" The paper is still with the editor, and not yet under review. I haven't provided yet details elsewhere on how to run the VIIRS processing, but may as well do so in this thread.

In ACOLITE both I and M bands can be processed, depending on the processing settings and available files. You can choose to process either or both I and M bands by the setting viirs_option, with options img+mod, mod+img, img, mod. The default is img+mod, which processes both I and M bands, at I band resolution, mod+img also processed both but at M band resolution. The options img and mod only process the I and M band at their respective resolution.

The processing takes either the output files from OCSSW VIIRS processing tools or files from LAADS-DAAC as input files. I now took a quick look at NOAA CLASS but could not find out immediately which data I should download there. Please let me know if you have figured this out!

You need L1B and GEO files for each set of bands (so four in total for the default img+mod) to run the processing. Any one of those can be set as inputfile in the ACOLITE settings, the other will be automatically found if they are in the same directory as the given inputfile. If you obtain data from the Oceancolor site, you need to get the L1A file and process to L1B and GEO with OCSSW processing components. I followed the Manual Installation instructions here, about halfway through the page. I used V2023.2 with the VIIRS components installed(--viirs_l1 --viirs_l1_bin --viirsj1 --viirsj2 --viirsn), later tags are probably fine. I provided a function in ACOLITE which can do the download and processing of an L1A file to L1B with ac.viirs.viirs_l1a_to_l1b:

Code: Select all

scene = 'SNPP_VIIRS.20231001T040600.L1A.nc'
local = '/local/folder/for/VIIRS/'
ret = ac.viirs.viirs_l1a_to_l1b(scene, local =local)
Of course to do this you do need your EARTHDATA credentials set in (in order of preference) .netrc, as environment variables, or in config.txt. OCSSWROOT also needs to be set as environment variable, as done in the Command Line Configuration in the Manual installation instructions for OCSSW above.

For LAADS-DAAC you can directly obtain the L1B and GEO files for each sensor. You also will need a set of two (I or M band GEO and L1B) or four files (both I and M band GEO and L1B) to process. They have dataset identifiers:

Code: Select all

VNP02MOD and VNP03MOD for SNPP M band L1B and GEO
VNP02IMG and VNP03IMG for SNPP I band L1B and GEO
VJ102MOD and VJ103MOD  for JPPS1 M band L1B and GEO
VJ102IMG and VJ103IMG for JPPS1 I band L1B and GEO
In ACOLITE settings I would recommend to set a limit for your region of interest, and to reproject the VIIRS scans to get rid of the scan line gaps. By default a UTM projection will be used with either 375 or 750 m grids, but you can modify this with various projection settings. For example set your lake boundary as South,West,North,East in the limit setting:

Code: Select all

limit=S,W,N,E
limit_buffer=0.1
output_projection=True
reproject_before_ac=True
output_projection_fillnans=True
Of course you can also process without this reprojection and do your own afterwards.

I hope this is enough to get you started! Let me know how it goes!

Quinten
oneLaker
Posts: 20
Joined: Thu May 10, 2018 1:39 pm

Re: VIIRS processing in Acolite

Post by oneLaker »

Hi Quinten,

Thanks for your fast reply.

Yes, I often see the updates of ACOLITE respository. Thanks for your efforts in developing it.

Your information should be enough for me to run ACOLITE. Regarding the NOAA CLASS, I remember we need to select the SDR (i.e., L1B) dataset (I used it about in 2015...much time has passed). Its download is quite complicated, and it is not easy to do a batch downloading. I have been processing OceanColor's L1A data (only M-bands) in SeaDAS to derived Rrs/Rrc.

I have examined several AC algorithms to derive Rrs from VIIRS M-bands in the previous paper. We found that NOAA-released products outperformed others in China lakes. I will let you know when I generate the evaluations of ACOLITE for VIIRS.

P.S. I wish your RSE paper goes well. Finger crossed!

Best,
Zhigang
Post Reply