Several questions regarding Seadas L2gen tool using PACE_OCI L1B data

Use this Forum to find information on, or ask a question about, NASA Earth Science data.
Post Reply
ad_wong11
Posts: 2
Joined: Thu Oct 24, 2024 3:28 pm America/New_York
Answers: 0

Several questions regarding Seadas L2gen tool using PACE_OCI L1B data

by ad_wong11 » Thu Oct 24, 2024 4:43 pm America/New_York

Hello,

I am new to Seadas. I am trying to process Rrs values from Pace Oci L1B data using L2gen tool in SeaDAS. I have several questions:

(1) Seadas/sytem info
-----------------------------------------------------------
Main Application Platform:
-----------------------------------------------------------
Application Version: SeaDAS 9.1.0
SNAP Engine Version: 11.0.0.0* (SeaDAS Platform modified)
SNAP Desktop Version: 11.0.0.0* (SeaDAS Platform modified)
SNAP Engine Build Date: 202410022359
SNAP Desktop Build Date: 202410030004
Installation Directory: /Users/*****/SeaDAS
Data Directory: /Users/*****/.seadas9
Configuration: /Users/*****/SeaDAS/etc/snap.properties
VM Configuration: /Users/*****/SeaDAS/etc/seadas.conf
VM Configuration: /Users/*****/SeaDAS/etc/snap.conf
VM Configuration (gpt): /Users/*****/SeaDAS/bin/gpt.vmoptions
VM Configuration (pconvert): /Users/*****/SeaDAS/bin/pconvert.vmoptions
Runtime Configuration: /Users/*****/.seadas9/etc/snap.properties
Runtime Configuration (SeaDAS Toolbox): /Users/*****/.seadas9/etc/seadas.properties
JRE: OpenJDK Runtime Environment 11.0.19+7
JVM: OpenJDK 64-Bit Server VM by Eclipse Adoptium
Memory: 8192 MiB
OCSSWROOT (Environment Variable): null
Python3 Version: Python 3.9.6 (default, Aug 9 2024, 14:24:13)
Python3 Directory: /usr/bin/python3
Python3 Requests Installed: YES
Earthdata Netrc Entry: YES


-----------------------------------------------------------
SeaDAS Toolbox:
-----------------------------------------------------------
SeaDAS Toolbox Version: 2.1.0
SeaDAS Toolbox Build Date: 202410030013
Configuration: /Users/*****/.seadas9/etc/seadas.properties
OCSSW Location: local
[OCSSW-Local] Root Directory: /Users/*****/SeaDAS/ocssw
[OCSSW-Local] Python3 Version: Python 3.9.6 (default, Aug 9 2024, 14:24:13)
[OCSSW-Local] Python3 Directory: /usr/bin/python3
[OCSSW-Local] Python3 Requests Installed: YES
[OCSSW-Local] Earthdata Netrc Entry: YES
[OCSSW-Local] Log Directory: /


-----------------------------------------------------------
NASA Science Processing (OCSSW):
-----------------------------------------------------------
OCSSWROOT=/Users/*****/SeaDAS/ocssw
OCDATAROOT=/Users/*****/SeaDAS/ocssw/share
l2gen version: msl12 9.7.0-V2024.1 (Jul 17 2024 09:15:16)
l2bin version: 7.0.7
l3bin version: 5.14
l3mapgen version: l3mapgen 2.4.0-V2024.1 (Jul 17 2024 09:14:01)
Installed Missions: ['oci']


-----------------------------------------------------------
General System and Software:
-----------------------------------------------------------
Operating system: MacOS 14.6.1
Java version: 21.0.3
Python3 version: 3.9.6
Python3 Path: /usr/bin/python3
Env:
CC=gcc
CXX=g++
ELEMENTS=/Users/*****/SeaDAS/ocssw/var/seawifs
EOS_LIB_PREFIX=macintel64
FC=gfortran
GCC_TUNE=
HDFEOS_LIB=/Users/*****/SeaDAS/ocssw/opt/EOS/lib/macintel64
HRPT_STATION_IDENTIFICATION_FILE=/Users/*****/SeaDAS/ocssw/share/seawifs/station/station_id.dat
L2GEN_ANC=/Users/*****/SeaDAS/ocssw/var/anc
LIB3_BIN=/Users/*****/SeaDAS/ocssw/opt/bin
LIB3_CHECK=0
LIB3_DIR=/Users/*****/SeaDAS/ocssw/opt
LIB3_INC=/Users/*****/SeaDAS/ocssw/opt/include
LIB3_LIB=/Users/*****/SeaDAS/ocssw/opt/lib
NAVCTL=/Users/*****/SeaDAS/ocssw/share/seawifs/nav
NAVQC=/Users/*****/SeaDAS/ocssw/share/seawifs/nav
OCSSW_ARCH=macosx_intel
OCSSW_BIN=/Users/*****/SeaDAS/ocssw/bin
OCSSW_DEBUG=0
OCSSW_MODIS=1
OCTS_REGISTRATION_TABLES=/Users/*****/SeaDAS/ocssw/share/octs/nav
OCVARROOT=/Users/*****/SeaDAS/ocssw/var
ORBCTL=/Users/*****/SeaDAS/ocssw/share/seawifs/nav
PGSINC=/Users/*****/SeaDAS/ocssw/opt/EOS/include
PGSLIB=/Users/*****/SeaDAS/ocssw/opt/EOS/lib/macintel64
PROJ_DATA=/Users/*****/SeaDAS/ocssw/opt/share/proj
PROJ_LIB=/Users/*****/SeaDAS/ocssw/opt/share/proj
SWFTBL=/Users/*****/SeaDAS/ocssw/share/seawifs/qc
SWTBL=/Users/*****/SeaDAS/ocssw/share/seawifs


(2) I can use the 'L2gen' to process a case of PACE OCI L1B data (I used the default configuration, except I hit the 'Get ancillary' button)
==========
# PRIMARY INPUT OUTPUT FIELDS
ifile=/Users/*****/SeaDAS/downloaded_oci/PACE_OCI.20240501T001954.L1B.V2.nc
ofile=/Users/*****/SeaDAS/downloaded_oci/PACE_OCI.20240501T001954.L2.OC.nc

# SUITE
suite=OC

# ANCILLARY INPUTS Default = climatology (select 'Get Ancillary' to download ancillary files)
icefile=/Users/*****/SeaDAS/ocssw/var/anc/2024/122/20240501120000-CMC-L4_GHRSST-SSTfnd-CMC0.1deg-GLOB-v02.0-fv03.0.nc
met1=/Users/*****/SeaDAS/ocssw/var/anc/2024/122/GMAO_MERRA2.20240501T000000.MET.nc
met2=/Users/*****/SeaDAS/ocssw/var/anc/2024/122/GMAO_MERRA2.20240501T010000.MET.nc
met3=/Users/*****/SeaDAS/ocssw/var/anc/2024/122/GMAO_MERRA2.20240501T010000.MET.nc
ozone1=/Users/*****/SeaDAS/ocssw/var/anc/2024/122/GMAO_MERRA2.20240501T000000.MET.nc
ozone2=/Users/*****/SeaDAS/ocssw/var/anc/2024/122/GMAO_MERRA2.20240501T010000.MET.nc
ozone3=/Users/*****/SeaDAS/ocssw/var/anc/2024/122/GMAO_MERRA2.20240501T010000.MET.nc
sstfile=/Users/*****/SeaDAS/ocssw/var/anc/2024/122/20240501120000-CMC-L4_GHRSST-SSTfnd-CMC0.1deg-GLOB-v02.0-fv03.0.nc
==========

I also download the L2 level data from https://oceancolor.gsfc.nasa.gov/ 'PACE_OCI.20240501T001954.L2.OC_AOP.V2_0.NRT.nc', I want to ensure if I can reproduce the identical result as the standard AOP Rrs product.

When I compared the file I processed(named 'PACE_OCI.20240501T001954.L2.OC.nc') with the standard file (name 'PACE_OCI.20240501T001954.L2.OC_AOP.V2_0.NRT.nc'), I found that the Rrs between them are slightly different. I noticed that there are differences in the input_parameters:

The 'PACE_OCI.20240501T001954.L2.OC.nc' I generated: no anc_aerosol files;
:anc_aerosol1 = "";
:anc_aerosol2 = "";
:anc_aerosol3 = "";
:sfc_albedo = "";

The standard file 'PACE_OCI.20240501T001954.L2.OC_AOP.V2_0.NRT.nc' has anc_aerosol files;
:anc_aerosol1 = "GMAO_MERRA2.20240501T000000.AER.nc";
:anc_aerosol2 = "GMAO_MERRA2.20240501T010000.AER.nc";
:anc_aerosol3 = "GMAO_MERRA2.20240501T010000.AER.nc";

For my case, the 'Get ancillary' did not download anc_aerosol files (I checked the ''/Users/*****/SeaDAS/ocssw/var/anc/2024/122/"). Did I miss something when I used the l2gen??

(3) Does the l2gen tool automatically perform atmospheric correction separately for the open ocean and coastal (turbid) waters? any references? How to identify if a pixel is in the open ocean or coastal? using the Distance to the Nearest Coast ?

(4) I’m wondering if I can use the l2gen tool to generate Rrs(geometry) that is dependent on solar and sensor geometry. How to configure the l2gen parameters?

I noticed that there is a 'brdf' parameters in the Atmospheric Correction Intermediates under the Product Tab of the L2gen interface;
Which equation is correct?
(4.1) Rrs(geometry) = Rrs(standard product, normalized) / brdf

(4.2) Rrs(geometry)= Rrs(standard product, normalized) * brdf



Thank you very much,

Ad_wong

Filters:

OB.DAACx - amscott
Posts: 396
Joined: Mon Jun 22, 2020 5:24 pm America/New_York
Answers: 1
Has thanked: 8 times
Been thanked: 8 times

Re: Several questions regarding Seadas L2gen tool using PACE_OCI L1B data

by OB.DAACx - amscott » Fri Oct 25, 2024 10:14 am America/New_York

Hello,

I am having trouble spotting if #1 is a question or if you are sharing your system setting for reference. If #1 is a question, can you please clarify.

#2: PACE_OCI.20240501T001954.L2.OC.nc is not a valid product or filename. The product you have PACE_OCI.20240501T001954.L2.OC_AOP.V2_0.NRT.nc is a near real-time (NRT) product, which means the product was created very soon after the OCI instrument collected and the data. Once additional (ancillary) files are available to combine with with the NRT data, a standard product will be generated and made available. *Standard products have not yet been created for this product.*

Additionally, AOP was dropped off of the filename you attempted to run. Once the standard product is ready, the filename would be "OC_AOP", like the NRT filename shows.

To find and work with data that are currently available, please use one of these tools:

Earthdata Search
- https://search.earthdata.nasa.gov

Ocean Color Direct Data Access (for PACE data):
- https://oceandata.sci.gsfc.nasa.gov/directdataaccess/

- This is the direct path where you will see available files like such as PACE_OCI.20240501T001954.L2.OC_AOP.V2_0.NRT.nc: https://oceandata.sci.gsfc.nasa.gov/directdataaccess/Level-2/PACE-OCI/2024/01-May-2024/

Ocean Color File Search:
*note to find PACE data, use the 'Advanced' tab.
- https://oceandata.sci.gsfc.nasa.gov/api/file_search/

ad_wong11
Posts: 2
Joined: Thu Oct 24, 2024 3:28 pm America/New_York
Answers: 0

Re: Several questions regarding Seadas L2gen tool using PACE_OCI L1B data

by ad_wong11 » Fri Oct 25, 2024 12:56 pm America/New_York

Thank you for your response.

(1) This was not a question; it only shows basic Seadas/system info.

(2) Does this suggest that some ancillary data colocated with OCI L1B is still unavailable to the public?

OB.DAACx - amscott
Posts: 396
Joined: Mon Jun 22, 2020 5:24 pm America/New_York
Answers: 1
Has thanked: 8 times
Been thanked: 8 times

Re: Several questions regarding Seadas L2gen tool using PACE_OCI L1B data

by OB.DAACx - amscott » Fri Oct 25, 2024 1:25 pm America/New_York

1) Thank you for confirming! I have asked SeaDAS subject matter experts and they confirmed your settings are good.

2) It means that the ancillary data needed to generate the standard product for this dataset are not yet available for us (the data producer) to ingest. As soon as we have all the files we need, we will generate the data and make it available to the public via the same channels you found the NRT data.

OB.DAACx - SeanBailey
Posts: 1519
Joined: Wed Sep 18, 2019 6:15 pm America/New_York
Answers: 1
Been thanked: 9 times

Re: Several questions regarding Seadas L2gen tool using PACE_OCI L1B data

by OB.DAACx - SeanBailey » Fri Oct 25, 2024 7:46 pm America/New_York

For my case, the 'Get ancillary' did not download anc_aerosol files (I checked the ''/Users/*****/SeaDAS/ocssw/var/anc/2024/122/"). Did I miss something when I used the l2gen??
No, you didn't. The getanc code has not been updated to include the anc_aerosol files. These files are currently only used to set the absorbing aerosol flag for ocean color processing, but have no other impact to the data. (For SST processing, it is used for some regional processing but there is no real reason for users to process SST as there are no user configurable parameters)
(3) Does the l2gen tool automatically perform atmospheric correction separately for the open ocean and coastal (turbid) waters? any references? How to identify if a pixel is in the open ocean or coastal? using the Distance to the Nearest Coast ?
The same atmospheric correction process is applied globally. The default algorithm employs the Bailey et al., 2010 adjustment to the NIR signal to account for non-negligible NIR reflectance that can impact the aerosol retrieval.
(4) I’m wondering if I can use the l2gen tool to generate Rrs(geometry) that is dependent on solar and sensor geometry. How to configure the l2gen parameters?
No, not directly. Rrs from l2gen includes a compensation for BRDF to normalize the value to the nadir - sun@zenith view.
If you want to remove that, you would divide by the brdf value for each wavelength, however that won't complete the reversal of the geometry normalization. There is still the cosine of the solar zenith angle to account. If you want a quantity that really directional, output Lw and Es and compute Rrs as Lw/Es.

Post Reply