Sea Surface Temperature Daily Analysis: European Space Agency Climate Change Initiative product version 2.1

This page provides information and resources on using a dataset of gap-filled daily mean sea surface temperatures from 1981 to the present day, hosted by AWS opendata.

Data Summary

Global daily-mean sea surface temperatures, presented on a 0.05° latitude-longitude grid, with gaps between available daily observations filled by statistical means, spanning late 1981 to recent time.

Synthesised from multiple Earth orbiting satellites carrying infrared imagers from thousands of billions of individual measurements. Underlying observation resolution ranges from 1 to 20 km, and after gap filling the typical feature resolution is ~20 km. Suitable for large-scale oceanographic meteorological and climatological applications, such as evaluating or constraining environmental models or case-studies of marine heat wave events.

Adhering to community data standards and names. Includes temperature uncertainty information and auxiliary information about land-sea fraction and sea-ice coverage. To understand the data for your application, read the paper [1] using to cite in any published usage.

The v2.1 record is known to have biases associated with desert dust aerosol and erratic calibration of early-record sensors [1]. Adjustments to reduce these biases and include additional uncertainty in these effects have been developed, as described in [2] and are applied to this data. These adjustments operate on monthly and >5 degree time-space scales.

This data is available on the Registry of Open Data on AWS.

Data structure

The data is organised into the following variables
Variable nameDescriptionUnits
analysed_sstAnalysed sea surface temperature (Kelvin)kelvin
analysis_uncertaintyEstimated error standard deviation of analysed_sstkelvin
sea_ice_fractionThe estimated fraction of the area covered by sea ice-
maskBit mask (bit0:sea,bit1:land:bit2:lake,bit3:ice)-

Accessing the data

An example code snippet showing how to access the data using python and the xarray library:
        import xarray as xr
        import matplotlib.pyplot as plt
        import s3fs
        s3 = s3fs.S3FileSystem(anon=True)
        store = s3fs.S3Map(root="s3://surftemp-sst/data/sst.zarr", s3=s3, create=False)
        sst_ds = xr.open_zarr(store)
        # select an area covering the great barrier reef at a particular date
        da = sst_ds["analysed_sst"].sel(time="2016-02-18",
        da.plot(cmap="coolwarm") # need this if not running in a jupyter notebook


Tutorials are provided in the form of Jupyter Notebooks and provide more examples of how to access and use the data.

Tutorial 1: Getting Started

Tutorial 1 (download notebook) has examples to help you get started with working with this dataset.

Tutorial 2: Worked Example - Marine Heatwaves

Tutorial 2 (download notebook) works through a project which uses this dataset to analyse marine heatwaves.

Running the tutorial notebooks locally

If downloading the tutorial notebooks, follow these instructions to setup a conda environment with the correct python dependencies.

Related Resources

Problems with or questions about these tutorials?

Please log an issue in the github repo.


[1] Merchant, C.J., Embury, O., Bulgin, C.E., Block, T., Corlett, G.K., Fiedler, E., Good, S.A., Mittaz, J., Rayner, N.A., Berry, D., Eastwood, S., Taylor, M., Tsushima, Y., Waterfall, A., Wilson, R. and Donlon, C. (2019), Satellite-based time-series of sea-surface temperature since 1981 for climate applications. Scientific Data 6, 223, doi:10.1038/s41597-019-0236-x

[2] Merchant, C.J. and Embury, O. (2020) Adjusting for desert-dust-related biases in a climate data record of sea surface temperature. Remote Sensing, 12 (16). 2554. ISSN 2072-4292 doi:10.3390/rs12162554

Supported By University of Reading Logo ESA CCI Logo ESA CCI SST Logo NERC Logo NCEO LogoSTFC Logo