Validation — multipathway risk assessment
The multipathway (human-health) risk engine is validated differently from the dispersion model. AERMOD has an official EPA test-case suite; the risk calculations do not. Their correctness rests on two foundations instead: the toxicity and chemical-fate data are EPA's own, and every computed number is recomputed independently from its governing equation and must agree with the engine to machine precision.
Result: every checked calculation reproduces its HHRAP / IRIS equation exactly
An independent test recomputes the engine's results from first principles — the same EPA data, none of the engine's code — and requires agreement to a relative tolerance of 10⁻⁹. Every checked calculation matches.
The data is EPA's own — not ours
Nothing in the toxicity or fate/transport chain is a value we invented:
- Dose-response values — chronic and acute inhalation toxicity come from EPA's FERA dose-response tables (Table 1, prioritized chronic values, dated 2021-09-29; Table 2, acute values, dated 2021-08-31): 242 chronic and 81 acute chemicals.
- Oral toxicity gaps — where FERA is blank, filled from the EPA HHRAP Hazardous Waste Companion Database (65 oral reference doses, 42 oral cancer slope factors).
- Chemical fate and transport — Henry's law constants, soil and organic-carbon partition coefficients, diffusivities, and plant/animal/fish biotransfer factors come from the same HHRAP companion database the guidance itself distributes.
- Target organs — from EPA IRIS and the CalEPA OEHHA chronic REL summary, for the organ-segregated hazard index (HHRAP §7.3.2).
A blank or zero in the EPA source is treated as no value (the endpoint is not assessed), never as zero risk — a conservative choice that cannot silently under-report.
The acceptance criterion
A validated calculation means: the engine's result equals an independent recomputation of the governing HHRAP or IRIS equation, using the EPA data above, to a relative tolerance of 10⁻⁹ — identical in every significant figure that matters. The checks below all meet this bar.
The checked calculations
Inhalation cancer risk — risk = concentration × IUR (HHRAP §7; EPA IRIS)
| Chemical | Concentration (µg/m³) | EPA IUR (per µg/m³) | Recomputed risk | Engine | Match |
|---|---|---|---|---|---|
| Benzene | 3.7 | 7.8 × 10⁻⁶ | 2.886 × 10⁻⁵ | 2.886 × 10⁻⁵ | ✓ |
| Formaldehyde | 1.2 | 1.3 × 10⁻⁵ | 1.560 × 10⁻⁵ | 1.560 × 10⁻⁵ | ✓ |
| Naphthalene | 0.8 | 3.4 × 10⁻⁵ | 2.720 × 10⁻⁵ | 2.720 × 10⁻⁵ | ✓ |
Cumulative cancer risk — risks add across chemicals (HHRAP §7)
| Mixture | Recomputed Σ risk | Engine | Match |
|---|---|---|---|
| Benzene @ 2.0 + Formaldehyde @ 5.0 µg/m³ | 8.060 × 10⁻⁵ | 8.060 × 10⁻⁵ | ✓ |
Hazard quotient / index — HQ = concentration ÷ RfC, HI = Σ HQ by organ (HHRAP §7)
| Chemical | Concentration (µg/m³) | EPA RfC (µg/m³) | Recomputed HQ | Engine | Match |
|---|---|---|---|---|---|
| Benzene | 12.0 | 30 | 0.4000 | 0.4000 | ✓ |
| Toluene | 40.0 | 5000 | 0.0080 | 0.0080 | ✓ |
Soil concentration — the HHRAP §5 deposition-to-soil chain
| Equation | What it gives | Recomputed | Engine | Match |
|---|---|---|---|---|
| HHRAP Eq. 5-1E | Soil concentration at time tD | 8.2028 × 10⁻² | 8.2028 × 10⁻² | ✓ |
| HHRAP Eq. 5-1C | Carcinogen average over the exposure window | 4.7282 × 10⁻² | 4.7282 × 10⁻² | ✓ |
| HHRAP Eq. 5-1B | No-loss limit (ks → 0): Cs = Ds·tD | 1.2600 × 10⁻¹ | 1.2600 × 10⁻¹ | ✓ |
(Soil figures use Ds = 0.0042, ks = 0.031 yr⁻¹, tD = 30 yr — representative values; the equation, not the inputs, is what is being checked.)
Why this is the right bar
A dispersion model can be checked against a reference model's output. A risk engine's arithmetic is checked against its own governing equations — which is stronger, because it verifies the definition itself, not just consistency with another implementation. Each check above hand-calculates the cited HHRAP or IRIS relation and requires the engine to match it; a change that departed from the guidance would fail the test rather than ship.
Scope is always on the record
Every assessment records which endpoints it computed. A run scoped to a subset of screens is labeled as such on the results page and in the exported dossier, so a screening-level run can never be mistaken for a complete assessment.