1. Quickstart¶
Discover historic floods anywhere in Europe in a few lines, straight from the published index. There is nothing to download or configure first.
Install with plotting support:
pip install "euroflood[viz]"
import euroflood as ef
floods(...) queries the index for a place and returns a FloodFrame - a
geopandas.GeoDataFrame with one row per historic flood event. It is cheap: it streams a
small window of the index and downloads no flood-depth rasters.
We follow one place through these tutorials: Zutphen, a Hanseatic town on the river IJssel in the Netherlands that floods regularly - so its catalogue is rich enough to be interesting.
cat = ef.floods("Zutphen, Netherlands")
cat.head()
| collection | event_id | date | year | end_date | cluster_id | filename | download_url | area_km2 | geometry | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | historic | 4049036842 | 2019-03-04 | 2019 | 2019-04-08 | 333 | WD_MERGE_2019-03-04---2019-04-08_duration_28_d... | https://jeodpp.jrc.ec.europa.eu/ftp/jrc-openda... | 2.910 | POLYGON ((6.14039 52.1484, 6.1428 52.14566, 6.... |
| 1 | historic | 1407437849 | 2024-02-05 | 2024 | 2024-03-11 | 345 | WD_MERGE_2024-02-05---2024-03-11_duration_28_d... | https://jeodpp.jrc.ec.europa.eu/ftp/jrc-openda... | 0.206 | POLYGON ((6.14039 52.1484, 6.1428 52.14566, 6.... |
| 2 | historic | 1811386473 | 2018-01-22 | 2018 | 2018-03-05 | 358 | WD_MERGE_2018-01-22---2018-03-05_duration_35_d... | https://jeodpp.jrc.ec.europa.eu/ftp/jrc-openda... | 7.326 | POLYGON ((6.14039 52.1484, 6.1428 52.14566, 6.... |
| 3 | historic | 2217388040 | 2024-01-01 | 2024 | 2024-02-19 | 334 | WD_MERGE_2024-01-01---2024-02-19_duration_35_d... | https://jeodpp.jrc.ec.europa.eu/ftp/jrc-openda... | 2.002 | POLYGON ((6.14039 52.1484, 6.1428 52.14566, 6.... |
| 4 | historic | 3168514366 | 2019-12-30 | 2020 | 2020-02-10 | 371 | WD_MERGE_2019-12-30---2020-02-10_duration_42_d... | https://jeodpp.jrc.ec.europa.eu/ftp/jrc-openda... | 3.027 | POLYGON ((6.14039 52.1484, 6.1428 52.14566, 6.... |
A bare .plot() renders a flood-recurrence heatmap - how often each ~90 m pixel flooded -
straight from the index (still nothing downloaded):
cat.plot()
<Axes: title={'center': 'Flood recurrence (recorded floods per pixel)'}>
That is the whole idea: find where and when floods happened for free, then fetch only the depth rasters you actually want. From here:
- 02 - Discover & filter: query by bbox / point / shapefile and filter by time.
- 03 - Visualize: per-event footprints and interactive maps.
- 04 - Download & measure: fetch the depth rasters and compute statistics.
- 05 - Hazard: modelled GLOFAS flood-hazard maps by return period.
- 06 - Quantitative analysis: rank events, estimate exposure, compare depths.
- 07 - CLI & configuration: the
eurofloodcommand line and every setting.