~ $ cd projects/no2 && cat README.md
NO2 by the hour and the month
Nitrogen dioxide in a city is mostly traffic. The Generalitat de Catalunya measures it every hour at fixed points and publishes every reading since 1991. Looked at a day at a time it is noise. Averaged by hour of the day and month of the year, it is a picture:
| Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 01 | 48 | 55 | 55 | 44 | 39 | 37 | 31 | 30 | 43 | 52 | 49 | 49 |
| 02 | 43 | 50 | 52 | 44 | 42 | 38 | 33 | 32 | 43 | 48 | 45 | 44 |
| 03 | 40 | 45 | 49 | 42 | 42 | 37 | 34 | 33 | 40 | 44 | 40 | 41 |
| 04 | 36 | 41 | 44 | 41 | 40 | 38 | 35 | 33 | 38 | 39 | 37 | 38 |
| 05 | 34 | 38 | 42 | 38 | 39 | 38 | 35 | 31 | 36 | 36 | 35 | 35 |
| 06 | 35 | 40 | 42 | 40 | 40 | 40 | 39 | 33 | 37 | 37 | 36 | 36 |
| 07 | 40 | 44 | 47 | 46 | 46 | 46 | 46 | 38 | 42 | 41 | 40 | 40 |
| 08 | 47 | 52 | 54 | 53 | 52 | 53 | 53 | 44 | 49 | 48 | 48 | 46 |
| 09 | 53 | 57 | 58 | 57 | 56 | 57 | 57 | 46 | 53 | 52 | 53 | 50 |
| 10 | 52 | 56 | 57 | 56 | 53 | 53 | 53 | 44 | 53 | 53 | 54 | 51 |
| 11 | 51 | 55 | 52 | 50 | 46 | 44 | 43 | 37 | 49 | 53 | 52 | 50 |
| 12 | 52 | 52 | 43 | 41 | 37 | 34 | 31 | 29 | 41 | 49 | 52 | 52 |
| 13 | 50 | 46 | 36 | 34 | 31 | 29 | 26 | 23 | 32 | 42 | 49 | 51 |
| 14 | 47 | 39 | 31 | 29 | 26 | 25 | 22 | 18 | 25 | 36 | 46 | 49 |
| 15 | 43 | 35 | 28 | 24 | 23 | 21 | 18 | 15 | 21 | 31 | 41 | 46 |
| 16 | 42 | 35 | 28 | 24 | 23 | 21 | 19 | 15 | 20 | 30 | 42 | 45 |
| 17 | 46 | 38 | 31 | 24 | 24 | 21 | 20 | 15 | 22 | 32 | 46 | 48 |
| 18 | 54 | 46 | 35 | 26 | 27 | 23 | 21 | 16 | 24 | 37 | 56 | 57 |
| 19 | 61 | 55 | 41 | 29 | 29 | 26 | 23 | 18 | 27 | 42 | 63 | 62 |
| 20 | 63 | 60 | 47 | 33 | 33 | 29 | 26 | 21 | 30 | 48 | 66 | 64 |
| 21 | 63 | 64 | 53 | 39 | 37 | 32 | 28 | 24 | 35 | 52 | 66 | 65 |
| 22 | 61 | 65 | 56 | 42 | 39 | 34 | 30 | 26 | 37 | 55 | 64 | 63 |
| 23 | 58 | 63 | 57 | 43 | 40 | 34 | 31 | 27 | 38 | 56 | 60 | 59 |
| 24 | 53 | 59 | 57 | 43 | 39 | 35 | 30 | 28 | 41 | 55 | 54 | 53 |
The mean of each year, every day of the week
Source: Generalitat de Catalunya, Xarxa de Vigilància i Previsió de la Contaminació Atmosfèrica. Dades obertes. The dataset, at its source. This site keeps sums of the finished years 1991 to 2025, last added to on 21 September 2026.
Each cell is the mean, in µg/m³, of every measurement taken at that hour in that month over the years selected. The colour says whether it is good or bad before the number is read: green is clean, red is the European annual limit of 40, and purple going to black is beyond it. Press a bar to see one year alone.
What is in it
At Barcelona's Poblenou, a station away from the big roads, over its whole record:
- Two ridges. The morning one peaks at hour 09 and is there all year. The evening one, around hours 20 to 22, is the higher of the two from November to February, and by July it is less than half of what it was in January.
- The afternoon. Between the ridges is a valley, deepest at hours 16 and 17 in August, at 15 µg/m³: a quarter of a January evening.
- August. Its mean is 28 µg/m³; no other month is below 33. The city leaves, and it shows at every hour.
- The week. From Monday to Friday the mean is about a quarter higher than on Saturdays and Sundays. Choose the weekends and the morning ridge is gone.
- The years. 57.4 µg/m³ in 2003, 36.7 in 2019, 29.0 in 2020, 22.0 in 2025. It has not been over the European limit of 40 since 2017.
Choose the Eixample, which measures traffic, and the same shape is there in purple: 70 µg/m³ in 1999, 49.5 in 2019, 35.2 in 2020. The year of the lockdowns was its first under the limit; 2022 went back over it, and 2025 closed at 29.1. The same shape, higher or lower, is at every urban station here.
Height
Choose the Observatori Fabra. It is in Barcelona, 415 m up the hill the city climbs, and its table is green: 7.4 µg/m³ in 2025, when the Eixample below it closed at 29.1 and Poblenou at 22.0. It has no rush hours either. Its highest cells are late morning in summer and late afternoon in winter, and none of them reaches 20; its lowest are the early morning, just when the streets below are filling. Same city, same traffic: little of it is measured up there.
The other green table is La Castanya, in the Montseny, where the yearly mean has stayed under 4 µg/m³ since 2013: that is what air with no road under it measures. Those two are the only stations of these eleven that ended 2025 under the 10 µg/m³ the WHO has recommended since 2021.
What it is not
The cells are means, and a mean hides the bad days. Public holidays are counted as whatever day of the week they fell on. The dataset numbers its hours 01 to 24 and does not say by which clock. A year drawn as an outline had less than three quarters of its hours measured; Eixample has no 2010 at all. These are open data added up, not validated science: for anything that matters, go to the source.
Where it comes from
I first drew this table in 2021, for myself, in a small app that asked the portal for everything on every visit. This page is that analysis again, with the asking moved out of the reader's way: the site keeps the sums, a finished year at a time, and asks the portal only when a year has ended.