NOAA21 JPSS2 processing L1A to L2

Use this Forum to find information on, or ask a question about, NASA Earth Science data.
Post Reply
gbourdin
Posts: 34
Joined: Mon Jan 25, 2021 11:59 am America/New_York
Answers: 0
Has thanked: 1 time

NOAA21 JPSS2 processing L1A to L2

by gbourdin » Mon Jul 10, 2023 10:17 am America/New_York

Hello,
I am trying to process VIIRS JPSS2 from L1A to L2 but I am getting this error:

Code: Select all

/home/dshea/focs/oel_util/libpiutils/productInfo.cpp Line 948: need a default chlorophyll algorithm for this sensor
Anyone knows how to fix this?
Best,
Guillaume


I am asking the following products in l2gen:

Code: Select all

0 rhot_411
1 rhot_445
2 rhot_488
3 rhot_555
4 rhot_671
5 rhot_747
6 rhot_868
7 rhot_1241
8 rhot_1613
9 rhot_2252
10 polcor_411
11 polcor_445
12 polcor_488
13 polcor_555
14 polcor_671
15 polcor_747
16 polcor_868
17 polcor_1241
18 polcor_1613
19 polcor_2252
20 sena
21 senz
22 sola
23 solz
24 latitude
25 longitude
26 Rrs_411
27 Rrs_445
28 Rrs_488
29 Rrs_555
30 Rrs_671
31 nLw_411
32 nLw_445
33 nLw_488
34 nLw_555
35 nLw_671
36 nLw_747
37 nLw_868
38 nLw_1241
39 nLw_1613
40 nLw_2252
41 chlor_a
42 chl_ocx
43 ipar
44 par
45 pic
46 poc
47 Kd_490
48 adg_443_giop
49 bbp_443_giop
50 adg_443_gsm
51 bbp_443_gsm
52 adg_443_qaa
53 bbp_443_qaa
54 l2_flags

Filters:

OB SeaDAS - xuanyang02
Subject Matter Expert
Subject Matter Expert
Posts: 660
Joined: Tue Feb 09, 2021 5:42 pm America/New_York
Answers: 1
Been thanked: 2 times

Re: NOAA21 JPSS2 processing L1A to L2

by OB SeaDAS - xuanyang02 » Mon Jul 10, 2023 10:31 am America/New_York

Please do SeaDAS-Toolbox -> Software & System Info and post the output here.

Please also share the name of your JPSS2 L1 File, and I assume that you provided a corresponding GEO file

gbourdin
Posts: 34
Joined: Mon Jan 25, 2021 11:59 am America/New_York
Answers: 0
Has thanked: 1 time

Re: NOAA21 JPSS2 processing L1A to L2

by gbourdin » Mon Jul 10, 2023 10:49 am America/New_York

I have tried to process ~100 images from last month all located in the Indian Ocean and all of them had a corresponding GEO file provided.

I am not using the SeaDAS GUI, I only work from command lines on linux and I have updated OCSSW to the tag V2022.3.
Best,
Guillaume

OB SeaDAS - xuanyang02
Subject Matter Expert
Subject Matter Expert
Posts: 660
Joined: Tue Feb 09, 2021 5:42 pm America/New_York
Answers: 1
Been thanked: 2 times

Re: NOAA21 JPSS2 processing L1A to L2

by OB SeaDAS - xuanyang02 » Mon Jul 10, 2023 5:20 pm America/New_York

Unfortunately, I can't replicate your error.

Can you update OCSSW to V2023.2?

However, l2gen will complain that it can't open
$OCVARROOT/viirsj2/cal/OPER/VIIRS_J2_CAL_STATIC_LUT_v3.2.3.1_20221202_vcst.nc
and
$OCVARROOT/viirsj2/cal/OPER/VIIRS_J2_CAL_RSB_DYNAMIC_LUT_20221129_20230430_v3.2.3.2_20230216_vcst.nc

You need to edit $OCDATAROOT/viirs/j2/instrument_defaults.par, so the 1st two lines
static_lut_file=
rsb_dynamic_lut_file=
look like this
static_lut_file=$OCVARROOT/viirsj2/cal/OPER/VIIRS_J2_CAL_STATIC_LUT_v3.2.3.3_20230320_vcst.nc
rsb_dynamic_lut_file=$OCVARROOT/viirsj2/cal/OPER/VIIRS_J2_CAL_RSB_DYNAMIC_LUT_20221129_20230628_v3.2.3.4_20230330_vcst.nc

Let us know if it works

gbourdin
Posts: 34
Joined: Mon Jan 25, 2021 11:59 am America/New_York
Answers: 0
Has thanked: 1 time

Re: NOAA21 JPSS2 processing L1A to L2

by gbourdin » Mon Jul 10, 2023 5:54 pm America/New_York

I have updated OCSSW to 2023.2 and modified the two first lines of the instrument_defaults.par as you suggested but I get the exact same error.

Here one example of the full command I send in python:

Code: Select all

subprocess.CalledProcessError: Command '['/home/gbourdin/ocssw/bin/ocssw_runner', '--ocsswroot', '/home/gbourdin/ocssw', '/home/gbourdin/ocssw/bin/l2gen', 'suite=OC', 'ifile=/home/gbourdin/process_OCfiles/L2_to_L3/data/brr/JPSS2_VIIRS.20230608T110600.L1A.nc', 'geofile=/home/gbourdin/process_OCfiles/L2_to_L3/data/brr/JPSS2_VIIRS.20230608T110600.GEO.nc', 'ofile=/home/gbourdin/process_OCfiles/L2_to_L3/data/brr/JPSS2_VIIRS.20230608T110600.L1C.OC.nc.tmp', 'maskland=1', 'maskhilt=1', 'raman_opt=2', 'north=-14.44013', 'south=-27.77347', 'east=62.67039', 'west=48.37821', 'gain=[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]', 'maskcloud=1', 'aer_opt=-2', 'brdf_opt=-1', 'atmocor=1', 'icefile=/home/gbourdin/process_OCfiles/L2_to_L3/anc/JPSS2_VIIRS.20230608T110600.L1A/0230/608/20230608120000-CMC-L4_GHRSST-SSTfnd-CMC0.1deg-GLOB-v02.0-fv03.0.nc', 'met1=/home/gbourdin/process_OCfiles/L2_to_L3/anc/JPSS2_VIIRS.20230608T110600.L1A/MAO_/FP./GMAO_FP.20230608T090000.MET.NRT.nc', 'met2=/home/gbourdin/process_OCfiles/L2_to_L3/anc/JPSS2_VIIRS.20230608T110600.L1A/MAO_/FP./GMAO_FP.20230608T120000.MET.NRT.nc', 'met3=/home/gbourdin/process_OCfiles/L2_to_L3/anc/JPSS2_VIIRS.20230608T110600.L1A/MAO_/FP./GMAO_FP.20230608T120000.MET.NRT.nc', 'ozone1=/home/gbourdin/process_OCfiles/L2_to_L3/anc/JPSS2_VIIRS.20230608T110600.L1A/MAO_/FP./GMAO_FP.20230608T090000.MET.NRT.nc', 'ozone2=/home/gbourdin/process_OCfiles/L2_to_L3/anc/JPSS2_VIIRS.20230608T110600.L1A/MAO_/FP./GMAO_FP.20230608T120000.MET.NRT.nc', 'ozone3=/home/gbourdin/process_OCfiles/L2_to_L3/anc/JPSS2_VIIRS.20230608T110600.L1A/MAO_/FP./GMAO_FP.20230608T120000.MET.NRT.nc', 'sstfile=/home/gbourdin/process_OCfiles/L2_to_L3/anc/JPSS2_VIIRS.20230608T110600.L1A/0230/608/20230608120000-CMC-L4_GHRSST-SSTfnd-CMC0.1deg-GLOB-v02.0-fv03.0.nc', 'l2prod=rhot_nnn,polcor_nnn,sena,senz,sola,solz,latitude,longitude,Rrs_vvv,nLw_nnn,chlor_a,chl_ocx,ipar,par,pic,poc,Kd_490,adg_443_giop,bbp_443_giop,adg_443_gsm,bbp_443_gsm,adg_443_qaa,bbp_443_qaa']' returned non-zero exit status 1.
I process MODISA, MODIST, VIIRSN, JPSS1, and OLCI with the same script and have no issue.
Best,
Guillaume

OB SeaDAS - xuanyang02
Subject Matter Expert
Subject Matter Expert
Posts: 660
Joined: Tue Feb 09, 2021 5:42 pm America/New_York
Answers: 1
Been thanked: 2 times

Re: NOAA21 JPSS2 processing L1A to L2

by OB SeaDAS - xuanyang02 » Tue Jul 11, 2023 12:15 pm America/New_York

I got the same error you got --
/Users/dshea/ocssw/oel_util/libpiutils/productInfo.cpp Line 948: need a default chlorophyll algorithm for this sensor
running

Code: Select all

$ ~/ocssw/bin/ocssw_runner --ocsswroot ~/ocssw ~/ocssw/bin/l2gen suite=OC ifile=JPSS2_VIIRS.20230608T110600.L1A.nc geofile=JPSS2_VIIRS.20230608T110600.GEO.nc ofile=JPSS2_VIIRS.20230608T110600.L2.nc maskland=1 maskhilt=1 raman_opt=2 north=-14.44013 south=-27.77347 east=62.67039 west=48.37821 gain=[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0] maskcloud=1 aer_opt=-2 brdf_opt=-1 atmocor=1 l2prod=rhot_nnn,polcor_nnn,sena,senz,sola,solz,latitude,longitude,Rrs_vvv,nLw_nnn,chlor_a,ipar,pic,poc,Kd_490,adg_445_giop,bbp_445_giop,adg_445_gsm,bbp_445_gsm,adg_445_qaa,bbp_445_qaa
The issue is that we haven't defined the default chl algorithm in the V tag, for JPSS2 is a new mission. The issue is fixed, and it will be in the next V tag.

For the time being, you need to take "chl_ocx" out of l2prod, or use chl_oc3 instead of chl_ocx.

In addition, you need to take "par" out and change
"adg_443_giop,bbp_443_giop,adg_443_gsm,bbp_443_gsm,adg_443_qaa,bbp_443_qaa"
to
"adg_445_giop,bbp_445_giop,adg_445_gsm,bbp_445_gsm,adg_445_qaa,bbp_445_qaa"

for l2 to run successfully

gbourdin
Posts: 34
Joined: Mon Jan 25, 2021 11:59 am America/New_York
Answers: 0
Has thanked: 1 time

Re: NOAA21 JPSS2 processing L1A to L2

by gbourdin » Thu Jul 13, 2023 8:35 am America/New_York

Thank you it is now working. In fact the VIIRSJ2 LUTs were not installed at all when I was installing OCSSW with

Code: Select all

install_ocssw --install_dir $HOME/ocssw --tag V2023.2 --viirsj2
So I ran

Code: Select all

update_luts -v viirsj2
to install the LUTs, did the modifications of the instrument_defaults.par file and changed the l2prod as you suggested.
Thank you,
Best,
Guillaume

Post Reply