JRC European flood hazard (EFHM) — introduction#
earthlens ships a jrc-flood backend that fetches the JRC European Flood
Hazard Map (EFHM) — "River flood hazard maps for Europe and the Mediterranean
Basin" — subset to a requested bounding box and written as GeoTIFF. Each cell
value is river-flood water depth in metres for a chosen return period
(how rare the flood is: a 1-in-100-year event, etc.). The map is produced by the
JRC / Copernicus Emergency Management Service (CEMS).
This page orients the backend; for the walkthrough see Usage, the return periods on the Available datasets page, and the rendered API on the Reference page.
Global vs European coverage#
There are two JRC flood-hazard products, and earthlens covers both — through different backends:
- Global (
JRC/CEMS_GLOFAS/FloodHazard, ~90 m, RP10–RP500) — already available through thegeebackend as a curated catalog row (JRC/CEMS_GLOFAS/FloodHazard/v2_1). It covers Europe too. Usegeefor the global product. - European EFHM (this backend, ~90 m / 3 arc-second, 9 return periods) — a higher-fidelity river-flood map for Europe and the Mediterranean, published as whole-Europe GeoTIFFs on the JRC open-data server, not on Earth Engine.
How it works#
Each return period is one whole-Europe EPSG:4326 GeoTIFF of ~23 GB uncompressed,
so the backend never reads it whole. It opens the file lazily over GDAL's
/vsicurl (HTTP range requests), reads only the AOI's pixel window through
the pyramids GIS backend, rebuilds a
small cropped grid, and writes one GeoTIFF per return period. So a small AOI
transfers only kilobytes, not gigabytes. download() returns the written paths
(list[Path]); earthlens never imports a competing array stack.
from earthlens.core import EarthLens
paths = EarthLens(
data_source="jrc-flood",
lat_lim=[51.8, 52.0],
lon_lim=[4.8, 5.0],
return_periods=[100],
path="efhm_out",
).download()
# -> [Path('efhm_out/efhm_RP100.tif')]
Two things that shape the backend#
-
The request axis is
return_periods, notvariables. The EFHM has a singlewater_depthband, so the backend is facet-only: select the flood rarity withreturn_periods=(ints,"100", or"RP100"); there is novariables=/dataset=axis. It is static, soaggregate=is rejected. -
A windowed read, not a whole-file download. Only the AOI window is fetched over
/vsicurl. An AOI outside the Europe / Mediterranean coverage raises a clearValueErrorrather than writing an empty raster.
Licence#
The EFHM is CC-BY-4.0 (permissive attribution) — no licence warning. Cite: Dottori, F., Alfieri, L., Bianchi, A., Skoulikaris, C., Salamon, P. (2020), River flood hazard maps for Europe and the Mediterranean Basin region, JRC / Copernicus Emergency Management Service.