SST vs Chlorophyll and glint

Please enter here to ask a question about any NASA Science related topics!
woodbri
Posts: 52
Joined: Thu Jun 04, 2015 10:50 am America/New_York

SST vs Chlorophyll and glint

by woodbri » Mon Jun 01, 2020 11:50 am America/New_York

Hi all,

I have a question about comparing what I see in browse.pl and what I get out of SeaDAS processing. For example:

https://oceancolor.gsfc.nasa.gov/cgi/browse.pl?sub=level1or2&per=DAY&day=18412&prm=SST&set=10&ndx=0&mon=18383&sen=amod&rad=0&frc=0&n=34.8046875&w=-79.1015625&file=AQUA_MODIS.20200530T180501.L2.SST.NRT.nc_SST_BRS&wid=170&hgt=254&id=1591023302.11381&cn=35.68&cs=34.06&cw=-80.11&ce=-78.57&dnm=D&tog=1

On this page, the Sea Surface Temperature image shows SST data offshore in the ocean paralleling the east coast from the Canadian maritines to nearly Florida. But on the Chlorophyll image the data is cut off, I think because of glint, which can be seen in the Quasi True Color image.

When I process this .PDS file through SeaDAS, I get an SST image with the same cut off as the chlorophyll.

So my questions are:
Is there valid SST under the glint area as shown in the SST (11u) image as shown on the browse.pl page?
What settings in SeaDAS should I use to include the data, if it is good data?
Why does, the browse.pl image show data if it is not good and shouldn't it show an image similar to the chlorophyll image?

Thanks,
-Steve

Tags:

gnwiii
Posts: 642
Joined: Fri Jan 29, 2021 5:51 pm America/New_York
Answers: 2

SST vs Chlorophyll and glint

by gnwiii » Mon Jun 01, 2020 12:27 pm America/New_York

It is common to have granules where there is very little overlap between MODIS Aqua SST (11u) and chlor_a.   SST (11u) is less affected by glint (this is mentioned in relation to SST (4u) in Implementation of SST Processing within the OBPG, but quality drops off towards the edge of the path.   This is a problem for production calculations -- one way to assign values for in situ parameters of a spectrally and depth resolved  model is to look for in situ samples with similar chlor_a, SST, time of year, etc.   The metadata in level-2 files includes the l2gen parameters.   When I was looking at this several years ago SST processing seemed to be independent of OC processing.   In summary:

* Is there valid SST under the glint area as shown in the SST (11u) image as shown on the browse.pl page?

I haven't examined this image in detail, but it is normal to have good quality SST in areas flagged as glint in the OC files.

* What settings in SeaDAS should I use to include the data, if it is good data?

Start with the settings from the NetCDF4-CF metadata

* Why does, the browse.pl image show data if it is not good and shouldn't it show an image similar to the chlorophyll image?

I expect SST and chlor_a images to have very different coverage, especially when sun glint is present.

woodbri
Posts: 52
Joined: Thu Jun 04, 2015 10:50 am America/New_York

SST vs Chlorophyll and glint

by woodbri » Mon Jun 01, 2020 4:43 pm America/New_York

OK, then I think I must be doing something wrong because my SST coverage is identical to the chlor_a coverage, IE: it is masked by the glint areas. Here is my processing flow:

name=MOD00.P2020151.1805_1.PDS

res_num=250
modis_L1A.py $name -o $name.L1A_LAC
getanc.py --refreshDB $name.L1A_LAC
modis_atteph.py --refreshDB -v $name.L1A_LAC
modis_GEO.py $name.L1A_LAC -o $name.GEO
modis_L1B.py $name.L1A_LAC $name.GEO -o $name.L1B_LAC -q $name.L1B_QKM -k $name.L1B_HKM

l2gen ifile=$name.L1B_LAC geofile=$name.GEO ofile=$name.chl.L2.nc l2prod=chlor_a,Kd_490 par=$name.L1A_LAC.anc resolution=$res_num
l2gen ifile=$name.L1B_LAC geofile=$name.GEO ofile=$name.sst.L2.nc l2prod=sst,rhos_vvv par=$name.L1A_LAC.anc resolution=$res_num

l2bin prodtype=regional ofile=$name.sst.L3b.nc infile=$name.sst.L2.nc resolution=Q average=area l3bprod=sst
l2bin suite=SFREFL ifile=$name.sst.L2.nc ofile=$name.tc.L3b.nc resolution=Q average=area l3bprod=rhos_469,rhos_555,rhos_645
l2bin prodtype=regional ofile=$name.chl.L3b.nc infile=$name.chl.L2.nc resolution=Q average=area l3bprod=chlor_a,Kd_490

proj='+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs'

l3mapgen interp=area 'projection=$proj' threshold=0.5 ofile=$name.L2_K490.tif north=$north south=$south west=$west east=$east ifile=$name.chl.L3b.nc oformat=tiff fudge=3.0 product=Kd_490 apply_pal=1 quiet=0 resolution=qkm
l3mapgen interp=area 'projection=$proj' threshold=0.5 ofile=$name.L2_OC.tif north=$north south=$south west=$west east=$east ifile=$name.chl.L3b.nc oformat=tiff fudge=3.0 product=chlor_a apply_pal=1 quiet=0 resolution=qkm
l3mapgen interp=area 'projection=$proj' threshold=0.5 ofile=$name.L2_SST.tif north=$north south=$south west=$west east=$east ifile=$name.sst.L3b.nc oformat=tiff fudge=3.0 product=sst apply_pal=0 quiet=0 resolution=qkm
l3mapgen suite=SFREFL 'projection=$proj' threshold=0.5 ofile=$name.L2_TC.tif north=$north south=$south west=$west east=$east ifile=$name.tc.L3b.nc oformat=tiff fudge=3.0 apply_pal=1 quiet=0 resolution=qkm

I built this out based on another thread on the forum, and it extracts K490, OC (chlor_a), TC (true color), and SST (11u) assuming I did things correctly. Everything looks great except the SST (11u). So, I think I have missed something as the SST (11u) is always blank where there is glint. I would appreciate it if you could take a quick look and help me fix this. I read through the links you suggested but it is not obvious to me what I need to do to fix the SST results.

Thanks,
  -Steve

gnwiii
Posts: 642
Joined: Fri Jan 29, 2021 5:51 pm America/New_York
Answers: 2

SST vs Chlorophyll and glint

by gnwiii » Tue Jun 02, 2020 9:28 am America/New_York

Try using "suite=OC" for chlor_a and suite=SST" for SST.  I got those by looking at the attributes of the  input parameters group in two files that happen to be in my Downloads folder:

cdump -h A2018173165500.L2_LAC_OC.nc
ncdump -h A2018173165500.L2_LAC_SST.nc

OB.DAAC - SeanBailey
User Services
User Services
Posts: 1223
Joined: Wed Sep 18, 2019 6:15 pm America/New_York
Answers: 1

SST vs Chlorophyll and glint

by OB.DAAC - SeanBailey » Tue Jun 02, 2020 9:47 am America/New_York

Yes, the defaults for SST are quite different than those for the ocean color products, particularly at the binning step.  The default flaguse parameter (which defines which flags to mask when binning) is set for ocean color.  This is not what you would want for SST.  The l2gen, l2bin and l3mapgen programs all have specific "suite" configurations for SST, as George points out, use suite=SST.

Sean

woodbri
Posts: 52
Joined: Thu Jun 04, 2015 10:50 am America/New_York

SST vs Chlorophyll and glint

by woodbri » Tue Jun 02, 2020 9:56 am America/New_York

Thanks! I'll give that a try.

woodbri
Posts: 52
Joined: Thu Jun 04, 2015 10:50 am America/New_York

SST vs Chlorophyll and glint

by woodbri » Mon Jun 08, 2020 1:07 pm America/New_York

Getting these errors during the runs and neither are working. I have not changed any of the .par files from the standard SeaDAS install.
-Steve

l2gen ifile=MOD00.P2020151.1805_1.PDS.L1B_LAC geofile=MOD00.P2020151.1805_1.PDS.GEO ofile=MOD00.P2020151.1805_1.PDS.chl.L2.nc suite=OC l2prod=chlor_a,Kd_490 par=MOD00.P2020151.1805_1.PDS.L1A_LAC.anc resolution=250
Loading default parameters from /u/oceandata/share/common/msl12_defaults.par
Loading default parameters for MODISA from /u/oceandata/share/modis/msl12_defaults.par
Loading default sub-sensor parameters for MODISA from /u/oceandata/share/modis/aqua/msl12_defaults.par
Loading parameters for suite OC from /u/oceandata/share/modis/msl12_defaults_OC.par
Loading command line parameters
Loading user parameters for MODISA
Loading characteristics for MODISA
...
Opening: MOD00.P2020151.1805_1.PDS.chl.L2.nc
The following products will be included in MOD00.P2020151.1805_1.PDS.chl.L2.nc.
0 chlor_a
1 Kd_490
2 l2_flags
...
Percentage of pixels flagged:
Flag # 1:          ATMFAIL       2646   0.0060
Flag # 2:             LAND   18899255  42.9744
Flag # 3:         PRODWARN      13883   0.0316
Flag # 4:          HIGLINT    8663293  19.6992
Flag # 5:             HILT   33689249  76.6049
Flag # 6:         HISATZEN    2990933   6.8010
Flag # 7:           COASTZ    3366207   7.6543
Flag # 8:            SPARE          0   0.0000
Flag # 9:       STRAYLIGHT    4134639   9.4016
Flag #10:           CLDICE   31839309  72.3984
Flag #11:        COCCOLITH      47528   0.1081
Flag #12:          TURBIDW     308992   0.7026
Flag #13:         HISOLZEN          0   0.0000
Flag #14:            SPARE          0   0.0000
Flag #15:            LOWLW      54645   0.1243
Flag #16:          CHLFAIL      23856   0.0542
Flag #17:          NAVWARN          0   0.0000
Flag #18:           ABSAER          0   0.0000
Flag #19:            SPARE          0   0.0000
Flag #20:       MAXAERITER      51290   0.1166
Flag #21:         MODGLINT   13402412  30.4753
Flag #22:          CHLWARN       4967   0.0113
Flag #23:          ATMWARN     178454   0.4058
Flag #24:            SPARE          0   0.0000
Flag #25:           SEAICE     419063   0.9529
Flag #26:          NAVFAIL     216640   0.4926
Flag #27:           FILTER          0   0.0000
Flag #28:            SPARE          0   0.0000
Flag #29:        BOWTIEDEL          0   0.0000
Flag #30:            HIPOL     196873   0.4477
Flag #31:         PRODFAIL   37439162  85.1317
Flag #32:            SPARE          0   0.0000

End MSl12 processing at 2020160110718000

l2bin prodtype=regional ofile=MOD00.P2020151.1805_1.PDS.chl.L3b.nc infile=MOD00.P2020151.1805_1.PDS.chl.L2.nc resolution=Q average=area suite=OC l3bprod=chlor_a,Kd_490
l2bin 5.0.0 (Aug 16 2019 12:47:25)
Loading default parameters from /u/oceandata/share/modis/l2bin_defaults.par
-E- Failed to load parameters for suite OC for sensor MODISA

I assume it is looking for a file in here:
ls /u/oceandata/share/modis/
aerosol                           l3mapgen_defaults_NSST.par
aqua                              l3mapgen_defaults.par
class                             l3mapgen_defaults_PAR.par
iop                               l3mapgen_defaults_PIC.par
l1brsgen_defaults.par             l3mapgen_defaults_POC.par
l1det2det_defaults.par            l3mapgen_defaults_QAA.par
l1mapgen_defaults.par             l3mapgen_defaults_RRS.par
l2bin_defaults_AVTEST2.par        l3mapgen_defaults_SFREFL.par
l2bin_defaults_AVTEST.par         l3mapgen_defaults_SST4.par
l2bin_defaults_BSI.par            l3mapgen_defaults_SST.par
l2bin_defaults_CDOM.par           l3mapgen_defaults_ZLEE.par
l2bin_defaults_CHLOCI.par         modis_aerosol_par.dat
l2bin_defaults_CHL.par            msl12_defaults_AVTEST2.par
l2bin_defaults_FLH.par            msl12_defaults_AVTEST.par
l2bin_defaults_GIBS.par           msl12_defaults_BSI.par
l2bin_defaults_IOP.par            msl12_defaults_CHLOCI.par
l2bin_defaults_KD490.par          msl12_defaults_GSM.par
l2bin_defaults_LAND.par           msl12_defaults_IOP.par
l2bin_defaults_NSST.par           msl12_defaults_KDLEE.par
l2bin_defaults_OCTEST2.par        msl12_defaults_KDMOREL.par
l2bin_defaults_OCTEST3.par        msl12_defaults_LAND.par
l2bin_defaults_OCTEST4.par        msl12_defaults_OC.par
l2bin_defaults_OCTEST.par         msl12_defaults_OCTEST2.par
l2bin_defaults_OWT.par            msl12_defaults_OCTEST3.par
l2bin_defaults.par                msl12_defaults_OCTEST4.par
l2bin_defaults_PAR.par            msl12_defaults_OCTEST.par
l2bin_defaults_PIC2.par           msl12_defaults_OWT.par
l2bin_defaults_PIC.par            msl12_defaults.par
l2bin_defaults_POC.par            msl12_defaults_PIC2.par
l2bin_defaults_RRS.par            msl12_defaults_QAA.par
l2bin_defaults_SFREFL.par         msl12_defaults_SFREFL.par
l2bin_defaults_SST4.par           msl12_defaults_SST4.par
l2bin_defaults_SST.par            msl12_defaults_SST.par
l2bin_defaults_TVTEST2.par        msl12_defaults_SSTVAL.par
l2bin_defaults_TVTEST.par         msl12_defaults_TVTEST2.par
l2bin_defaults_VIRSIM_LNDCLD.par  msl12_defaults_TVTEST.par
l2bin_defaults_VIRSIM_OC.par      msl12_defaults_VIRSIM.par
l2brsgen_defaults.par             msl12_defaults_XM.par
l3mapgen_defaults_CHL.par         msl12_defaults_ZLEE.par
l3mapgen_defaults_FLH.par         msl12_filter.dat
l3mapgen_defaults_GIBS.par        msl12_filter_nircal.dat
l3mapgen_defaults_GSM.par         pcf
l3mapgen_defaults_IOP.par         static
l3mapgen_defaults_KD490.par       terra
l3mapgen_defaults_LAND.par

-----------------------------------------------------------------
For SST processing I got:

l2bin prodtype=regional ofile=MOD00.P2020151.1805_1.PDS.sst.L3b.nc infile=MOD00.P2020151.1805_1.PDS.sst.L2.nc resolution=Q average=area suite=SST l3bprod=sst
l2bin 5.0.0 (Aug 16 2019 12:47:25)
Loading default parameters from /u/oceandata/share/modis/l2bin_defaults.par
Loading default parameters from /u/oceandata/share/modis/l2bin_defaults_SST.par
Loading command line parameters

INTERP parameter disabled.
Single HDF input
Averaging: area
Resolution: Q
Max Qual Allowed: 2
prod_avg:
flagusemask: 4098
required: 0
Quality product: "qual_sst" not found in L2 dataset "MOD00.P2020151.1805_1.PDS.sst.L2.nc".

# cat /u/oceandata/share/modis/msl12_defaults_SST.par
#
# MSL12 SST Suite default parameters for MODIS
#

l2prod=sst qual_sst flags_sst bias_sst stdv_sst sstref
sunzen=90.0
atmocor=0
sstrefdif=1.25

# cat /u/oceandata/share/modis/l2bin_defaults.par
flaguse=ATMFAIL,LAND,HILT,HISATZEN,STRAYLIGHT,CLDICE,COCCOLITH,LOWLW,CHLWARN,CHLFAIL,NAVWARN,MAXAERITER,ATMWARN,HISOLZEN,NAVFAIL,FILTER,HIGLINT
resolve=4
rowgroup=270
noext=1
qual_max=2

OB.DAAC - SeanBailey
User Services
User Services
Posts: 1223
Joined: Wed Sep 18, 2019 6:15 pm America/New_York
Answers: 1

SST vs Chlorophyll and glint

by OB.DAAC - SeanBailey » Mon Jun 08, 2020 2:29 pm America/New_York

The OC issue is that while L2 has an "OC" suite, L3 does not... Rather, the OC suite is broken down further at L3 into several separate suites (RRS, CHL, PAR, PIC, etc).  Since you are binning chlor_a (in the L3 CHL suite) and Kd_490 (in the L3 KD490 suite), all you need to do is drop the suite argument when binning the "OC" data.  The default L3 parameters work for both - all the suite buys you is not needing to pass the l2prod parameter.

For SST, are you sure your L2 files were generated with suite=SST?  Lacking the qual_sst product suggests it wasn't.

Sean

woodbri
Posts: 52
Joined: Thu Jun 04, 2015 10:50 am America/New_York

SST vs Chlorophyll and glint

by woodbri » Tue Jun 09, 2020 12:59 am America/New_York

Yes, I echo the command before it is executed in my script:

l2gen ifile=MOD00.P2020151.1805_1.PDS.L1B_LAC geofile=MOD00.P2020151.1805_1.PDS.GEO ofile=MOD00.P2020151.1805_1.PDS.sst.L2.nc suite=SST l2prod=sst,rhos_vvv par=MOD00.P2020151.1805_1.PDS.L1A_LAC.anc resolution=250
Input file MOD00.P2020151.1805_1.PDS.L1B_LAC is MODIS Aqua Level-1B HDF-EOS product.
Loading default parameters from /u/oceandata/share/common/msl12_defaults.par
Loading default parameters for MODISA from /u/oceandata/share/modis/msl12_defaults.par
Loading default sub-sensor parameters for MODISA from /u/oceandata/share/modis/aqua/msl12_defaults.par
Loading parameters for suite SST from /u/oceandata/share/modis/msl12_defaults_SST.par
Loading command line parameters

Loading user parameters for MODISA

Loading characteristics for MODISA
Opening sensor information file /u/oceandata/share/modis/aqua/msl12_sensor_info.dat
...
Opening: MOD00.P2020151.1805_1.PDS.sst.L2.nc

The following products will be included in MOD00.P2020151.1805_1.PDS.sst.L2.nc.
0 sst
1 rhos_412
2 rhos_443
3 rhos_469
4 rhos_488
5 rhos_531
6 rhos_547
7 rhos_555
8 rhos_645
9 rhos_667
10 rhos_678
11 l2_flags

Is the l2prod=sst,rhos_vvv, causing a problem. Does it need qual_sst added to the l2prod=??

OB.DAAC - SeanBailey
User Services
User Services
Posts: 1223
Joined: Wed Sep 18, 2019 6:15 pm America/New_York
Answers: 1

SST vs Chlorophyll and glint

by OB.DAAC - SeanBailey » Tue Jun 09, 2020 8:03 am America/New_York

Yep.  setting l2prod without qual_sst will not allow the resulting L2 files to be properly binned by l2bin.

Sean

Post Reply