Dataset quality · Atmo France / Airparif — French regional air quality networks
France Air Quality
Annual air quality measurements from Atmo France regional networks and Airparif (Paris). Covers NO₂, ozone exceedance days, and PM2.5 for all 13 metropolitan regions from 2004 to 2024. Includes EU legal limits and WHO guidelines as benchmarks.
Frequency
Annual
Coverage
2004 → 2024, 13 metropolitan regions
Columns
7
Column group 1 / 4
Temporal coverage — 20 years, annual resolution
Annual means from 2004 to 2024. The 2020 lockdown year is complete and validated.
yearGoodColumn group 2 / 4
Geography — 13 metropolitan regions
All 13 metropolitan regions. DOM-TOM excluded — different regulatory frameworks and monitoring networks.
region_codeGoodColumn group 3 / 4
Pollutants — NO₂, ozone, PM2.5
Three core pollutants from Atmo France regional networks. NO₂ and PM2.5 are annual means; ozone is counted as exceedance days above the 120 µg/m³ threshold.
Ozone coverage is rated Fair: rural station density varies by region, which can undercount peak episodes in lower-monitored areas.
no2_meanGoodo3_daysFairpm25_meanGoodColumn group 4 / 4
Benchmarks — EU limits and WHO guidelines
Two reference systems: EU legal limits (NO₂: 40 µg/m³, PM2.5: 25 µg/m³) and WHO guidelines (NO₂: 10, PM2.5: 5). The gap between them defines the policy debate.
The eu_exceedance column reflects station-level breaches, not regional averages — a region can comply on average while individual stations exceed limits on high-traffic corridors.
no2_vs_2015Goodeu_exceedanceFairStories built on this dataset
2023 · France
The Air We Breathe
No French region meets WHO air quality guidelines. The gap between EU legal limits and safe air is larger than it looks.
2004 – 2024 · France
The Lockdown Experiment
Paris NO₂ fell 29% in 2020 — equivalent to 10 years of normal progress. The largest unplanned air quality experiment in history.
Source
France Air Quality
Atmo France / Airparif — French regional air quality networks · Annual
2004 → 2024, 13 metropolitan regions
Timestamp
yearintegerGoodCalendar year
Geography
region_codestringGoodpollutants
no2_meanfloatGoodo3_daysintegerFairpm25_meanfloatGoodbenchmarks
no2_vs_2015floatGoodeu_exceedancebooleanFair