Klimadashboard European Heat Tracker Beta

Heatwaves are becoming more frequent and more deadly across Europe. Updated hourly, this tool overlays a live weather grid with a European population grid to estimate how many people are currently exposed to dangerous heat.

This tool is in beta as we continue to validate and gather feedback. Figures may change as new forecasts arrive throughout the day, and likely underestimate heat in cities (urban heat islands) and mountainous regions.

Difference from average

−8°C 0 +8°C

vs 1961–1990 climate baseline (≈1°C cooler than today's normal)

Dot size = residents in that grid cell
Heat mortality in Europe 2024

62,775

estimated heat-related deaths across 32 European countries during summer 2024 (June to September)

Ballester et al., 2025 — Nature Medicine
Global temperature 2024

+1.60°C

above pre-industrial average. 2024 was the first full calendar year to exceed the 1.5°C threshold set by the Paris Agreement.

Copernicus Climate Change Service, 2025 →
Data sources
DWD ICON-EU

Live weather model at ~6.5 km resolution, Deutscher Wetterdienst. Updated every 3 hours with hourly forecasts.

GHS-POP R2023A

Global population grid at ~1 km², 2020 baseline. European Commission Joint Research Centre.

E-OBS

Gridded daily observations for Europe, 1961 to 1990 baseline. ECA&D / Copernicus.

Open source on GitHub

Support our work

Building new tools and visualisations needs your support. If you find the European Heat Tracker useful, please consider donating to Klimadashboard.

Donate now →
How we count affected people

Weather model

DWD ICON-EU publishes 8 model runs per day (every 3 hours, 00Z to 21Z). Each run provides hour-by-hour forecasts; the pipeline combines them to give continuous hourly coverage across the day.

Population grid

GHS-POP R2023A (EU Joint Research Centre) at ~1 km² resolution, 2020 baseline. Aggregated to ~175,000 grid cells at ~6 to 7 km spacing, aligned with the weather model grid.

Counting method

A person is counted as "affected" if their grid cell exceeds the chosen threshold in any hourly snapshot during the day. The anomaly and "uncommonly hot" figures use each cell's daily mean, compared against the 1961 to 1990 90th-percentile climatology from E-OBS.

Weather: opendata.dwd.de · Population: ghsl.jrc.ec.europa.eu · Climatology: E-OBS (ECA&D / Copernicus)

Two heat indicators

Air temperature

Standard 2 m air temperature (°C). Simple and universal. Default threshold: 30°C.

Feels Like

Steadman (1994) apparent temperature accounts for humidity and wind speed. Default threshold: 30°C.

How to use this tool

Use the country selector at the bottom to focus headline figures on any country

Switch the map view at the top of the map between difference from average, temperature, or feels like

Click a country on the map for a national breakdown, or hover a cell for local detail

Use the settings button to change the date or the heat threshold

Known limitations

Urban heat islands. The ~6.5 km weather model grid cannot fully capture heat buildup within individual cities, so we likely underestimate affected people in dense urban areas.

Mountainous regions. Coarse terrain resolution means valley and slope microclimates are not captured, which can underestimate exposure in areas like the Alps or Carpathians.

Part forecast. Today's figures blend observed hours with forecast hours, so they can change as new model runs arrive.

Population data. GHS-POP is from 2020 and does not reflect recent demographic changes.

Get in touch

Found an issue, have a data suggestion, or want to collaborate? We'd love to hear from journalists, researchers and developers.

team@klimadashboard.org
Full methodology

Population data

Population figures come from GHS-POP R2023A, published by the European Commission's Joint Research Centre. This is a global population grid at ~1 km² (30 arc-second) resolution, based on the 2020 population epoch. We aggregate the raw cells onto a 0.0625° latitude/longitude grid (roughly 5 x 7 km at European latitudes), resulting in approximately 175,000 grid cells.

Weather data and model

Weather data comes from DWD ICON-EU, Germany's operational weather prediction model at ~6.5 km resolution, published as open data in GRIB2 format. DWD publishes 8 model runs per day (00Z, 03Z, 06Z, 09Z, 12Z, 15Z, 18Z, 21Z). Each run provides hour-by-hour forecasts; our pipeline ingests the nearest available run every hour to give continuous hourly coverage across the day. Because each run is published roughly 3 hours after its initialisation time, the latest analysis always trails the wall clock slightly.

For each grid cell we compute three heat indicators:

  • Temperature — 2m air temperature (°C)
  • Feels Like — Steadman (1994) apparent temperature, accounting for humidity and wind speed

Historic climate comparison

Two of the three headline figures compare today against a baseline from E-OBS (ECA&D / Copernicus). For each grid cell we compute, over the 1961 to 1990 reference period and a 15-day window around each calendar date, the mean and the 90th percentile of daily-mean temperature.

  • Difference from average — today's per-cell daily-mean temperature minus the 1961 to 1990 daily-mean, averaged across all grid cells
  • Uncommonly hot — people in cells where today's daily mean exceeds the 1961 to 1990 90th percentile

The 1961 to 1990 baseline is the WMO/IPCC reference for climate-change assessment. It runs roughly 1°C cooler than the current 1991 to 2020 operational normal, so our anomalies read about 1°C warmer than tools on the modern baseline (e.g. Copernicus Climate Pulse).

Heat thresholds

Default threshold: 30°C for both temperature and feels like. The threshold is adjustable via the settings button and affects the "people at X°C or more" headline count, the map cell highlighting, and the tooltip range marker.

How "today" is built

"Today" covers hourly snapshots across the current UTC day. Early hours are recent analysis or short-range forecast; later hours come from the most recent model run. The day's figures blend observed-so-far with forecast-for-tonight and shift slightly as new runs arrive.

The threshold count (e.g. 30°C or more) uses a daily-maximum view: a cell counts if it reaches the threshold in any hourly snapshot. The anomaly and "uncommonly hot" figures use each cell's daily mean, the right basis for comparing against the daily-mean climatology.

Data credits