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:

  1. 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).
  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

  1. Per-city z-scoring of daily mean AQI + PM2.5 across the full 8-month window.
  2. Anomaly definition: z_AQI ≥ 3.0σ.
  3. PM-split classification: z_pm2_5 ≥ 2.0σ → PM-driven; else non-PM-dominated.
  4. Welch t-test + Mann-Whitney U on z_pm2_5 between the two classes.
  5. Cohen's d for effect-size.
  6. Sensitivity sweep over PM threshold {1.5, 2.0, 2.5} and anomaly threshold {2.5, 3.0, 3.5}σ.
  7. Case studies: 6-D z-profile of each post-2026-03-16 anomaly.
  8. 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

← Back to Data Lab