query_thermal_anomalies
Query NASA FIRMS satellite thermal anomalies (VIIRS 375m + MODIS 1km, near-real-time, ~3h latency). Two modes. mode="facilities" (default) reads the pre-aggregated per-facility-per-day rollup — use it for facility-centric questions ("thermal anomalies at Russian refineries this week", "which Gulf refineries lit up", "anything at the Ryazan refinery"). Filter by country, facility_type (refinery | power_plant), facility_name, days. Returns per facility: total detections, max FRP (fire radiative power, MW), nearest detection distance in km, and the monitoring radius used. mode="raw" reads individual detections inside a lat/lon box — use it for geographic questions not anchored to a monitored facility. CRITICAL INTERPRETATION RULES — a FIRMS detection is a SATELLITE HOT PIXEL, nothing more. It is NOT a confirmed fire, NOT a strike, NOT an outage. Most detections at oil and gas infrastructure are ROUTINE GAS FLARES that burn every single day. Attributing a detection to a strike, an attack, an explosion or a production halt is INFERENCE and must be labelled as inference, corroborated with other sources (conflict events, agent reports, news), and never stated as fact. Equally, ABSENCE OF DETECTION DOES NOT MEAN ABSENCE OF FIRE — cloud cover, smoke, and satellite overpass timing routinely hide real fires. Every response carries a coverage block: ingest is REGIONAL (Russia/Ukraine, Arabian Gulf, Europe), not global, so facilities outside those boxes report zero detections because they are NOT WATCHED, not because nothing burned. Always read coverage before characterising a zero result, and tell the user which of the two it is.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Look-back window in days ending today (default 7, max 30). Note the archive is shallow — check coverage.days_with_data. | |
| mode | No | "facilities" (default, pre-aggregated per monitored facility) | "raw" (individual detections in a bounding box). | |
| limit | No | Default 50, max 500. | |
| country | No | facilities mode: country-name substring (e.g. "Russia", "Saudi", "Ukraine"). Names are full English, NOT ISO codes. Filter optional. | |
| lat_max | No | raw mode: required. | |
| lat_min | No | raw mode: required. | |
| lon_max | No | raw mode: required. | |
| lon_min | No | raw mode: required. | |
| min_frp | No | raw mode: minimum fire radiative power in MW. Higher FRP = more energetic hot pixel, but still not a fire type. | |
| facility_name | No | facilities mode: facility-name substring (e.g. "Ryazan", "Ras Tanura"). Filter optional. | |
| facility_type | No | facilities mode: refinery | power_plant. Filter optional. | |
| min_detections | No | facilities mode: minimum total detections over the window (default 1, i.e. only facilities that registered something). Pass 0 to include quiet facilities and see what was watched-but-silent. |