hydromt_wflow.WflowModel.setup_rivers#

WflowModel.setup_rivers(hydrography_fn: str | Dataset, river_geom_fn: str | GeoDataFrame = None, river_upa: float = 30, rivdph_method: str = 'powlaw', slope_len: float = 2000.0, min_rivlen_ratio: float = 0.0, min_rivdph: float = 1, min_rivwth: float = 30, smooth_len: float = 5000.0, rivman_mapping_fn: str | Path | DataFrame = 'roughness_river_mapping_default', elevtn_map: str = 'wflow_dem', river_routing: str = 'kinematic-wave', connectivity: int = 8, **kwargs)[source]#

Set all river parameter maps.

The river mask is defined by all cells with a mimimum upstream area threshold river_upa [km2].

The river length is defined as the distance from the subgrid outlet pixel to the next upstream subgrid outlet pixel. The min_rivlen_ratio is the minimum global river length to avg. cell resolution ratio and is used as a threshold in window based smoothing of river length.

The river slope is derived from the subgrid elevation difference between pixels at a half distance slope_len [m] up- and downstream from the subgrid outlet pixel.

The river manning roughness coefficient is derived based on reclassification of the streamorder map using a lookup table rivman_mapping_fn.

The river width is derived from the nearest river segment in river_geom_fn. Data gaps are filled by the nearest valid upstream value and averaged along the flow directions over a length smooth_len [m]

The river depth is calculated using the rivdph_method, by default powlaw: h = hc*Qbf**hp, which is based on qbankfull discharge from the nearest river segment in river_geom_fn and takes optional arguments for the hc (default = 0.27) and hp (default = 0.30) parameters. For other methods see hydromt.workflows.river_depth().

If river_routing is set to “local-inertial”, the bankfull elevation map can be conditioned based on the average cell elevation (“wflow_dem”) or subgrid outlet pixel elevation (“dem_subgrid”). The subgrid elevation might provide a better representation of the river elevation profile, however in combination with local-inertial land routing (see setup_floodplains()) the subgrid elevation will likely overestimate the floodplain storage capacity. Note that the same input elevation map should be used for river bankfull elevation and land elevation when using local-inertial land routing.

Adds model layers:

  • wflow_river map: river mask [-]

  • wflow_riverlength map: river length [m]

  • wflow_riverwidth map: river width [m]

  • RiverDepth map: bankfull river depth [m]

  • RiverSlope map: river slope [m/m]

  • N_River map: Manning coefficient for river cells [s.m^1/3]

  • rivers geom: river vector based on wflow_river mask

  • hydrodem map: hydrologically conditioned elevation [m+REF]

Parameters:
  • hydrography_fn (str, Path, xarray.Dataset) –

    Name of RasterDataset source for hydrography data. Must be same as setup_basemaps for consistent results.

    • Required variables: ‘flwdir’ [LLD or D8 or NEXTXY], ‘uparea’ [km2],

      ’elevtn’[m+REF]

    • Optional variables: ‘rivwth’ [m], ‘qbankfull’ [m3/s]

  • river_geom_fn (str, Path, geopandas.GeoDataFrame, optional) –

    Name of GeoDataFrame source for river data.

    • Required variables: ‘rivwth’ [m], ‘qbankfull’ [m3/s]

  • river_upa (float, optional) – Minimum upstream area threshold for the river map [km2]. By default 30.0

  • slope_len (float, optional) – Length over which the river slope is calculated [km]. By default 2.0

  • min_rivlen_ratio (float, optional) – Ratio of cell resolution used minimum length threshold in a moving window based smoothing of river length, by default 0.0 The river length smoothing is skipped if min_riverlen_ratio = 0. For details about the river length smoothing, see pyflwdir.FlwdirRaster.smooth_rivlen()

  • rivdph_method ({'gvf', 'manning', 'powlaw'}) – see hydromt.workflows.river_depth() for details, by default “powlaw”

  • river_routing ({'kinematic-wave', 'local-inertial'}) – Routing methodology to be used, by default “kinematic-wave”.

  • smooth_len (float, optional) – Length [m] over which to smooth the output river width and depth, by default 5e3

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

  • min_rivwth (float, optional) – Minimum river width [m], by default 30.0

  • elevtn_map (str, optional) – Name of the elevation map in the current WflowModel.grid. By default “wflow_dem”

See also

workflows.river_bathymetry, hydromt.workflows.river_depth, pyflwdir.FlwdirRaster.river_depth, setup_floodplains