What the numbers are
Every figure is a long-term average for 1991–2020, the current standard 30-year climate period. It describes the climate of a place, not the weather on a given day. ClimaNote is not live weather and not a forecast.
Data sources
- Weather. ERA5-Land (air temperature, 0.1° grid, about 9 km) and ERA5 (precipitation, 0.25° grid, about 28 km): global reanalyses produced by the Copernicus Climate Change Service (C3S) at ECMWF. The hourly data are read from the Open-Meteo open-data archive, licensed CC BY 4.0.
- Places. GeoNames (CC BY 4.0): city names, coordinates, populations, elevations and time zones. Where GeoNames has no elevation, the pipeline can use the Copernicus DEM GLO-90 elevation model through Open-Meteo.
- Fonts. Public Sans (the Public Sans Project Authors) and Source Serif 4 (Adobe) under the SIL Open Font License 1.1, served from this site.
Contains modified Copernicus Climate Change Service information (ERA5 and ERA5-Land, 1991–2020). Neither the European Commission nor ECMWF is responsible for any use that may be made of the Copernicus information or data it contains.
Copernicus Climate Change Service (2018): ERA5 hourly data on single levels from 1940 to present. Copernicus Climate Change Service (C3S) Climate Data Store (CDS). DOI: 10.24381/cds.adbb2d47
Copernicus Climate Change Service (2019): ERA5-Land hourly data from 1950 to present. Copernicus Climate Change Service (C3S) Climate Data Store (CDS). DOI: 10.24381/cds.e2161bac
The monthly averages of every place can be downloaded as CSV files, with checksums and a column guide, on the open data page.
How a month is calculated
- Local days. Hourly values are grouped into calendar days of the city's standard time (the time zone's UTC offset without daylight saving) for every day from 1 January 1991 to 31 December 2020. We use the offset in force in 2024 for all years; where a country changed its standard time in between (Istanbul and Almaty, for example, differ in most of the 30 years), the day boundary is off by an hour in those years. We have not measured how much that moves the monthly averages; we expect it to be small.
- Average high and low. The mean of the daily maximum and the mean of the daily minimum temperature over all days of that calendar month in 1991–2020. They are not record extremes.
- Rainfall and rain days. Rainfall is the average of the 30 monthly totals. A rain day is a local day with at least 1 mm of precipitation; we count them for each month and average over 30 years.
- Elevation. Temperatures are moved from the model cell's elevation to the city's elevation at 6.5°C per kilometre.
- Daylight. Calculated from the city's latitude with standard solar-position formulae (sunrise and sunset when the centre of the sun is 0.833° below the horizon) and averaged over the days of each month. It is the astronomical day length, not measured sunshine; polar day and polar night appear as 24 and 0 hours. Compared with an independent calculation of the same quantity (Meeus, Astronomical Algorithms), 83.3% of the place-months agree within 3 minutes and 99.2% within 6 minutes; the largest gap is 26.9 minutes, at 78°N (Longyearbyen, October). This comparison covers 7,426 places (89,112 place-months) and was measured on 2026-10-26.
- Pleasant months. A month counts as pleasant on a city page when it has an average high between 18°C and 29°C, average low of at least 5°C and at most 8 rain days. This is a simple rule on temperature and rain only.
Which cities are included
7,426 places from GeoNames: 7,386 with at least 70,000 inhabitants, and 40 national capitals below that size. When several places share one 0.1° model cell, only the most populous is shown. National capitals are an exception: 4 capitals have their own pages in an already represented cell. Their temperatures come from that same cell and differ only by the elevation adjustment. Temperatures normally come from the nearest land cell. When its elevation differs from the place's own by more than 400 m, we use the nearest other land cell within 25 km that no other page uses and whose elevation is within 400 m of the place's own. This applies to 80 places; each page states the distance. A place is left out when no land cell lies within 25 km, or when no such cell exists and the place is not marked Approximate (see below). We also left out 102 places where the model's rainfall or temperature is physically implausible or far from what weather stations and the station-based WorldClim climatology report (for example in Colombia, Ecuador, Venezuela, China), and 160 districts of larger cities and duplicate entries.
12 places are marked Approximate: no free land cell within 25 km lies within 400 m of the place's own elevation, so the temperatures carry a larger elevation adjustment. Each such page states the difference and the shift.
How accurate are the numbers?
We compared our monthly values with the official NOAA U.S. Climate Normals 1991–2020, measured at weather stations in 15 large U.S. cities. Average monthly highs differed by 1.5°C on average and lows by 1.3°C. Our highs ran 1.1°C cooler than the stations on average. The largest gap was in Los Angeles, where our highs were 3.4°C warmer than the station over the year and up to 7.6°C apart in a single month. Yearly rainfall differed by a median of 11% and by up to 39%.
Part of each gap is real: a station, often at an airport, is not the same place as the model cell around the city centre. Use the numbers to compare months and places, not to plan around a particular day.
Outside the United States we compared 1,099 pairs of an atlas city and the nearest climate station (within 15 km) in 152 countries, using the long-term normals that national weather services publish through the WMO World Weather Information Service. Those normals cover different periods: 56 pairs use 1991–2020 like our data, 341 use 1981–2010, 526 use other periods and 176 do not state one. Part of each gap is therefore climate change and not model error.
- Temperature, all pairs. Yearly average highs differed by 1.1°C and lows by 1.3°C on average. Our highs ran 0.8°C cooler and our lows 0.9°C warmer than the stations. For 42 of 1,079 pairs our highs were more than 3°C too cool. Differences in elevation between a city and its model cell can contribute to temperature gaps.
- Like for like. For the 56 pairs whose normals cover the same 1991–2020 period as our data, our highs ran 1.2°C cooler and our lows matched the stations. Across all pairs the lows look 0.9°C warmer; the gap is much smaller here, which suggests that older normals explain a large part of it.
- Rainfall. Yearly rainfall differed by a median of 13%. For 737 of 1,086 pairs (68%) it was within 20%, and for one in ten it was off by more than 41%. In 12 cases the model gave at least twice the station's rainfall and in 10 at most half.
- Rain days. Where the service counts days with at least 1 mm like we do (181 pairs), our count was a median of 23% higher. Reanalysis tends to produce many light-rain days, so treat rain-day counts as an upper estimate.
Words used on the pages
Descriptions such as "mild" or "wet" follow fixed thresholds. Temperature words describe a month's average daily high; rain words describe its average total rainfall.
- freezing: below 0°C
- cold: 0 to under 8°C
- cool: 8 to under 15°C
- mild: 15 to under 22°C
- warm: 22 to under 28°C
- hot: 28 to under 34°C
- very hot: 34°C and above
- very dry: under 15 mm a month
- fairly dry: 15 to under 40 mm a month
- moderately wet: 40 to under 90 mm a month
- wet: 90 to under 180 mm a month
- very wet: 180 mm a month and more
In months whose average high is below 2°C most precipitation falls as snow, so those months say "precipitation" instead of "rain".
Limits
- Reanalysis data are model estimates, not readings from a weather station. Coasts, mountains and dense cities can differ from the surrounding grid cell.
- Precipitation comes from a coarser grid than temperature (about 28 km), so rainfall near coasts and hills is smoothed. Neighbouring cities can share one rainfall cell and then show identical rainfall; each city page names up to three other places that share its rainfall cell and day boundary.
- In steep terrain, especially in the tropics, the model can give several times the rainfall that stations measure. We left out the clearest cases but not every one, so treat rainfall in mountain cities with extra caution.
- The data contain air temperature and precipitation only. There is no humidity, wind, sunshine, UV or sea temperature.
- Averages hide year-to-year variation. A given May can be much warmer, cooler or wetter than the average.
- The period ends in 2020, so recent years can differ from a 1991–2020 average.
Privacy
ClimaNote sets no cookies and loads no third-party scripts, fonts or trackers. Your choice of °C or °F and of light or dark theme is stored in your own browser and is never sent to us. The hosting provider, Vercel, processes standard server request logs.
Corrections and contact
If a number looks wrong or a place is missing, write to hello@climanote.app and include the page address.