Self extinguishment

Predicting and modelling when a fire may cease to propagate due to unfavourable conditions can be quite an important problem in fire prediction. Some rate of spread models contain a go / no go condition such as the Semi-arid mallee heath model (Cruz et al. 2013), but this is not the case for the majority of models. This page will show two possible ways in which self-extinguishment can be added to any rate of spread model within Spark.

Certain steps are common among the implementations. Firstly, a fire spread variable must be chosen where the spread or non spread condition is highly correlated to. For example, the literature may say that propagation speed, fireline intensity, fuel moisture, or a combination of multiple attributes may determine whether a fire continues to spread. Secondly, a threshold value of this variable must be chosen.

You may then choose how you wish to implement the extinguishment criteria. Two possible ways of doing this in Spark are ‘soft extinguishing’ and ‘hard extinguishing’.

Soft extinguishing will extinguish the fire if the extinguishment criteria is met during a solver time step, but will allow the fire to reignite if burning conditions become more favourable in the future (unless all cells are extinguished at the same time, causing the simulation to end). This may be suitable for heavy fuels which could burn or smoulder for significant periods of time before reigniting if burning conditions become more favourable.

Hard extinguishing will extinguish the fire if the extinguishment criteria is met during a solver time step, and will NOT allow the fire to reignite if burning conditions become more favourable in the future. This may be suitable for lighter fuels which do not burn or smoulder for significant periods of time.

See below for an example of both types of extinguishing. These need to be added to the end of your applicable rate of spread models.

Vegetation

Not vegetation specific

Code – Soft extinguishing

// Soft extinguishing example

// Using an extinguishment variable of rate of spread (m/s) in this example
REAL extinguishment_variable = speed; 

// Defining the extinguishment threshold to be a spread rate of 0.002 m/s in this example
REAL extinguishment_threshold = 0.002;

// Setting current speed to zero if extinguishment criteria is met
if (extinguishment_variable < extinguishment_threshold){
    speed = 0;
}

Code – Hard extinguishing

// Hard extinguishing example

// Using an extinguishment variable of fireline intensity (kW/m) in this example
// Note that fireline_intensity will need to have been calculated earlier in the RoS model
REAL extinguishment_variable = fireline_intensity; 

// Defining the extinguishment threshold to be a spread rate of 120 kW/m in this example
REAL extinguishment_threshold = 120;

// Setting state to zero (cell no longer burnable) if extinguishment criteria is met
if (extinguishment_variable < extinguishment_threshold){
    state = 0;
}