hydromt.workflows.rivers.river_depth#

hydromt.workflows.rivers.river_depth(data: Dataset | DataFrame | GeoDataFrame, method: str, flwdir: Flwdir | FlwdirRaster = None, min_rivdph: float = 1.0, manning: float = 0.03, qbankfull_name: str = 'qbankfull', rivwth_name: str = 'rivwth', rivzs_name: str = 'rivzs', rivdst_name: str = 'rivdst', rivslp_name: str = 'rivslp', rivman_name: str = 'rivman', **kwargs) DataArray | ndarray[source]#

Derive river depth estimates based bankfull discharge.

Parameters:
  • data (xr.Dataset, pd.DataFrame, gpd.GeoDataFrame) – Dataset/DataFrame containing required variables

  • method ({'powlaw', 'manning', 'gvf'}) –

    Method to estimate the river depth:

    • powlaw [1] [2]: power-law hc*Qbf**hp, requires bankfull discharge (Qbf). Optionally, hc (default = 0.27) and hp (default = 0.30) set in kwargs.

    • manning [3]: river depth for kinematic conditions, requires bankfull discharge, river width, river slope in data; the river manning roughness either in data or as constant and optionally min_rivslp (default = 1e-5) set in kwargs.

    • gvf [4]: gradually varying flow, requires bankfull discharge, river width, river surface elevation in data; the river manning roughness either in data or as constant and optionally min_rivslp (default = 1e-5) set in kwargs.

  • flwdir (Flwdir, FlwdirRaster, optional) – Flow directions, required if method is not powlaw

  • min_rivdph (float, optional) – Minimum river depth [m], by default 1.0

  • manning (float, optional) – Constant manning roughness [s/m^{1/3}] used if rivman_name not in data, by default 0.03

  • qbankfull_name – Name for variables in data: bankfull discharge [m3/s], river width [m], bankfull water surface elevation profile [m+REF], distance to river outlet [m], river slope [m/m] and river manning roughness [s/m^{1/3}]

  • rivwth_name – Name for variables in data: bankfull discharge [m3/s], river width [m], bankfull water surface elevation profile [m+REF], distance to river outlet [m], river slope [m/m] and river manning roughness [s/m^{1/3}]

  • rivzs_name – Name for variables in data: bankfull discharge [m3/s], river width [m], bankfull water surface elevation profile [m+REF], distance to river outlet [m], river slope [m/m] and river manning roughness [s/m^{1/3}]

  • rivdst_name – Name for variables in data: bankfull discharge [m3/s], river width [m], bankfull water surface elevation profile [m+REF], distance to river outlet [m], river slope [m/m] and river manning roughness [s/m^{1/3}]

  • rivslp_name – Name for variables in data: bankfull discharge [m3/s], river width [m], bankfull water surface elevation profile [m+REF], distance to river outlet [m], river slope [m/m] and river manning roughness [s/m^{1/3}]

  • rivman_name – Name for variables in data: bankfull discharge [m3/s], river width [m], bankfull water surface elevation profile [m+REF], distance to river outlet [m], river slope [m/m] and river manning roughness [s/m^{1/3}]

  • kwargs – additional arguments to be passed down

Returns:

rivdph – River depth [m]. A DataArray is returned if the input data is a Dataset, otherwise a array with the shape of one input data variable is returned.

Return type:

xr.DataArray, np.ndarray

References

See also

pyflwdir.FlwdirRaster.river_depth