Instructions for use A:

MUMM turbid waters atmospheric correction steps

The extension described hereafter was ported to SeaDAS 4.8 update#4, on December 2005 .

 

Function

The MUMM-SeaDAS command line function mumm-msl12 is based on the standard SeaDAS function msl12. It performs the generation of SeaWiFS and MODIS level 2 images respectively from a SeaWiFS level 1A and MODIS level 1B images using MUMM's turbid water extended atmospheric correction algorithm, of which a full description can be found in:

Ruddick K., Ovidio F. & Rijkeboer M. (2000). Atmospheric correction of SeaWiFS imagery for turbid coastal and inland waters. Applied Optics, Vol. 39(6), pp. 897–912. Download

In "Instructions for use A" are described the steps of SeaWiFS and MODIS processing to reach MUMM L2 products with MUMM-supplied procedures, through command line examples. "Instructions for use B" describes a proposed automated processing chain with MUMM-supplied scripts, allowing L2 production for a list of SeaWiFS or MODIS images. It is recommended to read through the first document for a better understanding of MUMM turbid waters atmospheric correction process.

To apply MUMM atmospheric correction and in order to assess on an image-by-image basis suitable value for the calibration parameter representing the ratio of aerosol path reflectance, denoted by mumm_epsm78, the user should follow these steps:

  • execute mumm-msl12 with the standard atmospheric correction: multi-scattering 765/865 with no NIR iterations, the corresponding aerosol model option being aer_opt=-1 (called MS78 in SeaDAS msl12), and produce Rayleigh-corrected reflectance products – that have been added to the standard msl12- at bands 7 and 8. These products are denoted hereafter by Rc7 and Rc8.
  • produce a scatterplot of Rc7 and Rc8 and assess the value of mumm_epsm78.
  • execute mumm-msl12 with MUMM atmospheric correction and mumm_epsm78 as input calibration parameter.

NB. 1 - "reflectance" here refers to the definition of equation (1) of Gordon and Wang (Applied Optics vol. 33, no. 3, p443-452, 1994). However, the reflectances output here (which correspond to those used within the SeaDAS routines which implement the Gordon-Wang aerosol path reflectance calculations) have been corrected for the two-way atmospheric absorption caused by ozone and (for band 7) oxygen absorption, and for glint reflection.

NB. 2 - If the intermediate steps 1) and 2) are not used a value of 1.0 (cf. CZCS-type white aerosols) is suggested for mumm_epsm78.

The template parameter files mumm-msl12_sensor.par* -where sensor is “seawifs”, “aqua” or “terra”, respectively for SeaWiFS, AQUA or TERRA processing- contain the necessary flags for the two stages of the atmospheric correction (the standard and MUMM turbid waters). These should be examined to ensure the user is aware, for example, of the options (e.g. albedo and l2prod*) that have been set and modified as appropriate.

Requirements

The following MUMM-supplied procedures and parameter files are provided in the directory named $SEADAS/MUMM-MSL12/procs:

  • mumm-msl12.sh # Handles execution of mumm-msl12 by copying appropriate par Template file
  • mumm-msl12_sensor.parS # Template par file for Standard atmos.c corr.
  • mumm-msl12_sensor.parT # Template par file for Turbid water atmos. corr.
  • mumm-procs.pro # IDL routines for plotting Ray-corr. scatter plot … etc

where sensor should be replaced by “aqua”, “seawifs” or “terra” respectively for AQUA, SeaWiFS or TERRA processing.

For the standard atmospheric correction, the Rayleigh-corrected reflectance calculations and plot, and the MUMM turbid water atmospheric correction, the above-mentioned routines and scripts have to be executed as explained in Usage section.

For correct use with the templates provided, the user must structure the data files for the image corresponding to a date given by DATE (replace "DATE" in filenames by e.g. "2003113") and time by TIME (replace "TIME" in filenames by e.g. "124000") as follows:

Imagery data files:

  • $SEADAS/IMAGES/L1/SDATETIME.ext : L1A file with extension e.g. ext=’L1A_HDUN’
  • $SEADAS/IMAGES/L1/ADATETIME.L1B_LAC : AQUA L1B file
  • $SEADAS/IMAGES/L1/ADATETIME.GEO : AQUA geolocation file
  • $SEADAS/IMAGES/L1/TDATETIME.L1B_LAC : TERRA L1B file
  • $SEADAS/IMAGES/L1/TDATETIME.GEO : TERRA geolocation file

Ancillary data files:

  • $SEADAS/IMAGES/L1/SDATE06_NCEP.MET : 06:00 NRT MET file
  • $SEADAS/IMAGES/L1/SDATE12_NCEP.MET : 12:00 NRT MET file
  • $SEADAS/IMAGES/L1/SDATE18_NCEP.MET : 18:00 NRT MET file
  • $SEADAS/IMAGES/L1/SDATE12_EPTOMS.OZONE : NRT OZONE file

Note the prefix “S” for ancillary data files is used for SeaWiFS and MODIS images.

Output directory:

$SEADAS/IMAGES/L2

If this file structure cannot be adopted, the filenames used in the abovementioned templates and IDL routines and shell scripts must be modified accordingly.

Note: The shell script mumm-msl12.sh simply produces the msl12 parameter file T.par with appropriate naming of input/output files, etc. and launches the command mumm-msl12 par=T.par. If this level of automation is not required the user can instead edit manually a msl12 parameter file called, e.g. T.par and launch just the command: mumm-msl12 par=T.par

Usage

Before running the scripts you should make sure that all the requirements (see above) were accomplished. The working directory is $SEADAS/MUMM-MSL12/procs.

If the default value (white aerosols) is used for the ratio of aerosol path reflectance to be used in the turbid water atmospheric correction then the turbid water atmospheric correction applied directly with default values (step 1.4 for SeaWiFS processing, and 1.3 for MODIS processing). However, for best results image-by-image calibration of the mumm_epsm78 parameter is recommended following steps 1 and 2

1. SeaWiFS processing

1.1 Prepare SeaWiFS L1A subscene

For efficiency it is recommended that the files manipulated in this step be as small as possible by sub-scening the original level 1A file; this is performed for SeaWiFS imagery using the crop_area routine inside mumm-procs.pro. The procedure getregion.pro allows the user to define regions of interest (ROI) as boxes with south/north latitudes and west/east longitudes and a string of characters denoting the area. The user should edit the getregion.pro file and follow instructions on how to do this; examples are included in that file.

e.g. For the SeaWiFS image acquired on date “2003113” at time “124059” and for the sub-region “BCZ” (Belgian Coastal Zone) these operations are implemented as follows:

$ cd $SEADAS/MUMM-MSL12/procs
$ seadas
seadas> .run mumm-procs.pro
 # to compile the MUMM SeaDAS and IDL routines.
seadas> .run getregion.pro
 # to pass to SeaDAS the root directory name for SeaDAS user files.
seadas> SEADAS=GETENV(‘SEADAS’)
 # to produce L1A image over (smaller) ROI.
seadas> crop_area, L1AFILE=SEADAS+”IMAGES/L1/S2003113124843.L1A”, L1AOUT=SEADAS+”/IMAGES/L1/S2003113124843.L1A-BCZ”, REGION=”BCZ”
seadas> exit

1.2 Produce L2 standard product and additional Rc7 and Rc8 output:

The template mumm-msl12_seawifs.parS, produces Rc7 and Rc8 in a second output file with suffix .rayleigh containing:

Band 1: 100 * Rc7: at 765nm for SeaWiFS
Band 2: 100 * Rc8: at 865nm for SeaWiFS

e.g. to process the SeaWIFS image (or the derived sub-scene, provided the L1A subscene file name is updated in the template pars file) acquired on date “2003113 at time “124843” with the Standard (S) atmospheric correction, with additional rayleigh output:

$ cd $SEADAS/MUMM-MSL12/procs
$ /bin/sh mumm-msl12.sh 2003113 124843 SEAWIFS S

This command produces the following output in the directory $SEADAS/IMAGES/L2:

  • S2003113124843_L2S.hdf : Level 2 file with standard output products
  • S2003113124843.rayleigh : Level 2 file with Rc output products
  • Standard_ S2003113124843.log : mumm-msl12 log file (for info)
  • Standard_ S2003113124843.par : mumm-msl12 par file used in generation (for info)

1.3 Produce Rc7:Rc8 scatter plot

The Rc scatter plot is performed for a given ROI, ex: ‘BCZ’

$ cd $SEADAS/MUMM-MSL12/procs
$ seadas
seadas> .run mumm-procs.pro
 # to compile the MUMM SeaDAS and IDL routines.
seadas> .run getregion.pro
 # to pass to SeaDAS the root directory name for SeaDAS user files.
seadas> SEADAS=GETENV(‘SEADAS’)
seadas> RC78PLOT, “S2003113124843”, INFILE=SEADAS+”/IMAGES/L2/S2003113124843.rayleigh”, REGION=”BCZ”, /PS

These produce the following scatterplot shown in Figure 1, in $SEADAS/IMAGES/L2:
S2003113124843.rayleigh_rc78.ps # Postscript file of scatterplot for BCZ region

Figure 1: Scatter plot of Rc7and Rc8 for a sub-image of the SeaWiFS image taken on 22nd April 2003 at 12:48 :43UTC. Low reflectances correspond to regions of clear water and the gradient of this portion of the plot (close to 1.0) is used to set the aerosol reflectance ratio for the turbid water atmospheric correction. Higher reflectances (in grey) correspond to turbid water and give a very different bad 7:8 ratio

The Postscript file can then be viewed or simply printed (see example in Figure 1). Grey colour dots are for turbid water flagged pixels. In addition to the scatter points a number of straight lines are shown on this plot to guide in visual choice of the reflectance ratio parameters:

Solid line: Rc765/Rc865=1.0
Short dashes: Rc765/Rc865=0.9, 1.1, 1.2, 1.3
Long dashes: Rc765/Rc865=1.72

Points with low reflectance on the scatter plot are dominated by aerosol path reflectance and can be used to define the aerosol path reflectance ratio by taking mumm_epsm78= the maximal gradient in this region (all points lying above Rc765/Rc865=mumm_epsm78 will revert to the standard atmospheric correction whereby mumm_epsm78 is calculated on a pixel-by-pixel basis). In general mumm_epsm78 lies between 1.0 and 1.15, but will vary from image to image because of variations in aerosol type (particle size distribution).

Points with high reflectance on the scatter plot are dominated by water-leaving reflectance and for very turbid water, points should have a gradient close to Rc765/Rc865=mumm_alpha, a parameter which is taken by default as 1.72 (Ruddick et al 2005) in the mumm-msl12.parT template file (for SeaWiFS). In practice it is probable that this parameter should not vary significantly from image to image for a given region since this parameter depends mainly on pure water absorption coefficients with a slight influence from near infrared particulate backscatter coefficient spectral form. In the current version of this algorithm it is suggested that the default of mumm_alpha=1.72 be used unless better information is available for the region under consideration. All points lying below Rc7/Rc8=mumm_alpha will fail the subsequent turbid water atmospheric correction.

The histogram show the distribution of Rc7:Rc8 ratio for turbid flagged pixels and clear waters (in grey) and for clear water pixels (in black).

In the lower right area is shown a summary of statistical results for mumm_epsm78 estimates:

  • from pixels lying in turbid-flagged and clear waters
  • from clear water pixels only
  • and from seasonal mumm_epsm78 derived from climatology (549 processed SeaWiFS images from1997 to 2004), if the number of clear waters pixels is too low (covering <10% of the region)

Alternative method for scatterplot production: as an alternative to the above process it is possible to manipulate interactively the L2.RAYCORR level 2 HDF file using the standard SeaDAS-scatterplot option in the Seadisp/Functions menu.

1.4 Produce MUMM L2 products

$ cd $SEADAS/MUMM-MSL12/procs
$ /bin/sh mumm-msl12.sh 2003113 124843 SEAWIFS T 1.14

This command produces the following output in the directory $SEADAS/IMAGES/L2:

  • S2003113124843_L2T.hdf : Level 2 file with MUMM output products
  • Mumm_S2003113124843.log : mumm-msl12 log file (for info)
  • Mumm_S2003113124843.par : mumm-msl12 par file used in generation (for info)

2. MODIS processing

No subscening is available for the input files L1B and GEO. The user should achieve the image subscening of the level 1A MODIS file. However, L2 products may be obtained over a defined ROI as described in section B. The Rc7:Rc8 scatterplot is also obtained for a defined ROI.

e.g. For the image acquired on and for the sub-region “BCZ” (Belgian Coastal Zone) these operations are implemented as follows:

2.1 Produce L2 standard product and additional Rc7 and Rc8 output

The template mumm-msl12_sensor.parS, sensor=1, produces Rc7 and Rc8 in a second output file with suffix .rayleigh containing:

Band 1: 100 * Rc7: at 748nm for MODIS
Band 2: 100 * Rc8: at 869nm for MODIS

e.g. to process the TERRA image acquired on date “2005179” at time “105000” with the Standard (S) atmospheric correction, with additional rayleigh output:

$ cd $SEADAS/MUMM-MSL12/procs
$ /bin/sh mumm-msl12.sh 2005179 105000 TERRA S

This command produces the following output in the directory $SEADAS/IMAGES/L2:

  • T2005179105000_L2S.hdf : Level 2 file with standard output products
  • T2005179105000.rayleigh : Level 2 file with Rc output products
  • Standard_T2005179105000.log : mumm-msl12 log file (for info)
  • Standard_T2005179105000S.par : mumm-msl12 par file used in generation (for info)

2.2 Produce scatter plots of Rc8 versus Rc7

The Rc scatter plot is produced for ex: 'BCZ' ROI as follows:

$cd $SEADAS/MUMM-MSL12/procs
$ seadas
 # to pass to SeaDAS the root directory name for SeaDAS user files.
seadas> SEADAS=GETENV('SEADAS')
seadas> .run mumm-procs.pro
 # to compile the MUMM SeaDAS and IDL routines.
seadas> .run getregion.pro
seadas> RC78PLOT, "T2005179105000", INFILE=SEADAS+"/IMAGES/L2/T2005179105000.rayleigh", REGION="BCZ", /PS

These generate the following scatterplot shown in Figure 2, in $SEADAS/IMAGES/L2:

T2005179105000.rayleigh_rc78.ps # Postscript file of scatterplot for BCZ region

Figure 2: Scatter plot of Rc7and Rc8 for a sub-image of the SeaWiFS image taken on 22nd April 2003 at 12:48:43UTC. Low reflectances correspond to regions of clear water and the gradient of this portion of the plot (close to 1.0) is used to set the aerosol reflectance ratio for the turbid water atmospheric correction. Higher reflectances (in grey) correspond to turbid water and give a very different bad 7:8 ratio;

The Postscript file can then be viewed or simply printed (see example in Figure 2). Grey colour dots are for turbid water flagged pixels. In addition to the scatter points a number of straight lines are shown on this plot to guide in visual choice of the reflectance ratio parameters:

Solid line: Rc765/Rc865=1.0
Short dashes:  Rc765/Rc865=0.9, 1.1, 1.2, 1.3
Long dashes: Rc765/Rc865=1.984 (for TERRA, and 1.945 for AQUA images)

Points with low reflectance on the scatter plot are dominated by aerosol path reflectance and can be used to define the aerosol path reflectance ratio by taking mumm_epsm78= the maximal gradient in this region (all points lying above Rc765/Rc865=mumm_epsm78 will revert to the standard atmospheric correction whereby mumm_epsm78 is calculated on a pixel-by-pixel basis). In general mumm_epsm78 lies between 1.0 and 1.15, but will vary from image to image because of variations in aerosol type (particle size distribution).

Points with high reflectance on the scatter plot are dominated by water-leaving reflectance and for very turbid water, points should have a gradient close to Rc765/Rc865=mumm_alpha, a parameter which is taken by default as 1.984 and 1.945 (Ruddick et al 2005) in the mumm-msl12.parT template file respectively for TERRA and AQUA processing. In practice it is probable that this parameter should not vary significantly from image to image for a given region since this parameter depends mainly on pure water absorption coefficients with a slight influence from near infrared particulate backscatter coefficient spectral form. In the current version of this algorithm it is suggested that the default of mumm_alpha=1.984 for TERRA, mumm_alpha=1.945 for AQUA be used unless better information is available for the region under consideration. All points lying below Rc7/Rc8=mumm_alpha will fail the subsequent turbid water atmospheric correction.

The histogram show the distribution of Rc7:Rc8 ratio for turbid flagged pixels and clear waters (in grey) and for clear water pixels (in black).

In the lower right area is shown a summary of statistical results for mumm_epsm78 estimates:

  • from pixels lying in turbid-flagged and clear waters
  • from clear water pixels only
  • and from seasonal mumm_epsm78 derived from climatology (350 processed MODIS images from 2002 to 2005), if the number of clear waters pixels is too low (covering <10% of the region)

Alternative method for scatterplot production: as an alternative to the above process it is possible to manipulate interactively the L2.rayleigh level 2 HDF file using the standard SeaDAS-scatterplot option in the Seadisp/Functions menu.

2.3 Produce MUMM L2 products

$ cd $SEADAS/MUMM-MSL12/procs
$ /bin/sh mumm-msl12.sh 2005179 105000 TERRA T 1.07

This command produces the following output in the directory $SEADAS/IMAGES /L2:

  • T2005179105000_L2T.hdf : Level 2 file with MUMM output products
  • Mumm_T2005179105000.log : mumm-msl12 log file (for info)
  • Mumm_T2005179105000.par : mumm-msl12 par file used in generation (for info)

Support

While efforts will be made to assist users experiencing difficulty in using this software users are asked first to perform the following before requesting help:

1. Installation and usage instructions (this page) should be read thoroughly.

2. If encountering problems when running mumm-msl12 the standard SeaDAS msl12 function should be run in command mode with the appropriate parameter file S.par. If problems occur there as well the cause may be unrelated to the MUMM extensions.

3. Basic debugging should be performed: tracing of any error messages to the operations causing them, checking existence of files referenced in the parameter files S.par and T.par, checking disk-space, etc.

If problems still cannot be solved an email containing the description of the problem including operations attempted, a copy of the terminal output, and the relevant log and parameter files should be sent to MUMM-MSL12@mumm.ac.be

Version History

The algorithm used here was originally developed and tested at MUMM in January-March 1999 in the framework of the MULTICOLOR project (funded by the Belgian Science Policy Office TELSAT programme). This was beta-released to POWERS project partners in May 1999.

SEADAS v3.3:

First public release was in January 2000 for SeaDAS 3.3.

SEADAS v4.0:

This was then updated to SeaDAS 4.0 in June 2000 with the following changes:

  • name changed from mumml2gen to mumm-msl12
  • code significantly restructured to fit with msl12
  • water reflectance ratio parameter mumm_alpha removed from command line and set by default to 1.72 in mumm-msl12.parT template file
  • SeaDAS 3.3 out_mode options replaced by more flexible SeaDAS 4.0 output options with Rayleigh-corrected %reflectances defined as new output product Rc
  • output filename suffices adjusted accordingly OM5S->RAYCORR, OM2S->STD, OM2T->MUMM
  • mumm_crop routine for cropping Rayleigh-corrected reflectances before scatterplotting discontinued because no subscening of level 2 files is possible with SeaDAS v4.0 (=> can produce very large RC7 and RC8 files)
  • mskflg removed from parameter file

SEADAS v4.5:

When updating from SeaDAS 4.0 to SeaDAS 4.5 on March 2004 changes to the MUMM turbid water extension to the standard atmospheric correction remain only cosmetic - no changes to calculations have been introduced. New MUMM scripts were added to handle MODIS processing and to produce Rayleigh-corrected reflectance scatterplots from MODIS bands 748nm and 869nm.

 


See also: