SfincsModel.setup_river_bathymetry(river_geom_fn=None, river_mask_fn=None, qbankfull_fn=None, rivdph_method='gvf', rivwth_method='geom', river_upa=25.0, river_len=1000, min_rivwth=50.0, min_rivdph=1.0, rivbank=True, rivbankq=25, segment_length=3000.0, smooth_length=10000.0, constrain_rivbed=True, constrain_estuary=True, dig_river_d4=True, plot_riv_profiles=0, **kwargs)[source]

Burn rivers into the model elevation (dep) file.

NOTE: this method is experimental and may change in the near future.

River cells are based on the river_mask_fn raster file if rivwth_method=’mask’, or if rivwth_method=’geom’ the rasterized segments buffered with half a river width (“rivwth” [m]) if that attribute is found in river_geom_fn.

If a river segment geometry file river_geom_fn with bedlevel column (“zb” [m+REF]) or a river depth (“rivdph” [m]) in combination with rivdph_method=’geom’ is provided, this attribute is used directly.

Otherwise, a river depth is estimated based on bankfull discharge (“qbankfull” [m3/s]) attribute taken from the nearest river segment in river_geom_fn or qbankfull_fn upstream river boundary points if provided.

The river depth is relative to the bankfull elevation profile if rivbank=True (default), which is estimated as the rivbankq elevation percentile [0-100] of cells neighboring river cells. This option requires the flow direction (“flwdir”) and upstream area (“uparea”) maps to be set using the “setup_river_hydrography” method. If rivbank=False the depth is simply subtracted from the elevation of river cells.

Missing river width and river depth values are filled by propagating valid values downstream and using the constant minimum values min_rivwth and min_rivdph for the remaining missing values.

Updates model layer:

  • dep map: combined elevation/bathymetry [m+ref]

Adds model layers

  • rivmsk map: map of river cells (not used by SFINCS)

  • rivers geom: geometry of rivers (not used by SFINCS)

  • river_geom_fn (str, optional) –

    Line geometry with river attribute data.

    • Required variable for direct bed level burning: [‘zb’]

    • Required variable for direct river depth burning: [‘rivdph’] (only in combination with rivdph_method=’geom’)

    • Variables used for river depth estimates: [‘qbankfull’, ‘rivwth’]

  • river_mask_fn (str, optional) – River mask raster used to define river cells

  • qbankfull_fn (str, optional) –

    Point geometry with bankfull discharge estimates

    • Required variable: [‘qbankfull’]

  • rivdph_method ({'gvf', 'manning', 'powlaw'}) – River depth estimate method, by default ‘gvf’

  • rivwth_method ({'geom', 'mask'}) – Derive the river with from either the river_geom_fn (geom) or river_mask_fn (mask; default) data.

  • river_upa (float, optional) – Minimum upstream area threshold for rivers [km2], by default 25.0

  • river_len (float, optional) – Mimimum river length within the model domain threshhold [m], by default 1000 m.

  • min_rivwth (float, optional) – Minimum river width [m] (by default 50.0) and depth [m] (by default 1.0)

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

  • rivbank (bool, optional) – If True (default), approximate the reference elevation for the river depth based on the river bankfull elevation at cells neighboring river cells. Otherwise use the elevation of the local river cell as reference level.

  • rivbankq (float, optional) – quantile [1-100] for river bank estimation, by default 25

  • segment_length (float, optional) – Approximate river segment length [m], by default 5e3

  • smooth_length (float, optional) – Approximate smoothing length [m], by default 10e3

  • constrain_estuary (bool, optional) – If True (default) fix the river depth in estuaries based on the upstream river depth.

  • constrain_rivbed (bool, optional) – If True (default) correct the river bed level to be hydrologically correct, i.e. sloping downward in downstream direction.

  • dig_river_d4 (bool, optional) – If True (default), dig the river out to be hydrologically connected in D4.