Not logged inOcean Color Forum

The forum is locked.

The Ocean Color Forum has transitioned over to the Earthdata Forum ( The information existing below will be retained for historical reference. Please sign into the Earthdata Forum for active user support.

Up Topic SeaDAS / SeaDAS 6.x - General Questions / l2gen par file (locked)
- By jharcum Date 2014-08-01 21:36
A couple questions:

1) If I wanted to run l2gen in command line version but apply the same settings as done on oceancolor, is there a standard par file for l2gen under SeaDAS 6.4 and v7? (If so where should I get that?)

2) I'm trying to decipher my predecessor’s decisions on creating a par file for l2gen. Toward that end, I downloaded from the oceancolor web page a level 2 MODIS (e.g., A2005166193000.L2_LAC_OC) and compare that to a level 2 file created locally (i.e., downloaded Level 1B files and processed using l2gen.) Both were created using l2gen (6.5.7). In examining the meta data (input_parameters), the vast majority of the meta data are identical, but I have a few differences (see below) and I need to justify those decisions, for example AER_OPT in the oceancolor version is “-2” while my locally generated version uses “-3. I understand from the SeaDAS help file that the difference is:
       -2: Multi-scattering with 2-band, RH-based model selection and iterative NIR correction
       -3: Multi-scattering with 2-band model selection and iterative NIR correction
But what is the ramification of choosing -3 over -2? Some of the options are likely obvious due to my focus on ocean color reflectance (and not SST), interest in a variety of Rrs ranging across 250m, 500m, and 1km resolutions, and interest in Case 2 waters.
So my question is can you provide some guidance/likely rationale for these differences?

selected meta data from Oceancolor web site downloaded Level 2 file
PROC_OCEAN             -> 1
PROC_LAND               -> 1
PROC_SST                 -> 1
AER_OPT                  -> -2
AER_ITER_MAX          -> 10
FILTER_OPT              -> 1
FILTER_FILE              -> /sdps/sdpsoper/ Science/OCSSW/ V2012.1/data/ modisa/msl12_filter.dat
# FILTER_1              -> 7 x 5 (1) straylight filter on flag 5
# FILTER_2              -> 7 x 5 (1) straylight filter on flag 10
LAND                        -> /sdps/sdpsoper/ Science/OCSSW/ V2012.1/data/ common/landmask.dat
CLOUD_WAVE            -> 865
CLOUD_THRESH         -> 0.027
RHOAMIN                  -> 0.0002
WSMAX                     -> 12
EPSMIN                    -> 0.8
MASKLAND               -> 1
MASKCLOUD             -> 1
MASKHILT                  -> 1
CHLOC2_COEF           -> 0.14640, -1.79530, 0.97180, -0.83190, -0.80730
CHLOC3_WAVE          -> 443, 488, 547
CHLOC3_COEF           -> 0.24240, -2.74230, 1.80170, 0.00150, -1.22800
CHLCLARK_WAVE       -> 443, 488, 547

selected meta data from locally created level 2 file
PROC_OCEAN              -> 2
PROC_LAND                -> 0
PROC_SST                  -> 0
AER_OPT                    -> -3
AER_ITER_MAX             -> 100
FILTER_OPT                 -> 0
FILTER_FILE               -> not used
# FILTER_1                -> not used
# FILTER_2                 -> not used
LAND                         -> /home/seadas/ seadas6.4/ run/data/ common/landmask_null.dat
CLOUD_WAVE              -> 2130
CLOUD_THRESH            -> 0.018
RHOAMIN                   -> 0.0001
WSMAX                      -> 8
EPSMIN                    -> 0.85
MASKLAND                 -> 0
MASKCLOUD              -> 0
MASKHILT                  -> 0
CHLOC2_COEF              -> 0.15430, -1.97640, 1.07040, -0.23270, -1.14040
CHLOC3_WAVE              -> 443, 489, 550
CHLOC3_COEF              -> 0.28300, -2.75300, 1.45700, 0.65900, -1.40300
CHLCLARK_WAVE              -> 443, 488, 551
- By seanbailey Date 2014-08-02 20:15
1) The defaults are already set to run the same as our standard production, just need to grab the appropriate ancillary files (best done via

2) Choosing -3 over -2 skips the relative humidity based selection for the aerosol models.  Before we added the RH refinement with the last reprocessing (2009),  this was the default.
Best to use -2 now...especially since we went from 12 models to 80 models....the RH selects the best candidate set (there are 10 models at each humidity level)....faster, better, but since
we distribute for free, not cheaper :)

Here's a run down of the differences between your two par files:

   proc_ocean=2 - forces all pixels to be processed as ocean, no matter what the landmask might say.

   proc_land=0; proc_sst=0 - turns off land and sst processing...if your not processing land or sst, no problems turning them off.  Since proc_ocean=2, proc_land should probably be 0

   aer_iter_max - set the maximum number of iterations before the NIR correction algorithm bails.  Default is 10, ususally converges in 3 to 5, 100 is basically telling the code to try it's hardest - not likely to be of much benefit, as if the code doesn't converge within 10, it's not likely to do so within 100 (trust me, I wrote it).

    filter_opt/filter_file - tells l2gen to use a filter file for filtering the data during processing.  For MODIS, we use it to set the straylight flag.  Turning it off here is simply turning off the stray light flag setting.  Probably best to leave it on.  You don't have to mask on it (maskstlight=0 by default, so the data are processed, but can be subsequently excluded based on the straylight flag if you so desire).

    land - using the landmask_null.dat pretends the world is that of the 1995 Kevin Costner post-apocalyptic  movie Waterworld (no land...OK, in the movie there was some land...our version, no land).  using it makes sense if you're trying to get retrievals in a part of the world erroneously masked as land (happens, land isn't as fixed as most people think).  Our next reprocessing will implement an improved landmask.

    cloud_wave=2130 is setting the band to use for cloud detection to the SWIR band, the default is the NIR band.  In very turbid conditions, the 869nm band can saturate, so using the SWIR band is an alternative that won't saturate.

    cloud_thresh=0.018 sets the reflectance threshold of what to call a cloud.  0.018 for 2130 is roughly equivalent to 0.027 for the NIR band

    rhoamin - sets the low end for the aerosol reflectance to use for model lookup.  Probably don't need to muck with it.  setting it lower probably only makes sense if you're using the SWIR bands for aerosol model selection (but you're not, since aer_wave_min and aer_wave_max aren't in your list of differences).

    maskland, maskcloud, maskhilt - these tell l2gen to NOT process pixels so flagged.  Since landmask_null.dat was used, there is not land so maskland is irrelevant. Setting maskhilt=0 for MODIS would only make sense if you chose to use bands that don't saturate in the aerosol selection process.  Processing saturated pixels is not very productive.

   the chl coef/wave vaules are different simply because the default coefficients changed.  Best to leave the as defaults.  BTW, chl_clark has been removed from the code, you can ignore it (or even remove it).

    wsmax - it was set to 8 prior to the last reprocessing to prevent the whitecap correction from producing outlandish results.  The code was changed and the max value bumped up accordingly.

    epsmin=0.8 - lowered with the last reprocessing as the model suite was expanded.

Up Topic SeaDAS / SeaDAS 6.x - General Questions / l2gen par file (locked)

Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill