Environmental Feature Inventory (v1)

Version 1.0.0 · Published 2026-06-04

What this is

The Feature Inventory is the structured record of every environmental feature (a permitted emitter, a contaminated site, a major roadway, a water-quality finding) within scope of an address. The Environmental Grade letter is computed from this inventory. We publish the inventory's methodology separately so the grade derivation can be audited end-to-end.

Categories (at v1)

CategorySourceTier-firing rules (summary)Coverage at v1
TRI (toxic release inventory)EPA Envirofacts; IARC carcinogen classifications + RSEI toxicity weightsSEVERE if active facility ≤ 0.5 mi releasing IARC Group 1or RSEI weight > 10,000; MODERATE if ≤ 1.0 mi (or ≤ 0.5 mi with IARC 2A); MINOR if ≤ 1.5 mi, or archived within 0.5 miLive
Contaminated sitesEPA SEMS (Superfund) via Envirofacts for site geometry + NPL/CERCLIS status; curated EPA Region 4 Five-Year Review overlay for vapor-intrusion (VI) advisories and active groundwater plumes (~29 FL sites at v1; expand on next compliance cycle). FL DEP Brownfields in v1.1.SEVERE on either pathway: (a) active NPL site with documented VI advisory within 0.25 mi (direct soil-vapor ingress, EPA OSWER VI Guidance), OR (b) active site with documented groundwater plume within 1.5 mi (drinking-water + irrigation-well pathway). MODERATE if active site within 1.0 mi, or any non-active site with a documented plume within 1.5 mi (residual contamination from a closed cleanup still registers). MINOR within 1.5 mi, or closed/construction-complete within 0.5 mi.Live (v1: SEMS NPL + CERCLIS, ~600 sites; VI/plume flags active)
Major roadwaysOSM (motorway + trunk inventory); FDOT GIS AADT layer (2025) backfilling per-segment traffic counts (99.2% match rate)v1.13 AADT-scaled tier rule per the modern research synthesis (CalSPEC 2024, HEI Special Report 23 / Boogaard et al. 2022, Urban Institute 2022). Three regimes:
≥ 100k AADT (interstates, Turnpike, the CalSPEC near-roadway air pollution regime): SEVERE within ~150 m (HEI SR23 cardiorespiratory zone), MODERATE within ~500 m (CalSPEC NRAP zone), MINOR within ~1 km (ultrafine particle gradient detectable to background).
50k-100k AADT (busy US-routes): SEVERE within ~150 m, MODERATE within ~300 m, MINOR within 0.5 mi.
25k-50k AADT (moderate-traffic state roads): same bands as 50k-100k.
< 25k AADT (low-traffic): no SEVERE tier; MODERATE within ~300 m, MINOR within 0.5 mi.
AADT-aware engine query prefers high-AADT mainline over closer low-traffic ramps within 400 m (so a property near both a busy mainline and a quiet ramp gets the mainline AADT for tier reasoning).
Modern research basis: CalSPEC January 2024 defines the near-roadway air pollution zone as ~500-600 ft downwind of corridors with > 100k vehicles/day; HEI Special Report 23 (Boogaard et al. 2022, 353-study systematic review) finds high-confidence associations between long-term traffic-related air pollution exposure and all-cause mortality + cardiovascular mortality + ischemic heart disease; Urban Institute 2022 characterizes 150-300 m as the elevated-exposure zone and couples air pollution with noise impact. Per our 2-source consensus rule, every distance threshold in this row is backed by at least two independent peer-reviewed sources from different research groups; full citation list in docs/refactor/sources/.
Live (v1.13: AADT-scaled NRAP-band rule active for full FL coverage)
Traffic noiseDerived from the same OSM motorway/trunk + FDOT AADT data as Major roadways. Estimates outdoor equivalent continuous A-weighted sound level Leq (dBA) at the property via a simplified FHWA TNM-style decay model.v1.14 introduced (2026-06-08). Outdoor Leq thresholds per WHO Environmental Noise Guidelines 2018 + FHWA Noise Abatement Criteria (Cat B residential):
SEVERE when estimated Leq > 65 dBA (FHWA residential impact threshold; sleep disruption + cardiovascular markers per Babisch 2014 + WHO 2018).
MODERATE when Leq > 55 dBA (WHO 2018 day-evening-night residential threshold).
MINOR when Leq > 50 dBA (elevated above background but below the WHO residential threshold).
Acoustic model: Leq(d) = 73 + 10 log10(V/1000) - 13 log10(d/15), where V is peak-hour vehicles (AADT/24 × 1.1) and d is meters from the centerline (clamped at 15 m). The 13·log10 distance term is FHWA TNM-style. Only AADT-known segments above 25k AADT generate noise features.
The noise feature is emitted as a separate category, sibling to Major roadways, so air-pollution and noise impacts are graded independently (the WHO / EPA / FHWA convention). A property near both a busy mainline and a moderate-traffic surface road gets two noise features (one per source); the aggregation engine handles them like any other tier-bearing inventory.
Modern research basis: WHO Environmental Noise Guidelines for the European Region (2018); FHWA Noise Abatement Criteria 23 CFR 772; Babisch et al. 2014 meta-review of traffic-noise cardiovascular endpoints. Per the 2-source consensus rule, all thresholds are backed by at least two independent sources.
Live (v1.14: full FL coverage where AADT is known via FDOT)
Ag fieldsUSDA NASS Cropland Data Layer (CDL) 2024 cycle, 30 m pixel resolution, vectorized to contiguous-cluster polygons across the FL ag belt (Glades sugar, Polk + Hardee + Treasure Coast citrus, Hendry vegetables, Hillsborough strawberry, Suwannee + NW panhandle row crops, Hastings potato), filtered to a 5-acre minimum cluster size to drop single-pixel noise; curated by-crop application schedule (UF/IFAS production guides + EPA RED docs) + FL monthly prevailing-wind grid (NOAA Climate Prediction Center seasonal summaries). CDL is a 30 m remote-sensing product so individual field boundaries may sit 30 to 60 m off true ground truth, but pixel-cluster polygons are materially more precise than the v1.0 bounding-box approximations.SEVERE if a treated commodity pixel cluster is within 1.0 mi AND the report month falls inside that crop's active application window AND the property sits downwind of the cluster centroid (within a 45-deg cone of the month's prevailing-wind to-direction). MODERATE if a treated commodity cluster is within 1.0 mi (drift-window herbicide + fungicide applications associated with reduced air quality at the residential boundary). MINOR if any commodity cluster is within 1.5 mi. Distance is polygon-edge: a property inside a cluster registers at distance 0. See the “Drift-window + downwind cone” subsection below for the curated by-crop schedule and the FL monthly wind table.Live (CDL 2024 pixel-cluster polygons, ~10 canonical crop classes)
CAFOsCurated FL CAFO operators (dairy belt: Suwannee/Lafayette/Okeechobee; central FL beef; panhandle poultry); FDACS livestock licensing + EPA ECHO NPDES integration in v1.1SEVERE if active large CAFO (≥ 500 animal units, CFR 122.23 large threshold) within 0.5 mi. MODERATE if active CAFO within 1.0 mi, OR active medium CAFO (100-500 units) within 0.5 mi. MINOR for any active CAFO within 1.5 mi, OR closed CAFO within 0.5 mi. Air-quality + neighborhood-odor literature converges on a 0.5 mi residential threshold for large-scale animal operations; CWA discharge risk extends to 1.0 mi for active operations.Live (v1: 20 major operators; FDACS per-operator licensing in v1.1)
RCRAEPA ECHO RCRAInfo (LQG + TSDF universe); F-list (40 CFR 261.31) and P-list (40 CFR 261.33) acutely-hazardous flag overlaid from the EPA RCRAInfo Biennial Report (BR_HZ_WSTE), 2021 submission cycle.SEVERE if active TSDF handling F-list / P-list acutely-hazardous waste within 0.5 mi. MODERATE if active TSDF within 1.0 mi or active LQG within 0.5 mi. MINOR if any active handler within 1.5 mi or inactive within 0.5 mi. The TSDF-class gate is deliberate: LQGs on the F/P-list cap at MODERATE because they generate at residential-adjacent volumes but don't store / treat / dispose at the SEVERE-tier mass.Live (v1.10: LQG + TSDF universe + BR F/P-list flag; SQG + VSQG deferred)
PhosphateCurated FL phosphate operators (Mosaic, CF Industries, Mulberry, Piney Point); FDEP permit-specific data in v1.1SEVERE if active phosphogypsum stack within 1.5 mi (Piney Point 2021 precedent), OR active mining within 0.5 mi. MODERATE within 3 mi of any active operation (EPA radon literature), OR reclaimed land within 0.5 mi (radium-226 residue). MINOR within 3 mi of closed/reclaimed sites.Live (v1: 10 major operators; per-parcel FDEP boundaries in v1.1)
Water qualityFDOH PWS + USGS NWIS + FDEP permitted dischargersSEVERE for any lead detection in serving PWS; MODERATE for persistent SDWA violations; emitted as feature-like outputs into this same aggregation engineLive (separate Question)
Pesticide-intensive land useOSM (golf courses); USDA CDL + FDACS in v1.1 (sod farms, turf nurseries)SEVERE if golf course within ~150 m (densest fungicide application zone); MODERATE if within ~300 m; MINOR if within 0.5 mi. Sod farms / turf nurseries cap at MODERATE. Distance is polygon-edge.Live (v1: golf courses only)

Why pesticide-intensive land use is a separate category from agricultural fields: golf-course chemical mix is fungicide-dominant (chlorothalonil at IARC Group 2B, bifenthrin, glyphosate at IARC Group 2A) at 5-7x per-acre rates relative to commodity-ag. Residential-adjacency literature is sparser than occupational, but the signal is real, particularly for hormone-sensitive populations and households with young children.

Drift-window + downwind cone (ag_fields SEVERE)

ag_fields SEVERE escalates the MODERATE-baseline tier only when both spray-window and wind-direction conditions are met. We do not claim to know which exact field sprayed on which exact day; we use a curated by-crop application window (derived from UF/IFAS production guides and EPA Re-Registration Eligibility Decisions for the dominant active ingredients) and an FL-wide monthly prevailing-wind average (NOAA Climate Prediction Center seasonal summaries). Both are auditable assumptions, not measured data.

Curated by-crop application schedule

Crop corridorActive application months (FL)Primary active ingredient(s)IARC group
Sugarcane (Glades)Mar-May (planting), Sep-Dec (harvest)atrazine, paraquat, glyphosate2A
Citrus (Polk, Hardee, Treasure Coast)Jan-Mar + Nov-Dec (winter copper/oil), Jun-Aug (summer chlorothalonil)chlorothalonil, copper hydroxide, abamectin2B
Vegetables (Hendry)Year-round (FL winter veg corridor)1,3-dichloropropene, methomyl, chlorothalonil2A
Strawberry (Hillsborough)Sep-Mar (Sep-Oct pre-plant fumigation + Nov-Mar in-season)1,3-dichloropropene, captan, bifenthrin2A
Potato (Hastings)Jan-Maychlorothalonil, mancozeb, imidacloprid2B
Corn + peanut (Suwannee row crops)Apr-Sepatrazine, chlorothalonil2A
Peanut + cotton (NW panhandle)Apr-Octaldicarb (cotton), chlorothalonil (peanut)2A

FL monthly prevailing-wind grid

Wind direction is the direction the wind blows FROM. To determine whether an address sits in the drift cone of a corridor, we compute the bearing FROM the corridor centroid TO the address, and compare it against the month's wind to-direction (from-direction + 180 deg). If the corridor-to-address bearing falls within a 45-deg half-cone of the wind to-direction, the address is downwind.

MonthsPrevailing direction (FROM)Wind to-direction (downwind axis)
Jan-Feb, Nov-DecNE (45 deg)SW (225 deg)
Mar-MayESE (110 deg)WNW (290 deg)
Jun-AugSE (135 deg)NW (315 deg)
Sep-OctE (90 deg)W (270 deg)

Worked example: a property in Frostproof generates a report in March, with a citrus corridor centroid 0.6 mi NE of the parcel (corridor-to-address bearing ~225 deg). March falls in citrus winter-spray season; March wind blows from ESE (to-direction WNW, 290 deg). The corridor-to-address bearing of 225 deg sits outside the 45-deg cone centered on 290 deg, so the tier is MODERATE, not SEVERE. If the same property generated a report in January (wind to-direction SW, 225 deg), the address would sit squarely on the downwind axis and the tier would escalate to SEVERE.

v1.2 upgrade path: replace the FL-wide monthly average with a NOAA Climate Normals per-station grid (FL has ~50 stations, which can resolve regional wind variation), and layer in USDA NASS Census of Agriculture county-level pesticide application rates (currently county-resolution does not sharpen the 1.0 mi distance gate meaningfully, so we prioritized the wind upgrade first).

Edge case + cluster + dominant override

  • Edge case advisory: a feature within 10% of any tier-firing distance threshold is surfaced as an advisory bullet on the report so the buyer knows the rule was close. Worked example: a TRI facility at 0.52 mi is within 10% of the 0.50 mi SEVERE threshold and gets called out.
  • Cluster advisory: 2+ moderate-or-severe features in the same category trigger a cluster advisory. The count modifier in the grade aggregation only steps the letter down for cross-category breadth; cluster is a separate UX signal.
  • Dominant override: a single SEVERE feature within 0.1 mi (or inside the parcel boundary) forces the Environmental Grade to at least D regardless of other signals. Buyers reliably weight on-parcel hazards as dealbreakers and we honor that.

Verb policy on report prose

BLUF prose generated from the Feature Inventory uses descriptive verbs only: emits, releases,reports, operates, “models suggest”, “literature associates”. Causal claims (“causes”, “leads to”) are blocked by the BLUF semantic-policy verifier before persistence. We measure inventory and proximity, not exposure or health outcomes.

Validation commitment

Each category's tier-firing rules have a published rule set (here) and a fixture set of known reference addresses. When we add a category to the inventory, we land its fixtures + rules in the same release. The Data Richness signal on every report shows which categories were live at the time the report was generated.

Limitations

  • v1 ships with all 8 inventory categories live. All 8 SEVERE tiers are active as of v1.11: contaminated_sites via the curated EPA Region 4 VI / plume overlay, RCRA via the Biennial Report (BR_HZ_WSTE) F-list / P-list overlay, and ag_fields via a curated by-crop application schedule + FL monthly prevailing-wind cone (a v1.2 upgrade swaps in USDA NASS county-level application rates). The Data Richness footer reflects coverage-by-category, not rule-completeness-by-category.
  • Distance is great-circle from the listed address to the feature centroid. We do not yet correct for parcel-shape or building-orientation.
  • Coverage is currently FL only. Out-of-FL addresses are rejected at the geocoder boundary.

Versioning

Pinned at v1. Schema additions get a v2 URL; persisted reports snapshot which version they were generated against so citations never silently shift meaning.