xrspatial.flood.vegetation_curve_number#

xrspatial.flood.vegetation_curve_number(landcover_agg: DataArray, soil_group_agg: DataArray, lookup: dict | None = None, name: str = 'curve_number') DataArray[source]#

Derive SCS curve number from NLCD land cover and hydrologic soil group.

Parameters:
  • landcover_agg (xarray.DataArray) – 2D integer raster of NLCD land cover codes.

  • soil_group_agg (xarray.DataArray) – 2D integer raster of hydrologic soil groups (1=A, 2=B, 3=C, 4=D).

  • lookup (dict, optional) – Override the default (nlcd_code, soil_group) -> CN mapping.

  • name (str, default 'curve_number') – Name of the output DataArray.

Returns:

2D float64 curve number raster. Unknown (code, group) pairs and NaN inputs map to NaN.

Return type:

xarray.DataArray

Notes

Supports NumPy, CuPy, Dask with NumPy, and Dask with CuPy backed xarray DataArrays.

Examples

>>> import numpy as np
>>> import xarray as xr
>>> from xrspatial import vegetation_curve_number
>>> landcover = xr.DataArray(
...     np.array([[41, 24]], dtype=np.int32), dims=['y', 'x'])
>>> soil_group = xr.DataArray(
...     np.array([[1, 4]], dtype=np.int32), dims=['y', 'x'])
>>> cn = vegetation_curve_number(landcover, soil_group)