co822ee / era5_in_gee

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

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


Languages

Language:Python 54.8%Language:Jupyter Notebook 45.2%