About Climate Fingerprint
Every city has a shape to its year. Somebody who has lived in Phoenix a while will describe a long flat plateau of heat with a soft edge on either side. Somebody in Reykjavik describes a narrow gray band that never really commits in either direction. This site draws that shape. One city, one poster, the year read clockwise from January at the top, with temperature, the daily swing, and rainfall all carried in a single mark.
What a normal is
Weather is what happened on a Tuesday. Climate is the pattern all those Tuesdays settle into over decades. Everything on this site is the second thing.
The word for it is a normal. For each calendar day, January 1st through December 31st, you take that same day out of thirty consecutive years and average it. So the January 15th on the Denver poster is not any January 15th that actually happened. It is the typical one, built out of thirty of them stacked up.
The window is 1991 through 2020. I did not pick those years because they looked good. That is the current standard normals period set by the World Meteorological Organization, which rolls forward once a decade, and it is what a climatologist means by the word normal. Any other range invites the fair question of why that range.
Four numbers come out of each calendar day: the typical mean temperature, the typical daytime high, the typical overnight low, and the typical rainfall. February 29th gets dropped, since thirty years only holds about eight of them and one spoke out of 365 is invisible anyway. (Leap day people, my apologies.) Every poster is the same 365 day ring.
How to read one
- Angle is the day of the year. January at the top, running clockwise.
- Distance from the center is temperature. Warmer sits farther out.
- Color runs on temperature too, cool blue through warm red, so a hot city reads hot twice.
- Thickness of the band is the daily swing, from the typical overnight low out to the typical afternoon high. Denver's band is thick. Singapore's is close to a wire.
- The inner ring is rainfall.
Two liberties, both worth admitting. Daily rainfall is noisy, so the inner ring is averaged across a 15 day window, otherwise it reads as static instead of a season. And it is drawn on a square root scale, so a monsoon city does not flatten every dry city next to it into a flat line. Temperature gets neither treatment. That part is raw.
The temperature scale is the same on every poster, which is what makes two of them honest to hold side by side. It was set by the thirty cities on the wall, so if you type in somewhere more extreme than any of them, the ring pins to the edge of the plot instead of quietly rescaling itself. Rare. But I would rather say so here than have you find it.
What this is not
This is a portrait of a normal year. It is not an argument about change over time, and I want to be direct about that rather than let the word climate do something I did not intend.
Thirty years averaged into one shape tells you what a place is typically like. It says nothing about whether that shape is moving. A version that puts 1961 through 1990 next to 1991 through 2020 and shows you the drift would be good and honest work, and I may build it. This is not that piece. This one holds still.
Where the numbers come from
ERA5, delivered by Open-Meteo, free.
ERA5 is a reanalysis, which is a specific thing and not a fancier word for dataset. Take a modern weather model, run it back across the historical record, and pull it into agreement with every observation anyone captured at the time: ground stations, ships, buoys, balloons, satellites. What comes out is a complete gridded version of the global atmosphere from 1940 forward, with no gaps, including over oceans and over places nobody ever put a thermometer. The grid cells are roughly nine kilometers across, so a poster describes the cell a city sits in rather than one instrument at its airport.
Open-Meteo serves that archive with no account, no key, and no cost, which is the only reason this is a hobby project instead of a line item. Credit where it is owed: ERA5 comes from the Copernicus Climate Change Service and ECMWF, and Open-Meteo does the delivery.
The thirty cities on the wall are computed once, when the site is built, and shipped as static files, so they open instantly. Anything you type gets done live in your browser instead: one lookup to turn the name into coordinates, one call for roughly eleven thousand daily records, then the same math the built-in cities went through. You watch it develop for a second or two. The result is kept in your own browser so a second visit is instant, and it never reaches a server of mine, because there is not one. If the archive throttles the request you get a retry button rather than a wrong poster.
Who made this
Climate Fingerprint is a personal project by Dustin Cole, part of dustincoledata.
I am not an engineer. I work in analytics, and the way this got built is that I direct coding agents, mostly Claude, and then verify what comes back. That second half is the actual job. Every ring on this site sat slightly off center in its frame for a while, which read as perfectly correct in the code and was obvious the moment anybody looked at a screenshot. So I look at screenshots.
Thirty years of a city is about eleven thousand days, and nobody remembers eleven thousand days. You remember that August is unbearable, or that the rain shows up in November and stays. That impression is real statistics, run badly, on a sample you happened to live through. This just runs them properly and hands you the picture.