EPA ACTIVE WATCH Western US & Intermountain Basins: Wildfire Smoke & Elevated PM2.5 Infiltration

Air Quality Data & Clean Air Score Methodology | CleanAirData

Understand CleanAirData historical scores, PM2.5 trends, regional reference coverage, reporting dates and the difference between a score and current AQI.

Three different views of air quality

ViewWhat it tells youWhat it does not tell you
Historical Clean Air ScoreA 0–100 summary for comparing locations over time; higher is betterToday’s AQI, a medical assessment, or a guarantee of clean air
Annual PM2.5 historyThe annual concentrations available in the saved city record, in µg/m³Hourly changes or pollution measured inside a home
Current observationsThe latest available response from a monitoring or modelling providerA reading at your exact address; freshness and coverage depend on the source

Start with a city report, or compare two locations. Every number should be read with its source, geography and reporting period.

Reporting dates and coverage

The current historical city-score snapshot was generated on March 23, 2026. Displayed histories include 2019–2024. Use the actual year labels in the report: the 2026 edition label does not mean that the historical observations were measured in 2026. Refreshing or rebuilding this website does not update those historical observations.

The directory combines directly scored city records with regional references. If a location has no scored record of its own, the current directory process can inherit the nearest scored city’s historical values within 50 miles. Such a page is not an independent measurement of the named city. Regional-reference reports identify the source city and distance. Buildings, roads, terrain and local sources can make conditions differ considerably within that distance.

The Three.js atlas plots selected city coordinates. It does not interpolate pollution between cities, show a live pollution plume, or provide global monitoring coverage. Its dots mark locations; use the linked reports to inspect the data.

How the historical score is calculated

The repository’s scorer converts five signals to component scores, each between 0 and 100, and combines them using these weights:

ComponentWeightCalculation in the current scorer
Annual PM2.540%Mean concentration over the final 12 months of the input dataset, mapped to a component score
Unhealthy days25%Percentage of available daily AQI values above 100
Multi-year trend20%Linear regression of the available annual PM2.5 means
Seasonal variability10%Standard deviation of monthly mean PM2.5 over the final 12 months
Extreme events5%Number of available daily AQI values above the configured threshold of 150

Final score = 0.40 × annual component + 0.25 × unhealthy-day component + 0.20 × trend component + 0.10 × variability component + 0.05 × extreme-event component.

These are component scores, not raw concentration values. Adding raw PM2.5 and AQI values with these weights would not reproduce the score.

The current annual component uses a linear scale from 100 at a mean PM2.5 of 5 µg/m³ to 0 at 12 µg/m³, clamped to that range. These are model parameters, not a claim about current regulatory limits. The unhealthy-day component subtracts 20 points per percentage point of unhealthy days, down to zero. The trend component starts at 50 and moves by ten times the magnitude of the annual regression slope, bounded to 0–100. Insufficient annual history receives a neutral trend component.

The variability component is max(0, 100 − 5 × monthly standard deviation). The extreme-event component is max(0, 100 − 5 × counted extreme days). Published values are rounded, so recalculating from rounded components can differ slightly from the stored final result. Older stored records can also reflect an earlier scoring run; this page describes the current implementation and does not imply that every historical record was regenerated today.

GradeHistorical score
A85–100
B70–below 85
C55–below 70
D40–below 55
FBelow 40

The scorer checks available daily records in its final 12-month window against an 80% completeness threshold. Published completeness is capped at 100%. This is a record-completeness check, not independent certification of sensor accuracy. The website’s build checks validate field presence, numeric ranges and route consistency; they do not replace an audit of the original source observations.

Current observations and missing data

Live panels request current data separately from historical scores. Depending on location and availability, the response may come from AirNow, WAQI or Open-Meteo. A modelled regional estimate is different from a nearby monitoring station; inspect the displayed provider, time and confidence information. If data cannot be obtained, treat the live reading as unavailable. Do not substitute a historical Clean Air Score for AQI.

Outdoor PM2.5 does not measure indoor air directly. Indoor guides provide general context and tools, not a measurement of conditions inside your building. For current local alerts and personal decisions, consult the relevant local authority and qualified professional advice.

Sources and transparency

Advertising and affiliate links help support the site. They do not change the stored air-quality score. Product prices and availability are determined by the destination retailer, and an outbound click is not proof of a purchase.