FAQ: how the numbers are made
Draft site copy, 22 Oct 2026. Plain language for the FAQ page; technical notes at the end of each answer can sit behind “More detail”.
Where does the number on my screen come from?
One of two places, and the card always says which.
A government monitoring station, if one is within about 25 km. This is a measurement. The card says “Station measurement”, names the station and gives its distance.
An estimate, if there is no station nearby. This comes from Google’s air quality model, on squares about 500 m across (with CAMS, a European model, as a backup). The card says “Estimate” and has a dashed outline. An estimate is a good guide to the air in your area, but it is not a measurement at your street.
We show “not available” only in the rare case that both the station and the model are down. We never show an old reading as if it were current.
How does a station measure the air?
A CPCB station is a small air-conditioned cabin with an inlet on the roof. A pump pulls outside air through it all the time.
- Fine dust (PM2.5 and PM10). Most monitors pass the air through a filter tape. Every hour the tape moves, and a weak beta-ray source measures how much dust collected on it. That gives micrograms of dust per cubic metre of air (µg/m³).
- Gases (nitrogen dioxide, sulphur dioxide, ozone, carbon monoxide, ammonia) are measured by analysers that use light or chemical reactions.
Readings are sent every 15 minutes to an hour. CPCB turns them into the air quality index (AQI):
- Average each pollutant over 24 hours (8 hours for ozone and carbon monoxide).
- Convert each average to a sub-index from 0 to 500 using CPCB’s table. For PM2.5, for example, 60 µg/m³ is the top of “Satisfactory” (100) and 90 µg/m³ is the top of “Moderate” (200).
- The AQI is the highest sub-index. The pollutant that sets it is the “main pollutant”.
- CPCB only gives an AQI if at least three pollutants are available, one of them PM2.5 or PM10, and a pollutant counts only with at least 16 hours of data in the day.
More detail: the index stops at 500 once PM2.5 passes 380 µg/m³, so it cannot show how far beyond that the air goes. Analysers also have an upper limit near 1,000 µg/m³.
How can a satellite measure pollution?
It cannot measure PM2.5 directly. It measures haze.
Instruments on NASA satellites (MODIS, MISR, VIIRS) pass over India once or twice a day, in daylight. They measure how much sunlight the particles in the air scatter or block, all the way from the ground to the top of the atmosphere. This is called aerosol optical depth.
To turn “haze in the whole column of air” into “dust at the height you breathe”, researchers at Washington University in St. Louis use two more steps:
- A chemistry model of the atmosphere (GEOS-Chem) estimates how high the haze sits, how damp it is and what it is made of, which sets how much of it is near the ground.
- A machine-learning step corrects the result using ground monitors around the world.
The result is an estimate of average PM2.5 for every month, on squares about 1 km across, from 1998 onwards.
More detail: because step 2 uses ground monitors, including some Indian ones, the satellite estimate is not fully independent of CPCB. That is why we call our check “satellite-based estimates”, not “independent measures”.
Why is the satellite data only up to 2024?
It is a research product, released about once a year, a year or more after the year ends. Before a year can be released the team needs:
- the final, reprocessed satellite data for the whole year;
- final weather data for the year, which itself comes out with a delay;
- the chemistry model run for every day of that year;
- ground monitor data from many countries, which arrives late;
- checks against those monitors, and a published description.
It is also monthly, not daily, because on most days clouds or monsoon rain block the view in many places. A month of passes gives a reliable average; a single day often does not.
So we use satellite data to check a station’s history, month by month, up to the latest released year. It cannot tell you about today.
What is the estimate where there is no station? (Google)
Where no station is within about 25 km, we show Google’s air quality estimate for your spot. Google’s model (which came from BreezoMeter) combines government stations (CPCB in India), weather, satellite data, land use and traffic, on squares about 500 m across, updated every hour. Next to a station it gives back the station’s own number; away from stations it estimates from everything else.
It is labelled “Estimate” with a dashed outline, and credited: “Source: Includes air quality data from Google”. We turn its PM2.5 and PM10 values into an AQI with CPCB’s table, the same way as a station. Its gas values (ozone, NO₂, SO₂, CO) are shown but not counted, because models read ozone over India far too high.
Two things to keep in mind. It is a model, so it is a good guide to your area, not a measurement at your street. And because it leans on CPCB stations, it shares their strengths and weaknesses; our station check, which uses satellite records, is separate from it.
And CAMS?
CAMS is the Copernicus Atmosphere Monitoring Service, run by the European Centre for Medium-Range Weather Forecasts for the European Union. It is a computer model of the whole atmosphere, rather like a weather forecast for pollution: it starts from the weather forecast and from estimates of what is emitted where (traffic, industry, homes, fires seen by satellites), works out how pollution moves and changes hour by hour, and corrects itself every day with satellite haze measurements. It does not use Indian ground stations.
It works on squares about 40 km across, too coarse to tell a town from the fields around it, so we use it as a backup when Google’s estimate is not available, and for the forecast of the next few hours. On average it reads about 27% higher than CPCB stations, more over Uttar Pradesh and the eastern plains, so we adjust its level to the satellite record for each place and month before showing it.
How do other apps get their number?
- IQAir: its own monitors, government stations and a satellite-based model; shows the US index by default.
- WAQI / aqicn: government stations, converted to the US index.
- Apple Weather: a model from BreezoMeter, now part of Google (the same family as the estimate we use where there is no station).
- AccuWeather: a model from Plume Labs, with Plume’s own index.
- MSN Weather: does not say which index or model.
The US index turns the same air into higher numbers and harsher words than India’s index. PM2.5 of 72 µg/m³ is 139 “Moderate” on India’s index and 163 “Unhealthy” on the US index. See “Why does another app show a different number?”.
How does the station check work?
For each station we learn how its monthly readings related to the satellite estimate in 2016 to 2019, season by season. We then ask whether later months stay inside the range that relationship predicts (an 80% range: about 8 months in 10 should fall inside).
- Agrees with satellite-based estimates: most months inside the range.
- Reads lower than satellite-based estimates: below the range in 8 or more of its last 12 checked months.
- Estimated from nearby stations: a newer station, with a range borrowed from nearby checked stations; no verdict.
- No comparison available: no 2016 to 2019 readings and no checked station nearby.
Tested on years and regions the method had not seen, 84% to 85% of months fell inside the range, and the “reads lower” rule wrongly flagged a station about 1 to 2% of the time. It covers 106 stations in 16 states. It describes 2023 to 2024, the latest satellite years, and it cannot say why a station disagrees.
Why does a station disagree with the satellite?
We cannot tell from the data. Possible reasons include an analyser that was recalibrated or replaced, an inlet that was moved, new construction or trees next to the station, or changes in how readings are processed. If you run a station and know the reason, write to us; we publish your note next to the station.
Is “no data” the same as clean air?
No. A gap means nobody measured. We draw gaps as gaps and never fill them with zero or with a good-air colour.