Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Clear Hour: I Committed an Air-Quality Forecast to Git Before the Day Started, Then Scored It in Public

Description and use

Clear Hour publishes a 24‑hour air‑quality forecast, ranks hours from cleanest to dirtiest, and commits it to git before the day starts. After the day, a scoring script compares the forecast to real sensor data, revealing that all models mis‑ranked the optimal window for outdoor activity.

Problem

Users in Islamabad need a reliable hourly air‑quality forecast to decide when to go outside, but existing apps provide only a single stale daily value.

Outcome

On the first scored day (2026‑10‑11) all three models ranked hours backwards: the cleanest real window (17:00–19:00) was missed by every model, and the chosen windows were among the dirtiest. Raw CAMS sent users outside at 05:00–07:00, the second‑dirtiest window. TabPFN and B2 selected earlier windows and underestimated evening cleanliness.

Workflow

  • 1. Pull Open‑Meteo CAMS forecast and Open‑Meteo weather archive for the target day.
  • 2. Retrieve recent OpenAQ sensor readings for training and scoring.
  • 3. Fit three models: raw CAMS (B0), CAMS + hour‑bias (B2), and TabPFN v2 (M1) on recent sensor data.
  • 4. Generate hourly PM2.5 predictions for the target day with each model.
  • 5. Rank hours by predicted PM2.5 and select the cleanest 2‑hour window.
  • 6. Commit the forecast JSON to the Git repo before the day starts.
  • 7. After the day ends, run the scoring script to compare predictions to actual sensor measurements and compute MAE, bias, Spearman rank, and actual values in the chosen window.

Evidence

Clear Hour ranks tomorrow's 24 hours by how breathable the air will be in Islamabad/Rawalpindi, using TabPFN v2, an open-weight tabular foundation model running locally on my laptop CPU, to correct a free government air-quality forecast against a year of real sensor readings.

Source

The forecast for a day gets committed to git before that day begins, and I never touch that file again.

Source

Every value in the Spearman column is negative. Negative means the ranking ran opposite to reality: hours the model called cleaner tended to be dirtier.

Source

  • Record date: 2026-10-12T03:41:30.369Z