Active sources
- NASA FIRMS VIIRS NOAA-20 NRT (required).
- NASA FIRMS VIIRS NOAA-21 NRT (required).
- NASA FIRMS MODIS NRT (required).
- VIIRS Suomi NPP is disabled in the initial release. No optional incident or model source is active.
Acquisition and time window
A scheduled Cloudflare Worker requests three calendar days from each required FIRMS product hourly, then validates and filters observations to an inclusive rolling 48-hour UTC window. The measured global volume triggered the documented hourly CPU and cost fallback. Polling frequency is not a promise of hourly data freshness. Observation, retrieval, processing, and publication times differ.
Each source exposes its own checked time, last successful fetch, and observed-through watermark. A release is globally fresh only when every required source validates in the same run.
Validation and identity
Rows are parsed by header name, bounded by bytes and record count, sanitized, checked for coordinates, time, instrument, numerical ranges, and schema drift, then stably sorted. Identical records are deduplicated only within the same source product. Observations from different sensors are never merged.
Stable identifiers and raw-record hashes use SHA-256. Content-addressed summary and regional objects are verified before the mutable manifest pointer changes.
Confidence, FRP, and resolution
Confidence remains product-specific. VIIRS letter classes and MODIS numerical confidence are not interchangeable probabilities of wildfire. FRP is Fire Radiative Power in megawatts when reported; it is not fire area, severity, local air temperature, or evacuation risk.
VIIRS I-band active-fire observations have a nominal 375 m pixel dimension at nadir; the MODIS active-fire product is approximately 1 km. Scan and track may describe a pixel footprint. Neither is an exact flame location or perimeter.
Map display
Red marks observations up to six hours old; amber marks older observations within the selected window. Low zoom uses exact sparse counts by time boundary, product, confidence class, and day/night. At zoom 6 and above, the browser loads only regional z6 source chunks and clusters detections locally.
A failed source never silently erases the previous verified source data. When possible, a partial release retains that data with an explicit stale state. If every required source fails, the current pointer is not replaced.
Place-search coverage
The optional browser-only search index is built from the versioned GeoNames cities15000 dump and contains 34,125 cities or administrative seats plus derived country and first-level region entries. Region results focus the map on the most populous indexed city in that region; country results use an indexed capital when available, otherwise the most populous indexed city. It is not address-level geocoding.
The complete generic index is requested only after search or detection-place context is opened. Typed search text and exact browser location are not sent to GeoNames or to a ThermalGlobe search endpoint. GeoNames data is used under CC BY 4.0.
Attribution and primary references
Active-fire detections: NASA FIRMS (MODIS and VIIRS), NASA LANCE at MODAPS; accessed at each published release.
Basemap attribution remains visible on the globe: NASA GIBS imagery and the attribution supplied by OpenFreeMap/OpenMapTiles/OpenStreetMap. Place search uses GeoNames core index version 20260829.
- NASA FIRMS: https://www.earthdata.nasa.gov/data/tools/firms
- FIRMS Area API: https://firms.modaps.eosdis.nasa.gov/api/area/
- FIRMS attributes: https://www.earthdata.nasa.gov/data/tools/firms/active-fire-data-attributes-modis-viirs
- OpenFreeMap: https://openfreemap.org/
- GeoNames: https://www.geonames.org/
- GeoNames license: https://creativecommons.org/licenses/by/4.0/
Material-method changelog
- V1 · 2026-08-29: initial required-source, 48-hour, content-addressed, bounded-streaming z6 release contract and local GeoNames search index.