How to read a PRBI report

This explains every number in a generated report: what it means, what inputs feed it, and exactly how it's calculated. The scoring formula is v0.1 / alpha and uncalibrated - it reproduces the shape of the worked examples used to design PRBI, not a validated equation. See waco/specifications/prbi_specification_bundle_v0_4/specifications/PRBI-SPEC-006-Personal-Burden-Calculation.md for the authoritative design specification this is built from.

The two scores

Environmental PIR describes the outdoor environment itself - independent of any person. Personal PIR takes that same environment and adds your day-specific personal factors (sleep, alcohol, recent outdoor exposure, etc.). The same environment can produce a different Personal PIR for different people, or for the same person on a different day.

CalculationValue
Environmental PIRIntegrated measured pollution + Atmospheric dynamics adjustment + Local residual
Personal PIREnvironmental PIR + Personal modifier

Comparing locations

A report covers every location in js/config.js at once, scored against the same personal profile. The Environmental PIR, Personal PIR, and Source Details tables each have one column per location, so you can compare them side by side directly - a "—" in any cell means that location's Environmental or Personal PIR couldn't be calculated (usually a missing PM2.5 reading; see that location's Data Gaps). Source Details lists every variable across all locations in one table, then the Source/Evidence/Retrieved citation for each location's data underneath, prefixed with the location name - those three values are the same for every variable pulled from one source in one run, so they're not repeated per row.

Environmental PIR components

Integrated measured pollution

A single combined score from the three regulatory pollutants AirNow reports (PM2.5, PM10, and ozone AQI). PM2.5 is treated as the dominant "anchor" pollutant, with PM10 and ozone contributing only a modest additional amount - because their measured burden overlaps substantially with PM2.5, adding all three at full value would double-count the same pollution episode.

InputSourceWeight
PM2.5 AQIAirNow (Open-Meteo fallback)× 0.85
PM10 AQIAirNow (Open-Meteo fallback)× 0.10
Ozone AQIAirNow (Open-Meteo fallback)× 0.05

AirNow's reporting areas don't always cover all three pollutants - some only report PM2.5, for example. When a pollutant is missing from AirNow, Open-Meteo's modeled air quality is used as a fallback for that pollutant only, never to override a real AirNow measurement. Fallback values are clearly marked "Level 3 - Model estimate" in Source Details, distinct from AirNow/NOAA's "Level 1 - Direct measurement". If a pollutant is unavailable from both, it simply contributes zero rather than being guessed - noted under that report's Data Gaps. PM2.5 itself is required from one of the two sources: without it, Environmental PIR isn't calculated at all.

Atmospheric dynamics adjustment

A small point adjustment for weather conditions that affect how pollution is experienced, beyond what's already reflected in the measured concentrations: humid, still air holds pollutants closer to the ground and can worsen respiratory tolerability; wind ventilates and disperses it; heat adds physiological stress. Each factor is scored independently from threshold bands and added together.

InputSourceThresholdPoints
Dew pointNOAA/NWS≥ 73°F+3
65–72°F+2
55–64°F+1
Wind speedNOAA/NWS≤ 4 mph+2
5–8 mph+1
TemperatureNOAA/NWS≥ 90°F+1

Any condition outside these bands (or missing) contributes 0.

Local residual

A manual placeholder for property- or neighborhood-scale exposure that the regional AirNow/NOAA sources might miss (nearby construction, a monitor several miles away, etc.). There's no distance/representativeness formula yet, so this defaults to 0 for every run.

Personal PIR component

Personal modifier

The sum of whatever daily modifiers are set in js/config.js for this run - flat point additions for things like short sleep, alcohol, or recent outdoor exposure during a pollution episode. This is deliberately simple for now: a full personal profile (diagnoses, baseline susceptibility, medications) is future work, described in waco/specifications/prbi_specification_bundle_v0_4/specifications/PRBI-SPEC-001-Personal-Profile-Schema.md.

Interpretation bands

Both Environmental PIR and Personal PIR are read against the same scale. Higher is worse - these are PRBI's own developmental categories, not EPA AQI categories.

PIRInterpretation
0–20Excellent respiratory conditions
21–40Good
41–60Mild / noticeable burden
61–80Moderate burden
81–100Poor
101–130Personally unhealthy
131–160Very unhealthy
161+Extreme respiratory burden

Source Details evidence levels

LabelMeaning
Level 1 - Direct measurementA real instrument reading (NOAA/NWS weather station).
Level 1 - Direct measurement (preliminary)A real instrument reading (AirNow), not yet run through EPA's full quality-assurance process - it can occasionally be revised later.
Level 3 - Model estimateOpen-Meteo's modeled air quality, used only as a fallback when AirNow didn't report that pollutant for this location. Never a direct measurement.

Limitations