How to read the data

Software for manipulating and reading the GHRSST GDS2.0 format files can be found at

The following steps are recommended in order to derive the most appropriate SST values for your application from IMOS L2P, L3U, L3C or L3S files:

1. Check for valid SST value

If for a particular pixel or grid cell the sea_surface_temperature:_FillValue = -32768 then the SST value is either missing, invalid or the pixel is considered to be covered by land or ice.  No other variables for this pixel will be valid.

2. Convert SST from integer to floating point (Kelvin)

To obtain floating point SST values in Kelvin from the valid sea_surface_temperature integer count values in the GHRSST format files apply:

SST (in Kelvin) = sea_surface_temperature x sea_surface_temperature:scale_factor + sea_surface_temperature:add_offset.

3. Convert bias and standard deviation from signed byte to floating point (Kelvin)

If SST for pixel is valid, then convert the sses_bias and sses_standard_deviation signed byte values to floating point thus:

Bias (in Kelvin) = sses_bias x sses_bias:scale_factor + sses_bias:add_offset

Standard Deviation (in Kelvin) = sses_standard_deviation x sses_standard_deviation:scale_factor + sses_standard_deviation:add_offset

WARNING: Some applications (eg. IDL) are unable to properly handle signed byte values.  If byte values >127 are encountered, subtract 256 from this reported value to produce the correct integer value.  See for example IDL code to read GDS 2.0 format L2P, L3U, L3C and L3S files.

4. Correct for biases in the SST measurements

To reduce the effect from short-term changes in the atmosphere and AVHRR sensor, it is recommended that the user subtract the bias from the SST value (in Kelvin) for each pixel or grid cell.

De-biased SST = SST - Bias

5. If required, convert from skin to buoy depth temperatures

Users can convert the AVHRR skin SST product to a drifting buoy depth (~20 cm to 30 cm) temperature via the addition of 0.17°C.

If sea_surface_temperature:standard_name = “sea_surface_skin_temperature” then SSTdepth = SST + 0.17

The skin SST is valid at all wind speeds, but the conversion to buoy-depth SST is less accurate at low wind speeds (< 6 m/s during the daytime and < 2 m/s at night-time).  Refer to Paltoglou et al (2010) at for more details.  Note that this step is not required for the foundation SST (“SSTfnd”) values as these have already been “calibrated” to drifting buoy depths and “converted” to an approximation of foundation SST by rejecting SST observations for collocated surface wind speeds < 6 m/s during the day and < 2 m/s during the night, thus eliminating those SST values most likely to have experienced diurnal warming.

6. Select the required quality level or error threshold

For the lowest probability of cloud contamination, select SST values where quality_level is 5.  For greater spatial coverage, but still generally cloud-free pixels, select SST values for quality_level ≥ 3.  Alternatively, if reducing systematic or random errors are important, select SST values for the required bias and standard deviation thresholds for your application. 

7Experimental Fields

There are several experimental fields in the fv02 version IMOS GHRSST netCDF files, designated by “EXPERIMENTAL FIELD” in the variable’s comment field.  These include:

  • sea_surface_temperature_day_night: The skin sea surface temperature based on a unified day/night model aimed at reducing the bias between day and night observations
  • sses_quality_level: Quality based on the sensor specific error statistics (SSES), where a small value is higher quality.

Such fields require additional information to use effectively.  Please contact ghrsst(at) for guidance.