CreateClimatologicalArcGISRasters Method

Creates climatological rasters from MODIS Level 3 SST images published by NASA JPL PO.DAAC.

Class:MODISL3SSTTimeSeries
Intended use:Recommended for external callers
COM:Exposed as the CreateClimatologicalArcGISRasters method of COM class GeoEco.MODISL3SSTTimeSeries
ArcGIS:Exposed as the Create Climatological Rasters for PO.DAAC MODIS L3 SST geoprocessing tool
Method type:Classmethod

Usage

updatedOutputWorkspace = MODISL3SSTTimeSeries.CreateClimatologicalArcGISRasters(satellite, temporalResolution, spatialResolution, geophysicalParameter, variableName, statistic, binType, outputWorkspace[, mode[, rasterNameExpressions[, qualityLevel[, binDuration[, startDayOfYear[, rotationOffset[, spatialExtent[, startDate[, endDate[, timeout[, maxRetryTime[, cacheDirectory[, calculateStatistics[, buildPyramids]]]]]]]]]]]]]])

Arguments

satellite
Python type:unicode
Allowed values:u'Aqua', u'Terra'

MODIS satellite to use, one of:

temporalResolution
Python type:unicode
Allowed values:u'Daily', u'8day', u'Monthly', u'Annual'

Temporal resolution to use, one of:

Although NASA may publish MODIS SST images at other temporal resolutions, they are not supported at this time. If you need one of those products, please contact the author of this tool to see if support may be added.

The satellites experience occasional transient failures that prevent data from being collected. NASA opted not to produce any images for these periods. These missing images are represented as time slices filled with the NoData value.

spatialResolution
Python type:unicode
Allowed values:u'4km', u'9km'

Spatial resolution to use, one of:

geophysicalParameter
Python type:unicode
Allowed values:u'SST', u'NSST', u'SST4'

Geophysical parameter to use, one of:

The geophysical parameter determines the time of day that the data apply to. During the daytime, the satellites pass over the equator at slightly different times, 10:30 for Terra and 13:30 for Aqua, but for simplicity it is assumed that they both pass over at 12:00. Therefore, a daily image of the SST parameter (daytime temperature) is assumed to apply from 00:00 to 23:59 on the date of the image. The nighttime passes occur 12 hours earlier. Thus a daily image of the NSST or SST4 parameter (nighttime temperature) is assumed to apply from 12:00 on the previous day to 11:59 of the date of the image. This scheme reflects what is described by the Start Time and End Time global attributes of the MODIS L3 HDF files.

variableName
Python type:unicode
Allowed values:u'l3m_data', u'l3m_qual'

Dataset variable to use, one of:

statistic
Python type:unicode
Allowed values:u'Count', u'Maximum', u'Mean', u'Minimum', u'Range', u'Standard Deviation', u'Sum'

Statistic to calculate for each cell, one of:

binType
Python type:unicode
Allowed values:u'Daily', u'Monthly', u'Cumulative'

Climatology bins to use, one of:

For Daily and Monthly, to adjust when the bins start (e.g. to center a 4-bin seasonal climatology on solstices and equinoxes), use the Start Climatology At This Day Of The Year parameter.

outputWorkspace
Python type:unicode
Minimum length:1
Maximum length:255
Must exist:No

Directory or geodatabase to receive the rasters.

Unless you have a specific reason to store the rasters in a geodatabase, we recommend you store them in a directory because it will be much faster and allows the rasters to be organized in a tree. If you do store the rasters in a geodatabase, you must change the Raster Name Expressions parameter; see below for more information.

mode
Python type:unicode
Default value:u'add'
Allowed values:u'Add', u'Replace'

Overwrite mode, one of:

The ArcGIS Overwrite Outputs geoprocessing setting has no effect on this tool. If 'Replace' is selected the rasters will be overwritten, regardless of the ArcGIS Overwrite Outputs setting.

rasterNameExpressions
Python type:list of unicode
Default value:[u'%(Satellite)s', u'%(Wavelength)s', u'%(SpatialResolution)s', u'%(TemporalResolution)s', u'%(ClimatologyBinType)s_Climatology', u'%(Satellite)s_%(GeophysicalParameter)s_%(VariableName)s_%(ClimatologyBinName)s_%(Statistic)s.img']
Minimum length:1

List of expressions specifying how the output rasters should be named.

The default expression assumes you are storing rasters in a file system directory and creates them in a tree structure. When storing rasters in a directory, the final expression specifies the file name of the raster and any preceding expressions specify subdirectories. The extension of the final expression determines the output raster format: .asc for ArcInfo ASCII Grid, .bmp for BMP, .gif for GIF, .img for an ERDAS IMAGINE file, .jpg for JPEG, .jp2 for JPEG 2000, .png for PNG, .tif for GeoTIFF, or no extension for ArcInfo Binary Grid. The default expression uses .img.

When storing rasters in a geodatabase, you should provide only one expression. That expression specifies the raster's name.

Each expression may contain any sequence of characters permitted by the output workspace. Each expression may optionally contain one or more of the following case-sensitive codes. The tool replaces the codes with appropriate values when creating each raster:

If the Bin Type is "Daily", the following additional codes are available:

If the Bin Type is "Monthly", the following additional codes are available:

Note that the additional codes are integers and may be formatted using "printf"-style formatting codes. For example, to format the FirstDay as a three-digit number with leading zeros:

%(FirstDay)03i
qualityLevel
Python type:int or None
Default value:0
Allowed values:0, 1, 2

Pixel quality level for masking the grid, one of:

The PO.DAAC MODIS SST documentation states that the possible quality levels are 0 (good), 1 (questionable), and 2 (clouds), and recommends that only quality level 0 pixels be used, but notes that quality level 1 pixels can be used "under some circumstances". The documentation also mentions the quality level 3 (bad, other than clouds). These appear to include land, satellite malfunctions, and dense clouds, and are converted to No Data by NASA automatically.

binDuration
Python type:int
Default value:1
Minimum value:1

Duration of each bin, in days or months, when the Bin Type is Daily or Monthly, respectively. The default is 1. See the Bin Type parameter for more information.

startDayOfYear
Python type:int
Default value:1
Minimum value:1

Use this parameter to create bin defintions that deviate from the traditional calendar. The interpretation of this parameter depends on the Bin Type:

rotationOffset
Python type:float or None
Default value:None

Degrees to rotate the output rasters about the polar axis. If not provided, the output rasters will be centered on the Prime Meridian and have x coordinates ranging from -180 to 180.

Use this parameter to shift the center longitude to a different location. Positive values shift it to the east, negative values to the west. For example, to center the output rasters on the Pacific ocean and use x coordinates ranging from 0 to 360 rather than -180 to 180, provide 180 for this parameter.

The rasters can only be rotated in whole grid cells. The value you provide will be rounded off to the closest cell.

spatialExtent
Python type:unicode or None
Default value:None
Minimum length:1
Must match regular expression:([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)\s+([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)\s+([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)\s+([-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)

Spatial extent of the output rasters, in degrees. If not provided, the spatial extent will not be clipped.

This parameter is applied after the rotation parameter and uses coordinates that result after rotation. For example, if the rotation parameter was 180, the resulting rasters will have x coordinates ranging from 0 to 360. The spatial extent should be expressed in those coordinates.

The rasters can only be clipped in whole grid cells. The values you provide will be rounded off to the closest cell.

startDate
Python type:datetime.datetime or None
Default value:None

Start date for the rasters to create. Rasters will be created for images that occur on or after the start date and on or before the end date. If the start date is not provided, the date of the oldest image will be used.

The time component of the start date is ignored.

endDate
Python type:datetime.datetime or None
Default value:None

End date for the rasters to create. Rasters will be created for images that occur on or after the start date and on or before the end date. If the end date is not provided, the date of the most recent image will be used.

The time component of the end date is ignored.

timeout
Python type:int or None
Default value:60
Minimum value:1

Number of seconds to wait for the THREDDS or OPeNDAP server to respond before failing with a timeout error.

If you also provide a Maximum Retry Time and it is larger than the timeout value, the failed request will be retried automatically (with the same timout value) until it succeeds or the Maximum Retry Time has elapsed.

If you receive a timeout error you should investigate the server to determine if it is malfunctioning or just slow. Check the server's website to see if the operator has posted a notice about the problem, or contact the operator directly. If the server just slow, increase the timeout value to a larger number, to give the server more time to respond.

maxRetryTime
Python type:int or None
Default value:300
Minimum value:1

Number of seconds to retry requests to the THREDDS or OPeNDAP server before giving up.

Use this parameter to cope with a server that experiences transient failures. For example, some servers are rebooted as part of nightly maintenance cycles. If you start a long running operation and want it to run overnight without failing, set the maximum retry time to a duration that is longer than the time that the server is offline during the maintenance cycle.

To maximize performance while minimizing load during failure situations, retries are scheduled with progressive delays:

cacheDirectory
Python type:unicode or None
Default value:None
Minimum length:1
Maximum length:255
Must exist:No

Directory to cache OPeNDAP datasets.

A cache directory can dramatically speed up scenarios that involve accessing the same subsets of an OPeNDAP dataset over and over again. Use a cache directory if you find that, for example, you are repeatedly using the same set of satellite images for a certain region or time period.

When OPeNDAP data is requested, the cache directory will be checked for data that was downloaded and cached during prior requests. If cached data exists that can fulfill part of the current request, the request will be serviced by reading from cache files rather than the OPeNDAP server. If the entire request can be serviced from the cache, the OPeNDAP server will not be accessed at all and the request will be completed extremely quickly. Any parts of the request that cannot be serviced from the cache will be downloaded from the OPeNDAP server and added to the cache, speeding up future requests for the same data.

If you use a cache directory, be aware of these common pitfalls:

calculateStatistics
Python type:bool
Default value:True

If True, statistics will be calculated for the output rasters using the ArcGIS Calculate Statistics geoprocessing tool. This is usually a good idea for most raster formats because ArcGIS will only display them with helpful colors and gradients if statistics have been calculated. For certain formats, the explicit calculation of statistics is not necessary because it happens automatically when the rasters are created. If you're using one of those formats, you can set this option to False to speed up the creation of the output rasters.

buildPyramids
Python type:bool
Default value:False

If True, pyramids will be built for the output rasters using the ArcGIS Build Pyramids tool. Pyramids, also known as overviews, are reduced resolution versions of the rasters that can improve the speed at which they are displayed in the ArcGIS user interface.

Returns

updatedOutputWorkspace
Python type:unicode
Minimum length:1
Maximum length:255
Must exist:No

Updated output workspace.

Remarks

The NASA Jet Propulsion Laboratory (JPL) Physical Oceanography Distributed Active Archive Center (PO.DAAC) publishes collections of sea surface temperature (SST) images gathered by the Moderate Resolution Imaging Spectroradiometer (MODIS) carried by the Terra and Aqua satellites. This tool accesses the PO.DAAC SST datasets that begin with the following names:

This tool produces rasters showing the climatological average value (or other statistic) of a time series of MODIS SST images. Given a specification of the desired MODIS SST time series, a statistic, and a climatological bin definition, this tool efficiently downloads the images using the OPeNDAP protocol, classifies them into bins, and produces a single raster for each bin. Each cell of the raster is produced by calculating the statistic on the values of that cell extracted from all of the rasters in the bin.

References

PO.DAAC's MODIS SST Data Set Guide provides more information about the MODIS SST datasets.

Please see these instructions on how to acknowledge your use of PO.DAAC products.