OB.DAAC Logo
NASA Logo
Implementation of SST Processing within the OBPG

Implementation of SST Processing within the OBPG

Bryan Franz
NASA Ocean Biology Processing Group
November 2006

NASA'standard processing and distribution of the Sea Surface Temperature (SST) products from the MODIS sensors is now performed using by the Ocean Biology Processing Group (OBPG). The OBPG generates the Level-2 SST products using the Multi-Sensor Level-1 to Level-2 software (msl12), which is the same software used to generate the MODIS ocean color products. The SST algorithm and quality assessment logic are the responsibility of the MODIS Science Team Leads for SST (currently P. Minnett and R. Evans of the Rosenstiel School of Marine and Atmospheric Science (RSMAS) at the University of Miami). Details of the SST processing implementation within msl12 are provided in this document. The description is valid for both the standard products distributed by the OBPG through the ocean color web and the products delivered to the Physical Oceanography DAAC, where the latter are subsequently repackaged for GHRSST distribution.

An historical discussion on the transition of SST processing from MODAPS/DAAC/RSMAS to OBPG, with comparison of products, is available here. At the time of transition, the OBPG was able to demonstrate exact consistency with the previous products. However, file formatting now follows the conventions of the OBPG.

The short-wave SST algorithm makes use of MODIS bands 22 and 23 at 3.959 amd 4.050 um. The brightness temperatures are derived from the observed radiances by inversion (in log space) of a the radiance versus blackbody temperature relationship. For msl12, these relationships were precomputed for the spectral response of each MODIS channel, and the tables were then stored in HDF files to be loaded at run-time. In modsst, the radiance versus blackbody temperature relationship was computed at run-time. The algorithm for computing short-wave SST (sst4) from observed brightness temperatures is shown below.

sst4 = a0 + a1*BT39 + a2*dBT + a3*(1.0/mu-1.0)

where:

dBT = BT39 - BT40
BT39 = brightness temperature at 3.959 um, in deg-C
BT40 = brightness temperature at 4.050 um, in deg-C
mu = cosine of sensor zenith angle

The coefficients a0, a1, a2, and a3 are derived and continuously verified by RSMAS based on match-ups between the satellite retrievals of brightness temperature and field measurements of sea surface temperature. As currently implemented, these coefficients can be time-dependent. The coefficients are provided to msl12 through external files, which are in a columnated ascii format of "sensor start-date end-date a0 a1 a2 a3". A link to the MODIS/Aqua file is here, and the MODIS/Terra file is here.

The short-wave infrared bands near 4um are affected by bright reflective sources such as sun glint. Due to such contamination, the short-wave SST product is not considered valid for daytime use.

The long-wave SST algorithm makes use of MODIS bands 31 and 32 at 11 amd 12 um. The brightness temperatures are derived from the observed radiances by inversion (in linear space) of the radiance versus blackbody temperature relationship. For msl12, these relationships were precomputed for the spectral response of each MODIS channel, and the tables were then stored in HDF files to be loaded at run-time. In modsst, the radiance versus blackbody temperature relationship was computed at run-time. The nonlinear SST algorithm was tuned for two different regimes based on brightness temperature difference. The algorithm for computing long-wave SST (sst) from observed brightness temperatures is shown below.

dBT <= 0.5
sst = a00 + a01*BT11 + a02*dBT*bsst + a03*dBT*(1.0/mu-1.0)

dBT >= 0.9
sst = a10 + a11*BT11 + a12*dBT*bsst + a13*dBT*(1.0/mu-1.0)

0.5 < dBt < 0.9
sstlo = a00 + a01*BT11 + a02*dBT*bsst + a03*dBT*(1.0/mu-1.0)
ssthi = a10 + a11*BT11 + a12*dBT*bsst + a13*dBT*(1.0/mu-1.0)
sst = sstlo + (dBT-0.5)/(0.9-0.5)*(ssthi-sstlo)

where:

dBT = BT11 - BT1
BT11 = brightness temperature at 11 um, in deg-C
BT12 = brightness temperature at 12 um, in deg-C
bsst = baseline SST, which is either sst4 (if valid) or sstref (from oisst)
mu = cosine of sensor zenith angle

At night, where sst4 retrieval is reliable, the algorithm uses sst4 for the bsst value. For daytime SST, the algorithm uses a reference SST source (sstref) for bsst, where sstref is operationally derived from the weekly Reynolds oisst product, bilinearly interpolated to the pixel location. The coefficients a00, a01, a02, and a03 and a10, a11, a12, and a13 are derived and continuously verified by RSMAS based on match-ups between the satellite retrievals of brightness temperature and field measurements of sea surface temperature. As currently implemented, these coefficients can be time-dependent. The coefficients are provided to msl12 through external files, which are in a columnated ascii format of "sensor start-date end-date ai0 ai1 ai2 ai3", with each pair of lines corresponding to low and high dBT difference cases, respectively. A link to the MODIS/Aqua file is here, and the MODIS/Terra file is here.

For the MODIS instrument on Terra, the retrieved long-wave SST is further augmented by a time-dependent, mirror-side specific bias. The adjustment varies from -0.2 deg-C to 0.1 deg-C over the mission lifespan, and it is applied to mirror-side 1 only. The mirror-side correction was developed by RSMAS, and the tabulated values are available here.

A series of quality tests are performed for each sst or sst4 retrieval. The quality tests are used to set the quality levels, which are then used to control the Level-3 binning process. For the msl12 implementation, each quality test was assigned a bit in a product-specific flag array. A separate, 16-bit flag product was created for both the short-wave (sst4) and long-wave (sst) products (flags_sst4 and flags_sst, respectively). The 16 flag bits were assigned as follows:

Bit Name Description
00 ISMASKED Pixel was aready masked
01 BTBAD Brightness temperatures are bad
02 BTRANGE Brightness temperatures are out-of-range
03 BTDIFF Brightness temperatures are too different
04 SSTRANGE SST outside valid range
05 SSTREFDIFF SST is too different from reference
06 SST4DIFF Longwave SST is different from shortwave SST
07 SST4VDIFF Longwave SST is very different from shortwave SST
08 BTNONUNIF Brightness temperatures are spatially non-uniform
09 BTVNONUNIF Brightness temperatures are very spatially non-uniform
10 BT4REFDIFF Brightness temperatures differ from reference
11 REDNONUNIF Red-band spatial non-uniformity or saturation
12 HISENZ Sensor zenith angle high
13 VHISENZ Sensor zenith angle very high
14 SSTREFVDIFF SST is too different from reference
15 Spare Spare

The quality tests described above are used to set quality levels between 0 and 4, where 0 indicates best quality and 4 indicate complete failure or masked (usually land). The quality level determination varies between day and night conditions, and between the short-wave and long-wave SST products. The following tables show the quality test bits and associated quality levels. If no bits are set then the quality level is 0, but for short-wave SST retrievals in daylight the quality level is always set to 3 (bad) or 4 (failed or not computed). The quality level information for each SST product, sst and sst4, can be output by msl12 as products qual_sst and qual_sst4, respectively.

Daytime Long-Wave SST

Quality Bit Minimum Quality Level
ISMASKED 4
BTBAD 4
VHISENZ 3
BTRANGE 3
SSTRANGE 3
BTVNONUNIF 3
SSTREFVDIFF 3
BTNONUNIF 2
REDNONUNIF 2
SSTREFDIFF 1
HISENZ 1
0

After the standard assessment based on the flag bits, if the retrieved SST is more than 1 deg-C colder than the reference (oisst) an additional test is done to determine if the reflectance at 678nm is unusually high (rho_t > 0.05). If yes, and the quality level is below 3, it is incremented by 1 (i.e., quality is reduce one level).

Nighttime Long-Wave SST

Quality Bit Minimum Quality Level
ISMASKED 4
BTBAD 4
BTRANGE 3
SSTRANGE 3
BT4REFDIFF 3
SSTREFVDIFF 3
BTVNONUNIF 2
SST4VDIFF 2
VHISENZ 2
SSTREFDIFF 1
BTNONUNIF 1
SST4DIFF 1
HISENZ 1
0

After the standard assessment based on the flag bits, the quality flags for the short-wave SST are examined. If the BTNONUNIF bit is set for the short-wave SST, and the quality level of the long-wave SST is below 3, it is incremented by 1 (i.e., quality is reduce one level).

Daytime Short-Wave SST

Quality Bit Minimum Quality Level
ISMASKED 4
BTBAD 4
3

Nighttime Short-Wave SST

Quality BitMinimum Quality Level
ISMASKED4
BTBAD4
BTRANGE3
SSTRANGE3
BT4REFDIFF3
SSTREFVDIFF3
BTVNONUNIF2
SST4VDIFF2
VHISENZ2
SSTREFDIFF1
BTNONUNIF1
SST4DIFF1
HISENZ1
0

The Level-2 products produced by msl12 include a standard set of flags associated with each pixel, stored in the l2_flags SDS. Most of these flags have no explicit meaning for SST, as they were designed to work in the reflected solar regime. This includes the cloud flag. The bits of interest for SST are the SSTFAIL and SSTWARN. In previous versions of msl12, SSTFAIL was set when long-wave SST could not be calculated, and SSTWARN was set when long-wave SST was very different from the reference SST (Reynolds). These bits will now be set based on the SST quality levels described above. The SSTWARN or SSTFAIL bits in l2_flags will only be set if one or both of the SST products (sst or sst4) is requested for output to the Level-2 file.

Level-2 Flags

BitNameDescription
27SSTWARNSST quality is reduced
28SSTFAILSST quality is bad