Transboundary Haze Monitoring
Kalimantan · Sumatera · Malaysia · Singapore
About This System
This dashboard monitors transboundary haze — smoke and particulate pollution that crosses national borders — across Kalimantan, Sumatera, Malaysia, and Singapore. It is operated by the Geospatial Laboratory, Institut Teknologi Sepuluh Nopember (ITS).
The system runs continuously, not only during fire episodes. It reports ambient air quality year-round, so the same dashboard can be used to track normal background conditions, seasonal variation, and the onset of haze events. During an active fire season the particulate readings rise sharply and become the dominant signal.
Data Sources
| Source | Role | Coverage |
|---|---|---|
| WAQI — World Air Quality Index | Primary feed; aggregates national networks | 40 stations polled |
| DOE Malaysia — APIMS | National Air Pollutant Index (API) | 21 stations via WAQI |
| NEA Singapore — PSI | Pollutant Standards Index | 5 regions via WAQI |
| BMKG — Badan Meteorologi, Klimatologi dan Geofisika | National ambient air monitoring network (Indonesia) | 14 stations via WAQI |
Every station is polled through WAQI, which aggregates the national networks above. WAQI is the delivery channel, not the measuring authority: the Data owner column on the dashboard and in each map popup names the organisation that actually operates the sensor, and links to it. Attribution strings are taken verbatim from each source response.
Readings are retrieved every 30 minutes, stored in a PostgreSQL database (single source of truth), and published as the JSON snapshot this dashboard consumes. Historical values are retained for trend analysis.
Reading the AQI
The index shown uses the US EPA Air Quality Index scale, running from 0 to 500. Higher values mean worse air and greater health risk.
| AQI | Category | Meaning |
|---|---|---|
| 0–50 | Good | Air quality is satisfactory |
| 51–100 | Moderate | Acceptable; unusually sensitive people may notice effects |
| 101–150 | Unhealthy for Sensitive Groups | Sensitive groups should limit prolonged outdoor exertion |
| 151–200 | Unhealthy | Everyone may begin to experience health effects |
| 201–300 | Very Unhealthy | Health alert; significant risk to the general population |
| 301–500 | Hazardous | Emergency conditions; avoid outdoor activity |
The US EPA scale is defined only up to 500. Values reported above 500 are outside the scale and are treated here as an extrapolation, not a measurement — see Values above 500 under Method Notes below.
Method Notes and Limitations
The AQI is a maximum, not an average
The reported index is the single highest sub-index among the measured pollutants (PM2.5, PM10, O₃, CO, NO₂, SO₂), not a mean of them. A station with five clean pollutants and one elevated one will still report a high number. The dominant pollutant driving the value is shown in the table where available.
Values above 500 — extrapolation, not measurement
The US EPA AQI is defined only from 0 to 500. Some stations in this region report values above that, and those figures should be read with care.
When a value exceeds 500 the reported index stops being an independent measurement: it is derived from the particulate concentration by continuing the top segment of the AQI breakpoint table beyond its defined range. Two consequences follow, and both are visible in the data:
- The index and the PM2.5 concentration become numerically identical. A reading of 773 index with 773 µg/m³ of PM2.5 is not a coincidence — the index is being computed straight from that concentration.
- The value can move in steps that are not physically plausible. A jump of several hundred index points within a single hour reflects the arithmetic, not a real change in the air.
Values are shown exactly as the source reports them. They are not capped, rounded down, or replaced with a threshold label here, so that the record stays faithful to what the network published.
Particulate dominance during haze
During smoke episodes the index is almost always driven by PM2.5 — fine particles small enough to reach deep into the lungs. The particulate columns are therefore the most informative during an event, and are the earliest to move.
Station representativeness
Each station represents the air at its own location, not an entire city or province. Readings a few kilometres apart can differ substantially. Regional figures on the dashboard are aggregates across the stations listed, and are labelled as such.
Data availability
Some stations report intermittently or drop out entirely. Where a station has no current reading it is shown as No Data rather than being estimated or interpolated. Nothing on this dashboard is modelled or gap-filled; every value shown is a measurement reported by the source network.
Stale stations are shown but excluded from averages
A few stations in the source networks have not published a new reading for years while still being listed as active. Their last known value is real, but it describes the air on the day it was measured — not today.
Any reading older than 30 days is therefore flagged excluded in the All Stations table and left out of the regional averages, maxima, station counts and the summary cards at the top of the dashboard. The value itself is still displayed, so the record stays complete, and each affected region card states how many stations were set aside. Stations that stop reporting entirely drop out on their own.
Map and basemap
The station map uses an offline vector basemap built from Natural Earth 1:10m country geometry, clipped to the study region and simplified to roughly 200 m. No external tile server is used, so the map renders even when tile providers are unreachable or change their access terms.
The background is deliberately plain: it exists to give the station markers geographic context, not to be a street-level map. Natural Earth is continental-scale source data, so zoom is capped at level 8 (about 600 m per pixel) — close enough to separate neighbouring stations such as the five in Singapore, while the coastline geometry still reads cleanly. Zooming further would enlarge coarse polygons without revealing any additional detail, so the map does not allow it. Station coordinates in the table and popups remain exact regardless of zoom.
Update cadence
The underlying national networks publish hourly. This system polls every 30 minutes and timestamps each reading with the source's own observation time, so a station whose observation is delayed will show an older timestamp rather than a fresh one.
Contact
Geospatial Laboratory — Institut Teknologi Sepuluh Nopember, Surabaya, Indonesia.
Website: geo.its.ac.id