Modules

In addition to the classic C3Fire there exist some modules that can extend the C3Fire environment.
The following modules exist:

Water Logistic
Fuel Logistic
The fire fighting, fuel and water refill process and priority
Map Layer
Fire Break, experimental
Command Delay, experimental



Water Logistic

This module adds the possibility to use water logistics in the C3Fire environment. It adds complexity to both the unit simulation layer and the geographical object layer of C3Fires simulation.

The water logistic module creates a complex decision task for the trained people. It creates a situation, where the trained people will need to have in mind that always have enough water in the water tank units for the fire fighting units to be able to perform their task. The fire fighting units no longer has an unlimited tank of water. It is the water tank stations that have unlimited supply of water.

The module is an extension of the traditional standard setting of C3Fire. To be able to benefit of the modules higher level of complexity your distribution of C3Fire must have the module Water Logistic included. The modules presence in the simulation and at the user interface of a client is defined in the session configuration.



Units

In the C3Fire simulation the objects that move around in the geographical area and interact with the environment are called units. In the standard experiment setting there exist only fire-fighting units controlled by users. Water Logistic adds complexity to the fire-fighting units and also adds a new unit, the water-tank unit to the setting.

Fire fighting unit:

The new complexity to the fire fighting unit is that it with this module can be equipped with a water tank. This tank has a size. It also has a water level. The fire fighting unit no longer has an unlimited supply of water.
For the fire fighting unit to be able to fight fire there must be a sufficient level of water in the tank. As the unit extinguishes fire the water level is counted down. The unit can receive water from water tank objects or from water tank units.
The fire fighting unit's five traditional states, doing nothing, moving, mobilizing, fire fighting and demobilizing are extended with refilling water. The fire fighting units water logistic properties are defined in the unit element in the session configuration file.

Water tank unit:

The water tank unit is a unit that have ability to gain water from a water tank object, lake, station etc and leave water to a fire-fighting unit. The water tank units water logistic properties are defined in the unit element in the session configuration file. It is possible for a unit to be both a water tank unit and a fire fighting unit.

The units are still operated in the same manor as earlier and represented by images as usual.



Objects

The standard geographical environment in C3Fire is built up of vegetation and building objects. Water Logistic add the possibility to fill water from an object to a fire fighting unit or to a water tank unit. The object can be represented by an image of a station or a lake etc.

The module Water Logistic makes it possible to define water filling properties to an object. The objects water logistic properties are defined in the object type element in the session configuration file.



Module extended setting
Water :
Standard experiment setting
Normal :
Pine :
Birch :
House :
The different
geographical objects

The fire fighting and water refill process and priority

The actions performed when a firefighting unit arrive at a water filling position, either at a station or at a water tank unit.

Arrive at
water filling
position
No fire Fire
Water tank Water tank Water tank Water tank
not full full empty not empty
Refill water Unactive Refill water Fight fire
Unactive Fight fire Refill water
Refill water Unactive
Unactive

Configuration of module Water Logistic

Set properties for the Fire Fighting Configuration:

The property WaterLogistic in the FireFightingConfig element of the configuration activates the module. If it is set to true, the module is active and all values in the configuration for the clients user interface and qualities of participating units and objects, concerning the module shall be set. If the property is set to false, the module is not active.
Possible values for the property WaterLogistic are "true" or "false".

The property WaterRefillOnPosType in the FireFightingConfig element of the configuration defines refilling-water position constraints between a unit that wants water and a water refilling unit or object.
Possible values for the property WaterLogistic are "WaterRefillOnSamePos" or "WaterRefillOnNESWPos".
Default value is "WaterRefillOnNESWPos"


Set properties for a unit:

The properties WaterTankUnit, WaterTankSize, WaterLevel, WaterLevelCountDownSpeed and WaterRefillSpeed in the Unit element of the configuration define the quality of a unit considering water logistic.

WaterTankUnit, configure true if the unit should be a water tank unit, if not configure false.
WaterTankSize, the size of the units water tank.
WaterLevel, the amount of water this unit should have in its water tank at start of the session.
WaterLevelCountDownSpeed, the speed with which the water level is counted down when a unit is fighting fire.
WaterRefillSpeed, the speed with which the water level is refilled when a unit is receiving water from a water tank unit or a water tank station.


Set properties for an object:

In the ObjectType element of the configuration an object can be defined to have a water filling feature.

For example the property IDName of the ObjectType can have as value "Water". The object referred to is a water tank station. To this water tank station object a value to the property WaterRefillSpeed must be set, for example "15". WaterRefillSpeed is the speed with which water is filled to a firefighting unit or a water tank unit. The object water is represented by an image of a water tank station. The object could just as well be represented as a lake, a well etc.
If more than one water filling object is needed and they are supposed to have different WaterRefillSpeed just give the objects different IDNames and correlating WaterRefillSpeed. For example "Water" have WaterRefillSpeed "25" and "Lake" have WaterRefillSpeed "10".


Set values for the user interface:

UnitInfoDisplay are the combination of two interactive tables that expose information about units participating in the session. The tables are UnitInfoDisplayOutline (Unit Info, according to figure beside) and UnitInfoDisplayDetail (Unit Property, according to figure beside) and they can be configured to exist in the user interface of a client. These two tables can expose information about units WaterLevel and WaterTankSize, read more.

The property of UnitInfoDisplayOutlineCol in UnitInfoDisplay can have as value WaterLevel or WaterTankSize. These values will add a column with information about the units water level respectively water tank size in the table UnitInfoDisplayOutline.

The property of UnitInfoDisplayDetailRow in UnitInfoDisplay can have as value WaterLevel or WaterTankSize. This value will add a row with information about the units water level respectively water tank size in the table UnitInfoDisplayDetail.

UnitInfoDisplay.




Fuel Logistic

This module adds the possibility to use fuel logistics in the C3Fire environment. It adds complexity to both the unit simulation layer and the geographical object layer of C3Fires simulation.

The fuel logistic module creates a complex decision task for the trained people. It creates a situation, where the trained people will need to have in mind that always have enough fuel in the units for the fire fighting units to be able to perform their task. The units no longer have an unlimited amount of fuel. It is the fuel tank objects that have unlimited supply of fuel.

The module is an extension of the traditional standard setting of C3Fire. To be able to benefit of the modules higher level of complexity your distribution of C3Fire must have the module Fuel Logistic included. The modules presence in the simulation and at the user interface of a client is defined in the session configuration.



Units

In the C3Fire simulation the objects that move around in the geographical area and interact with the environment are called units. In the standard experiment setting there exist only fire-fighting units controlled by users. Fuel Logistic adds complexity to the fire-fighting units and also adds a new unit, the fuel-tank unit to the setting.

Fire fighting unit:

The new complexity to the fire fighting unit is that it with this module can be equipped with a fuel tank. This tank has a size. It also has a fuel level. The fire fighting unit no longer has an unlimited tank of fuel.
For the fire fighting unit to be able to move there must be fuel in the tank. As the unit move the fuel level is counted down. The unit can receive fuel from fuel tank objects or from fuel tank units.
The fire fighting unit's five traditional states, doing nothing, moving, mobilizing, fire fighting and demobilizing are extended with refilling fuel. The fire fighting units fuel logistic properties are defined in the unit element in the session configuration file.

Fuel tank unit:

The fuel tank unit is a unit that have ability to gain fuel from a fuel tank object and leave fuel to a fire-fighting unit. The fuel tank units fuel logistic properties are defined in the unit element in the session configuration file.

The units are still manipulated in the same manor as earlier and represented by images as usual.



Objects

The standard geographical environment in C3Fire is built up of vegetation and building objects. Fuel Logistic add the possibility to fill fuel from an object to a fire fighting unit or to a fuel tank unit. The object can for example be represented by an image of a station.

The module Fuel Logistic makes it possible to define fuel filling properties to an object. The objects fuel logistic properties are defined in the object type element in the session configuration file.



Module extended setting
Fuel :
Standard experiment setting
Normal :
Pine :
Birch :
House :
The different
geographical objects

The fire fighting and fuel refill process and priority

The actions performed when a firefighting unit arrive at a fuel filling position, either at a station or at a fuel tank unit.

Arrive at
fuel filling
position
No fire Fire
Fuel tank Fuel tank Fuel tank Fuel tank
not full full not full full
Refill fuel Unactive Fight fire Fight fire
Unactive Refill fuel Unactive
Unactive

Configuration of module Fuel Logistic

Set properties for the Fire Fighting Configuration:

The property FuelLogistic in the UnitMovementConfig element of the configuration activates the module. If it is set to true, the module is active and all values in the configuration for the clients user interface and qualities of participating units and objects, concerning the module shall be set. If the property is set to false, the module is not active.
Possible values for the property FuelLogistic are "true" or "false".

The property FuelRefillOnPosType in the UnitMovementConfig element of the configuration defines refilling-fuel position constraints between a unit that wants fuel and a fuel refilling unit or object.
Possible values for the property FuelLogistic are "FuelRefillOnSamePos" or "FuelRefillOnNESWPos".
Default value is "FuelRefillOnNESWPos"


Set properties for a unit:

The properties FuelTankUnit, FuelTankSize, FuelLevel, FuelLevelCountDownSpeed and FuelRefillSpeed in the Unit element of the configuration define the quality of a unit considering fuel logistic.

FuelTankUnit, configure true if the unit should be a fuel tank unit, if not configure false.
FuelTankSize, the size of the units fuel tank.
FuelLevel, the amount of fuel this unit should have in its fuel tank at start of the session.
FuelLevelCountDownSpeed, the speed with which the fuel level is counted down when a unit is moving.
FuelRefillSpeed, the speed with which the fuel level is refilled when a unit is receiving fuel from a fuel tank unit or a fuel tank station.


Set properties for an object:

In the ObjectType element of the configuration an object can be defined to have a fuel filling feature.

For example the property IDName of the ObjectType can have as value "Fuel". The object referred to is a fuel tank station. To this fuel tank station object a value to the property FuelRefillSpeed must be set, for example "15". FuelRefillSpeed is the speed with which fuel is filled to a firefighting unit or a fuel tank unit. The object Fuel is represented by an image of a fuel tank station.
If more than one fuel filling object is needed and they are supposed to have different FuelRefillSpeed just give the objects different IDNames and correlating FuelRefillSpeed. For example "Fuel1" have FuelRefillSpeed "15" and "Fuel2" have FuelRefillSpeed "10".


Set values for the user interface:

UnitInfoDisplay are the combination of two interactive tables that expose information about units participating in the session. The tables are UnitInfoDisplayOutline (Unit Info, according to figure beside) and UnitInfoDisplayDetail (Unit Property, according to figure beside) and they can be configured to exist in the user interface of a client. These two tables can expose information about units FuelLevel and FuelTankSize, read more.

The property of UnitInfoDisplayOutlineCol in UnitInfoDisplay can have as value FuelLevel or FuelTankSize. These values will add a column with information about the units fuel level respectively fuel tank size in the table UnitInfoDisplayOutline.

The property of UnitInfoDisplayDetailRow in UnitInfoDisplay can have as value FuelLevel or FuelTankSize. This value will add a row with information about the units fuel level respectively fuel tank size in the table UnitInfoDisplayDetail.

UnitInfoDisplay.




The fire fighting, fuel and water refill process and priority

The actions performed when a firefighting unit arrive at a water filling ditto fuel filling position.

Arrive at
water filling
ditto fuel filling position
No fire Fire
Fuel No fuel
Water tank Water tank Water tank Water tank Fuel No fuel
full not full full not full
Refill fuel Refill water Refill fuel Refill water
Inactive Refill fuel Inactive Refill fuel
Inactive Inactive
Water tank Water tank Water tank Water tank
Not empty Empty Not empty Empty
Fire fighting Refill water Fire fighting Refill water
Refill water Fire fighting Refill water Fire fighting
Refill fuel Refill water Refill fuel Refill water
Inactive Refill fuel Inactive Refill fuel
Inactive Inactive


Map Layer

This module adds the possibility to use Map Layers in the C3Fire environment.

If Map Layers are used the user interface of a client is extended with a button panel. The buttons make it possible to change map in the map matrix, change map layer.
Maps contain much information. The information vary according to type of map. Maybe one map layer focus on the vegetation, one layer on habitants and the third on other areas with protect value. Dependeing on the task, the players will use the map layers in different way and the information a player recieve will affect his acts.
The players use of a map layer is stored in the log file.

The module is an extension of the traditional standard setting of C3Fire. To be able to benefit of the modules higher level of complexity your distribution of C3Fire must have the module Water Logistic included. The modules presence in the simulation and at the user interface of a client is defined in the session configuration.



Configuration of module Map Layer

Set properties for the Map Configuration:

The property UseLayers in the MapConfig element of the configuration activates the module. If it is set to true, the module is active and all values in the configuration for the map layers and the clients user interface concerning the module shall be set. If the property is set to false, the module is not active.
Possible values for the property UseLayers are "true" or "false".


Set properties for the Map Layers:

The element MapLayer of the configuration contain two sub elements MapImageLayers and MapLayerQuickSelectDisplay.
MapImageLayers define the amount of layers for the map and MapLayerQuickSelectDisplay define the amount of buttons available on the select map layer display.

The properties Name and FileName in the MapImageLayer element of the configuration define a Map Layer. These properties are required for each layer.

The element MapLayerQuickSelect define a button connected with its Map Layer through their common name value.

Set values for the user interface:

The Map Panel is managed as usual, the layers does not affect its presence in a user interface. The MapLayerQuickSelectDisplay must be added to the userinterface of all clients that shall take advantage of the Map Layer Module.

The display MapLayerQuickSelect is added when the object named MapLayerQuickSelect is defined for the client. The object MapLayerQuickSelect can be defined as a subelement to the elements <UserInterfaceLayout> , <ManagerConfig>, <ObserverConfig> and <ReplayConfig>.


MapLayerQuickSelect.




Fire Break

This module adds the possibility to use Fire Breaks in the C3Fire environment. It adds complexity to the unit simulation layer of C3Fires simulation and gives the fire simulation layer a new state.

The fire in a simulation can not jump the fire break it has to ignite the positions at the ends of the fire break. This gives the trained people an extra tool when protecting areas or thinking strategically as they fight the fire.

The module is an extension of the traditional standard setting of C3Fire. To be able to benefit of the modules higher level of complexity your distribution of C3Fire must have the module Fire Break included. The modules presence in the simulation and at the user interface of a client is defined in the session configuration.



Units

In the C3Fire simulation the objects that move around in the geographical area and interact with the environment are called units. In the standard experiment setting there exist only fire-fighting units controlled by users. This module adds complexity to the units as they can have ability to create fire breaks.
When the unit creates a fire break it has to be still at the position where the fire break shall be. A double left mouse click activates the function. When the fire break is created the unit must be moved to the next position and once again a double left mouse click is the activator.

The fire fighting units fire break properties are defined in the unit element in the session configuration file.



Fire

In the standard experiment setting, the fire in each position in the geographical matrix could be in one of four states: no fire, fire, closed-out, or burned-out. This module adds fire break to the states.

A position where a fire break has been created can not be ignited. The fire simulation can not jump over the fire break. The fire must spread around its ends. This is when the firebreaks direction is vertical or horizontal.
If the direction of the firebreak is diagonal the fire can jump over the firebreak. A diagonal firebreak must be created thick. Diagonal a in the image below is not thick enough. Diagonal b in the image is adequate.



Module extended setting
Fire break :
Standard experiment setting
No fire :
Fire :
Fire closed out :
Fire burned out :
Fire breakes

Configuration of module Fire Break

Set properties for the Fire Fighting Configuration:

The property FireBreak in the FireFightingConfig element of the configuration activates the module. If it is set to true, the module is active and all values in the configuration for the clients user interface and qualities of participating units concerning the module shall be set. If the property is set to false, the module is not active.
Possible values for the property FireBreak are "true" or "false".


Set properties for a unit:

The properties FireBreakUnit and FireBreakCreateSpeed in the Unit element of the configuration define the quality of a unit considering fire breaks.

FireBreakUnit, configure true if the unit should be a fire break unit, if not configure false.
FireBreakCreateSpeed, the amount of seconds until a fire break is created.


Set values for the user interface:

UnitInfoDisplay are the combination of two interactive tables that expose information about units participating in the session. The tables are UnitInfoDisplayOutline (Unit Info, according to figure beside) and UnitInfoDisplayDetail (Unit Property, according to figure beside) and they can be configured to exist in the user interface of a client. These two tables can expose information about units FireBreakCreateSpeed , read more.

The property of UnitInfoDisplayOutlineCol in UnitInfoDisplay can have as value FireBreakCreateSpeed . This value will add a column with information about how many seconds the unit need for creating a fire break in the table UnitInfoDisplayOutline.

The property of UnitInfoDisplayDetailRow in UnitInfoDisplay can have as value FireBreakCreateSpeed . This value will add a row with information about how many seconds the unit need for creating a fire break in the table UnitInfoDisplayDetail.

UnitInfoDisplay.




Command Delay

The Command Delay module adds the possibility to create a time delay to a unit's input commando queue. The delay time is the number of seconds from the moment that a unit got a command from a user to the moment when the unit starts to perform the command. Each unit can be assigned its own delay time. When a unit got a command the unit puts the command in its input command queue. There can exist a number of commands waiting to be started in the command queue.
With this feature the time constraints of an individual or an organization can be simulated, and the players ability to comprehend this constraints is tried.
The module adds complexity to the unit simulation layer of C3Fires simulation.

This module is experimental and is today not included in any standard delivery of C3Fire. The module is an extension of C3Fire. To be able to benefit of the modules higher level of complexity your distribution of C3Fire must have the module Command Delay included. The modules presence in the simulation and at the user interface of a client is defined in the session configuration.



Units

In the C3Fire simulation the objects that move around in the geographical area and interact with the environment are called units. In the standard experiment setting there exist only fire-fighting units controlled by users. Command Delay adds time constraints to the units in the setting. Each unit can be assigned its own delay time.


Configuration of module Command Delay

Set properties for the Unit Communication Configuration:

The property CommandDelay in UnitCommunicationConfig element of the configuration activates the module. If it is set to true, the module is active and all values in the configuration for the clients user interface and qualities of participating units concerning the module shall be set. If the property is set to false, the module is not active.

Possible values for the property CommandDelay are "true" or "false".


Set properties for a unit:

The property CommandDelayTime in the Unit element of the configuration define the quality of a unit considering Command Delay.

CommandDelayTime, is the number of seconds from the moment that a unit got a command from a user to the moment when the unit starts to perform the command. When a unit got a command the unit puts the command in its input command queue. There can exist a number of commands waiting to be started in the command queue.


Set values for the user interface:

UnitInfoDisplay are the combination of two interactive tables that expose information about units participating in the session. The tables are UnitInfoDisplayOutline (Unit Info, according to figure beside) and UnitInfoDisplayDetail (Unit Property, according to figure beside) and they can be configured to exist in the user interface of a client. These two tables can expose information about units CommandQueue and CommandDelayTime, read more.

The property of UnitInfoDisplayOutlineCol in UnitInfoDisplay can have as value CommandQueue or CommandDelayTime. These values will add a column with information about the units CommandQueue respectively CommandDelayTime in the table UnitInfoDisplayOutline.

The property of UnitInfoDisplayDetailRow in UnitInfoDisplay can have as value CommandQueue or CommandDelayTime. This value will add a row with information about the units CommandQueue respectively CommandDelayTime in the table UnitInfoDisplayDetail.

UnitInfoDisplay.