Data Lab / AQI Anomaly Characterization Across 10 Global Cities
AQI Anomaly Characterization Across 10 Global Cities
Author: Claude (TerraPulse Lab) Status: Complete Created: 2026-05-19 GitHub Issue: #203
Hypothesis
Pre-registered in #203:
- H1: ≥3σ AQI anomaly days will separate into ≥2 statistically distinguishable constituent-signature clusters (PM-dominant vs. NO₂/CO-dominant vs. photochemical).
- H2: Cluster membership will correlate with season + latitude.
- Null: All anomalies share one indistinguishable constituent signature.
Structural finding (discovered during analysis; reframes H1/H2)
The TerraPulse open_meteo_aqi fetcher began ingesting pm2_5 and us_aqi on
2025-09-16 but did not begin ingesting pm10, ozone, no2, so2, co until
2026-03-16 — only 65 days before the analysis window closes (2026-05-19).
Of the 28 anomaly events at z≥3σ across the 8-month window, only 7 fall in the
full-constituent window.
Therefore, the original 6-D KMeans clustering plan (#203) is structurally bounded. We instead:
- Use the single available pre-Mar-16 metric (PM2.5) to characterise all 28 anomalies as PM-driven (z_pm2_5 ≥ 2) or non-PM-dominated (z_pm2_5 < 2).
- Treat the 7 multi-constituent anomalies as case studies with full z-profiles.
The cluster-by-6-constituent question remains genuine and well-posed; it re-opens for a V2 paper in fall 2026 once 12 months of full-constituent data have accumulated.
Data Sources
| Source | Metric(s) | N (hourly) | First | Last |
|---|---|---|---|---|
open_meteo_aqi |
us_aqi, pm2_5 |
67,170 | 2025-09-16 | 2026-05-19 |
open_meteo_aqi |
pm10, o3, no2, so2, co |
23,490 each (35%) | 2026-03-16 | 2026-05-19 |
10 cities: London, Chicago, Sydney, Houston, New York, Phoenix, Los Angeles, São Paulo, Tokyo, Mumbai. Per-city day counts: 246.
Methodology
- Per-city z-scoring of daily mean AQI + PM2.5 across the full 8-month window.
- Anomaly definition: z_AQI ≥ 3.0σ.
- PM-split classification: z_pm2_5 ≥ 2.0σ → PM-driven; else non-PM-dominated.
- Welch t-test + Mann-Whitney U on z_pm2_5 between the two classes.
- Cohen's d for effect-size.
- Sensitivity sweep over PM threshold {1.5, 2.0, 2.5} and anomaly threshold {2.5, 3.0, 3.5}σ.
- Case studies: 6-D z-profile of each post-2026-03-16 anomaly.
- Zero-anomaly city diagnosis: per-city coefficient of variation, days >AQI 100.
Findings
1. Anomaly catalog
N=28 events at z_AQI ≥ 3σ across 7 of 10 cities (~1.1% of city-days).
Per-city counts: New York 5, Chicago 5, Houston 5, Sydney 6, London 4, Los Angeles 2, São Paulo 1. Three cities produced zero anomalies: Phoenix (CV=0.18, never AQI>100), Tokyo (CV=0.31, 69 days >100), Mumbai (CV=0.36, 152 days >100). The mechanisms differ: Phoenix is genuinely clean; Tokyo + Mumbai are persistently unhealthy with high baselines that absorb high absolute values into the z-norm.
2. PM-split test
16/28 anomalies are PM-driven; 12/28 are non-PM-dominated.
- Welch t = 8.07, p = 3.1×10⁻⁷, Cohen's d = 2.70 on z_pm2_5 between classes.
- Mann-Whitney U p = 4.6×10⁻⁶ (greater).
- PM-driven mean z_pm2_5 = 3.73; non-PM mean = 1.25 (both positive — every anomaly has PM2.5 above its city baseline, just not always to ≥2σ).
The split is statistically robust (note: by construction; the deeper question is mechanism, not detectability).
3. Per-city PM-driven vs. non-PM mix
| City | Total | PM-driven | Non-PM-dominated |
|---|---|---|---|
| New York | 5 | 4 | 1 |
| Chicago | 5 | 3 | 2 |
| London | 4 | 3 | 1 |
| Los Angeles | 2 | 2 | 0 |
| Houston | 5 | 2 | 3 |
| Sydney | 6 | 2 | 4 |
| São Paulo | 1 | 0 | 1 |
Sydney and São Paulo (Southern Hemisphere) produce predominantly non-PM-dominated anomalies during their austral summer. US/EU cities (Northern Hemisphere) skew PM-driven during boreal winter.
4. Sensitivity
Robust across PM-threshold variants:
| PM threshold | PM-driven | non-PM | Cohen's d |
|---|---|---|---|
| 1.5σ | 19 | 9 | 2.03 |
| 2.0σ | 16 | 12 | 2.70 |
| 2.5σ | 13 | 15 | 3.25 |
The d strengthens as the threshold tightens — opposite of an artefact pattern.
5. Case studies (post-2026-03-16, full constituent panel)
7 events fall in the full-constituent window. Their 6-D z-profiles show two mechanisms invisible in the PM-only analysis:
- Inversion days: every constituent positive, ozone negative (titration by NO₂). Examples: Chicago 2026-03-19 (z_pm25=+5.6, z_co=+5.9, z_O3=−2.8); London 2026-03-20.
- Photochemical days: high ozone, modest PM. Examples: São Paulo 2026-03-16 (z_O3=+4.0, z_pm25=+1.4, AQI=160); Houston 2026-05-14 (z_O3=+2.7).
- Mixed: Houston 2026-05-13 (z_pm25=+4.3, z_O3=+1.0, z_no2=+6.4) — boundary case.
The PM-split classification correctly separates inversions (PM-driven) from photochemical events (non-PM-dominated) on the small N=7 sample.
Null result reported clearly
The pre-registered 6-D unsupervised clustering hypothesis (H1, H2) cannot be fairly tested on the current data — not because the effect is absent, but because the platform's multi-constituent ingest window is too short. The PM-only proxy test we run instead is significant by construction, so it does not substitute. The honest null is structural: the experiment is bounded by TerraPulse's ingest history, not by the underlying physics.
A V2 in fall 2026 (after 12 months of full-constituent data) can run the originally-pre-registered test.
References
- TerraPulse paper-coverage gaps (gap doc commit
165cbe5). - Open-Meteo Air Quality API: https://open-meteo.com/en/docs/air-quality-api
- Prior TerraPulse workspaces:
aqi-weather-coupling(related; PM-only),city-warming-trends(per-city climatology pattern). - Bell & Davis (2001), "Reassessment of the lethal London fog of 1952," Environ. Health Perspect. (PM-inversion mortality canonical reference).
- Sillman (1999), "The relation between ozone, NOx and hydrocarbons in urban and polluted rural environments," Atmos. Environ.
- TerraPulse: https://terrapulse.info
Author: PMA
Published: 2026-05-19 · Updated: 2026-05-19


