From µg/m³ to Air Quality Index: How to Calculate Indonesian ISPU from Continuous AQMS Sensor Data
Learn how to mathematically convert raw µg/m³ pollutant data from your AQMS sensors into the official Indonesian Air Pollution Standard Index (ISPU).
Raw pollutant data pouring out of an AQMS (Air Quality Monitoring System) in $\mu\text{g/m}^3$ isn’t the same thing as the official Air Pollution Standard Index (ISPU). The Indonesian Ministry of Environment and Forestry (through Permen LHK No. 14 Tahun 2020) requires a specific mathematical interpolation formula and a tiered breakpoint table to make that conversion. When a monitoring dashboard suddenly flashes yellow or red, field operators need to know exactly how the system arrived at that number.
We’re going to break down how to calculate ISPU from sensor time-series data. We will also look at how systems assign the critical parameter, the actual difference between hourly and daily reporting, and how to prove that your dashboard’s automated calculation algorithm isn’t just making things up.
From Physical Concentration to an Index Value
An AQMS station physically measures pollutants. It detects gas concentrations using electrochemical or optical methods like NDIR. It quantifies particulate mass by bouncing lasers off dust particles (laser scattering). The raw output is simply mass per volume. That usually means micrograms per cubic meter ($\mu\text{g/m}^3$), or parts-per-million (ppm) for specific gases.
The problem is that the public and regulatory auditors don’t read air quality in $\mu\text{g/m}^3$. They read the ISPU. Article 1 of Permen LHK 14/2020 defines the ISPU as a dimensionless number that describes ambient air quality. It acts as a standardized scale for how local air affects human health, aesthetic value, and the surrounding ecosystem.
You can’t just guess when translating completely different physical variables into a single index scale from 0 to over 300. The math has to be precise. More importantly, it has to be legally compliant if you want the data to survive a regulatory audit.
The 7 Official Parameters and Breakpoints
According to Permen LHK No. 14 Tahun 2020, a complete ISPU calculation has to cover 7 specific parameters: Particulate Matter 10 $\mu\text{m}$ (PM10), Particulate Matter 2.5 $\mu\text{m}$ (PM2.5), Sulfur Dioxide (SO2), Carbon Monoxide (CO), Ozone (O3), Nitrogen Dioxide (NO2), and Hydrocarbons (HC).
The regulation provides a strict breakpoint table that forces the physical data into one of five color-coded classifications:
- Good (0–50): Green.
- Moderate (51–100): Blue.
- Unhealthy (101–200): Yellow.
- Very Unhealthy (201–300): Red.
- Hazardous (>300): Black.
To give you an idea of the scale, here are the upper concentration boundaries for a few key parameters. This data comes straight from the appendix to Permen LHK 14/2020. (These assume 24-hour measurement periods for particulates and gases, except for O3 which uses 1-hour and 8-hour blocks, and CO which uses 8 hours).
| ISPU | Category | PM2.5 ($\mu\text{g/m}^3$) | PM10 ($\mu\text{g/m}^3$) | SO2 ($\mu\text{g/m}^3$) | NO2 ($\mu\text{g/m}^3$) |
|---|---|---|---|---|---|
| 50 | Good | 15.5 | 50 | 52 | 80 |
| 100 | Moderate | 55.4 | 150 | 180 | 200 |
| 200 | Unhealthy | 150.4 | 350 | 400 | 1,130 |
| 300 | Very Unhealthy | 250.4 | 420 | 800 | 2,260 |
(Note: Carbon monoxide, hydrocarbons, and ozone have completely different concentration thresholds that your software engineers must hardcode into the algorithm).
The ISPU Linear Interpolation Formula
You don’t calculate the sub-index for a pollutant using a flat percentage. The regulation demands piecewise linear interpolation. The official appendix provides the exact formula:
$I = \frac{I_a – I_b}{X_a – X_b} \times (X_x – X_b) + I_b$
What the variables mean:
- $I$: The final calculated ISPU value.
- $I_a$: The upper ISPU limit of the target category.
- $I_b$: The lower ISPU limit of the target category.
- $X_a$: The upper ambient concentration limit of that category ($\mu\text{g/m}^3$).
- $X_b$: The lower ambient concentration limit of that category ($\mu\text{g/m}^3$).
- $X_x$: The actual real-world concentration measured by your sensor ($\mu\text{g/m}^3$).
Worked Example: PM2.5 Calculation
Let’s say an industrial station records a 24-hour average PM2.5 concentration of 35.0 $\mu\text{g/m}^3$.
- Find the range: The reading of 35.0 $\mu\text{g/m}^3$ falls cleanly between 15.6 and 55.4 on the PM2.5 breakpoint table. That puts the air in the Moderate category.
- Lock in the boundary variables:
- $X_x = 35.0$
- $X_a = 55.4$ (upper concentration limit)
- $X_b = 15.6$ (lower concentration limit)
- $I_a = 100$ (upper ISPU limit for Moderate)
- $I_b = 51$ (lower ISPU limit for Moderate)
- Run the math:
$I = \frac{100 – 51}{55.4 – 15.6} \times (35.0 – 15.6) + 51$
$I = \frac{49}{39.8} \times (19.4) + 51$
$I \approx 1.231 \times 19.4 + 51$
$I \approx 23.88 + 51 = 74.88$ - Round the result: The final reported ISPU value is 75 (Moderate).
The Critical Parameter Logic
When a station tracks all seven parameters at once, how does the dashboard spit out just one number for the entire location?
The system does not average the sensor readings together. Instead, it looks at the individual sub-indices for every pollutant and simply grabs the highest value. Whichever pollutant scored the worst during that reporting period takes over. The government calls this dominant pollutant the “Critical Parameter” (Parameter Kritis).
Look at this simulated scenario:
- PM2.5 Sub-index = 75
- PM10 Sub-index = 42
- SO2 Sub-index = 28
- NO2 Sub-index = 35
- CO Sub-index = 15
The station drops everything else and reports an ISPU of 75 (Moderate). The Critical Parameter attached to that report is PM2.5.
This logic is the backbone of proper monitoring dashboard design for sensor data. Telemetry software has to dynamically swap the critical parameter label the second the air quality status shifts. If a chemical leak happens, the operator needs to see the dashboard immediately switch the blame from particulate dust to sulfur dioxide.
Time Averaging: Instant Fluctuation vs. 24-Hour Compliance
People often get confused by momentary emission spikes. Say a heavy truck rolls past the site and kicks up a massive cloud of dust. The instantaneous PM10 sensor reading goes through the roof for five straight minutes. Yet, the station’s ISPU indicator doesn’t budge from the green zone. Why?
Raw sensors pull data minute-by-minute. That feed is full of high-frequency noise. But the ISPU formula measures sustained human exposure, meaning the algorithm aggregates the concentration over a set averaging time. A brief five-minute dust spike gets completely swallowed by the moving average calculation. The dashboard won’t trigger a Hazardous status unless that bad air actually sticks around.
The appendix to Permen LHK 14/2020 sets up very distinct reporting schedules:
- PM2.5: You have to update and report the calculated results every hour over a 24-hour period. Software usually handles this with a moving average or an accumulated running-hour approach. It looks a lot like the EPA’s NowCast methodology.
- Everything Else: You must report the calculated results at least twice a day (at 09:00 and 15:00 WIB). These numbers rely on continuous 24-hour accumulated measurement data.
A reliable station data logger has to aggressively filter sensor data quality anomalies before doing any math. If a sensor drops offline for an hour, the algorithm cannot be allowed to inject zero values into the rolling average. Doing that would artificially drag the calculated concentration down and make the air look far cleaner than it actually is.
Correlating ISPU 100 with National Ambient Standards
An ISPU score carries serious environmental legal weight in Indonesia. The exact tipping point for the Moderate category (an ISPU of 100) is deliberately aligned with the National Ambient Air Quality Standards.
Open Appendix VII of Government Regulation (PP) No. 22 Tahun 2021. The daily ambient air quality standard for PM2.5 is capped at 55 $\mu\text{g/m}^3$. Now look at the Permen LHK 14/2020 conversion table. The absolute upper limit for PM2.5 before leaving the Moderate ISPU category is 55.4 $\mu\text{g/m}^3$. That alignment isn’t an accident.
The second an ISPU value crosses 100 and hits “Unhealthy,” that facility has objectively violated the national ambient air standard for that pollutant. When engineering teams build industrial SCADA alarm threshold configurations, they have to account for this. The software needs a clear split between an early warning alarm (as the number creeps toward 95) and a hard regulatory compliance failure alarm.
Auditing the Algorithm in Your AQMS Dashboard
HSE teams are frequently asked to prove their monitoring systems actually work when the environmental auditors show up. Fortuna Argatech builds an integrated Air Quality Monitoring System (AQMS) line for exactly this reason. By wiring weather station hardware and air quality sensors into a GEOVOS 1000 data logger, the heavy computation that turns raw telemetry into an official ISPU value happens transparently in the cloud.
If you are currently evaluating an environmental software vendor, run their dashboard through this basic algorithm check:
- Test the breakpoints: Feed the system extreme boundary values. Watch to see if the category shifts at the exact correct decimal point.
- Break the moving average: Pull the raw 1-minute data and compare it against the 24-hour averaged output. You should clearly see the mathematical smoothing effect.
- Force a critical parameter swap: Inject fake data where CO spikes violently higher than PM2.5. See if the dashboard automatically catches it and reassigns the critical parameter label.
- Kill a sensor: Disconnect a data feed entirely. Check the backend logs to ensure the calculation routine didn’t just start stuffing zeroes into the daily average.
Calculating the ISPU takes more than just buying a sensor and plugging it in. You have to convert chaotic data streams into legally binding accountability. Once you understand the math behind the regulation, you stop blindly trusting a colored light on a screen.
Share this article
Share this insight with your team.
Related Articles
Similar topics from the same category.
Poor weather station placement can cause 50% data bias. Learn the WMO-No. 8 and Indonesian BMKG siting standards for AWS sensors in industrial and mining sites.
Explore a technical engineering comparison between solid-state ultrasonic anemometers and mechanical cup-and-vane sensors for industrial weather stations.
Technical guide to conductivity sensors: comparing toroidal (inductive), 2-electrode, and 4-electrode contacting probes for industrial water and wastewater.