AI-Driven Wildfire Mitigation Planning
The planning-side companion to the wildland response demo: a specialized internal intelligence platform that fuses beetle kill, dead-and-down loading, structure density, topography, and historical + live weather trends into ranked mitigation work (thinning, fuel breaks, defensible space, and home-ignition-zone hardening, ranked by the structures each unit newly protects per treated acre, counting every structure once) and predicts outbreaks from live lightning. Three planning units along the US 285 corridor through Jefferson and eastern Park counties.
Where the response demo runs an incident, this one prevents it: the same corridor, viewed through a pre-season fuels baseline, a season risk forecast, and a live overnight lightning watch. Every agent output is simulated from structured mock data behind a clean runPlanAnalysis() seam, so the same UI could later sit on real aerial-survey, lidar, parcel, RAWS, and NLDN lightning feeds — with a human mitigation planner reviewing everything before it becomes work on the ground.
System architecture
Data sources · intelligence platform · planner review · planning outputs
The demo runs on mock data, but the shape is production-minded: slow data (aerial detection surveys, lidar, parcels, CWPPs) and live data (RAWS observations, NLDN lightning) normalize into a shared unit picture; a domain-tuned internal LLM platform — with deterministic fire-behavior models and CWPP retrieval as tools — runs eight planning agents over it; a human planner validates; and the outputs are the artifacts mitigation actually runs on: ranked treatment units, prescriptions, grant packets, and an outbreak watch.
Data sources
The fuels, exposure, and weather record — slow and live.
Intelligence platform
A specialized internal LLM platform, not a general chatbot.
Planner review
A human mitigation planner owns every output.
Planning outputs
Fundable, sequenced work — and a live watch posture.
Data source API catalog: the feeds a production build would sit on
Every public and commercial source behind the data-sources stage, with current documentation and basic shape. Links verified July 2026. In this build all of these are represented by deterministic demo data; the real layers are the FBFM40 fuels underlay and the terrain grids the behavior model marches (Wildland Almanac CONUS, CC BY 4.0 — a LANDFIRE stand-in). Mortality patches, structure counts, treatment units, ERC series, and lightning strikes are fictional.
Forest health and mortality
- Insect & Disease Detection Survey (IDS)PublicUSDA Forest Service, Forest Health Protection
Annual aerial detection surveys (fixed-wing sketch mapping, USFS + state cooperators) feeding the national IDS database; damage polygons and points with causal agent and host, published as downloadable geospatial data and acre summaries. Flown once a season, not live.
The production analog of the map’s mortality patches, which are fictional in this build; dead-and-down tonnage is a modeled product, not an IDS field.
https://www.fs.usda.gov/science-technology/data-tools-products/fhp-mapping-reporting/detection-surveys - CSFS Open Data / Colorado Forest AtlasPublicColorado State Forest Service
ArcGIS Hub GeoServices REST: statewide forestry and wildfire-risk layers streamable into any GIS, alongside the Colorado Forest Atlas decision-support apps and the annual forest health report flown jointly with the USFS survey.
https://data-csfs.hub.arcgis.com/
Fuels and terrain
- LANDFIRE Product Service (LFPS)PublicUSGS / USFS
ArcGIS geoprocessing job API: submit AOI + layer list (FBFM40 fuel models, canopy, slope, aspect), poll job status, download GeoTIFF bundle; products versioned, updated annually or biennially.
This build bakes fuels from an unmodified public FBFM40 stand-in (The Wildland Almanac CONUS v2026.1, CC BY 4.0) and re-points to LANDFIRE with one URL change in the fetch script.
https://lfps.usgs.gov/LFProductsServiceUserGuide.pdf - USGS 3DEP / EPQS elevationPublicUSGS
REST GET /v1/json?x={lon}&y={lat}&units=Meters for point queries; 3DEP dynamic ImageServer/WCS for DEM tiles; lidar-based 1 m where available.
The baked terrain grids in this build come from the Wildland Almanac CONUS LCP Elevation layer (30 m DEM, CC BY 4.0); public elevation APIs were egress-blocked at authoring time.
https://epqs.nationalmap.gov/v1/docs - USGS 3DEP lidar point cloudsPublicUSGS (Open Data on AWS)
Anonymous S3 Entwine Point Tiles (s3://usgs-lidar-public): lossless full-density octrees in LAZ encoding, streamable to PDAL/Potree; raw LAS 1.4 tiles in a Requester Pays bucket. Project-based acquisition, so vintage varies by county.
Canopy metrics derive from point classifications; dead-and-down loading is modeled on top, not a delivered field.
https://registry.opendata.aws/usgs-lidar/
Parcels, structures, and density
- County open data (e.g. Jefferson County CO)PublicCounty GIS
ArcGIS Hub GeoServices REST, WMS, WFS; parcel polygons with assessor attributes and the Master Address layer the response demo bakes; typically weekly refresh.
Structure counts and densities in this console are fictional; the response demo bakes the real county address layer through this same seam.
https://data-jeffersoncounty.opendata.arcgis.com/ - Census Data API (ACS 5-year)Free keyUS Census Bureau
REST. GET api.census.gov/data/{year}/acs/acs5?get=B01003_001E&for=block%20group:*&in=state:08…; JSON arrays, free key required; population and housing tables down to block group, boundaries from TIGERweb GeoServices REST.
https://www.census.gov/data/developers/data-sets/acs-5year.html
CWPPs and fire history
- CWPP document archivesPublicCounties / Colorado State Forest Service
Not an API: adopted plans live as PDFs on county and CSFS sites (CSFS publishes the state minimum standards and accepts the plans). Production ingestion is document retrieval + parsing; some districts also publish plan-unit polygons as public ArcGIS feature services.
The corpus behind this demo’s CWPP-retrieval tool framing; the response demo renders real plan-unit rings from the Elk Creek FPD services.
https://csfs.colostate.edu/wildfire-mitigation/community-wildfire-protection-plans/ - NIFC Open Data / WFIGSPublicNational Interagency Fire Center
ArcGIS FeatureServer REST: GET .../FeatureServer/0/query?where=1=1&outFields=*&f=geojson. Current perimeters refresh ~5 min; full interagency perimeter history; incident points via the public IRWIN views.
In this build the corridor’s burn scars (Hi Meadow 2000, Buffalo Creek 1996) are hand-drawn scar-edge approximations, not this feed.
https://data-nifc.opendata.arcgis.com/ - NFPORS fuels treatmentsPublicDOI / USGS
ArcGIS REST treatment polygons and points with kind, status, and fiscal year; the production analog of this console’s treatment units and their statuses.
https://usgs.nfpors.gov/
Weather record and live observations
- Synoptic Data Weather API (MesoWest)Free keySynoptic Data PBC
REST. GET /v2/stations/timeseries?network=2&token=... (network 2 = RAWS) or /stations/latest; JSON/CSV/GeoJSON; sub-hourly RAWS observations. Free public-data tier, paid tiers above.
https://docs.synopticdata.com/services/weather-api - FEMS (NFDRS, replaced WIMS in 2024)PublicUSDA Forest Service
Read-only REST for hourly NFDRS v4 outputs (ERC, BI, dead/live fuel moistures) and station obs; gov login for write paths.
Exact OpenAPI path not verifiable at review time.
https://www.wildfire.gov/application/fems - RAWS USA Climate ArchivePublicWestern Regional Climate Center / DRI
Station-by-station RAWS archive as web query forms (daily/monthly summaries, hourly listings), fed from NIFC via GOES; no formal REST API. The ERC climatology behind percentile bands is computed from records like these.
https://raws.dri.edu/
Live lightning
- NLDN (National Lightning Detection Network)CommercialVaisala
100+ ground sensors; per-event time, location, CG stroke / in-cloud designation, polarity, and peak current; ~12 s latency over subscription real-time feeds and APIs; stated CG detection efficiency >95%, location accuracy ~100 m.
The demo’s strike polarity and peak-kiloamp fields mirror this feed; Earth Networks Total Lightning Network is the comparable commercial alternative.
https://www.vaisala.com/en/products/national-lightning-detection-network-nldn - GOES GLM (Geostationary Lightning Mapper)PublicNOAA (Open Data Dissemination on AWS)
Anonymous S3, NetCDF objects (s3://noaa-goes19/GLM-L2-LCFA/...): lightning events, groups, and flashes with geolocation and radiant energy; ~20 s files landing 30-60 s after observation; total lightning, no per-stroke polarity or peak current.
https://registry.opendata.aws/noaa-goes/
Proposed normalized ingestion model: one shape per entity, any source
Source adapters are the only code that knows API formats; the planning agents consume ten normalized entities. Every record carries a common envelope: source, source_record_id, retrieved_at, valid_at (UTC ISO-8601), geometry (WGS84), confidence (0-1), provenance (raw payload ref), and a dedup_key. Slow layers are version-pinned per planning cycle; computations run in an equal-area CRS; provenance is preserved so agents can weight and cite sources rather than alter them.
MortalityPatch
USFS IDS, CSFS surveys, lidarpatch_id, species (host + agent), stage (active/recent/legacy), acres, dead_down_tons_per_acre, ring
Stage is the planning axis: active feeds the outbreak watch, legacy feeds surface loading; tons-per-acre is modeled from lidar and plots, no survey delivers it.
FuelsCell / TerrainCell
LANDFIRE LFPS, USGS 3DEP + lidarcell_id, fbfm40, canopy_cover_pct, slope_deg, aspect_deg, elevation_m, source_version
Version-pinned per planning cycle and resampled to one lattice; the grids the behavior model marches at ~300 m in this build.
PlanUnit
CWPP feature services (district AGOL orgs)unit_id, name, polygon, acres, ratings (fire risk, suppression, evacuation, HIZ, overall)
The response demo renders these real rings; this console’s hand-drawn mortality and treatment polygons do not snap to them.
StructureCluster
County parcels + addresses, Census ACScluster_id, label, position, structures, density_per_sq_mi, exposure (go/caution/urgent), note
Exposure derives from the problem-fire geometry; the ranked wins count each structure once, by greedy allocation in rank order.
TreatmentUnit
NFPORS, CWPP action items, district project listsunit_id, rank, kind (thinning/fuel-break/dead-down-removal/defensible-space/home-ignition-zone/prescribed-fire), status, acres, exposure[], win, ring
Rank is marginal structures newly protected per treated acre; only completed and in-progress work damps the modeled spread.
WeatherObservation
Synoptic (RAWS), FEMSstation_id, obs_time, temp_f, rh_pct, wind_mph, gust_mph, erc, erc_percentile, dead_fuel_1000hr_pct
The slow variables a planner actually watches; ERC crossing its percentile band is what trips the season-risk lens.
ErcClimatology
WRCC archive, FEMS station historyt, erc, median, p90 (per-station series)
Percentile bands from the station’s period of record; each problem fire is one draw from this distribution, not a forecast.
LightningStrike
NLDN, GOES GLMstrike_id, time, position, polarity (CG-/CG+), peak_kiloamps, ignition_probability_pct, holdover
Polarity and peak current are vendor fields; ignition probability and holdover risk are platform-modeled from fuels and moisture at the strike point.
CwppDocument
County / CSFS CWPP archivesplan_id, jurisdiction, adopted_at, plan_units, action_items, source_pdf
The retrieval-tool corpus: PDFs chunked with page-level citations so agents quote the plan of record rather than paraphrase it.
EgressRoute
County road centerlines, CWPP evacuation modelingroute_id, name, status (go/caution/urgent), constraint, path
Statuses are graded per problem-fire scenario; a one-road-out grid is a plan-unit fact before it is an incident fact.
What this is, and is not
This is a portfolio demonstration of agentic orchestration applied to the planning side of a domain I know from the other side of the radio. Response gets the drama, but mitigation is where the math is: the demo shows how an internal intelligence platform can turn fuels, exposure, and weather data into a ranked, fundable plan — with confidence surfaced and a human planner in the loop on every output.
The agents are simulated and deterministic. There is no live inference, no real forest-health or parcel data, and no land-management guidance here.
This is a simulated portfolio demo. It is not an official mitigation-planning or emergency-management tool and must not be used for real fuels, evacuation, or land-management decisions.
Roads, subdivisions, burn scars, and hazard framing follow real US 285 corridor geography (Jefferson and eastern Park counties), the 2021 Elk Creek & Inter-Canyon FPD Community Wildfire Protection Plan, and the corridor’s fire history (Hi Meadow 2000, Snaking 2002, Buffalo Creek 1996, Lower North Fork 2012). Every mortality polygon, structure count, density figure, treatment unit, lightning strike, and probability is fictional — no real property, parcel, or survey is depicted. The commercial hazard sites on the map (propane plants and fuel stations along US 285) are real businesses at approximate locations from public listings, but every hazard note and exposure status attached to them is simulated and says nothing about any real business’s condition. Each phase’s "problem fire" is a percentile design scenario, one draw from the season’s distribution, run through the same terrain-, fuels-, and treatment-aware behavior model as the response demo, not a forecast. No affiliation with, or endorsement by, any agency, district, company, program, or data provider named in this demo is implied.