Home/ User Guide/ Operator guide/ Simulating firekeeper / agency interventions

05 — Simulating firekeeper / agency interventions ⭐

This is the heart of operational planning: starting from a fire-spread simulation, work out who responds, how fast they get there, where to stage them, and which route they take — then play the dispatch forward against the fire on the map.

Read 04 — How to run a simulation first. The intervention flow needs an ignition point (and ideally a running perimeter) to plan against.


Two things called "intervention" — don't confuse them

Live dispatch simulation (this article)Historical intervention record
WhereOn the simulation map (/simulation/index) and the 3D map (/map3-d/index) — open the Intervention panelOperations → Interventions (/intervention/index)
WhatA planning / decision-support simulation: ETA ranking, staging, routing, dispatch preview, animated responseA post-fire record attached to an incident (suppression method, sitreps, durations)
Saved?No. It lives in your browser for the session — it is a what-if, not a logged actionYes. A persisted database record
Covered inThis article (05)06 — Field operations

Everything below is the live dispatch simulation.

What "dispatch" means here. Confirming a dispatch drives the on-map animation and status — it is not a real call-out and sends no message to any agency. The notification text is a preview of what a future messaging integration would send. Treat the whole flow as a high-fidelity rehearsal of a response. See What is and isn't recorded.


Before you start: the responders must exist in the registry

The flow can only rank and dispatch agencies that are in the operational registry with a usable location. The minimum each responder needs:

  • An agency (/operational-registry/index, Agencies tab) — typed by agency type: civil protection, regional civil protection, municipality, volunteer fire brigade, professional fire brigade, forest service, firefighters' union, or other.
  • At least one operational site for that agency, set to active and geocoded (with latitude/longitude). Agencies have no coordinates of their own — sites do. A site with no coordinates, or one that is not active, will not appear in the dispatch flow.
  • Ideally, assets (vehicles, with wildfire-capable / off-road (4×4) flags, water capacity and width) and teams (crew counts; the AIB forest-fire squads live here). These feed the ranking score, the crew/vehicle figures and the vehicle picker.

See 06 — Field operations → Operational registry for how to add and edit all of this. If sites are missing coordinates, the panel will tell you to geocode them (an administrator runs the geocode task).

"Firekeeper" squads = AIB teams. Italian Anti-Incendio Boschivo (AIB) forest-fire volunteer squads are modelled as teams of type aib under their agency. There is no separate "firekeeper" record type — firekeepers are the operators; their squads and brigades are agency teams and assets.


The operational-site layer (seeing nearby responders)

On both maps you can switch on a layer that shows nearby responders:

  • Layer name: "Operational agencies" in the map's layer panel.
  • What it shows: every active, geocoded operational site (green markers). Hovering/clicking a marker shows the agency name, the site name and type, and the phone number.
  • This is the situational layer ("who is around"). The ranking and dispatch below build on the same data but add ETA, capability and routing.

How to simulate an intervention — step by step (2D map)

Screen: Simulation (/simulation/index). The intervention controls live in the Intervention panel on the right; open it with the Intervention toggle.

Step 0 — Have an ignition point

The flow plans against the current ignition (your predicted fire origin). Set it by clicking the map or by loading a simulation run. With no ignition the panel shows "No ignition point: load one or start a simulation."

Step 1 — Open the Intervention panel

Click the Intervention toggle. Opening it automatically:

  • runs a first suggestion (the ranking below), and
  • switches on the road layers so you can see the access network — main roads and forest roads for both Italy and Slovenia.

Use "Re-process suggestion" at any time to recompute (for example after you move the ignition or a simulation perimeter grows).

Step 2 — Read the ETA ranking

The panel lists the nearest, best-suited agencies as a table:

ColumnMeaning
★The top-scoring agencies are starred (by default the top 3) — pre-selected suggestions, "Pre-selected because it has one of the top scores."
AgencyAgency name
CCountry (IT / SI)
DistStraight-line distance to the ignition
ETAEstimated time of arrival, in minutes
VehVehicles available at that agency
CrewCrew available (volunteers + operatives)
ScoreCombined rank (closeness and capability)
(+)The Dispatch button for that agency

Two reach rings are drawn around the ignition as a quick reality check: a green ~30-minute (≈15 km) ring and an orange ~60-minute (≈30 km) ring.

How the ranking is computed (so you can trust/override it). The score combines a proximity factor (closer is better, with a 30-minute half-life) and a capability factor (more vehicles, more crew, more water — boosted for wildfire-capable fleets and slightly for off-road-capable fleets). At this ranking stage the ETA is a fast straight-line estimate (about 35 km/h on road, 18 km/h off-road) — good enough for sorting "who's closer", not for final timing. The dispatch step below computes a routed ETA.

Step 3 — Open the Dispatch modal

Click a row's Dispatch (+) button. The "Confirm dispatch" modal opens and immediately computes a routed preview. It contains:

  • Summary — Country, Vehicles, Crew, ETA, Score for the chosen agency. The Vehicles cell becomes selected / total once you pick vehicles.
  • Recommended staging — a safe arrival point on the outside of the fire perimeter, with an arrival point (road name), an arrival margin (how many minutes the unit beats the front by, e.g. +12 min) and the flank (leeward / flank / windward). See Staging.
  • Intervention response time (min) — the turnout delay before the unit starts moving. Default 10, range 0–120. Editing it re-times the plan.
  • Forest viability speed (km/h) — the speed to assume on forest tracks. Default 20, range 5–60. Lower it for poor tracks; the routes and ETAs re-cost immediately.
  • Route options — up to three route alternatives. See Routing.
  • Forest-road notice — a caution banner when the chosen route uses forest track (see below).
  • Vehicles to dispatch — pick which vehicles go. See Choosing vehicles.
  • Notification channel — WhatsApp (the active option); Telegram and Call are shown as placeholders and are disabled.
  • Message preview — the dispatch message that would be sent (a dry-run preview; nothing is sent).
  • Buttons — Confirm (commit the dispatch into the simulation), Cancel (close without dispatching), and Cancel dispatch (only shown when you re-open an already-dispatched agency, to remove it).

Staging — where to send them

Rather than aiming the unit at the centre of the fire, the planner finds a safe arrival point just outside the perimeter:

  1. It buffers the current fire perimeter outward (about 150 m).
  2. It samples points around the perimeter and snaps them to the road network.
  3. It scores each candidate by arrival margin = (time for the fire to reach that point) − (time for the unit to reach it). Positive margin means the unit gets there ahead of the front.
  4. It biases toward the leeward flank (downwind side, safer) over the windward flank, using the run's wind direction.

The chip tells you the outcome:

  • green — "Reaches the fire ahead of the front" (a good staging point);
  • red — "No staging point reachable ahead of the front" (no candidate beats the fire — re-think the responder or the timing);
  • grey — "No perimeter yet: routing to the ignition point" (you haven't run a perimeter, so it routes to the ignition).

On the map the staging point is a blue ✕ with the buffered perimeter drawn in red. (The modal covers the map; close it to see the markers.)

Routing — which way they go

The route comes from the routing service (OSRM) and offers up to three alternatives. Each route card shows:

  • an ETA (~N min), recomputed live when you change the forest-viability speed;
  • the distance and how much of it is on forest track (… km forestale);
  • badges: "recommended" (the default) and "most forest viability" (the option that uses the most forest road).

Select a card to draw that route on the map (a blue line; the final ~100 m is dashed as the approach).

If routing is unavailable, the flow still works: it falls back to a straight line at ~35 km/h and tags the ETA as approximate. A routed ETA is tagged "(routed)"; a fallback one "(approx.)". So you always get a plan — just know which ETAs are high- vs low-confidence.

Forest roads & vehicle width — an important manual check

There is no per-segment forest-road width data. When the chosen route uses forest track, a banner warns you of the kilometres on forest viability and names your widest selected vehicle. It turns amber when that vehicle is ≥ 2.30 m wide. You must judge whether the vehicle physically fits — the system cannot.

Choosing vehicles

Vehicles to dispatch lists the agency's vehicles (excluding those that are inactive or in maintenance), wildfire-capable ones first. Each shows its width (with a ⚠ when ≥ 2.30 m), water capacity, crew capacity and a green 4×4 tag for off-road. Wildfire-capable vehicles are pre-selected; tick or untick to change the load-out. Your selection updates the selected / total count in the summary.

Step 4 — Confirm

Click Confirm. The dispatch is committed into the simulation: the modal closes, the route is drawn in the agency's colour, and an animated truck starts moving.

Step 5 — Watch it play out

The dispatched unit moves with the simulation timeline: it waits out the response time, then drives the route. Its status badge in the panel reads "dispatched" while en route and flips to "on-scene" on arrival. Hover the moving truck for a card with the agency, phone, the vehicles you picked (with widths) and the ETA.

You can dispatch several agencies; each gets its own colour and animated unit, so you can compare a multi-agency response on one timeline.

Step 6 — Adjust on the fly

  • Retarget arrival: with the panel open and at least one unit dispatched, click the map to set a new arrival point — every dispatch re-routes to it (a pin marks the override).
  • Move the ignition: dragging/replacing the ignition clears the override and re-plans.
  • Clear everything: use the panel's clear control to wipe all dispatches, staging and overrides and start the what-if again.

On the 3D map

The 3D map (/map3-d/index) has a simpler intervention panel: the same ranking table (Agency · C · Dist · ETA · Score · Dispatch) and an animated route, but no dispatch modal — so no staging panel, vehicle picker or route alternatives there. Use 3D for a terrain-aware view of the response; use 2D for the full dispatch detail. On 3D the ignition comes from the runs drawer (load a run), and clicking the map likewise retargets arrivals.


What is and isn't recorded

This matters for expectations and for any after-action review:

  • The live dispatch simulation is not persisted. Dispatches live in your browser for the session and are lost on reload. There is no dispatch log table, and no message is actually sent — the "message preview" is a dry run.
  • What is recorded:
    • Registry edits — every agency/site/asset/team/contact carries created/updated timestamps and a data source, and the registry has a data-quality issue workflow (open / in-review / closed / waived). That is the persistent audit of your master data. See 06 — Operations → Operational registry.
    • Historical interventions — the real, persisted record of a response to an actual fire is the historical intervention attached to an incident (/intervention/index), not this simulator. See 06 — Field operations.

So: use this flow to plan and rehearse; use the incident + registry records to document what really happened.


Troubleshooting

SymptomLikely cause / fix
"No ignition point…" and an empty panelSet an ignition (click the map) or load a run first.
An agency you expect is missing from the rankingIts site is not active or not geocoded (no lat/lon), or the agency has no site at all. Fix it in the operational registry.
Panel says to run a geocoding taskSites lack coordinates — ask an administrator to run the registry geocode task, then re-process.
ETAs look too round / are tagged (approx.)The routing service is unavailable, so it's using straight-line estimates. Routed ETAs are tagged (routed).
Staging chip is redNo staging point beats the fire front — the responder is too far/slow for that ignition; try a closer agency or revisit the run.
Vehicle won't realistically fit the forest trackHeed the amber width banner — there is no forest-road width data; this is a manual judgement.
Everything disappeared after a refreshExpected — the dispatch simulation is in-browser and not saved. Re-open the run and re-plan.