Especially in
mountainous environments, the prediction of sediment
dynamics is important for managing natural hazards, assessing
in-stream habitats and understanding geomorphic evolution. We
present the new modelling tool sedFlow for simulating
fractional bedload transport dynamics in mountain streams. sedFlow is a one-dimensional model that aims
to realistically reproduce the total transport volumes and overall
morphodynamic changes resulting from sediment transport events such as major
floods. The model is intended for temporal scales from the individual event (several hours to few days)
up to longer-term evolution of stream channels (several years). The envisaged spatial scale covers complete
catchments at a spatial discretisation of several tens of metres to a few hundreds of metres. sedFlow
can deal with the effects of streambeds that slope uphill in a downstream direction and uses recently proposed and
tested approaches for quantifying macro-roughness effects in steep
channels. sedFlow offers different options for bedload transport equations, flow-resistance
relationships
and other elements which can be selected to fit the current application in a particular catchment. Local grain-size distributions are dynamically adjusted
according to the transport dynamics of each grain-size fraction. sedFlow features fast calculations and straightforward
pre- and postprocessing of simulation data. The high simulation speed allows for simulations of several
years, which can be used, e.g., to assess the long-term impact of river engineering works or climate change
effects. In combination with the straightforward pre- and postprocessing, the fast calculations facilitate
efficient workflows for the simulation of individual flood events, because the modeller gets the immediate
results as direct feedback to the selected parameter inputs.
The model is provided
together with its complete source code free of charge under the
terms of the GNU General Public License (GPL)
(

Environmental models typically seek to predict the future state of
a system, based on information about its current state and the
mechanisms that regulate its evolution through time. In the case of
sediment transport by flowing water in open channels, the temporal
evolution of these variables is determined by a complex interaction of
multiple processes including hydraulic water routing, sediment
entrainment, erosion and deposition. In recent years many numerical
models have been developed for simulating sediment transport in
rivers. However, most of these models are intended for, and only
applicable in, lowland rivers with gentle slopes. In mountain streams
the effects of macro-roughness and shear stress partitioning have to
be considered. Otherwise, sediment transport rates may be
overestimated by several orders of magnitude

Few sediment transport models have been specifically designed for
mountain streams.

Other sediment transport models have been described by

The model Tom

The TOPographic Kinematic wave APproximation and Integration (Topkapi) model was originally developed as
a rainfall–runoff model providing fast hydrologic simulations

Simplified overview over the main process interactions within the sedFlow model.

Qualitative comparison of uniform discharge (left) and kinematic wave (right) flow routing approaches. The top row shows a hypothetical discharge time series at the upstream boundary, which can be used in both approaches. The point in time for the following rows is indicated by the dashed vertical line. In the uniform discharge approach, the current discharge value of the time series defines the discharge for all reaches of the simulated system at the current point in time (second row left). In contrast, for the kinematic wave approach, the temporal variability of discharge is reflected in a spatial variability as well (second row right). Therefore, in the uniform discharge approach, the spatial variation of flow depth (third row), as well as water surface (blue curve), is mainly a function of roughness and slope, which is determined by the river bed (black curve). For the kinematic wave approach, flow depth may also vary due to the spatial variation of discharge (third row right). In cases of uphill channel slopes in the downstream direction, the uniform discharge approach will reproduce the effects of ponding (fourth row left), while the kinematic wave approach cannot deal with such situations (fourth row right).

Comparison of the effects of different channel
representations on accumulated bedload transport estimates simulated
with the Tom

Currently, no model is available that combines short calculation times
with easy use and up-to-date sediment transport equations for mountain
catchments. The new model sedFlow
(Figs.

a sediment transport model provided together with its complete source code, open source and free of charge;

implementation of recently proposed and tested approaches for calculating bedload transport in steep channels accounting for macro-roughness effects;

individual calculations for several grain diameter fractions (fractional transport) resulting in more robust simulations as compared to single-grain approaches;

consideration of ponding effects of adverse slopes (uphill slopes in the downstream direction), e.g. due to sudden sediment deposition by debris flow inputs;

fast calculations for modelling entire catchments, and for automated calculation of multiple scenarios exploring a range of parameter space;

an object-oriented code design that facilitates flexibility in model development;

flexibility in model application featuring different options
(Figs.

The model sedFlow thus fills a gap in the range of existing
sediment transport models for mountain streams
(Table

Examples of sedFlow application are given in a companion article by

Comparison of bedload transport models for steep mountain
streams.
Estimated calculation speeds refer to the simulation of
a 20

Hydraulic equations describe the temporal evolution of the
three-dimensional flow field of the water continuum. A formalised
description of the dynamics has been provided by Navier and
Stokes (given in the form for incompressible flow).

Within sedFlow a channel network joined by confluences can be
simulated. At the upstream ends of the main channel and each of the
user-defined tributaries, a discharge time series is input and has to
be routed through the channel system. For the following discussion of
hydraulic routing schemes we will differentiate between three cases:
first, in

Especially in models not focussing on the details of the hydraulic
routing, the kinematic wave approach (assuming the situation of
parallel slopes) can be implemented using a temporally explicit Eulerian
forward approach

The kinematic wave assumption of parallel slopes is usually valid for steep channel gradients, which are typical of mountain catchments. Nevertheless, the kinematic wave assumption can be problematic, especially in mountain streams, when tributaries deliver large amounts of sediment to the main channel within a relatively short time, e.g. during debris flow events. This may result in adverse channel slopes (uphill slopes in the downstream direction) and backwaters in the main channel, violating the assumptions of a kinematic wave. If configured for kinematic wave routing, sedFlow will abort simulations whenever adverse channel slopes occur.

When it is necessary to deal with adverse channel slopes, one has to drop the
kinematic wave approximation and use a backwater calculation
instead. Unfortunately, the backwater calculation is numerically
intensive. Therefore, within sedFlow, a pragmatic approach
can be selected to deal with adverse channel slopes: discharge is assumed to
be uniform and thus equal along the entire channel for a given time step only increasing at
confluences. This assumption of uniform
discharge is reasonable because the temporal scale for
water routing is orders of magnitude smaller than the temporal scale
for morphodynamic adjustments. In the case of positive slopes, flow depth and
velocity are commonly calculated using the bed slope as proxy for the
friction slope (thus assuming the bed slope and water surface are parallel). However, the flow resistance may be
adjusted such that a maximum Froude number is not exceeded. In cases of adverse channel
slopes, the formation of ponding is simulated. That is, flow depth
and velocity are selected to ensure a minimum gradient of
hydraulic head, which is positive but close to zero, and thus
ensures numeric stability, and approximately corresponds to the
hydraulic gradient of ponding water. For bedload transport calculations
the gradient of the hydraulic head is used, which by definition can
only have positive slopes. Thus, the energy slope for bedload
transport estimation is

The interaction of flowing water with the river bed
and banks determines the relation between the average downstream
velocity and the wetted cross section. This interaction is summarised as flow resistance, which
can be described by the following physically based relation:

Several methods for the calculation of bedload transport capacity are
implemented in sedFlow: Sects.

In the same way as the equations of

The estimated bedload flux can be corrected for gravel abrasion
according to the classic equation of

For consistency, the following

The temporal evolution of the longitudinal profile is simulated in
sedFlow based on a finite-difference version of the general
Exner equation

All three elements (the cross-sectional channel geometry, its
alteration due to morphodynamics and the determination of the active
width) are implemented as abstract classes. Thus, the presented
realisations just represent the current state of the code and any
programmer can easily extend the code to deal with more complex
cross-sectional geometries. However, the implicit flow routing by

Relative root mean square deviations (rRMSDs) determined
according to Eq. (

Additionally,

Finally, the introduction of more complex cross-sectional shapes raises the question of how these shapes are influenced and altered through morphodynamics. As far as we know, no generally accepted concepts are available for this problem.

In sedFlow the alluvial substrate of the river is represented
by a stack of horizontal layers with homogeneous grain-size
characteristics. The topmost layer of the bed interacts
with the flow and is typically called the active surface
layer. The grain-size distribution of the active surface layer is used for the
determination of the flow resistance, hiding processes and bedload
transport capacity (Fig.

The first method (Fig.

Here

The second approach (Fig.

The third approach (Fig.

For non-fractional studies, the active surface layer concept can be turned off. In that case, the complete alluvium is represented by a single homogeneous layer, which directly interacts with the flow.

In the following subsections, various details of the implementation of sedFlow are discussed and compared to implementations in similar models. Differences between the individual models are explained in the context of their differing objectives.

In streams, local grain-size distributions and bedload transport influence each other in various ways.
For example, flow resistance is often determined as a function of a characteristic bed surface grain
diameter such as in Eqs. (

In order to study dynamically evolving grain-size
distributions and their effects on hydraulics and bedload transport,
together with the effects of an evolving channel slope, sedFlow is optimised for the simulation of fractional bedload
transport. In this
context, different concepts are provided for the interaction between
the active surface layer and the underlying alluvium. As grain-size
distributions dynamically adjust to be consistent with the local
circumstances (channel width, slope, etc.), this numeric concept might
partially compensate the uncertainty in
local grain-size distribution data. For a more detailed discussion of
this topic see

Within Topkapi ETH

The threshold-based layer interaction (Fig.

In SEDROUT

Within sedFlow adverse channel slopes (uphill slopes in the downstream direction) and their effects in terms of ponding can be considered using uniform discharge hydraulics. This approach is based on the assumption that the simulated system only consists of two extreme cases: ponding on the one hand, and parallel slopes on the other. This assumption is valid in many mountain streams and it allows for fast simulations, which have been another main objective for the development of sedFlow. However, in the intermediate case of moderate backwater effects, it may produce large errors. The implemented approach corresponds to the situation of a confined channel, in which the sudden deposition of large volumes of sediment, e.g. by debris flow inputs, may produce ponding.

Within Topkapi ETH any large volumes of deposited material, which would produce adverse channel slopes, are instantaneously distributed to downstream river reaches until all slopes are positive. This algorithm would correspond to instantaneous landslides within the channel or to debris flows with short travel distances, but such phenomena are typically not observed in mountain streams. However, instantaneous lateral sediment input is not the main focus of the Topkapi ETH model. In the context of its intended applications, the described algorithm of Topkapi ETH is an appropriate pragmatic approach to conserve mass and ensure positive bed slopes, which are used as energy slopes in the implemented kinematic wave approach.

Within Tom

sedFlow has been designed for optimal computation speeds. Besides the selection
of the coding language C++, for which there are
powerful compilers available, we have implemented a spatially uniform
discharge (within each segment of the
channel network), as well as an
implicit kinematic wave flow routing approach, both aimed at providing
a modelling tool for fast simulations. Both hydraulic approaches allow
for coarse temporal discretisations and the implemented algorithm of

In Topkapi ETH the implicit kinematic wave flow routing is
also implemented using the algorithms of

Within Tom

To ensure flexibility of application, we selected regular spreadsheets
as the file format for the data input to sedFlow. Thus,
preprocessing can be done with common software applications, which are
familiar to most users, so that data from any study catchment can be
quickly and easily prepared for a sedFlow simulation. This
contrasts with Tom

To ensure flexibility of model development we selected an object-oriented design for the internal structure of the sedFlow code. In such a code, succeeding programmers just create new realisations for predefined code interfaces without revising the model core. It is not necessary to know (virtually) anything about the model itself. The only piece of code that the programmer will have to read is the specification of the relevant code interface, which is typically not longer than two printout pages.

The limits of the sedFlow modelling approach are defined by the implemented process representations. Hydraulics are considered in a cross-sectionally averaged way. The effects of turbulence and eddies, such as the formation of dunes and pool-riffle sequences, are not considered explicitly. Therefore, sedFlow should not be applied at spatial discretisations small enough for these processes to become relevant. Within sedFlow, discharge is assumed to be generally subcritical. It should not be applied in systems where Froude numbers larger than one occur at the scale of spatial discretisation.

As sedFlow generally assumes kinematic wave propagation, bed slopes

sedFlow considers sediment transport only in terms of bedload. Therefore, it should not be applied if suspension load and wash load play a major role in the studied system.

However, if the limits of applicability are respected, sedFlow provides several benefits for the user interested in the simulation of bedload transport in steep mountain streams. The model is optimised for the calculation of fractional bedload transport resulting in more robust simulations as compared to single-grain approaches. Based on an assumption that is valid for many mountain streams, sedFlow provides for the efficient simulation of adverse slopes and ponding. The selected coding language and two implemented hydraulics representations are all aimed at providing a modelling tool for fast simulations. Finally, with the user-defined structure of the model outputs, with the straightforward preprocessing of the inputs, and with the provision of different selectable options, e.g., for the flow resistance and bedload transport equations, sedFlow offers the flexibility to be easily adjusted to fit a specific application in a particular catchment.

The new model sedFlow complements the range of existing tools
for the simulation of bedload transport in steep mountain streams. It
is an appropriate tool if (i) grain-size distributions need to be
dynamically adjusted in the course of a simulation, (ii) the
effects of ponding, e.g., due to debris flow inputs might play a role
in the study catchment or (iii) one simply needs a fast simulation
of bedload transport in a mountain stream with quick and easy pre- and
postprocessing. Examples of the application
of sedFlow are presented in a companion article by

The current version of the sedFlow code and model can be
downloaded under the terms of the GNU General Public License (GPL) at
the following web page:

Simplified summary diagram of the bedload transport part of sedFlow, showing a selection
of the most important general types of functions (bold type face) and their selectable realisations
(regular type face). For the transport equations of

Simplified summary diagram of the hydraulic part of sedFlow, showing a selection of the most
important general types of functions (bold type face) and their selectable realisations (regular type face).
The implicit flow routing of

Simplified summary diagram of a time step in sedFlow. The timing of the optional methods' actions has been selected in a way that all changes, such as, e.g., erosion or deposition volumes, are readily calculated and available for possible modifications before the changes, such as, e.g., erosion or deposition, are then actually applied.

In this equation,

Qualitative sketch of threshold-based interaction between
the active surface layer and subsurface alluvium. The water level is displayed
in blue, the active surface layer with its variable thickness is light grey
and bedrock is black. The subsurface alluvium consists of several
strata layers with user-defined constant thickness displayed in
reddish colours and one base layer with variable thickness displayed
in dark grey. The horizontal dashed lines indicate the thresholds
for the thickness of the active surface layer. In case of aggradation
(

Qualitative sketch of continuous interaction between the active surface
layer and subsurface alluvium. The water level is displayed in blue,
the active surface layer with its constant thickness is light grey, the
subsurface alluvium consisting of one layer with variable thickness
is dark grey and bedrock is black. The dashed bracket indicates the
position of the active surface layer after aggradation or erosion. In case
of aggradation

Qualitative sketch of shear-stress-based interaction between the
active surface layer and subsurface alluvium. For an explanation of the symbols
see the caption of Fig.

Notation.

Continued.

We are especially grateful to Christa Stephan (project thesis ETH/WSL), Lynn Burkhard (MSc thesis ETH/WSL) and Martin Böckli (WSL) for their contributions to the development of sedFlow, and to Alexandre Badoux (WSL) for his support. We thank the Swiss National Science Foundation for funding this work in the framework of the NRP 61 project “Sedriver” (SNF grant no. 4061-125975/1/2). Jeff Warburton and two anonymous referees provided thoughtful and constructive suggestions to improve this manuscript. Edited by: D. Parsons