Normalised Difference Vegetation Index (NDVI) Climatology

Date modified: February 2022

Aperçu du service

Description

Digital Earth Africa’s NDVI climatology product represents the long-term average baseline condition of vegetation for every Landsat pixel over the African continent. Both mean and standard deviation NDVI climatologies are available for each calender month.

Some key features of the product are:

  • NDVI climatologies were developed using harmonized Landsat 5,7,and 8 satellite imagery.

  • Mean and standard deviation NDVI climatologies are produced for each calender month, using a temporal baseline period from 1984-2020 (inclusive)

  • Datasets have a spatial resolution of 30 metres

The product contains 36 measurements, across three categories of data (12 measurements within each category, one for each month):

  • mean_<month>: These measurements show the mean NDVI calculated from all available NDVI data from 1984-2020 for the given month.

  • stddev_<month>: These measurements show the standard deviation of NDVI values of all available NDVI data from 1984-2020 for the given month.

  • count_<month>: These measaurements show the number of clear observations that go into creating the mean and standard deviation measurements.

Important Note: Due to the inconsistent data availability of Landsat 5 over equatorial Africa, and due to persistent cloud coverage over these same regions, the quality of the long-term NDVI baseline is poor in equatorial Africa. We recommend not using the product in locations where the clear obervation count is less than ~30 observations. Below this, the standard deviation layers are prone to data artefacts owing to temporal smoothing operations performing poorly on sparse datasets, and residual cloudy pixels not being sufficiently “averaged out” by a decent volume of input data.

A Jupyter Notebook which demonstrates loading and using this dataset in the Sandbox is also available.

Spécifications

Table 1: NDVI Climatology specifications

Spécifications

Nom du produit

ndvi_climatology_ls

Taille de la cellule - X (mètres)

30

Taille de la cellule - Y (mètres)

30

Système de référence des coordonnées

EPSG : 6933

Résolution temporelle

N/A

Plage temporelle

1984-2020

Ensemble de données parent

Landsat 5,7,8

Fréquence de mise à jour

N/A

Table 2: NDVI Climatology measurements

ID de la bande

Description

Plage de valeurs

Type de données

Valeur NoData/Fill

mean_jan

Mean NDVI for January (1984-2020)

0 - 1

float32

nan

mean_feb

Mean NDVI for February (1984-2020)

0 - 1

float32

nan

mean_mar

Mean NDVI for March (1984-2020)

0 - 1

float32

nan

mean_apr

Mean NDVI for April (1984-2020)

0 - 1

float32

nan

mean_may

Mean NDVI for May (1984-2020)

0 - 1

float32

nan

mean_jun

Mean NDVI for June (1984-2020)

0 - 1

float32

nan

mean_jul

Mean NDVI for July (1984-2020)

0 - 1

float32

nan

mean_aug

Mean NDVI for August (1984-2020)

0 - 1

float32

nan

mean_sep

Mean NDVI for September (1984-2020)

0 - 1

float32

nan

mean_oct

Mean NDVI for October (1984-2020)

0 - 1

float32

nan

mean_nov

Mean NDVI for November (1984-2020)

0 - 1

float32

nan

mean_dec

Mean NDVI for December (1984-2020)

0 - 1

float32

nan

stddev_jan

Standard Deviation of NDVI for January (1984-2020)

0 - 1

float32

nan

stddev_feb

Standard Deviation of NDVI for February (1984-2020)

0 - 1

float32

nan

stddev_mar

Standard Deviation of NDVI for March (1984-2020)

0 - 1

float32

nan

stddev_apr

Standard Deviation of NDVI for April (1984-2020)

0 - 1

float32

nan

stddev_may

Standard Deviation of NDVI for May (1984-2020)

0 - 1

float32

nan

stddev_jun

Standard Deviation of NDVI for June (1984-2020)

0 - 1

float32

nan

stddev_jul

Standard Deviation of NDVI for July (1984-2020)

0 - 1

float32

nan

stddev_aug

Standard Deviation of NDVI for August (1984-2020)

0 - 1

float32

nan

stddev_sep

Standard Deviation of NDVI for September (1984-2020)

0 - 1

float32

nan

stddev_oct

Standard Deviation of NDVI for October (1984-2020)

0 - 1

float32

nan

stddev_nov

Standard Deviation of NDVI for November (1984-2020)

0 - 1

float32

nan

stddev_dec

Standard Deviation of NDVI for December (1984-2020)

0 - 1

float32

nan

count_jan

Number of clear obs in January (1984-2020)

0 - ~160

int16

-999

count_feb

Number of clear obs in February (1984-2020)

0 - ~160

int16

-999

count_mar

Number of clear obs in March (1984-2020)

0 - ~160

int16

-999

count_apr

Number of clear obs in April (1984-2020)

0 - ~160

int16

-999

count_may

Number of clear obs in May (1984-2020)

0 - ~160

int16

-999

count_jun

Number of clear obs in June (1984-2020)

0 - ~160

int16

-999

count_jul

Number of clear obs in July (1984-2020)

0 - ~160

int16

-999

count_aug

Number of clear obs in August (1984-2020)

0 - ~160

int16

-999

count_sep

Number of clear obs in September (1984-2020)

0 - ~160

int16

-999

count_oct

Number of clear obs in October (1984-2020)

0 - ~160

int16

-999

count_nov

Number of clear obs in November (1984-2020)

0 - ~160

int16

-999

count_dec

Number of clear obs in December (1984-2020)

0 - ~160

int16

-999

The specific temporal and geographic extents for the product can be explored as an interactive map on the Metadata Explorer. Data is available for the region shaded in blue.

Figure 1: The dataset coverage for the NDVI Climatology product

8fbfa3bbf3174259ad746f94c01e1fbd

Médias et exemples d’images

Image 1: Animations of the NDVI Climatology layers. Left: Mean NDVI; Right: Std. Dev. NDVI

342f7a933ccc4ea2a6dfca66544b70cd

Licence

Licence internationale CC BY Attribution 4.0

Accès aux données

Amazon Web Services S3

The NDVI Climatology service is available in AWS S3 thanks to the Public Dataset Program.

Tableau 3 : Détails de l’accès aux données AWS.

Détails sur AWS S3

Seau ARN

arn:aws:s3:::deafrica-services

Nom du produit

ndvi_climatology_ls

The bucket is located in the region af-south-1 (Cape Town). Additional region specifications can be applied as follows:

aws s3 ls --region=af-south-1 s3://deafrica-services/ndvi_climatology_ls/

Les chemins d’accès aux fichiers suivent le format :

<productname>/<version>/<x>/<y>/<timeperiod>/<x><y>_<timeperiod>_<band>.<extension>

Tableau 4 : Convention de chemin d’accès aux fichiers AWS.

Élément de chemin d’accès au fichier

Description

Exemple

productname

Nom du produit

ndvi_climatology_ls

version

Version du produit

1.0.0

x

Numéro de tuile dans la direction « x ».

x17

y

Numéro de tuile dans la direction « y ».

y156

période de temps

Year of data collection followed by period of time and time unit in the format YYYY--P<period><unit>. Time units are designated by capitalised letters, Y for years and M for months.

1984--P37Y

bande_de_temps_x_y.extension

Nom de fichier. Combine x, y, timeperiod avec band, en utilisant les ID de bande, et les extensions de fichier. Pour la plupart des tuiles, l’extension de fichier est .tif.

Open Data Cube (ODC)

The NDVI Climatology datasets can be accessed through the Digital Earth Africa ODC API, which is available through the Digital Earth Africa Sandbox.

ODC product name: ndvi_climatology_ls

Pour des exemples sur la façon d’utiliser l’API ODC, voir le dépôt DE Africa example notebook.

Services Web de l’OGC (OWS)

This service is available through DE Africa’s OWS.

Table 5: OWS data access details.

Détails de l’OWS

Nom

DE Africa Services

URL des services cartographiques Web (WMS)

https://ows.digitalearth.africa/wms?version=1.3.0

URL du service de couverture Web (WCS)

https://ows.digitalearth.africa/wcs?version=2.1.0

Noms des couches

ndvi_climatology_ls

Les détails de Digital Earth Africa OWS peuvent être trouvés sur https://ows.digitalearth.africa/.

Pour obtenir des instructions sur la manière de se connecter à OWS, consultez ce tutoriel.

Informations techniques

Landsat Harmonization method

Landsat satellites have the longest temporal record of Earth Observation data, covering nearly four decades and including landsat 5, 7 and 8 (and now Landsat 9). Ideally, the Landsat data record should be consistent over the Landsat sensor series, but Landsat-8 Operational Land Imager (OLI) has improved calibration over the previous Landsat-7 Enhanced Thematic Mapper (ETM +), and Landsat 5’s ETM. The different qualities of the sensors can result in discontinuities when concatenating NDVI time-series across different sensors.

To harmonize the different generations of Landsat sensors, 10,000 60 x 60m polygons were randomly disributed across the continent. At each sample location, a four year time series (2013-2016) of cloud-masked Landsat 7 and Landsat 8 images were loaded, and coincident Landsat 7 and Landsat 8 NDVI observations were retained. Coincident is defined here as acquisitions taken within two days of each other. In total, 35,189 coincident pixel obervations were collected (all pixels within the 60 x 60m polygons were kept).

Figure 1: The locations of coincident Landsat 7 and Landsat 8 images used to define the harmonization coefficients in eq 2. Points are coloured by the NDVI value of the Landsat 8 image.

161a92198ff34479b4f14d0078c29d35

Coincident samples were used to linearly regress Landsat 8 NDVI against Landsat 7 NDVI, the results of this are shown in Figure 2a as a density scatter plot. The linear relationship (eq 1.) between the two is expressed as (also represented by the red line in figure 2a):

eq.1:  NDVI_LS7 = 0.988 * NDVI_LS8 -0.015

To harmonize the datasets, Landsat 7 was transformed to better align with Landsat 8 using eq 2. Figure 2b plots the results after harmonization.

eq.2:  NDVI_LS7_harmonized = (NDVI_LS7 + 0.015) / 0.988

Figure 2: a) Density scatter plots between Landsat 7 NDVI and Landsat 8 NDVI before harmonization. Red line shows the linear relationship, and the blackline shows the 1:1 line. b) Density scatter plots between Landsat 7 NDVI and Landsat 8 NDVI after harmonization. The red line is directly on top of the 1:1 line

09873cb734454e39870850246059866c

We can visualise how the harmonization improves consistency between the sensors by plotting a time-series of NDVI before and after harmonization (figure 3).

Figure 3: The impact of Landsat 7 harmonization on an NDVI timeseries. Time-series is from an irrigated cropping region in Egypt.

93fb7ea7c0c14428a86c8e1d4c446127


NDVI Climatology Algorithm

The procedure for calculating the NDVI climatologies is listed step-by-step below. The code for reproducing the NDVI climatology product is publicly availabe on github:

  1. Load a concatenated Landsat 5 and Landsat 7 time series

    • Mask pixels in LS5 and LS7 where:

      • cloud, and cloud shadows occur, and apply morphological operators opening + dilation (improves the cloud mask)

      • Surface reflectance values > 65,455 or < 7272.72

      • Blue band surface reflectance is > 20,910 (removes some cloud missed by Fmask)

  2. Load landsat 8 timeseries

    • Mask pixels in LS8 where:

      • cloud, cloud shadows, and cirrus clouds occur, and apply morphological operators opening + dilation (improves the cloud mask)

      • Surface reflectance values > 65,455 or < 7272.72

      • Blue band surface reflectance is > 20,910 (removes some cloud missed by fmask)

  3. Calculate NDVI for each sensor

  4. Adjust Landsat 5-7 using eq. 2.

  5. Merge Landsat 5-7 time series with the Landsat 8 time-series

  6. Set as nodata pixels where NDVI is not between 0 and 1

  7. Apply a rolling mean temporal filter (window size = 3) to lesson the influence of noise and missed cloud in the time series

  8. Calculate monthly mean and standard deviation NDVI climatologies.