Process Control (technical documentation)


For each timestep (date and time specified)

{

For each fire

 

{

For each vertex (X, Y)

 

 

{

Get the fire environment (fuels, weather, topography)

 

 

 

Calculate fuel moistures from initial conditions

 

 

 

Calculate vertex orientation angle

 

 

 

Calculate surface fire (below)

 

 

 

if (Canopy Cover > 0) Calculate crown fire (below)

 

 

}

 

 

 

Preform Direct and Parallel Attacks

 

 

Update Raster Output Maps (arrival time, fire intensity, etc.)

 

 

Correct crossovers

 

 

Compute area and perimeter

 

}

 

 

}

 

 

 

Ember flight, ignition, growth from time of contact

Perform Indirect and Aerial Attacks

Merge all fires

Surface fire Calculations

{

Compute forward equilibrium spread rate

 

Vector wind and slope

 

Compute elliptical dimensions using resultant wind-slope vector

 

Compute spread rate R by accelerating fire over timestep

 

Compute average spread rate of fire over timestep

 

Compute spread differentials

 

Slope transformation

 

Compare fire spread with distance resolution

 

if (fire spread is truncated to distance resolution)

 

{

Compute time to spread distance resolution with acceleration

 

 

Adjust spread distance to distance resolution

 

 

Reduce time elapsed to accomplish distance resolution

 

}

 

}

 

 

Crown Fire Calculations

{

Calculate Critical Surface Fire Intensity Io

 

if (actual surface intensity>= Io)

 

{

Compute crown fraction burned

 

 

Compute acceleration constant for crown fire spread

 

 

Compute maximum crown fire spread rate

 

 

Vector open wind and slope

 

 

Compute elliptical dimensions using resultant wind-slope vector

 

 

Compute critical crown fire spread rate

 

 

Compute actual crown fire spread rate

 

 

if (actual crown fire spread >= critical crown fire spread rate

 

 

{

Accelerate crown spread rate

 

 

 

Compute crown spread differentials

 

 

 

Slope Transformation

 

 

 

Compare fire spread to distance resolution

 

 

 

if (crown fire spread is truncated to distance resolution)

 

 

 

{

Fire acceleration as a function of distance resolution

 

 

 

 

Adjust spread distance to distance resolution

 

 

 

 

Reduce time elapsed because of increased spread rate

 

 

 

}

 

 

 

 

Compute Crown Fire Intensity

 

 

 

Ember Lofting from Active Crown Fire

 

 

}

 

 

 

 

else

 

 

 

 

{

Compute Crown Fire Intensity

 

 

 

Ember Lofting from Torching Trees

 

 

}

 

 

}

 

 

}

 

 

 

Spot Fire Calculations

{

Lofting

 

 

{

Determine plume characteristics (for torching tree)

 

 

Loft embers

 

}

 

 

Flight

 

 

{

Iterate horizontal and vertical ember flight path

 

}

 

 

Ignition

 

 

{

Determine if ember lands inside existing fires

 

 

Ignition Frequency

 

}

 

}