Methodology
This page renders directly from the running risk model configuration, so what you read here always matches what the code actually runs. Configuration version 2026.08.4. The full configuration file is referenced on the sources page.
What our words mean
These distinctions are used consistently across the whole app. A term further down this list is a stronger claim than one above it: reaching it requires more evidence, not just more time.
- Raw satellite thermal anomaly
- A single pixel where a satellite instrument detected unusually high heat. On its own it is not evidence of a wildfire.
- Potential incident cluster
- A group of nearby, close-in-time thermal anomalies the clustering engine has linked as probably the same heat source. Still not a confirmed fire.
- Fire reported by an FRS
- An incident a fire and rescue service has logged as reported, before it has been confirmed as an active wildfire.
- Verified active wildfire
- An incident a named organisation, usually a fire and rescue service, has confirmed as an active wildfire.
- Contained
- The spread of a verified wildfire has been stopped, though monitoring or mop-up may continue.
- Monitoring
- A wildfire is being watched for renewed activity but is not currently classed as spreading.
- Extinguished
- A verified wildfire has been officially declared out.
- Formally declared major incident
- A status only ever applied when the responding service has made a formal major incident declaration. It is never inferred from fire size or duration.
- Physically large fire
- A fire covering a large area on the ground. This is a size description, not a formal status: a large fire is not automatically a major incident.
- Forecast fire danger
- A modelled forecast of how favourable conditions are for a fire to start and spread, built from weather and rainfall. It is a forecast of conditions, never evidence that a fire exists.
From pixels to incidents
A wildfire usually lights up several satellite pixels across several passes, not one. Two detections are linked into the same potential incident cluster when they fall within 1.5 km of each other and within 24 hours of each other; a nearby detection arriving more than 24 hours after a cluster's last one starts a new cluster instead. Separately, a cluster with no fresh detection for 20 hours is flagged "no recent detections" and its map marker fades. That gap is NOT evidence the fire is out: it may be extinguished, smouldering below the roughly 375 m detection threshold, hidden by cloud, or simply between satellite passes; only a fire and rescue service can confirm extinguishment. Each cluster's mapped extent is buffered by 375 m around its detections to account for pixel footprint and satellite geolocation error.
Confidence rules
Confidence answers one question: how likely are these detections to be a real ongoing fire, rather than noise or a false alarm. It never changes what status a cluster has, only how much the map and lists signal about it.
| Factor | Value |
|---|---|
| Capped at low | cluster overlaps a possible or likely industrial or persistent heat source |
| High | 3+ detections AND (2+ distinct satellites OR peak fire radiative power >= 20 MW) |
| Medium | 2+ detections, or a single detection with high sensor confidence and fire radiative power >= 10 MW |
| Low | everything else; a single night-time-only detection is flagged as not yet confirmed by a further pass |
Industrial and persistent heat source checks
Flares, incinerators and similar industrial heat sources produce satellite heat signatures that can look like a wildfire on paper. Two independent checks catch most of them before they reach anyone's screen as a probable incident.
| Factor | Value |
|---|---|
| Registry check (likely) | within 1200 m of a known persistent heat source |
| Recurrence check (possible) | detections in the same location on 8+ separate days within a rolling 90-day window, spanning at least 30 days |
Fire danger model
Fire danger is a weighted blend of temperature, humidity, wind and rainfall deficit, plus the Copernicus EFFIS Fire Weather Index where it is available. Each factor is normalised to 0 to 1 before weighting, so no single unit dominates the score just because of its scale.
| Factor | Value |
|---|---|
| Temperature | 0.20 |
| Relative humidity (inverted: drier is higher danger) | 0.25 |
| Wind speed | 0.15 |
| Rainfall deficit (blend of 7, 14 and 30 day accumulations, inverted) | 0.30 |
| Copernicus EFFIS Fire Weather Index | 0.10 |
Normalisation ranges
| Factor | Value |
|---|---|
| Temperature | 8 to 32 degrees C |
| Relative humidity | 25 to 90%, inverted |
| Wind speed | 1 to 14 m/s |
| 7-day rainfall | wet 30 mm to dry 1 mm |
| 14-day rainfall | wet 60 mm to dry 4 mm |
| 30-day rainfall | wet 110 mm to dry 15 mm |
| Rainfall deficit blend | 0.5 x 7-day + 0.3 x 14-day + 0.2 x 30-day |
Bands
| Factor | Value |
|---|---|
| Very low | score below 0.15 |
| Low | score below 0.3 |
| Moderate | score below 0.5 |
| High | score below 0.68 |
| Very high | score below 0.84 |
A score at or above the very high threshold (0.84) is banded Exceptional.
When the EFFIS Fire Weather Index is unavailable for a point, its weight is not simply dropped: it is redistributed proportionally across temperature, humidity, wind and rainfall deficit, so the score stays on the same 0 to 1 scale. Fire danger is always a forecast of conditions that favour a fire starting or spreading. It is never evidence that a fire exists.
Urban Threat Index and Overall Incident Risk
The Urban Threat Index (UTI) blends how hazardous a cluster looks with how much is nearby to be affected, then applies a wind alignment factor. Overall Incident Risk instead blends hazard, exposure and the official response already under way. Both are 0 to 100 decision-support scores, not predictions of harm.
UTI blend
| Factor | Value |
|---|---|
| Hazard | 0.45 |
| Exposure | 0.55 |
Hazard weights
| Factor | Value |
|---|---|
| Recency of last detection | 0.25 |
| Persistence (satellite passes) | 0.20 |
| Fire radiative power | 0.20 |
| Confidence level | 0.15 |
| Fire danger context at the cluster | 0.20 |
Recency reaches full weight within 6 hours of the last detection and fades to zero by 48 hours. Persistence saturates at 4 satellite passes. Fire radiative power saturates at 60 MW.
Exposure weights
| Factor | Value |
|---|---|
| Population nearby | 0.60 |
| Buildings nearby | 0.20 |
| Sensitive facilities nearby | 0.20 |
Population and buildings, by ring
| Factor | Value |
|---|---|
| 1 km ring weight | 0.55 (population saturates at 1,500, buildings at 700) |
| 3 km ring weight | 0.30 (population saturates at 10,000, buildings at 4,500) |
| 5 km ring weight | 0.15 (population saturates at 30,000, buildings at 12,000) |
| Facility count saturation (within 3 km) | 4 |
When no building count is available (for example the Overpass API is disabled or unreachable), the buildings weight is redistributed to population rather than treated as zero exposure.
Downwind concern sector and wind factors
The downwind concern sector is a cone pointing the direction the wind is blowing toward, with a half angle of 35 degrees and a length of 2 km plus 0.55 km for every m/s of wind speed, capped at 10 km. It is built only from current or forecast wind direction and speed.
It is not a fire-spread perimeter prediction: the platform has no calibrated fuel load, terrain or fire-behaviour model feeding it, so it deliberately makes no claim about how far a fire would actually travel. It is a plain-English "who is downwind now, and when might that change" summary, nothing more.
| Factor | Value |
|---|---|
| Aligned (within the sector) | 1.00 |
| Crosswind (up to 90 degrees off) | 0.45 |
| Opposed (more than 90 degrees off) | 0.15 |
| Calm | 0.35 (applied below 1.5 m/s, and when no live wind reading is available) |
Response
| Factor | Value |
|---|---|
| Incident status | 0.40 |
| Duration since first observed | 0.20 |
| Concurrent incidents in the same FRS area | 0.20 |
| Distance to nearest fire station | 0.20 |
| Factor | Value |
|---|---|
| active | 1.00 |
| reported | 0.90 |
| monitoring | 0.50 |
| contained | 0.30 |
| extinguished | 0.05 |
Duration saturates at 72 hours since first observed. Concurrency saturates at 6 other active incidents in the same fire and rescue service area. Station distance scales linearly from 3 km (near) to 20 km (far).
Overall Incident Risk weights
| Factor | Value |
|---|---|
| Hazard | 0.45 |
| Exposure | 0.35 |
| Response | 0.20 |
Limitations and honest failure modes
Every model here has known blind spots. Listing them plainly is part of how this platform earns trust as decision support rather than a false sense of certainty.
- Cloud cover hides fires from satellite instruments entirely: an area under cloud can be burning with nothing shown on the map.
- VIIRS pixel resolution is about 375 m, so a detection marks roughly where a fire is, not its precise extent or edge.
- Industrial heat (flares, incinerators, other persistent heat sources) can resemble a wildfire signature; the registry and recurrence checks catch most but not necessarily all of it.
- Observation time (when the satellite saw it) and refresh time (when this app last successfully ingested it) are different things, and both are shown separately rather than conflated.
- Exposure estimates (population, buildings) are drawn from settlement and building centroids and rings around a cluster, not a detailed on-the-ground survey.
- This platform is decision support and public information only. Local fire and rescue services remain the authoritative source on any incident.
- In an emergency, call 999.
When a data source fails
Sources fail routinely: an upstream service goes down, a boundary file will not download, a weather fetch times out. The platform keeps showing the most recent successful data rather than going blank, and records every fetch attempt. Supporting-source problems (boundaries, burnt-area mapping, population files) appear quietly as "data notes" in the overview strip and in full on the Sources page, because they do not change the fire picture itself. A prominent banner appears on the map only when something that materially affects the fire picture is wrong: a satellite feed failing, or ingestion having stalled, in which case the timestamps in the overview strip also stop advancing.