xrspatial.fire.kbdi#

xrspatial.fire.kbdi(kbdi_prev_agg: DataArray, max_temp_agg: DataArray, precip_agg: DataArray, annual_precip: float, name: str = 'kbdi') DataArray[source]#

Keetch-Byram Drought Index (single time-step update).

Advances the KBDI by one day given previous KBDI, daily max temperature, and daily precipitation.

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

Parameters:
  • kbdi_prev_agg (xr.DataArray) – Previous day’s KBDI values (0-800 mm deficit).

  • max_temp_agg (xr.DataArray) – Daily maximum temperature in degrees Celsius.

  • precip_agg (xr.DataArray) – Daily precipitation in mm.

  • annual_precip (float) – Mean annual precipitation in mm (scalar, constant across domain).

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

Returns:

Updated KBDI values (float32), clamped to 0-800.

Return type:

xr.DataArray

Examples

>>> import numpy as np, xarray as xr
>>> from xrspatial import kbdi
>>> prev = xr.DataArray(np.full((2, 2), 100.0, dtype='f4'))
>>> max_temp = xr.DataArray(np.full((2, 2), 30.0, dtype='f4'))
>>> precip = xr.DataArray(np.zeros((2, 2), dtype='f4'))
>>> kbdi(prev, max_temp, precip, annual_precip=1000.0).values
array([[138.4605, 138.4605],
       [138.4605, 138.4605]], dtype=float32)