TerraKeepKeeping Earth within its limits
Cloud-free satellite view around Jakarta (Indonesia), with the finding area outlined
6.20°S 106.85°ENASA Blue Marble via GIBS · outline = finding area
Published

Jakarta air: modelled PM2.5 at 47.8 µg/m³, 3.2× the WHO limit, with 7 straight days above it

Jakarta (Indonesia) · seen · published

Copernicus CAMS model data for the grid cell over Jakarta put average fine-particle pollution at 47.8 µg/m³ on 26 September 2026 — 3.2 times the WHO 24-hour guideline of 15 µg/m³. Every one of the previous 7 full days was also above that line, averaging 42.1 µg/m³ with a worst day of 52.4 µg/m³. A revisit the next day found 51.8 µg/m³, an eighth day running, so this looks like a sustained episode rather than a one-day spike.

What this is not: it is not a street-level measurement. CAMS is a roughly 40 km model that smooths city hotspots and can misplace smoke or dust plumes, so the true figure in any one neighbourhood may be higher or lower. It judges PM2.5 only — ozone, nitrogen dioxide and indoor air are not assessed — and the WHO figure is a health guideline, not a legal limit. The record says nothing about where the particles came from. Context notes an El Niño phase, which can favour drier, more stagnant air, and no nearby natural events were logged.

What would change our mind: ground monitor readings near or below the guideline, or a model revision bringing daily means back under 15 µg/m³.

Written by AI, then checked by a separate reviewer before publication. Every claim points at the evidence below.

What we saw

  • cams-global — CAMS PM2.5 daily means (UTC, ≥ 18 h): 7 trailing day(s) above 15 µg/m³, latest 2026-09-26 = 47.8. (Sep 26, 2026) See the source ↗
  • cams-global — CAMS PM2.5 daily means (UTC, ≥ 18 h): 7 trailing day(s) above 15 µg/m³, latest 2026-09-27 = 56.3. (Sep 27, 2026) See the source ↗
  • cams-global — CAMS PM2.5 daily means (UTC, ≥ 18 h): 8 trailing day(s) above 15 µg/m³, latest 2026-09-28 = 51.5. (Sep 28, 2026) See the source ↗
  • cams-global — Still above 15 µg/m³ on 2026-09-27: 51.8 µg/m³ (8 days running). (Sep 27, 2026) See the source ↗

What it might not be

  • CAMS is a ~40 km model, not a ground monitor; city hotspots are smoothed and plumes can be misplaced.
  • The confirmation is a later reading from the same dataset (a revisit), not an independent instrument.
  • PM2.5 only — ozone, NO₂ and indoor air are not assessed.
  • The WHO 15 µg/m³ figure is a health guideline, not a legal limit.
  • No source or cause is identified; global feeds can go stale or be revised.
  • ENSO phase is background context only, not an explanation of this episode.
  • Air quality: CAMS is a ~40 km model, not a monitor; it smooths city hotspots and can misplace dust and smoke plumes.
  • Air quality: PM2.5 only — ozone, NO₂ and indoor air are not judged, and the WHO guideline is a health line, not a legal limit.
  • All: global zero-key feeds can go stale or be revised; a threshold crossing is a signal to look, not a verdict on cause or impact.

What would change our mind

Newer satellite images that show no change, a correction from the data source, or a reply with evidence from the ground. If that happens, the case is marked “Turned out wrong” — in public — and it stays on this site.

Why this was published

Two separate sources agreed — cams-global, then cams-global — and a reviewer checked the evidence before it went up.

Replies

Know this place? Say what you see. Replies are checked before they appear. No account, no email.

Replies are open on the interactive site (it needs JavaScript).

Ledger id 01a0e1f0-d1c6-75a9-a7ec-2cdbd2279c64

Technical details rule, evidence ids, history, proof
Rule
indicator_threshold v1.0
Tier
T1
Tags
air-quality, city
Confirmed
Yes — independent revisit signal, 2026-09-27
Rule FP rate
11 % · 1 of 9 decided
Location
6.20°S 106.85°E
Observed
2026-09-26
Opened
2026-09-27 by automatic rule indicator_threshold v1.0
  1. candidate
  2. confirmed
  3. published
  4. resolved

Evidence4

seriescams-global

CAMS PM2.5 daily means (UTC, ≥ 18 h): 7 trailing day(s) above 15 µg/m³, latest 2026-09-26 = 47.8.

days_over 7guideline_ugm3 15pm25_daily_ugm3 47.8pm25_max_ugm3 52.4pm25_mean_ugm3 42.1times_guideline 3.2
· indicator_threshold v1.0 · cams-pm25-air-jakarta-2026-09-26
Source ↗
seriescams-global

CAMS PM2.5 daily means (UTC, ≥ 18 h): 7 trailing day(s) above 15 µg/m³, latest 2026-09-27 = 56.3.

days_over 7guideline_ugm3 15pm25_daily_ugm3 56.3pm25_max_ugm3 56.3pm25_mean_ugm3 44.4times_guideline 3.8
· indicator_threshold v1.0 · cams-pm25-air-jakarta-2026-09-27
Source ↗
seriescams-global

CAMS PM2.5 daily means (UTC, ≥ 18 h): 8 trailing day(s) above 15 µg/m³, latest 2026-09-28 = 51.5.

days_over 8guideline_ugm3 15pm25_daily_ugm3 51.5pm25_max_ugm3 56.3pm25_mean_ugm3 45.3times_guideline 3.4
· indicator_threshold v1.0 · cams-pm25-air-jakarta-2026-09-28
Source ↗
seriescams-globalConfirming signal

Still above 15 µg/m³ on 2026-09-27: 51.8 µg/m³ (8 days running).

days_over 8pm25_daily_ugm3 51.8
· indicator_threshold v1.0 · cams-pm25-air-jakarta-2026-09-27-persist
Source ↗

Context

ENSO El Niño · ONI +1.8
  • Dataset: Copernicus CAMS global forecast/analysis (~40 km) via Open-Meteo, hourly PM2.5 averaged to UTC days; last 7 days, forecast hours excluded.

Publication gates

  • Evidence — 3 pieces from cams-global — met
  • Independent confirmation — a different revisit (cams-global), 2026-09-27 — met
  • Human approval — 1 of 1 needed at tier 1 — met
  • Narration — AI-drafted by claude-opus-5 — met
Published
2026-09-29 by AI model
Narrated By
AI model
Reviewed By
AI model
Policy
2026-09-26-autonomous
Note
autonomous publish: narrated by model:claude-opus-5, reviewed by model:claude-sonnet-5 (policy 2026-09-26-autonomous)

History7

  1. status changed → publishedAI model
  2. reviewed → confirmedAI model
  3. narrated → confirmedAI model
  4. evidence added → confirmedautomatic rule indicator_threshold v1.0
  5. evidence added → confirmedautomatic rule indicator_threshold v1.0
  6. confirmed → confirmedautomatic rule indicator_threshold v1.0
  7. created → candidateautomatic rule indicator_threshold v1.0

Verify

Checkpoint
earthdeck.dev/findings/v1 · 854 entries
Signed root
842817ab26f9…f7aace
This case
7 signed events
Leaf
#853 of 854 — this case’s latest event
Leaf hash
5a4e568d33da…420c9a
Proof
6-hash audit path
  1. 94aae1b511ce29e63c7cfbbb37c43621ca77021f4f70c98c5aee12b4f87f31cd
  2. 5e8532bb66f38819a362e52eea9998bec42bc015738e255b6c13e815a0ef77ee
  3. aea69075b9d095d178d2edc12756df29bc1989f8abdec24102807ec1963252c1
  4. 71a85e208c2f8dc340522e3deb6239caf3cc060a8c75b6fd8407e3d5de5d060d
  5. b151de5eaefddf3d1cfc86f94cdbc3995ed5d406a6c0acfc99649a5d48d50794
  6. 5f7580b7f5a7f09ff7675565fb36c19876079a6c101f721419a5a07a7a23b1c1
Last event
d19cc4a6d307…75b78f
Note
Checkpoint text
earthdeck.dev/findings/v1
854
hCgXqyb5olIe961gFNy5VKlZ6TWfV4qJ9cOpLH33qs4=

— earthdeck TkCXv4aDxvyvQYJRvBgPtDUJOpfIw1HGQb9y5odOvbIhnVuG/sWj9/xVVekah5GQglG6yeUuq+KqfNruZfqFA2D32Qg=

Re-derive every entry, signature and trust rule yourself:

npx -y earthdeck ledger verify --remote https://vitalearth.io