How PlainAirData builds annual AQI pages
EPA AQS files we use
Every figure on PlainAirData comes from the U.S. Environmental Protection Agency Air Quality System (AQS) annual summary files. Those files roll up station readings collected by state, local, and tribal networks into county and CBSA day-counts, medians, and primary-pollutant tallies.
Bulk download: aqs.epa.gov/aqsweb/airdata/download_files.html
Years and geography covered
The live corpus covers 2020–2025 annual summaries for nearly 1,000 monitored U.S. counties and 500+ CBSAs. State pages are day-weighted rollups of monitored counties in that state, never imputed for counties without monitors. Roughly two-thirds of U.S. counties have no AQS station; those places simply do not appear as county profiles.
From EPA file to page
- Pull annual AQI-by-county and AQI-by-CBSA files for each release year 2020–2025
- Keep Good / Moderate / Unhealthy-sensitive / Unhealthy / Very unhealthy / Hazardous day counts plus median and max AQI
- Retain primary-pollutant day tallies (ozone, PM2.5, PM10, NO2, CO) on county rows
- Compute Good-day share as good_days ÷ days_with_aqi (never raw counts across uneven monitoring calendars)
- Build state and ranking surfaces only from counties that clear the 100-day monitoring floor
- Store release-to-release trends so each profile can show what moved between EPA annual files
How rankings choose places
National and filtered rankings order places by Good-day share or median AQI (whichever the page states), using the latest complete EPA annual year. Counties with fewer than 100 monitored days in that year are excluded from competitive rankings and peer comparisons so a 12-day sample cannot outrank a full-year record. Filtered ranking URLs are noindex; the canonical list pages stay indexable.
What EPA monitors actually record
AQS stations use federally approved methods for criteria pollutants (ozone, PM2.5, PM10, NO2, SO2, CO, lead). Hourly concentrations become daily AQI values via the breakpoint tables in 40 CFR Part 58. The pollutant with the highest AQI that day is the defining (primary) pollutant, the same field we surface as “days ozone / PM2.5 / …” on county pages.
PlainAirData never converts those annual files into a live advisory. For today’s reading, use AirNow.gov.
Accuracy and corrections
We do not invent values for unmonitored counties, blend years, or smooth gaps. Aggregations use only rows present in the EPA file. Import checks enforce valid AQI ranges and consistent denominators. If a number looks wrong, report a correction - we re-check against the published AQS file and publish the fix.
Update cadence
EPA posts a new annual AQI-by-county and AQI-by-CBSA package once the prior calendar year is finalized. We ingest that package as a whole release: swap the latest-year snapshot tables, append the new year onto trend history, and recompute Good-day share, rankings, and peer neighborhoods from the same SQL contracts the pages already use. Mid-year station revisions that do not change the published annual file do not rewrite our pages. When a geography disappears from the newest file but still has a complete prior-year row, we keep the prior vintage visible with its year labeled rather than inventing a blended figure.
The release changelog lists which EPA year is live and which county or metro ranks moved after the last ingest. That page is the audit trail for release-to-release change; individual county pages show the same arithmetic in their change band.
How peer relationships are chosen
County profiles expose two data-derived link types beyond same-state geography: (1) counties with the nearest median AQI in the same EPA year, and (2) counties that share the same primary pollutant driver with the closest Good-day share. Metro profiles use nearest median AQI plus nearest unhealthy-day exposure count. Both peer sets require the 100-day monitoring floor so thin samples cannot become "similar" neighbors. Geographic neighbors remain listed separately and are labeled as map containment, not AQI matches.
Scope limits
- Coverage equals the EPA monitor network, missing counties are missing monitors, not missing estimates
- Pages are annual summaries; they are not forecasts, alerts, or medical advice
- State and metro rollups only include monitored counties inside that geography
- EPA releases annual files months after year-end; the newest year here is 2025
- Breakpoint tables and health framing live on EPA Outdoor Air Quality Data and CDC Air Quality
Ask about the pipeline
Methodology questions or suspected display errors: hello@plainairdata.com or the contact form.