27 inviernos

How 27 inviernos works

The methodology, in the open. Behind every figure you see there’s a decision and a source. Here we tell them all — including the hard ones.

The data: Copernicus, open and European

Everything comes from ERA5-Land, the climate reanalysis of the Copernicus Climate Change Service (C3S), run by ECMWF. A reanalysis blends real observations (stations, satellites, buoys) with a physical model to reconstruct the climate hour by hour, consistently across the continent and back to 1950.

In practice, we download ERA5-Land’s daily statistics through Google Earth Engine (collection ECMWF/ERA5_LAND/DAILY_AGGR), which redistributes the same ECMWF/Copernicus product. It’s an efficient way to pull decades of data cell by cell at European scale. The source and the method are public: that’s where transparency starts, and anyone can verify what we show.

The baseline: 1951–1980

To know whether a year is “warm” you have to compare it against a normal. We use 1951–1980 as the reference — the same as NASA (GISS). It’s a baseline from before the acceleration of warming, so the anomalies you see measure the real change, not an already-warmed normal.

Anomaly = the year’s mean temperature − your cell’s 1951–1980 mean.

The warming stripes

Each stripe is one year. Its colour is the anomaly: blue = colder than the baseline, red = warmer. It’s the visual language of Ed Hawkins (2018), which went viral for its clarity. Our contribution is the “you” frame: we outline the years of your life so the global story becomes personal.

colder 1951–1980 baseline warmer
Each stripe is a year; the colour is its anomaly vs the baseline.

Your four figures

  1. Rise since you were born — the difference between the average of the last 10 years and your birth year, in your cell.
  2. Record years you’ve lived through — years, since you were born, whose mean beat every prior year back to 1950.
  3. Unusually warm spells — see below.
  4. Extreme-heat days vs your father — days above 30 °C you’ve lived through, more (or fewer) than someone born 30 years earlier, at the same age.

The honest choice: “unusual spells”, not “heat waves”

This is the part almost nobody tells. A heat wave sounds simple, but defining it forces you to pick a threshold. We first tried the 95th percentile of the maximum temperature across the whole year (1951–1980): the problem is that, under warming, almost all of modern summer clears that bar → the count explodes and loses meaning (hundreds per person).

The definition we use is the scientific standard (Perkins & Alexander, 2013; Russo et al., 2015): the 90th percentile of the daily maximum for each day of the year (a ±15-day window). That measures what is unusually warm for that date.

fixed annual threshold day-of-year threshold JFMAMJJASOND
The day-of-year threshold (curve) rises in summer and falls in winter; a fixed annual threshold (line) makes almost all of summer count.

But we went one step further in honesty: with that threshold, an unusually warm spell in winter also counts. It’s correct as a scientific index of warm spells, but calling it a “heat wave” would mislead. So we call it “unusually warm spells for the season”: the name says exactly what it measures.

How we process the data

ERA5-Land · Copernicus(via Google Earth Engine)Daily per cell1950–2025DuckDBcleanup + aggregation3 tablesbaseline · annual · eventsYour story
~2 billion rows are reduced to three compact tables that serve your story instantly.

Behind an instant answer is a pipeline that digests ~2 billion rows (74,510 cells × 76 years × 365 days) down to three compact tables:

Limits: what the data doesn’t say

Who’s behind it

27 inviernos is a project by cultural data: rigorous, transparent data science for the European public and cultural sector, built from practical projects like this one. If this kind of work interests you — from open data to a product people understand — write to us at hola@culture-data.org.

Sources