Data: NOAA daily observations and 1991–2020 daily normals, fetched live from the ACIS web service (data.rcc-acis.org). Each city uses its official airport (or Central Park for New York) climate station. The normals are the same 1991–2020 baseline for every year shown. Data for the last few days is preliminary.
I would prefer not to use the normal because of the ongoing secular warming trend in the data, but the app is using NOAA data and that is the word they use. Here is more .
There are two kinds of average in the app.
1. The “normal” for each day (the baseline every column is measured against)
The app doesn’t calculate these itself. It downloads NOAA’s official 1991–2020 daily normals for each weather station, published by the National Centers for Environmental Information. Roughly, NOAA makes them like this:
Start with 30 years of readings from the station, 1991 through 2020.
Fill gaps and adjust for changes. Missing days are estimated from nearby stations. Records are adjusted for things like station moves or new instruments, so the 30 years are comparable. For example, Denver’s airport station only opened in 1994, so its first few years come from those estimates. By contrast, New York (Central Park), NY has data going back to 1869.
Calculate monthly averages first, for example the average January high.
Fit a smooth curve through the 12 monthly values to get a value for every calendar day.
Averaging each date directly, say all 30 March 19ths, would give a jagged line, because one freak warm day moves that date’s average by a degree (1°F, about 0.6°C). The curve instead rises and falls smoothly through the year. For example, Denver’s normal high goes 44°F, 44°F, 44°F (6.7°C)… in early January and creeps up a degree Fahrenheit (about 0.6°C) every few days.
A few things follow from this:
Whole degrees: NOAA’s data service gives the normals rounded to whole °F (steps of about 0.6°C).
Same baseline for every year: a 1950 chart is compared with 1991–2020 normals too. It shows how 1950 compares with recent climate, not with the climate of its own time.
Each station has its own normals. For example, Denver is compared with Denver airport’s history, not with a regional average.
2. The averages in the summary boxes (“Highs vs. normal +5.2°F” or +2.9°C)
The app calculates these: it adds up each day’s difference (actual minus normal) and divides by the number of days with data. Days with a missing reading are left out, so the box also shows the day count.