EuroFlood
Query Europe's satellite flood-depth maps as GeoDataFrames — in a few lines.
Discover where and when floods happened across Europe from a published index (zero config), then download only the depth rasters you want — no 35 GB bulk archive, no setup.

Install
Three lines
import euroflood as ef
cat = ef.floods("Zutphen, Netherlands") # discover — a GeoDataFrame, one row per flood
cat.plot() # visualize — recurrence heatmap, no download
cat.download().stats() # measure — fetch depth rasters + per-event stats
Zero configuration: the published index is read remotely and cached on first use.
Why EuroFlood
-
One API, all of Europe
Continental coverage from ~3,280 Sentinel-1 flood-depth maps (2015–2024), indexed so a query streams a few MB — never the 35 GB archive.
-
GeoDataFrames, not tiles
Every query returns a GeoPandas
GeoDataFrame— filter, clip, join, and export with the tools you already use. -
Visualize without downloading
Recurrence heatmaps, per-event footprints, and interactive Leaflet maps straight from the index — no rasters fetched.
-
Global hazard maps
The same API queries modelled CEMS-GLOFAS return-period depth (10–500 yr):
ef.hazard("Zutphen", return_period=100). -
CLI & offline
Every query is also a
eurofloodcommand; mirror the index once for fully offline / HPC use. -
Cited & reproducible
A versioned, checksummed index bundle with a manifest — pin a version, cite the source, reproduce a result.
Learn by doing
The tutorials take you from a first query to hazard maps and quantitative analysis — runnable notebooks that follow one place (Zutphen, on the IJssel) throughout.
EuroFlood code is MIT-licensed. The index and flood-depth maps derive from the JRC / Copernicus CEMS-EFAS dataset (CC-BY-4.0) — please cite Betterle & Salamon (2025). Developed at Princeton University (Complex Infrastructure Systems Group).