libera_utils.footprint_matching.readers.era5_pressure#

ERA5 pressure-level reader plugin for the footprint matching pipeline.

Data source: ECMWF ERA5 Reanalysis (pressure-level fields)

  • Format: NetCDF4 (.nc), distributed via the Copernicus Climate Data Store

  • Spatial resolution: ~0.25° (~28 km), stored as 28 km in RESOLUTION_KM

  • Grid: Regular lat/lon, global coverage, latitudes in DESCENDING order (90 → -90), plus a pressure_level dimension (up to 37 levels, 1–1000 hPa)

  • Temporal resolution: Hourly

  • Temporal coverage: 1940-present (~5 day latency for final data; ~1 day for ERA5T)

This is a separate CDS dataset from the single-level fields, downloaded as a separate file, hence a separate reader from ERA5SurfaceReader (each reader reads one source).

Read planes and product variables#

A reader’s samples carry one value row per VariableSpec, and each row is PSF-weighted and aggregated on its own. Each (variable, pressure level) pair is therefore its own spec – e.g. Temperature_500hPa – so every level is aggregated as the 2-D field it is. In the product, PRODUCT_STACKS collects each variable’s levels back into one variable on (RADIOMETER_TIME, PRESSURE_LEVEL) – e.g. ERA5_Pressure_Temperature – with the PRESSURE_LEVEL coordinate taken from _ERA5_PRESSURE_LEVELS. That constant holds the full ERA5 set of 37 levels; changing the level list there changes the specs and the stacks, and the PRESSURE_LEVEL size in libera_dimensions.yml must change with it (a unit test checks they agree).

Variables read (at each retained pressure level)#

  • t: temperature (K)

  • z: geopotential (m² s⁻²)

  • o3: ozone mass mixing ratio (kg kg⁻¹)

  • q: specific humidity (kg kg⁻¹)

  • r: relative humidity (%)

These pressure-level fields sit in the radiometer-timescale FMATCH-IMAGER product alongside the RBSP CLDPIX/FLASHFlux cloud fields. The reader is deliberately absent from the camera-timescale FMATCH-IMAGER-CAMTIME product: the pressure-level fields are a radiometer-timescale quantity. Product membership is declared outside the reader.

References

CDS dataset: https://cds.climate.copernicus.eu/datasets/reanalysis-era5-pressure-levels CDS API docs: https://cds.climate.copernicus.eu/how-to-api Variable list:https://confluence.ecmwf.int/display/CKB/ERA5+data+documentation Param DB (id): t=130, z=129, o3=203, q=133, r=157, e.g. https://apps.ecmwf.int/codes/grib/param-db?id=130

Classes

ERA5PressureLevelReader(file_paths)

Read ERA5 pressure-level fields from a CDS NetCDF4 file.