Wildfire SimulatorBeta
Defend a village from wildfires with water drops and firebreaks
This tool is a beta version still being stabilized. Please let us know if a result looks off.
A summer storm with lightning but no rain. Bolts strike deep in the forest at several places, minutes apart.
Goal Lose no more than 2 houses.
How could it be stopped?
Natural cycle (Drossel–Schwabl)
Working…
0.0
It hasn't frozen — the result will appear when the calculation finishes.
About Wildfire Simulator
This simulation is a cellular automaton on a 96 × 64 map. Each cell holds a fuel — grass, conifer, broadleaf or house — or non-burning ground such as water, road or a firebreak. Every generation, a burning cell tries to ignite each of its eight neighbours with probability 0.36 × (the neighbour's flammability) × (dryness) × (0.55 if diagonal) × (wind factor). Flammability is 0.95 for grass, 0.8 for conifers, 0.55 for houses and 0.45 for broadleaf trees; burn time is 1 generation for grass, 3 for conifers, 4 for broadleaf and 6 for houses.
The first four scenarios — dry thunderstorm, power line in a gale, field and trash burning, unattended campfire — are defence games modelled on real causes of wildfires. “Natural cycle” is an experiment mode based on the Drossel–Schwabl forest-fire model from statistical physics. Both use the same spreading rule but ask different questions: the scenarios ask how to stop a fire; the cycle asks what sizes fires take when nobody stops them.
Wind and humidity, in numbers
Dryness is 1.45 − 1.3 × humidity: 1.19 at humidity 0.2, 0.80 at 0.5. The wind factor is 1 + 1.6 × strength × cos θ, where θ is the angle between the spread direction and the wind, floored at zero. So once wind strength exceeds 1/1.6 = 0.625, spread straight into the wind drops to exactly zero. That is why a fire in a gale runs out as a long, narrow tongue.
Above strength 0.35 the model adds spotting: burning embers carried ahead of the front. Each burning cell throws an ember with probability 0.05 × (strength − 0.35) × dryness × 3 per generation, landing downwind between 2 and 2 + 7 × strength cells away. That is why a firebreak a few cells wide fails on a windy day. Spot fires jumping roads and rivers are a familiar feature of large real-world fires too.
A cell hit by water stays wet for a while, cutting its ignition chance to 3% of normal. It slows fire rather than stopping it outright, so wetting the places embers will land — around houses, along the far edge of a firebreak — usually pays off more than dousing the flame front.
The Drossel–Schwabl model (1992)
The original model by Barbara Drossel and Franz Schwabl has four rules applied simultaneously: a burning cell becomes empty; a tree with a burning neighbour catches fire; a tree ignites with probability f even without a burning neighbour (lightning); an empty cell grows a tree with probability p. When lightning is much rarer than growth (f ≪ p) and fires burn out much faster than trees regrow, the forest cycles between dense growth and collapse by large fires, and fire sizes follow a power law — a self-organized critical state in the same family as the 1987 Bak–Tang–Wiesenfeld sandpile.
This tool's Natural cycle follows that framework with a few differences. Fire spreads to neighbours probabilistically rather than with certainty, uses eight neighbours, and burns for three or four generations depending on the tree species. Trees regrow on both bare ground and ash. It is better used to see how the growth-to-lightning ratio changes the look of the forest than to reproduce the paper's exponents.
Percolation: how dense must a forest be for fire to cross it?
Plant trees at random on a square grid, each site occupied with probability q, and let fire spread only up, down, left and right, always igniting a neighbouring tree. If q is below about 0.5927, every fire dies inside a finite cluster; above it, a cluster spans the grid and fire can cross the whole forest. This is the site percolation threshold; Newman and Ziff (2000) computed it as 0.59274621. If diagonal neighbours count as well, the threshold drops to about 0.407.
In this tool, a neighbouring tree does not always catch. With humidity 0.35 and no wind, a conifer ignites an adjacent conifer with probability 0.36 × 0.8 × 0.995 ≈ 0.287 per generation; over its three burning generations, the chance of passing the fire at least once is 1 − (1 − 0.287)³ ≈ 0.64. Diagonally it is about 0.40. So crossing the forest depends on the effective connection — density times transmission — rather than density alone. The exact threshold for this rule set is not known, so try it yourself: in Natural cycle pick a forest density with the Starting tree density slider (45% by default), set growth to zero, light a fire in the middle, and see at which densities it reaches the far side. Changing the density lays out a fresh map at that density.
What works in the defence scenarios
Grass is the most flammable fuel but burns out in a single generation, which is why the fire in the field-burning scenario races across the meadow and passes quickly. The dangerous moment is when it reaches the forest edge. Broadleaf trees resist ignition, conifers catch easily and burn long, and you can watch fire run ahead along conifer stands.
Roads and water have zero fuel and act as firebreaks. Embers skip cells, though: on a calm day a break one or two cells wide holds, but in a gale you need a wide defensible space cleared on the village side.
Worked examples
Spread odds in the power-line scenario
- Input
Wind 0.75, humidity 0.18, conifer → adjacent conifer- Output
Dryness 1.216. Downwind 0.77, crosswind 0.35, upwind 0 per generation
0.36 × 0.8 × 1.216 = 0.350, multiplied by the wind factor (downwind 2.2, crosswind 1, upwind max(0, 1 − 1.2) = 0). Ember odds are 0.05 × 0.4 × 1.216 × 3 ≈ 0.073 per burning cell, landing 2–7.25 cells away. The numbers show why a head fire is so hard to stop from the front.
Time scales in the default natural cycle
- Input
p = 1%, f = 10^−4.3 ≈ 0.00005, assume 3,000 trees on the 6,144-cell map- Output
About 31 new trees and 0.15 lightning strikes per generation (one strike every ~7 generations)
p/f ≈ 200: more than 200 trees grow for each strike. Lower f toward 10^−5 and the forest grows denser before any fire starts, and the fires that do come spread much further.
How to use it
- Pick a cause of fire and note the blinking ignition point.
- Before starting, cut firebreaks or pre-wet key areas.
- Press ▶ Start and fight the fire with helicopters, trucks and the air tanker.
- In Natural cycle, vary p and f and watch the forest and fire chart.
Key terms
- Spotting
- Embers carried by wind that start new fires ahead of the main front.
- Percolation threshold
- The fill fraction at which a randomly filled grid first contains a cluster spanning edge to edge; about 0.5927 for a square lattice with four neighbours.
- Drossel–Schwabl model
- A 1992 cellular automaton describing the forest–fire cycle using only a growth probability p and a lightning probability f.
- Defensible space
- A zone around buildings where fuel is removed or wetted so fire cannot reach the structure.
Frequently asked questions
Why do conifer forests burn more readily than broadleaf ones?
The tool sets conifer flammability to 0.8 and broadleaf to 0.45. In reality, conifer needles and resin are rich in flammable compounds, and forestry agencies sometimes plant broadleaf belts as fire-resistant buffers. The tool's coefficients illustrate the trend; they are not measured values.
Fire jumped my firebreak.
Above wind strength 0.35, embers can fly up to 2 + 7 × strength cells. At 0.75 that is more than seven cells. Pre-wet the far side or widen the break.
Is Natural cycle the same as the original Drossel–Schwabl model?
Same framework, but spread here is probabilistic, uses eight neighbours and lasts several generations. It is not suited to comparing quantitative results, such as the fire-size exponent, with the paper.
How dense must a forest be for fire to sweep through it?
In the idealised four-neighbour model where fire always spreads, the boundary is about 59.3%. Here transmission is probabilistic, so a higher density is needed, and the answer shifts with wind and humidity.
Sources
- B. Drossel, F. Schwabl, Self-organized critical forest-fire model, Phys. Rev. Lett. 69, 1629 (1992)
- M. E. J. Newman, R. M. Ziff, Efficient Monte Carlo algorithm and high-precision results for percolation, Phys. Rev. Lett. 85, 4104 (2000)
- K. Malarz, Random site percolation thresholds on square lattice for complex neighborhoods, Physica A (2023) — arXiv:2303.10423
- P. Bak, C. Tang, K. Wiesenfeld, Self-organized criticality, Phys. Rev. Lett. 59, 381 (1987)
Last reviewed: