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)