xrspatial.fire.fireline_intensity#

xrspatial.fire.fireline_intensity(fuel_consumed_agg: DataArray, spread_rate_agg: DataArray, heat_content: float = 18000.0, spread_rate_units: str = 'm/min', name: str = 'fireline_intensity') DataArray[source]#

Byram’s fireline intensity.

I = H * w * R where H is heat content (kJ/kg), w is fuel consumed (kg/m^2), and R is rate of spread in m/s (see spread_rate_units for the accepted input unit).

The spread rate is accepted in m/min by default so that the output of rate_of_spread() can be passed straight in. Byram’s equation needs R in m/s, so m/min inputs are divided by 60 internally. Pass spread_rate_units='m/s' if you already hold spread rates in m/s.

Supports NumPy, CuPy, Dask with NumPy, and Dask with CuPy backed xarray DataArrays; the output backend matches the input.

Parameters:
  • fuel_consumed_agg (xr.DataArray) – Fuel consumed per unit area (kg/m^2).

  • spread_rate_agg (xr.DataArray) – Rate of spread, in the unit given by spread_rate_units. rate_of_spread() produces m/min.

  • heat_content (float, default=18000) – Heat content of fuel (kJ/kg).

  • spread_rate_units (str, default='m/min') – Unit of spread_rate_agg: 'm/min' (matches rate_of_spread()) or 'm/s'.

  • name (str, default='fireline_intensity') – Name of output DataArray.

Returns:

Fireline intensity in kW/m (float32).

Return type:

xr.DataArray

Examples

>>> import numpy as np, xarray as xr
>>> from xrspatial import fireline_intensity
>>> fuel = xr.DataArray(np.array([[2.0, 0.5]], dtype='f4'))
>>> spread = xr.DataArray(np.array([[0.1, 0.2]], dtype='f4'))
>>> fireline_intensity(fuel, spread, spread_rate_units='m/s').values
array([[3600., 1800.]], dtype=float32)