Wildfire Sample

This page provides a complete sample response for a wildfire hazard from the Active Hazards API endpoint. The featured sample is an actively burning PDC satellite-detected wildfire spanning the Karnali and Lumbini regions of Nepal into Uttar Pradesh, India — 73,799 acres of largely forested terrain with 130 H3 cells currently active (out of 207 ever-active), SEVERE severity with EXPECTED urgency, peak Fire Radiative Power of 828 MW, and exposure assessment affecting 30,600 people across two countries and seven admin districts. This record exercises the full satellite incident model documented in the source wildfire pipeline: detection scoring, 24‑hour FRP rollups, land‑usage classification, trend analytics, and a 39‑polygon exposure footprint.

Wildfire Sources

The WILDFIRE hazard type aggregates two distinct source pipelines, which populate different subsets of incident.properties:

Source

Source IDs (examples)

Event values

Typical incident.properties shape

PDC satellite detection pipeline

2001

"Potential Large and/or Intense Wildfire"

Full incident analytics — detection scores, FRP rollups, land‑usage fractions, severity/certainty/urgency classification, trend deltas, location enrichment

NWS / national meteorological alerts (CAP)

1787 (EMHI), 1797 (CMA), 1798 (IMD), 1801 (NWS US)

"Fire Weather", "Pre Fire Alert", "Forest Fire"

CAP alert metadata — senderName, headline, description, urgency, severity, certainty, status, VTEC/identifier fields

Satellite-detected incidents use sourceId: 2001 and set sourceRecordId to the internal PDC incident UUID. Alert-derived wildfires use the national provider's sourceId and a provider‑issued alert identifier. The featured sample below is a satellite-detected incident.

Wildfire-Specific Properties

Incident Identity and Lifecycle

Field
Description

incident_id

Stable identifier of the wildfire incident (primary key in the incident processor). Matches incident.uuid and sourceRecordId for satellite-detected records.

version

Monotonic version number of the incident state used for conflict resolution.

created_at

Timestamp when the incident was first created in the incident processor. ISO‑8601 string.

last_updated_at

Timestamp of the most recent perimeter or incident update applied to this incident.

last_emitted_at

Timestamp when this incident state was last emitted downstream.

last_emitted_hash

Hash of the last emitted state used to suppress duplicate downstream forwards.

last_seen_at

Timestamp of the most recent meaningful hotspot evidence for the incident.

is_expired

Indicates whether the incident has been expired and should no longer be treated as active.

current_cells_n

Count of H3 cells currently active in the incident. Values near zero are valid when the fire has cooled below detection thresholds but the incident has not yet been expired.

ever_cells_n

Count of all H3 cells that have ever been part of the incident (superset of current_cells_n).

Classification and Reasoning

The incident processor derives three independent classification axes, each with a machine‑readable value and a human‑readable *_reason string that names the thresholds and weighted scores that drove the choice.

Field
Values observed for satellite-detected wildfires
Description

severity

MODERATE, SEVERE, EXTREME

Derived severity classification.

severity_reason

(string)

Explanation of the severity classification — typically references the 24h FRP threshold, acreage support, and dominant land cover.

certainty

LIKELY (observed); POSSIBLE, OBSERVED, UNLIKELY, UNKNOWN also defined

Derived confidence that the detection represents an actual wildfire.

certainty_reason

(string)

Explanation — typically references biome + fragmentation weighted detection scores and acreage corroboration.

urgency

IMMEDIATE, EXPECTED, FUTURE

Derived urgency classification.

urgency_reason

(string)

Explanation of the urgency classification.

For NWS / CAP-sourced fire weather alerts, certainty follows the CAP 1.2 specification with these values:

  • Observed — determined to have occurred or to be ongoing

  • Likely — probability > 50%

  • Possible — probability ≤ 50%

  • Unlikely — not expected to occur

  • Unknown — certainty cannot be determined

Note that CAP-sourced values are mixed‑case (e.g. "Possible", "Likely") while PDC‑derived values are upper‑case (e.g. "LIKELY").

The top-level severity on the hazard record (not incident.properties.severity) uses the standard DisasterAWARE tiering of ADVISORY, WATCH, WARNING derived from the combination of the incident classification and exposure level.

Detection Scoring

Satellite-detected incidents carry a panel of detection‑score aggregates from contributing hotspot observations:

Field
Description

detection_score_max

Maximum detection score observed across contributing members.

detection_score_sum

Sum of detection scores observed across contributing members.

detection_score_mean

Unweighted mean detection score across contributing members.

detection_score_mean_weighted

Weighted mean detection score across contributing members.

detection_score_weight_sum

Sum of weights used when computing weighted detection-score averages.

detection_score_n

Count of detection-score observations contributing to the incident rollup.

avg_sample_count

Average number of hotspot samples per contributing cell over the aggregation window.

Fire Radiative Power (FRP)

FRP fields quantify radiant heat output in megawatts. Higher values indicate more intense fire activity. Most fields roll up over a 24‑hour window.

Field
Description

sum_frp_mw_current

Sum of FRP in MW across cells that are currently active.

max_frp_mw_ever

Maximum FRP ever observed for any cell in the incident history.

frp_sum_mw_24h

Rolling 24-hour sum of FRP across the incident.

frp_max_mw_24h

Rolling 24-hour maximum FRP observed in the incident.

frp_mw_avg_window

Average FRP value over the configured incident scoring window.

frp_scale

Scaling factor used for FRP visualization or categorization.

Size and Trend

Field
Description

total_acres

Estimated incident size in acres derived from the incident exposure footprint.

trend_window_ms

Window length in milliseconds used for incident trend calculations.

trend_delta_acres

Change in estimated acres over the configured trend window. A negative value indicates the burnt‑area footprint contracted over the window.

trend_acres_per_hour

Estimated hourly acreage growth rate over the configured trend window.

trend_delta_frp_sum_mw_24h

Change in rolling 24-hour FRP sum over the trend window.

trend_delta_frp_max_mw_24h

Change in rolling 24-hour FRP max over the trend window.

trend_delta_detection_score_mean_weighted

Change in weighted mean detection score over the trend window.

trend_direction

One of UNKNOWN, STEADY, GROWING, SHRINKING.

Land Usage and Biome

The incident processor classifies the dominant land cover and biome of the affected cells. Note that the V2 API surfaces these fields without the land_ prefix that appears in the backing incident schema (so spreadsheet field land_dominant_class maps to API property dominant_class, land_biome_classbiome_class, land_fraction_*fraction_*, and so on).

Field
Description

dominant_class

Dominant land-cover class. Values observed: TREE_COVER, GRASSLAND, CROPLAND, BUILT_UP, BARE_SPARSE, PERMANENT_WATER.

biome_class

Dominant biome classification. Values observed: Tropical Forest, Temperate Forest, Savanna Grassland, Mediterranean Shrubland, Desert, Mangrove, Unknown.

fraction_forest, fraction_grass, fraction_cropland, fraction_urban, fraction_bare, fraction_water, fraction_wetland

Land‑cover fractions for the incident footprint. Sum to approximately 1.0.

land_usage_weight

Weight applied to the aggregated land-usage summary.

road_pixel_count

Count of road pixels intersecting the incident land-usage summary.

road_pixel_fraction

Fraction of the incident land-usage summary classified as roads.

is_urban_area

Whether the incident land-usage summary indicates an urban area.

touches_urban

Whether any contributing incident area intersects urban land cover.

fraction_urban_agg

Incident-level aggregate urban fraction across contributing members.

wui_is_interface

Whether the land-usage summary indicates wildland-urban interface.

wui_frac_interface

Wildland-urban interface fraction for the incident land-usage summary.

touches_wui

Whether any contributing incident area intersects the wildland-urban interface.

wui_frac_interface_agg

Incident-level aggregate WUI fraction across contributing members.

Location Enrichment

The V2 API enriches the raw incident record with human-readable place names. These fields are not present in the backing wildfire-incident schema — they are added during V2 enrichment from the incident's geometry.

Field
Description

locationName

Human-readable location string (also mirrored to the top-level hazard name and description).

hazardDescription

Long-form narrative describing the detection, severity, and land context.

country_codes

ISO 3166-1 alpha-3 country codes, comma-separated.

country_names

Country names, comma-separated.

regions

Admin level 1 (state/province) names, comma-separated.

boundary_names

Finer-grained admin boundary names (admin level 2 / district), comma-separated.

event

Event category label (e.g. "Potential Large and/or Intense Wildfire").

Features

The features property is null for satellite-detected wildfires. When an NWS or other national‑alert source emits a wildfire record with a published hazard zone, features carries a GeoJSON FeatureCollection of those zone polygons. Fire perimeter polygons (e.g. NIFC IRWIN perimeters) are delivered via a separate perimeter pipeline and are not included in the active hazard record's features property.

Exposure Areas

exposureAreas is a GeoJSON FeatureCollection whose features carry properties.exposureLevel (1, 2, or 3). Satellite-detected wildfires use a single exposure level derived from the active hotspot footprint:

  • Level 1: Minor damage expected

  • Level 2: Moderate damage expected

  • Level 3: Severe damage expected

The geometry is typically a MultiPolygon — a single incident can span many disjoint burnt patches. The featured sample's exposure geometry is a MultiPolygon of 39 disjoint polygons reflecting the spatial distribution of active detection cells across the incident footprint.

Exposure Assessment

The exposureAssessment object provides detailed population and infrastructure exposure data for the affected area.

Top-level fields:

  • population — Object containing total exposed population broken down by age group:

    • total — Total exposed population

    • total0_14 — Population aged 0-14

    • total15_64 — Population aged 15-64

    • total65_Plus — Population aged 65 and older

    • households — Number of households

    • vulnerable — Estimated vulnerable population

  • capital — Object containing infrastructure exposure:

    • total — Total infrastructure replacement value in USD

    • school — Number of exposed schools

    • hospital — Number of exposed hospitals

  • totalByCountry — Array of country-level breakdowns, each containing population, capital, country (ISO 3166-1 alpha-3), admin0, admin1, admin2, and humanitarian needs estimates (foodNeeds, waterNeeds, wasteNeeds, shelterNeeds with corresponding unit fields)

  • totalByAdmin — Array of admin-level breakdowns with the same structure

  • exposureLevels — Array of per-level exposure data, each containing level, exposureDescription, and a data object with the same population, capital, totalByCountry, and totalByAdmin structure

  • Top-level humanitarian needs: foodNeeds, waterNeeds, wasteNeeds, shelterNeeds with corresponding unit fields

  • Metadata: hazardUuid, hazardType, version, timestamp, exposureDescription

Exposure Assessment Units

The exposureAssessment object uses units that vary by country:

United States:

  • foodNeedsUnit: MRE (Meals Ready-to-Eat)

  • waterNeedsUnit: gal (gallons)

  • wasteNeedsUnit: 25 gal (25-gallon units)

  • shelterNeedsUnit: sq feet (square feet)

All other countries (including the featured Nepal / India sample):

  • foodNeedsUnit: CAL (calories)

  • waterNeedsUnit: liter (liters)

  • wasteNeedsUnit: 100 liter (100-liter units)

  • shelterNeedsUnit: sq meters (square meters)

The top-level humanitarian needs fields use the metric units (CAL, liter, 100 liter, sq meters) regardless of the country mix.

Source Schema Coverage

The backing wildfire incident pipeline persists three related tables: wildfire-incident (72 fields — the incident-level rollup), display-hotspot-stats (34 fields — per-cell hotspot aggregates), and wildfire-perimeter (47 fields — individual perimeter events). The V2 WILDFIRE hazard API surfaces a curated projection of the wildfire-incident table as incident.properties, with some fields renamed (the land_ prefix is dropped) and several enrichment fields added.

Wildfire Incident (wildfire-incident) — 72 fields

Category
In API
Excluded / Storage-only

Identity and lifecycle

incident_id, version, created_at, last_updated_at, last_emitted_at, last_emitted_hash, last_seen_at, is_expired

merged_into_incident_id (populated only when an incident is merged into a survivor)

Cell membership

current_cells_n, ever_cells_n (counts only)

member_perimeter_ids, current_cells, ever_cells, current_cells_compacted, ever_cells_compacted (raw arrays retained in storage only)

Classification

severity, severity_reason, certainty, certainty_reason, urgency, urgency_reason

Detection scoring

detection_score_max, detection_score_sum, detection_score_weight_sum, detection_score_mean, detection_score_mean_weighted, detection_score_n, avg_sample_count

FRP

sum_frp_mw_current, max_frp_mw_ever, frp_sum_mw_24h, frp_max_mw_24h, frp_mw_avg_window, frp_scale

frp_per_current_cell, current_to_ever_ratio

Size and trend

total_acres, trend_window_ms, trend_delta_acres, trend_acres_per_hour, trend_delta_frp_sum_mw_24h, trend_delta_frp_max_mw_24h, trend_delta_detection_score_mean_weighted, trend_direction

Land usage (renamed: land_* → no prefix)

dominant_class, biome_class, fraction_forest, fraction_grass, fraction_cropland, fraction_urban, fraction_bare, fraction_water, fraction_wetland, is_urban_area, road_pixel_count, road_pixel_fraction, wui_is_interface, wui_frac_interface, land_usage_weight, touches_urban, touches_wui, fraction_urban_agg, wui_frac_interface_agg

Hotspot confidence counts

reading_count_24h, high_confidence_count_24h, nominal_confidence_count_24h (available on the hotspot-stats table)

Geometry

alertGeometry, exposureAreas, top-level longitude / latitude

center_point, exposure_geometry (backing PostGIS columns)

Spatial coherence

spatially_incoherent, spatial_cluster_count, spatial_largest_cluster_fraction, spatial_second_cluster_fraction, spatial_max_distance_hops (populated only when the footprint fails coherence checks)

V2 enrichment fields added beyond the incident schema: locationName, hazardDescription, event, country_codes, country_names, regions, boundary_names.

Display Hotspot Stats (display-hotspot-stats) — 34 fields

Per-H3-cell hotspot aggregates used for map display. Not surfaced at the hazard-record level — individual hotspot points are available through the hotspot endpoints, not through the WILDFIRE hazard API. The incident-level rollups (detection_score_*, frp_*_24h, avg_sample_count) in incident.properties are derived from these per-cell stats.

Wildfire Perimeter (wildfire-perimeter) — 47 fields

Individual perimeter events (the components that merge into an incident). Not surfaced at the hazard-record level for satellite-detected wildfires — features is null on all 152 satellite-detected records in the observed dataset. Official perimeter polygons (e.g. NIFC IRWIN) arrive through a separate perimeter pipeline keyed off perimeter_id.

Sample Response

circle-info

Note: In this sample, coordinate arrays in alertGeometry and exposureAreas have been replaced with [...] for brevity. In actual API responses, these properties contain complete GeoJSON coordinate arrays — the full alertGeometry outer ring for this incident contains 145 points, and the exposureAreas MultiPolygon contains 39 disjoint polygons (the largest of which has 115 points). The exposureLevels[0].data.totalByCountry and totalByAdmin arrays have been replaced with [...] because they duplicate the top-level totalByCountry / totalByAdmin arrays shown above. The certainty_reason, severity_reason, and urgency_reason strings have been lightly truncated for readability — full responses contain the complete text. The school and hospital values in the capital object are counts of exposed facilities, not monetary values (2 schools and 0 hospitals exposed in this forested border region). With current_cells_n: 130 out of ever_cells_n: 207, this incident is actively burning at the moment of the snapshot — roughly 63% of the H3 cells that have ever been part of the incident remain flagged as actively burning. Note that totalByCountry and totalByAdmin both contain 2 entries here because the fire crosses the Nepal–India border, but both admin breakdowns are at admin0 granularity (admin1 and admin2 are null) since the exposure assessment is computed at the country level for this incident.

Last updated