Skip to main content

Overview

Thermal Escalation turns FIRMS/VIIRS hotspot detections into clustered, baseline-aware watch items for the thermal-escalation panel. The implementation lives in scripts/lib/thermal-escalation.mjs.

Clustering

Detections are sorted by observation time and grouped by region label. A detection joins the nearest existing cluster in the same region when it falls within 20km; otherwise it starts a new cluster. Cluster centroids are updated incrementally as detections are added. Each cluster is assigned to a 0.5-degree baseline cell by rounding latitude and longitude to the nearest 0.5 degrees.

Baseline and Persistence

The scorer keeps 30 days of cell history and uses the last 7 days as the comparison baseline. For each cluster it computes: Prior observations within 18 hours extend persistence. The panel display window is 24 hours.

Status Rules

Context and Relevance

Conflict adjacency is determined from the cluster’s region label, not from a live distance join against conflict events. The current conflict-region allowlist is: Ukraine, Russia, Israel/Gaza, Syria, Iran, Taiwan, North Korea, Yemen, Myanmar, Sudan, South Sudan, Ethiopia, Somalia, Democratic Republic of the Congo, Libya, Mali, Burkina Faso, Niger, Iraq, and Pakistan. Strategic relevance is assigned as: The current implementation does not perform infrastructure-proximity matching. nearbyAssets is emitted as an empty array until an asset matcher is wired into the seeder.

Confidence

Rows are sorted by relevance, then status severity, total FRP, and observation count.