Simulation

The simulation in C3Fire is build up by a set of interacting simulation layers. The main layers are a geographical objects layer, a fire layer and a unit layer. All layers are based on a two dimensional matrix. Nothing exists outside the matrix and the fire will not spread outside this area. In the geographical objects layer there can be different kinds of vegetation, houses and other types of static objects. The fire layer is a cellular automata interacting with the other layers. In the unit simulation layer different kind of moveable objects exist, example emergency units as fire-fighting units, and reconnaissance persons. There also exist a weather simulation that interacts with the fire simulation.



Figure 1. Example on a map matrix.

Map layer
Geographical object layer
Fire simulation layer
Unit simulation layer
Weather



Map layer

The matrix of C3Fire is the surface on which the other layers can interact. Nothing exists outside the matrix. The fire will not spread outside this area. Weather, units and geographical objects cannot be configured to have any meaning outside it.

In the standard experiment setting of C3Fire the matrix is exposed upon a background image that are defined in session configuration file at (Map Config ). In the configuration also other properties, as dimension size, index type and color of lines, of the matrix are set.




Geographical object layer
The geographical environment in C3Fire is built up of vegetation and building objects. The vegetation is of different kinds of tree types, each with its own burning qualities (fast / slow burning). The objects, such as a house, also have their burning qualities.

The geographical environment will create complex decision task for the trained people. It will create a complex goal situation, where the staff can decide to protect some houses or some large forest area. During a session the fire-extinguishing organization should use the information about the environment in their strategic thinking to understand which areas need to be saved and where critical fast-burning forest areas are.

Objects

In the standard experiment setting there are three types of vegetation: normal, young pine tree (fast burning), and birch tree (slow burning).
In the standard experiment setting it also can exist houses. The role of the houses is to make some areas more important to save than others.


Example of standard images:

Normal :
Pine tree :
Birch tree :
Swamp :
House :
School :
Geographical objects example


The Object types are defined in session configuration file at (Object Types). The objects that should exist in the simulation are defined at (Objects). The objects that shall be visible in the users map are defined at (Display Objects).
The different configurations for what objects that should exist in the simulation (the simulated reality) and for what objects that should be visible on the users map at the beginning of the session, makes it possible to define a map that differ from the simulated reality.





Fire Simulation

The fire simulation is a cellular automata. Each position on the map has its own fire simulation, together they represents the fire. The fire's start positions are determined in the session configuration, but how the simulation develops is depending on each positions fire simulation. The geographical object layer, the unit layer and the wind simulation affect the fire simulation.

Fire States

In the standard experiment setting, the fire in each position in the geographical matrix could be in one of five states: clear, fire, closed-out, burned-out, fire-break.

Clear The position is not burning. It will be ignited when a burning neighbour position has burned a certain length of time, the ignition time.
Fire When a fire is burning, it will keep burning until it is closed out by a fire-fighting unit or is burned out due to lack of fuel.
This burning position ignites fire on its neighbour positions.
Closed Out A fire-fighting unit has extinguished the fire on the position. It cannot be ignited again.
Burned Out The fire on this position has burned out due to lack of fuel. It cannot be ignited again.
Fire Break All types of burnable fuel has been removed, burned or secured. It cannot be ignited.

A non-burning position can be ignited if a burning neighbour position has burned a certain length of time. The fire can spread from one position to the nigbours, horizontally (West and East), vertically (North and South) and diagonal (North-West, North-East, South-East and South-West). To make the fire spread in a circle, the fire spread are slower in the diagonal. The fire spread delay are (1.4142) times as long for the diagonal directions than for the horizontal and vertical directions.

Fire spread
horizontal and vertical
Fire spread
Diagonal

When a fire has ignited, a fire-fighting unit can extinguish the fire or the fire can burn itself out due to lack of fuel. A new fire cannot be ignited at a position, which has been closed out, burned out or is protected by a fire break.
The fire simulation layer is interacting with the geographical object layer, the unit layer and the wind simulation. This means that the spreading speed and the spreading direction of the forest fire are dependent on the vegetation, the activities of the fire-fighting units and the wind. The decision makers need to understand the characteristic behaviour of the fire in different types of vegetation and weather conditions to be able to perform their task in a suitable way.


The states of fire are represented on the map by four images, no fire, fire, fire closed out, fire burned out or fire break. Example of standard images:

No fire :
Fire :
Fire closed out :
Fire burned out :
Fire Break :
The different states
of fire

Fire Simulation Configuration

The Fire simulation is defined in the Fire configuration definitions in the session configuration. In the configuration the manager can select wind factor, ignite time and burn out time, all of them affects the fire simulation.
<FireConfig
  WindFactor = "0.8" 
  IgniteTime = "10"
  BurnOutTime = "20" />
    

Ignite time

The ignite time defines how long time it takes for a normal cell to ignite a neighbour cell. The value defines number of seconds. To make the fire spread in a circle, the fire spread are slower in the diagonal. To north, east, west, south and west the time delay are the ignite time. While to north-west, north-east, south-east and south-west the time delay are the (ignite time * 1.4142).

Example
If objects in the cells have the fire speed equals "1" (see session configuration) and the wind speed equals "0" (see scenario configuration). Then it is only the ignite time in the fire configuration that influence the fire spreading speed.

Step 1 Step 2 Step 3 Step 4 Step 5


In this example the Ignite time = "10" (10 seconds)

Step 1 Time 00:00:00 The fire starts at C3.
Step 2 Time 00:00:10 10 seconds after C3 starts burning the fire spreads from cell C3 to cell B3, C2, C4 and D3.
Step 3 Time 00:00:14 14 seconds after C3 starts burning the fire spreads from cell C3 to cell B2, D2, B4 and D4.
To make the fire spread in a circle from C3 the time delay is calculated by (Ignite time * 1.4142).
Step 4 Time 00:00:20 10 seconds after C2 starts burning the fire spreads from cell C2 to cell C1, etc.
Step 5 Time 00:00:24 14 seconds after C2 starts burning the fire spreads from cell C2 to cell B1 and D1, etc.
(Ignite time * 1.4142).


BurnOut Time

The burnout time defines how long time it takes for a normal cell burn down.
The value defines number of seconds. The burn out time are unaffected by the objects fire speed and wind speed.

Example
Same fire ignite time as the example above.

Step 1

Step 2 Step 3 Step 4 Step 5
Step 6 Step 7 Step 8 Step 9 Step 10


In this example the BurnOut time = "15" (15 seconds) and the Ignite time = "10" (10 seconds)

Step 1 Time 00:00:00 The fire starts at C3.
Step 2 Time 00:00:10 10 seconds after C3 starts burning the fire spreads from cell C3 to cell B3, C2, C4 and D3.
Step 3 Time 00:00:14 14 seconds after C3 starts burning the fire spreads from cell C3 to cell B2, D2, B4 and D4.
To make the fire spread in a circle from C3 the time delay is calculated by (Ignite time * 1.4142).
Step 4 Time 00:00:15 15 seconds after C3 starts burning the cells buns out.
Step 5 Time 00:00:20 10 seconds after C2 starts burning the fire spreads from cell C2 to cell C1, etc.
Step 6 Time 00:00:24 14 seconds after C2 starts burning the fire spreads from cell C2 to cell B1 and D1, etc.
(Ignite time * 1.4142).
Step 7 Time 00:00:25 15 seconds after C2, B3, D3 and C4 starts burning the cells buns out.
Step 8 Time 00:00:28 14 seconds after B2 starts burning the fire spreads from cell B2 to cell A1, etc.
(Ignite time * 1.4142).
Step 9 Time 00:00:29 15 seconds after B2, D2, B4 and D4 starts burning the cells buns out.
Step 10 Time 00:00:35 15 seconds after C1, A3, E3 and C5 starts burning the cells buns out.



Vegetation and Objects

The fire simulation is influenced by the vegitation and objects in the geographical environment. All vegetations and objects has a fire speed value that are defined in the session configuration, See (see session configuration). In the fire simulation the ignite time for a cell is calculated by multiplie the normal ignite time with the fire speed factor of the object.

NewIgniteTime = IgniteTime * FireSpeed

Example

Normal FireSpeed = 1
Pine tree FireSpeed = 0.5
Birch tree FireSpeed = 2
Swamp FireSpeed = 0


Step 1

Step 2

Step 3

Step 4

Step 5 Step 6 Step 7 Step x


In this example the Ignite time = "10" (10 seconds) and the wind speed equals "0"

Step 1 Time 00:00:00 The fire starts at C3.
Step 2 Time 00:00:05 5 seconds after C3 starts burning the fire spreads from cell C3 to cell D3.
IgnitTime = 10 * 0.5 = 5
Step 3 Time 00:00:10 10 seconds after C3 starts burning the fire spreads from cell C3 to cell C2.
IgnitTime = 10 * 1 = 10
Step 4 Time 00:00:14 14 seconds after C3 starts burning the fire spreads from cell C3 to cell B2 and D2
To make the fire spread in a circle from C3 the time delay is multiplied by 1.4142.
IgnitTime = 10 * 1 * 1.4142 = 14
Step 5 Time 00:00:15 10 seconds after D3 starts burning the fire spreads from cell D3 to cell E3.
IgnitTime = 10 * 1 = 10
Step 6 Time 00:00:19 14 seconds after D3 starts burning the fire spreads from cell D3 to cell E2 and E4
To make the fire spread in a circle from C3 the time delay is multiplied by 1.4142.
IgnitTime = 10 * 1 * 1.4142 = 14
Step 7 Time 00:00:20 20 seconds after C3 starts burning the fire spreads from cell C3 to cell B3.
IgnitTime = 10 * 2 = 20
10 seconds after C2 starts burning the fire spreads from cell C2 to cell C1.
IgnitTime = 10 * 1 = 10
Step x Time xx:xx:xx B4, C4 and D4 does never starts to burn.


Wind and the Wind Factor

The fire simulation is influenced by the wind. When the wind is strong the fire spreads faster in the same direction as the wind blows. The wind speed and direction is defined in the scenarion configuration (see scenario configuration). How much the wind should influence the fire development is defined with the wind factor value in the fire configuration (see session configuration).

The main part of the fire spread calculations are :
Fire ignite time for neighbourhoods = igniteTime *(1-(windFactor*windSpeed*0,1)*Math.cos(windDirection))

More information about Weather and wind see below Weather.

Example
The objects in the cells have the fire speed equals "1" (see session configuration)
The wind direction are from south towards north.
Ignite time = 10
WindFactor = 0.8
Then the time delay befor the fire spreads to a nigbor cell will be as below.

Wind speed = 0
14.1 10 14.1
10 10
14.1 10 14.1
Wind speed = 2
12.5 8.4 12.5
10 10
15.7 11.6 15.7
Wind speed = 4
10.9 6.8 10.9
10 10
17.3 13.2 17.3
Wind speed = 6
9.3 5.2 9.3
10 10
18.9 14.8 18.9
Wind speed = 8
7.7 3.6 7.7
10 10
20.5 16.4 20.5
   Time delay in seconds befor the fire spreads from the centre cell to the nigbor cells.


Fire Fighting

How the fire fighting units are collaborating when they extinguish a fire on one single position can also be defined, see Fire-Fighting Unit Collaboration.





Unit Simulation Layer

In the C3Fire simulation the objects that moves around in the geographical area and interacts with the environment are called units. In the standard experiment setting there exist only fire-fighting units controlled by users.

Fire-Fighting Unit

The fire-fighting units can move in the geographical environment and extinguish fire. A fire-fighting unit can be in five states: doing nothing, moving, mobilizing, fire-fighting and demobilizing.

Doing nothing The fire-fighting unit stands still on a position on the map, waiting for a fire to start at the position or to get instructions from the user.
Moving The fire-fighting unit is moving towards a specific position on the map. The user can select the position by selecting the unit intended position.
Mobilizing The fire-fighting unit stands still on a position, preparing the equipment for fire fighting. When all equipment is ready the unit automatically starts to fight the fire.
Fire Fighting The fire-fighting unit stands still on a position fighting the fire. When the fire is closed out or burned out the unit automatically start to demobilize.
Demobilizing The fire-fighting unit stands still on a position preparing for moving. When all equipment is prepared the unit automatically starts to move if the user has selected a new intended position.


The unit is represented on the map by two images, the unit's actual position on the map and the unit's intended position. If the user selects the position or the intention, a read square is displayed around the image. Example of standard images.

Units position :
Units intention :
Units intention selected :
Position and Intention
on the map
Operate a unit

The player is the client that control the movement of a unit. This can be done in two ways.

The first is to use the intention marks at the unit palette (in figures abowe the intention mark for a unit is the blue number).
Select the intention mark with the mouse control. Put the intention mark at the position on the map towards which the unit shall move. The unit (yellow number) automatically starts moving towards its intended position.

The second is to make a drag and drop manouvre.
Select the unit (yellow number) on the map with the mouse control. Drag the unit to the position on the map towards which the unit shall move and drop. Now the intended position (blue number) appear at the drop position and the unit start to move towards it.



Fight fire with a unit

The fire fighting unit automatically starts to fight a fire if the unit stands still on a position that is burning. This means that if the player wants the unit to fight a fire at a position he sets the unit intention mark on that position. When the unit has arrived to that position it automatically starts to fight the fire.

The player can change the intended position all the time, but if the unit is mobilizing or fire fighting the units waits until the fire is closed out or burned out and demobilizing is done, before it starts to move towards the new position. The fire fighting units have an unlimited tank of water.


Configuration of a Unit

The units are defined in the Units configuration definitions in the session configuration. In the unit configuration the manager can select the number of units and the properties for each unit. Example on properties that can be defined are: moving speed, fire fighting speed, start position and the unit images displayed on the map.


Fire-Fighting Unit Collaboration

When two or more units are at the same position they can collaborate when extinguish the fire. In the session configuration the manager can select to activate the collaboration method that should be used in the session. The following methods can be selected: UnitCollaboration, OnlyOneUnit and OnlyOneUnitAndTimeDelay.

UnitCollaboration The units collaborate well when fighting the fire in the square. The time for fighting the fire is half of the time that the most efficient unit in the square should have if it extinguish the fire alone.
This is the default value.
OnlyOneUnit The units do not collaborate when fighting the fire in the square. The time for fighting the fire is the time that the most efficient unit in the square should have if it extinguish the fire alone.
OnlyOneUnitAndTimeDelay The units do not collaborate when fighting the fire in the square. They interfere with each others work and a delay time is added to the fire fighting time. The time for fighting the fire is the best qualified fire fighting units time, but the unit have some extra time added to its regular fire fighting time.


The fire fighting collaboration is configured in the (Fire Fighting) definitions in the session configuration.



Weather

The weather in C3Fire is represented by wind direction and wind speed. The wind model represents the phenomena that wind changes the spreading direction and spreading speed of the fire. In the C3Fire the wind can vary between strong and slow. Strong wind increases the fire spreading speed in the same direction as the wind blows. Slow wind makes the fire spread slowly in all directions.

If there is the same type of vegetation and a wind of constant direction and speed the wind will blow the fire into an ellipse. The greater the wind speed, the more eccentric the ellipse. The wind is the same over the whole geographical environment and the particular scenario for a session controls it.


The session manager can select wind factor for the simulation at the (Fire) definitions in the session configuration. In the session scenario the manager can set wind direction and wind speed for the session.

More information about Fire and wind see Fire Simulation.



Beaufort Wind Scale
When you desig a session and explain the wind for the players you can use the definitions in the Beaufort wind scale. The Beaufort wind scale is used to describe the force of the wind. The Beaufort wind scale is divided into series of values, from zero for calm winds, up to twelve and above for hurricanes. Each value represents a specific range and a classification of wind velocity with an accompanying descriptions of the effects on surface features.

No. Wind speed Description Class Consequence
m/s mph Knots American British French Swedish
0 0 0 0 Light Calm Calme Lugnt -
Stiltje
Smoke rises vertically.
1 0.15 0.3 0.5 Light Light air Très légère
brise
Bris Direction shown by smoke but not by wind vanes.
2 2.7 6 3 Light Light
breeze
Légère
brise
Bris Wind felt on face; leaves rustle; ordinary vane moved by wind.
3 3.6 8 7 Gentle Gentle
breeze
Petite
brise
Bris -
Måttlig vind
Leaves and small twigs in constant motion, wind extends light flag.
4 7.2 16 10 Moderate Moderate
breeze
Jolie
brise
Bris -
Måttlig vind
Raises dust and loose paper, small branches moved.
5 8.9 20 15 Fresh Fresh
breeze
Bonne
brise
Bris -
Frisk vind
Small trees in leaf begin to sway.
6 12.5 28 21 Strong Strong
breeze
Vent
frais
Bris -
Frisk vind
Large branches in motion, whistling heard in telegraph wires.
7 14.5 32 27 Strong Near
gale
Grand
frais
Kuling -
Hård vind
Whole trees in motion, inconvenience felt when walking into wind.
8 20 44 33 Gale Gale Coup
de vent
Kuling -
Hård vind
Twigs broken of trees, generally impeded progress.
9 22 50 40 Gale Strong
gale
Fort coup
de vent
Kuling -
Hård vind
Straight structural damage, e.g. slates and chimney pots removed from the roofs.
10 28 62 48 Whole
gale
Storm Tempête Storm Trees uprooted, considerable structural damage.
11 31 70 55 Whole
gale
Violent
storm
Violente
tempête
Storm Widespread damage.
12 37 82 63 Hurricane Ouragan Orkan

Table Beaufort wind scale on land

Beaufort in european languages see here.

Wind speed conversion to mph etc. can be found at US National Weather Service (Meteorological Calculators).

For more swedish information see weather warnings at Swedish Meteorological and Hydrological Institute (SMHI).