Skip to content

Functions and Python scripts to ingest ERA5 data into Google Earth Engine

Notifications You must be signed in to change notification settings

jwagemann/era5_in_gee

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ERA5 reanalysis data in Google Earth Engine

This repository contains a set of functions and example scripts to ingest Copernicus ERA5 reanalysis data into Google Earth Engine based on manifest uploads.

The functions were developed during the process of making a subset of the ERA5 reanalysis data available in Google Earth Engine.


Workflow overview

The workflow consists of six major steps:

  1. Downloading hourly data as daily files or monthly aggregates in NetCDF format from the Climate Data Store with cdsapi
  2. Aggregating hourly files to daily means or sums (total precipitation) with xarray
  3. Converting NetCDF data files to GeoTiff with gdal
  4. Uploading hourly, daily and monthly GeoTiff files to Google Cloud Platform (GCP) with google-cloud-storage Python API
  5. Creating image manifests (JSON-based files) describing the metadata and band names of the resulting Earth Engine asset
  6. Ingesting data files uploaded to GCP as assets into Earth Engine with earthengine-api and manifest uploads


Repository content


Python packages required


Naming convention and folder structure

The scripts base on the following naming convention and folder_structure:

Naming Convention

Data is downloaded from the Climate Data Store with the following syntax:

  • era5_ + name_of_variable_ + year_ + month_ + day + .nc
    • Example for a file of 2m dewpoint temperature from 1 January 1980: era5_2m_dewpoint_temperature_1980_01_01.nc

Folder Structure:

(example for 2m air temperature)

  • era5_t2m
    • nc
      • hourly
        • year (e.g. 1979)
      • daily
        • year (e.g. 1979)
      • monthly
        • year (e.g. 1979)
    • tiff
      • hourly
        • year (e.g. 1979)
      • daily
        • year (e.g. 1979)
      • monthly
        • year (e.g. 1979)
  • manifests
    • era5_hourly
      • year (e.g. 1979)
    • era5_daily
      • year (e.g. 1979)
    • era5_monthly
      • year (e.g. 1979)
    • manifest_template.json

References


License

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

Releases

No releases published

Packages

No packages published