improver.fire_weather.fine_fuel_moisture_code module#
- class FineFuelMoistureCode[source]#
Bases:
IterativeFireWeatherBasePlugin to calculate the Fine Fuel Moisture Code (FFMC).
The FFMC is a numerical rating of the moisture content of litter and other fine fuels, representing the relative ease of ignition and flammability of fine fuel. Values range from 0-101, with higher values indicating drier conditions.
- This process is adapted directly from:
Equations and FORTRAN Program for the Canadian Forest Fire Weather Index System (C.E. Van Wagner and T.L. Pickett, 1985). Page 5, Equations 1-10.
- Expected input units:
Temperature: degrees Celsius
Precipitation: mm (24-hour accumulation)
Relative humidity: percentage (0-100)
Wind speed: km/h
Previous FFMC: dimensionless (0-101)
-
INPUT_CUBE_NAMES:
list[str] = ['air_temperature', 'lwe_thickness_of_precipitation_amount', 'relative_humidity', 'wind_speed', 'fine_fuel_moisture_code']#
- _abc_impl = <_abc._abc_data object>#
- _calculate()[source]#
Calculate the Fine Fuel Moisture Code (FFMC).
- Return type:
- Returns:
The calculated FFMC values for the current day.
- _calculate_EMC_for_drying_phase()[source]#
Calculates the Equilibrium Moisture Content (EMC) for the drying phase under current environmental conditions (relative humidity, and temperature)
From Van Wagner and Pickett (1985), Page 5: Equation 4, and Step 4.
- Return type:
- Returns:
The Equilibrium Moisture Content for the drying phase (E_d). Array shape matches the input cube data shape. Values are in moisture content units (dimensionless).
- _calculate_EMC_for_wetting_phase()[source]#
Calculates the Equilibrium Moisture Content (EMC) for the wetting phase under current environmental conditions (relative humidity, and temperature)
From Van Wagner and Pickett (1985), Page 5: Equation 5, and Step 6.
- Return type:
- Returns:
The Equilibrium Moisture Content for the wetting phase (E_w). Array shape matches the input cube data shape. Values are in moisture content units (dimensionless).
- _calculate_ffmc_from_moisture_content(clip_ffmc=False)[source]#
Calculates the fine fuel moisture code (FFMC) from the moisture content.
From Van Wagner and Pickett (1985), Page 5: Equation 10, and Step 9.
- Parameters:
clip_ffmc (
bool) –- If true fine fuel moisture code values will be clipped to
a minimum of 0 and a maximum of 101.
- Return type:
- Returns:
The calculated FFMC values (dimensionless, clipped range 0-101). Return array will be clipped only if clip_ffmc is True. Array shape matches input cube data shape.
- _calculate_moisture_content()[source]#
Calculates the previous day’s moisture content for a given input value of the fine fuel moisture code, and initialises the moisture_content attribute to that value.
From Van Wagner and Pickett (1985), Page 5: Equation 1, Steps 1 & 2.
- _calculate_moisture_content_through_drying_rate(E_d)[source]#
Calculates the moisture content through the drying rate.
From Van Wagner and Pickett (1985), Page 5: Equations 6a, 6b, 8, and Step 5.
- _calculate_moisture_content_through_wetting_equilibrium(E_w)[source]#
Calculates the moisture content through the wetting equilibrium.
From Van Wagner and Pickett (1985), Page 5: Equations 7a, 7b, 9, and Step 7.
- _perform_rainfall_adjustment()[source]#
Updates the moisture content value based on available precipitation accumulation data for the previous 24 hours. This is done element-wise for each grid point.
Modifies self.moisture_content in place. Where precipitation > 0.5 mm, increases moisture content based on rainfall amount and current moisture level. Caps moisture content at 250 (dimensionless).
From Van Wagner and Pickett (1985), Page 5: Equations 2, 3a, 3b, and Steps 3a, 3b, 3c.
- process(*cubes, month=None, initialise=False, clip_ffmc=False)[source]#
- Parameters:
*cubes (
Union[Cube,CubeList]) – One or more input cubes as specified by INPUT_CUBE_NAMES. When initialise is True cubes should exclude the OUTPUT_CUBE_NAME, which should otherwise be given as the iterative input.month (
int|None) – Month parameter (1-12), required only if REQUIRES_MONTH is Trueinitialise (
bool) – True when starting the iterative process else Falseclip_ffmc (
bool) –- If true fine fuel moisture code values will be clipped to
a minimum of 0 and a maximum of 101.
- Return type:
- Returns:
The calculated output cube.