Help with efficient automated workflow from SeaDAS to ArcMap

Please enter here to ask a question about any NASA Science related topics!
Post Reply
Posts: 1
Joined: Tue Jul 31, 2018 11:04 am America/New_York

Help with efficient automated workflow from SeaDAS to ArcMap

by rachelmarks1 » Tue Jul 31, 2018 11:26 am America/New_York


My ultimate goal is to produce a simple SAV suitability model in ArcMap using a combination of MERIS L2 Chlor-A (300m), MERIS L2 KD940 (300m), and MODIS L2 SST4 (1km) for the period of March 2011 – Nov 2011.  For the suitability model, I would like to:

a) filter MODIS images by a maximum view angle (say < 40 degrees)
b) mask out cloud cover and low quality pixels in both MERIS and MODIS images
c) georeference, reproject (ultimately to NAD 83 State Plane MD meters), and clip to study area
d) calculate per pixel mean and median yearly values for each variable
e) create a basic suitability model using absolute thresholds for each variable

I am familiar with automating this type of workflow using HDF files in ENVI/IDL, GeoTiff files in ArcMap/Python, or in R.  I would prefer to work in Python as much as possible. I am not familiar with working with SeaDAS products, specifically with data in the .bz2 (MERIS) or (MODIS) format.

So far, I have managed to download all available L2 MERIS and MODIS images for the study area over the period of interest.    I am trying to figure out which steps should be performed in SeaDAS versus ArcMap/Python, and the most logical order of steps.  Further, for the portions to be performed in SeaDAS, I'm hoping for help identifying the best tools, as well as how to automate if possible, as there are hundreds of images for the time period. 

I have about a month to complete this project, and therefore want to ensure that I am not wasting time using incorrect or inefficient methods.


(I have cross posted this under Non-SeaDAS questions, as I am also seeking advice specific to preparing data to process in ArcMap)


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

Help with efficient automated workflow from SeaDAS to ArcMap

by OB.DAAC - SeanBailey » Tue Jul 31, 2018 3:41 pm America/New_York

If I'm understanding your needs, much of it can be done with relative ease using SeaDAS.

There is a video tutorial series we've put together that may be of use to you. 
There is one, a case study with sea surface temperature anomalies, that covers a lot of the tools that you might use (masking, reprojection, cropping to ROI, etc)

The tutorials focus on the GUI, but many of these tasks can be scripted using GPT.

I would say you could do at least up through "c" in your steps with SeaDAS, perhaps more, but if you're more fluent in ArcMap/Python you may want to use those tools for the statistical analysis and model development.

BTW, the .bz2 extension on the MERIS files indicates the compression used  (bzip2), not the file format.  The format of the MERIS L2s is HDF (v4) as we've not (yet) reprocessed the MERIS mission to produce the L2s in netCDF (as we have with every other mission...)


OB SeaDAS - knowles
Subject Matter Expert
Subject Matter Expert
Posts: 221
Joined: Mon Apr 07, 2008 4:40 pm America/New_York

Help with efficient automated workflow from SeaDAS to ArcMap

by OB SeaDAS - knowles » Mon Aug 06, 2018 9:31 am America/New_York

Where in the steps you diverge from SeaDAS into ArcMap is up to you (I haven't used ArcMap), but a SeaDAS route might be:

Part a: In order to mask on viewing angle > 40.0 degrees, you are going to need to get the level-1 files and process to level-2 via the SeaDAS OCSSW program l2gen.  You will need to send satzen=40.0 as one of the input parameters to l2gen in order to then have level-2 files with contain the mask HISATZEN based on 40.0 view angle.  The default is 60.0, so any level-2 file you download from our l2browser distribution will have HISATZEN based on 60.0 view angle.

Part b: use l2bin to mask and combine all your level-2 files

Part c: use l3mapgen (platecarree projection) and then use Reproject (GUI or GPT: command line) with Predefined CRS = EPSG:2248 - NAD83 / Maryland (ftUS). 

Part d: use the Statistics Tool.

Note: for the final mapping of part c, you can find the EPSG:2248 - NAD83 / Maryland (ftUS) CRS in well-known text (WKT) format within the GUI and put it in a file and then use that file as input to Reproject GPT via the parameter wktFile.  Here it is for convenience if you need it:

PROJCS["NAD83 / Maryland (ftUS)",
    DATUM["North American Datum 1983",
      SPHEROID["GRS 1980", 6378137.0, 298.257222101, AUTHORITY["EPSG","7019"]],
      TOWGS84[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
    PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]],
    UNIT["degree", 0.017453292519943295],
    AXIS["Geodetic longitude", EAST],
    AXIS["Geodetic latitude", NORTH],
  PROJECTION["Lambert_Conformal_Conic_2SP", AUTHORITY["EPSG","9802"]],
  PARAMETER["central_meridian", -77.0],
  PARAMETER["latitude_of_origin", 37.666666666666664],
  PARAMETER["standard_parallel_1", 39.449999999999996],
  PARAMETER["false_easting", 1312333.333],
  PARAMETER["false_northing", 0.0],
  PARAMETER["scale_factor", 1.0],
  PARAMETER["standard_parallel_2", 38.3],
  UNIT["foot_survey_us", 0.30480060960121924],
  AXIS["Easting", EAST],
  AXIS["Northing", NORTH],

Also note there is a GPT Cookbook and an OCSSW Cookbook in the SeaDAS GUI help.


Post Reply