Semi-arid mallee heath
The Cruz (2013) rate of spread model was developed for predicting fire spread rates in semi-arid mallee heath.
Vegetation |
Semi-arid mallee heath | |
Fuel inputs |
temp rel_hum mallee_fuel_height mallee_cover delta |
|
Code |
// Semi-arid mallee heath model - Cruz et al. (2013) // ------------------------------------------- // Model parameters // These must be defined below, or included as a user-defined layer // // 1. Temperature, 'temp' (input) // 2. Relative humidity, 'rel_hum' (input) // 3. Mallee overstorey height, 'mallee_fuel_height' (input) // 4. Overstorey mallee cover, 'mallee_cover' (input) // 5. Solar radiation factor, 'delta' (input), {0,1}, delta = 1 for sunny days from 12:00 - 17:00 from October to March (high solar radiation) and 0 otherwise. // ------------------------------------------- // Calculating the wind speed which is used to calculate head fire ROS REAL wind_speed = length(wind_vector); // Calculating the normalised dot product between the wind vector and the normal to the fire perimeter REAL wdot = dot(normalize(wind_vector),advect_normal_vector); // Calculate length-to-breadth ratio (LBR) which varies with wind speed // Equations are curve fits adapted from Taylor (1997) REAL LBR = 1.0; if (wind_speed < 5){ LBR = 1.0; } else if (wind_speed < 25){ LBR = 0.9286 * exp(0.0505 * wind_speed); } else { LBR = 0.1143 * wind_speed + 0.4143; } // Determine coefficient for backing and flanking rank of spread using elliptical equations // Where R_backing = cb * R_head, R_flanking = cf * R_head, REAL cc = sqrt(1.0-pow(LBR, -2.0)); REAL cb = (1.0-cc)/(1.0+cc); REAL a_LBR = 0.5*(cb+1.0); REAL cf = a_LBR/LBR; // Determine shape parameters REAL f = 0.5*(1.0+cb); REAL g = 0.5*(1.0-cb); REAL h = cf; // Now calculate a speed coefficient using normal flow formula REAL speed_fraction = (g*wdot+sqrt(h*h+(f*f-h*h)*wdot*wdot)); // Initialising the solar radiation variable REAL delta; if (hour > 11 && hour < 17){ delta = 1; } else{ delta = 0;} // Calculating moisture content using Cruz (2010) REAL MC = 4.79 + 0.173*rel_hum - 0.1*(temp - 25) - delta * 0.027 * rel_hum; // Calculating the probability of a sustained surface fire REAL Ps = 1 / (1 + exp(-1*(14.62 + 0.207*wind_speed - 1.872*MC - 0.304*mallee_cover))); // Calculating head fire rate of spread with a weighted average of the surface and crown spread rates REAL head_speed; // Ps threshold of 0.5 to determine whether surface fire will be self sustaining if (Ps > 0.5){ // Calculating probability of crowning REAL Pc = 1 / (1 + exp(-1*(-11.138 + 1.4054*wind_speed - 3.4217*MC))); // Calculating surface fire rate of spread REAL Rs = 3.337 * wind_speed * exp(-0.1284 * MC) * pow(mallee_fuel_height, -0.7073); // Calculating crown fire rate of spread REAL Rc = 9.5751 * wind_speed * exp(-0.1795 * MC) * pow(0.01*mallee_cover, 0.3589); // Weighting total rate of spread based on probability of crowning head_speed = (1 - Pc)*Rs + Pc*Rc; } else{ head_speed = 0;} // Converting spread rate into m/s head_speed = head_speed / 60; // Adjust for calculated speed coefficient for fire flanks speed = head_speed * speed_fraction; |