Side project · DWD open data · Python

How close is today to the record?

wetterrekord.de is a live map of weather records in Germany. For more than 330 weather stations it compares today’s values with each station’s own history — some series reach back to 1781.

Today's record map of Germany, rendered live by wetterrekord.de
Today’s map, rendered live by wetterrekord.de

Four levels of record

Every station is checked against its record for the same calendar day, the half-month, the month — and all time. The colour shows how far today goes.

Daysame calendar day
Half-month1st–15th / 16th–end
Monthwhole calendar month
All-timethe station’s record
Daycoldest on this day
Half-monthcoldest half-month
Monthcoldest month
All-timecoldest ever

Only stations with at least 30 years of history for a parameter take part — about half of the series start before 1950.

🔥

Heat

Today’s maximum temperature against the station’s Tmax records.

❄️

Cold

Today’s minimum temperature against the station’s Tmin records.

💨

Wind gusts

The strongest gust of the day — storm records per station.

🌧️

Precipitation

The daily total, accumulating through the day.

🌀

Air pressure

Daily mean at sea level — highs and lows, meaningful towards evening.

⏱

Now, table & look-back

A “Now” view with the latest 10-minute values, a sortable table, filters and a timeline to look back up to 96 hours.

How it works

Built entirely on the Climate Data Center of Deutscher Wetterdienst. Inspired by recordpy.fr.

1

Import the history

On first start, ~340 station archives of daily climate data are downloaded and every record is computed into SQLite. Recomputed daily at 04:30.

2

Poll the live values

Every 15 minutes the DWD 10-minute observations give today’s max and min so far — published with about 30 minutes of latency.

3

Compare and map

FastAPI serves the comparison to a Leaflet map; a share image of the day is rendered on the server for every link preview.

Run your own

One container, one volume. The map fills up once the first import is done.

Docker

git clone https://github.com/cygnusb/wetterrekord
cd wetterrekord
docker compose up -d

Then open http://localhost:8000. Images: ghcr.io/cygnusb/wetterrekord and cygnusbn/wetterrekord.

Configuration

WETTERREKORD_BASE_URLpublic URL for canonical links, sitemap and share images
WETTERREKORD_LIVE_POLL_MINUTESlive poll interval (15)
WETTERREKORD_INGEST_HOURhour of the daily recomputation (4)
WETTERREKORD_IMPRINT_HTMLoperator’s legal notice, enables /impressum
Python 3.14 · FastAPI SQLite APScheduler Leaflet · OpenStreetMap Pillow share images Docker

Is a record falling today?

The map updates every 15 minutes — on hot and cold days it is worth a look.