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 lengthsmooth_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 inriver_geom_fn
and takes optional arguments for the hc (default = 0.27) and hp (default = 0.30) parameters. For other methods seehydromt.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 (seesetup_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