EIOPA scenario mapping¶
How Climate-Lama's scenario-conditioned hazard datasets realize the two long-term
climate scenarios EIOPA expects (re)insurance undertakings to consider in the ORSA,
per hazard and time horizon. This page is the citable record behind the catalog's
scenario labels: every dataset choice, every equivalence, and every gap is stated
with its source. Values that could not be verified against a live source are marked
[ASSUMPTION] inline.
Companion artifacts:
scripts/scenario_hazards_manifest.json— machine-readable manifest (verified URLs, license, citation per dataset)scripts/ingest_scenario_hazards.py— repeatable ingest from the original public sources through the standard ingest pipeline
The EIOPA framing¶
EIOPA's Opinion on the supervision of the use of climate change risk scenarios in ORSA (EIOPA-BoS-21-127, 19 April 2021) states that insurers should subject material climate change risks to at least two long-term climate scenarios, where appropriate:
"a climate change risk scenario where the global temperature increase remains below 2°C, preferably no more than 1.5°C, in line with the EU commitments" and "a climate change risk scenario where the global temperature increase exceeds 2°C"
Source: EIOPA press release, 19 April 2021 (wording quoted from the EIOPA page; Opinion reference number per the publication page). EIOPA's follow-up Application guidance on climate change materiality assessments and climate change scenarios in ORSA (August 2022) illustrates how to run these scenarios in practice.
Shorthand used below: below-2°C for the first scenario, well-above-2°C for the second. EIOPA does not prescribe specific horizon years; the horizons below (2030, 2050, 2080) come from the chosen dataset, not from EIOPA.
Scenario realization per hazard¶
River flood (ingested)¶
Chosen source: WRI Aqueduct Floods Hazard Maps, version 2 — global riverine inundation-depth GeoTIFFs (metres) for a historical baseline and two CMIP5 forcing pathways (RCP4.5, RCP8.5) at horizons 2030 / 2050 / 2080, at multiple return periods, driven by five GCMs. License: CC BY 4.0 (all Aqueduct products are released under the Creative Commons Attribution 4.0 International License, per wri.org/aqueduct). Citation: Ward, P.J., H.C. Winsemius, S. Kuzma, M.F.P. Bierkens, A. Bouwman, H. de Moel, A. Díaz Loaiza, et al. 2020. "Aqueduct Floods Methodology." Technical Note. Washington, D.C.: World Resources Institute. wri.org/research/aqueduct-floods-methodology.
Mapping (per horizon 2030 / 2050 / 2080, return periods 10 / 50 / 100 y, Greece clip):
| EIOPA scenario | Realized by | Catalog scenario label |
Catalog datasets |
|---|---|---|---|
| below-2°C | RCP4.5 — proxy, see limitation below | ssp2-4.5 |
Aqueduct river flood Greece - RCP4.5/SSP2-4.5-eq {2030,2050,2080} (NorESM1-M) |
| well-above-2°C | RCP8.5 | ssp5-8.5 |
Aqueduct river flood Greece - RCP8.5/SSP5-8.5-eq {2030,2050,2080} (NorESM1-M) |
| (reference) | Historical (WATCH, 1980) | baseline |
Aqueduct river flood Greece - historical baseline 1980 (WATCH) |
What a baseline column means in a matrix¶
In a scenario matrix (POST /v1/compute/impact-matrix), baseline is the reference
column: the same exposure and the same impact function evaluated against observed,
non-projected hazard. It is what the ssp2-4.5 and ssp5-8.5 columns in that row are
read against — a column whose numbers are not the observed reference makes every
comparison in the row meaningless.
Two rules follow, both enforced in
core/compute_batch_service.py::_best_candidate_for_cell:
- Seeded demo data can never answer a real scenario label. The demo seeder
(
scripts/seed_demo.py) writes one hazard fixture, marked withsource = "Climate-Lama reference fixture", under thebaselinelabel and with no declared horizons. It is excluded from resolution for any scenario group that also holds ingested catalog data, so abaselinecell resolves to real data or to nothing. A stack that has only the fixture (a freshly seeded demo) still resolves to it — the exclusion is a demotion, not a ban (issue #631). - A baseline is not automatically horizon-invariant. Conceptually a historical
baseline is the same number at 2030, 2050 and 2080; the catalog cannot say so today.
supported_yearsrecords which horizons a dataset modelled, and the resolver reads an absent value as unknown, not as invariant. The ingested Aqueduct baseline declares{1980}— a positive claim — so abaseline x 2030cell does not resolve to it, and fails per-cell with aresolution_errornaming that cause (No baseline dataset declares support for horizon 2030 (declared horizons: 1980).) rather than quietly answering from something else. Giving a dataset a way to declare horizon-invariance is a dataset-contract change, deferred to Phase 9 Stream A.
Consequence for readers of a matrix today: a baseline column is populated only when a
baseline dataset declares the horizon asked for. Otherwise the cell is explicitly
unresolved, and the scenario columns must be read as absolute values, not as deltas
against a reference the matrix did not compute.
Below-2°C limitation (material, read before citing). Aqueduct's riverine layer provides no RCP2.6/SSP1-2.6 pathway, so the below-2°C scenario is approximated by RCP4.5, the lowest-forcing pathway the verified source offers. RCP4.5 is not a below-2°C pathway: IPCC AR5 WG1 SPM gives a likely global mean surface temperature increase of 1.1–2.6°C for 2081–2100 relative to 1986–2005 under RCP4.5 (and 2.6–4.8°C under RCP8.5) — on top of warming already realized since pre-industrial (IPCC AR5 WG1 SPM). Consequence: the "below-2°C" column will tend to overstate hazard relative to a true Paris-aligned pathway; treat it as a conservative lower branch, and revisit if a verifiable SSP1-2.6-forced river-flood footprint source for Greece becomes available.
Why RCP labels are stored as SSP labels. The catalog's validated scenario
labels are the CMIP6 SSP set. CMIP6's ScenarioMIP design defines SSP2-4.5 and
SSP5-8.5 as the scenarios filling the same 4.5 and 8.5 W/m² end-of-century
radiative-forcing levels as CMIP5's RCP4.5 and RCP8.5 (O'Neill, B.C., et al. 2016.
"The Scenario Model Intercomparison Project (ScenarioMIP) for CMIP6." Geosci. Model
Dev. 9:3461–3482. doi:10.5194/gmd-9-3461-2016).
Datasets are therefore labelled ssp2-4.5 / ssp5-8.5 as forcing-level equivalents,
while the dataset names and citations keep the true CMIP5/RCP identity — the data
itself is RCP-forced, not CMIP6 output.
Other choices recorded:
- Single GCM. One of Aqueduct's five driving GCMs (NorESM1-M) is ingested per scenario x horizon, not the 5-GCM ensemble. Cross-model spread is therefore not represented; the ensemble can be added later without schema changes.
- Greece clip. Bounding box 19.0–28.5°E, 34.5–42.0°N (chosen to cover mainland Greece, Crete, and the Aegean islands; a pragmatic clip choice, not a sourced fact).
- Return periods. 10/50/100 y — a subset of the source's 2–1000 y range, matching the return periods used by the existing demo datasets.
Candidates evaluated and not chosen:
- JRC river flood hazard maps for Europe — the catalog's existing historical Greek river-flood layer comes from JRC; no scenario-conditioned inundation-depth download at fixed horizon years was verified during this work, so JRC remains historical-baseline-only here.
- Copernicus CDS hydrology projections — CDS provides scenario-conditioned river discharge projections rather than inundation-depth footprints, so they cannot be ingested by the GeoTIFF return-period pipeline without a hydraulic modelling step.
Wildfire (gap — documented, not ingested)¶
No usable public scenario-conditioned wildfire hazard footprint source was found. The closest verified source is Copernicus CDS Fire danger indicators for Europe from 1970 to 2098 derived from climate projections (EURO-CORDEX-driven Canadian Fire Weather Index under RCP2.6/4.5/8.5). It was not ingested because:
- It delivers FWI index time series (daily values and seasonal indicators), not return-period hazard footprints — deriving RP maps needs an extreme-value analysis step this issue's provenance rule does not allow us to improvise.
- CDS downloads require an authenticated account, so a fully anonymous repeatable pull is not possible.
- The seeded wildfire vulnerability is calibrated in Kelvin (FIRMS brightness
temperature) while the ingest unit is FWI — a known mismatch that yields EAD=0
regardless of hazard (see
src/climate_lama/core/ingest/wildfire.py).
Wildfire therefore stays out of the scenario matrix until (1) and (3) are resolved.
Windstorm (gap — documented, not ingested)¶
No public scenario-conditioned European windstorm footprint source was found. The verified Copernicus CDS windstorm datasets are all historical or present-climate:
- Winter windstorm indicators for Europe from 1979 to 2021 (ERA5 reanalysis)
- Synthetic windstorm events for Europe from 1986 to 2011 (synthetic event set representing modelled present climate)
- Windstorm tracks and footprints derived from reanalysis, 1940–present
Windstorm stays out of the scenario matrix until a scenario-conditioned, publicly redistributable footprint source is verified.
Verification record¶
- Every river-flood source URL in the manifest returned HTTP 200 (
image/tiff, ~88–93 MB each) to a HEAD request on 2026-07-27; re-check any time withpython scripts/ingest_scenario_hazards.py verify. - EIOPA wording quoted from the EIOPA website (fetched 2026-07-27); the Opinion PDF itself is linked from the publication page above.
- Aqueduct license, citation, scenarios, horizons, and GCM list verified against WRI pages and the Google Earth Engine catalog entry (which quotes WRI's attribution terms).
- Native resolution read directly from a source file header on 2026-07-27:
0.008333° (~30 arc-second) grid, EPSG:4326, nodata −9999; a windowed test read of
the RCP8.5/2080/RP100 file over the Greece bbox returned a 1140×900 px tile with a
maximum inundation depth of 2.1 m.
scripts/ingest_scenario_hazards.pylogs the same header facts on every ingest.