# River bathymetry and discharge estimation using video surface velocity data assimilation in the 2D differentiable numerical shallow water model dassflow

Léo Pujol, Ludovic Cassan, Pierre-André Garambois, Hélène Roux

<figure><img src="image_1.png" /></figure>

## To cite this version:

Léo Pujol, Ludovic Cassan, Pierre-André Garambois, Hélène Roux. River bathymetry and discharge estimation using video surface velocity data assimilation in the 2D differentiable numerical shallow water model dassflow. Environmental Modelling and Software, 2025, 193, pp.106589. 10.1016/j.envsoft.2025.106589. hal-05183632

HAL Id: hal-05183632

https://hal.science/hal-05183632v1

Submitted on 5 Sep 2025

HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
<figure><img src="image_3.png" /></figure>

# River bathymetry and discharge estimation using video surface velocity data assimilation in the 2D differentiable numerical shallow water model dassflow

Léo Pujol<sup>a,b,∗</sup>, Ludovic Cassan<sup>a,c,d</sup>, Pierre-André Garambois<sup>b</sup>, Hélène Roux<sup>a</sup>

## ARTICLE INFO

Keywords:

2D shallow water

Variational data assimilation

Water surface velocity field

Discharge gauging

Bathymetry estimation

Remote sensing

## ABSTRACT

This contribution presents a Variational Data Assimilation approach for the integration of water surface velocity fields into a 2D shallow water hydraulic model and the inference of distributed bathymetry and inflows. It describes the addition of flow velocity observations into an existing assimilation framework. A regularizing effect is introduced in the form of a simple bathymetry model. Synthetic experiments are designed to study the identifiability of the sought parameters from velocity observations and show that the assimilation method can leverage the informational content of synthetic observations in a twin experiment setup. The method notably allows good inferences of distributed upstream inflows from observations of their mixed velocity signatures at a downstream confluence. The method is then applied to a real river reach where fair inferences of the local cross-section are obtained. This combination of the ANDROMEDE and DassFlow platforms could enable fast, automated, physically-based estimations of distributed bathymetry and inflows from unintrusive measurements.

## Software and data availability

* **Name of software: DassFlow2D**

Developers: Léo Pujol, Pierre-André Garambois

Contact: leo.pujol@inrae.fr, pierre-andre.garambois@inrae.fr

Date first available: May 16, 2023

Software required: Linux, see documentation for full requirements.

Program language: Python-wrapped Fortran

Source code at: https://github.com/DassHydro/dassflow2d

Documentation: Detailed documentation including installation instructions and examples can be found at https://github.com/DassHydro/dassflow2d?tab=readme-ov-file

* **Name of software: ANDROMEDE**

Developers: Pierre Horgue, Ludovic Cassan

Contact: pierre.horgue@toulouse-inp.fr, cassan@cerfacs.fr

Date first available: November 21, 2023

Software required: Linux and Windows binaries provided at https://mfeed.inp-toulouse.fr/fr/softwares/andromede.html.

Program language: Python

Source code at: https://gitlab.com/phorgue/ANDROMEDE

Documentation: Detailed documentation including tutorials can be found at https://andromede.readthedocs.io

## 1. Introduction

The joint use of field data and models is a rapidly developing area of research in the fields of water resource management, risk prevention and environmental impact. Enhancing our understanding of the global water cycle and the complex multiscale phenomenons within it is essential for addressing crucial socio-economic issues, improving flood and drought prediction tools, managing rivers and water resources, and preserving fish habitats. Assimilating heterogeneous data enables the improvement of river network hydraulic-hydrological models by reducing the uncertainty associated with model parameters, such as the bathymetry-friction couple. This progress is essential for enhancing hydrological science and refining numerical models.

Recent advances in observation techniques (Le Coz et al., 2014; Cassan et al., 2024) have enabled the image or video-based estimation of river flow surface velocity, offering a promising avenue for improved visibility of river flow hydraulic signatures at a section-reach. Furthermore, Water Surface Velocity (WSV) observations are becoming more accessible (e.g. through tools such as RIVeR (Patalano et al., 2017), Fudaa-LSPIV (Jodeau et al., 2019), ANDROMEDE (Cassan et al., 2024) and others).

<footnote><sup>a</sup> Institut de Mécanique des Fluides de Toulouse (IMFT), Université de Toulouse, CNRS, Toulouse INP, Université Toulouse III - Paul Sabatier (UPS), Toulouse, France</footnote>

<footnote><sup>b</sup> INRAE, Aix Marseille Université, RECOVER, 3275 Route Cézanne, Aix-en-Provence, 13182, France</footnote>

<footnote><sup>c</sup> CERFACS, Toulouse Cedex1, 31057, France</footnote>

<footnote><sup>d</sup> CECI, CNRS UMR 5318-CERFACS, Toulouse Cedex 1, 31057, France</footnote>

<footnote>* Corresponding author at: INRAE, Aix Marseille Université, RECOVER, 3275 Route Cézanne, Aix-en-Provence, 13182, France.
E-mail address: leo.pujol@inrae.fr (L. Pujol).</footnote>
WSV represents a valuable source of information for directly estimating river discharge using a local flow law, which can then be used to calibrate a hydrological model (see e.g. Westerberg et al. (2022)). It has been used in several studies (e.g. Negrel et al. (2010), Corato et al. (2011)) to estimate discharge at a section, with accuracy depending in part on the uncertainty in bathymetry (or cross-sectional area) and the representativeness of surface velocity relative to the actual 3D velocity field. Although they are tinted with uncertainties linked to the video treatment (Bodart et al., 2024), surface velocimetry techniques offer the potential to perform discharge estimates in extreme conditions, such as fast and highly turbulent flows, and high flows (see e.g. Bodart (2023)). Moreover, surface velocimetry sensing can be performed safely and conveniently from a bridge or bank, in urban areas, as well as using videos (even crowdsourced) from phone cameras or drones. This opens up the possibility of more extensive measurements of surface velocity at the floodplain and river network scale.

The informational content that can be extracted from surface data is notably dependent on the observed flow dynamics and is more successful when exploiting velocities representative of low flows. Indeed, the flow has a filtering effect on basal bathymetry (or friction) influence that can make distributed parameter identifiability more difficult at high flows, i.e. when a strong filtering is applied to model parameters impact on observable surface signals. On the other hand, low flows are more likely to carry useful information on local bathymetry influence. Moreover, the use of adequate observation operators, e.g. coefficients linking observed surface velocity to depth-averaged flow velocity simulated with a 2D shallow water model, is needed to exploit the informational content of such surface observations with simplified flow models (see recent works on the estimation of conversion coefficients for algebraic discharge laws in Hauet et al. (2018), Stepenuck et al. (2024), Pumo et al. (2025)).

Information derived from image series analysis has notably been exploited for the calibration of near-shore models. Observations derived from UAV videos of waves have been used to infer bathymetry by inverting linear wave theory relations (Matsuba and Sato, 2018; Bergsma et al., 2019; Ghorbanidehno et al., 2019), and more recently with the addition of machine learning to extract useful information from image series (Collins et al., 2020). In Collins et al. (2020), a spatial regularization of the inverse problem is necessary and provided by the assumption that near-shore bathymetry is composed of homogeneous slope plus local sandbars. Physics-based approaches modeling coastal hydrodynamics have also been used to infer bathymetry from actual wave speeds and heights (Moghimi et al., 2016; Holman et al., 2017). In a more recent work, observed velocity fields were used to infer bathymetry in an estuary using an ensemble-based assimilation method, in a model solving energy-based equations with sediment transport (Ardağ and Wilson, 2022).

WSV is a surface signature that can also be used for inferring parameters of a hydraulic model which simulates the evolution of estuary or river flow states (level and discharge). Using a 1D or 2D hydraulic model to assimilate water surface signatures enables the estimation of physically meaningful parameters, such as discharge, bathymetry, and friction, depending on the uncertainties involved and of data informative content and density (e.g. Honnorat et al. (2009), Lai and Monnier (2009), Hostache et al. (2010), Pujol et al. (2024) in 2D and Larnier et al. (2021), Pujol et al. (2020) in 1D). Given the filtering effect of flow on parameter signatures and the uncertainty linked with velocity field estimations from videos, care must be taken with regard to the expected informative content of such observations. This is why there is a need for the integration of appropriate regularization into assimilation methods and why cross-section scale models, able to represent fine hydraulic phenomenons and at-a-section discharge, remain an interesting target for WSV assimilation experiments.

The pioneering work of Honnorat et al. (2009) in assimilating Lagrangian surface tracers, closely linked to surface velocities, showed that effective bathymetry in a 2D hydraulic model with weakly coupled

transport model can indeed be inferred from such observations using variational methods. Indeed, variational data assimilation is well suited for combining hydrodynamic models with heterogeneous observations (see Monnier et al. (2016a), Pujol et al. (2024), Larnier et al. (2024) and references therein). In the context of spatially and temporally varied flows, such as river confluences, its capability to infer high-dimensional parameter control vectors is of particular interest for the potentially high number of parameter needed to model such flows. For example, Variational Data Assimilation (VDA) was recently used in Pujol et al. (2024) to infer distributed friction coefficients at a street intersection in an urban flash flood model by assimilating WSV (DassFlow 2D full Shallow Water model with automatic adjoint derivation (Monnier et al., 2016b)).

The inference of hydraulic model parameters from surface observations often consists in challenging ill-posed inverse problems for which some regularizations are required, as discussed in a satellite altimetry context in Larnier et al. (2021), Garambois et al. (2020), Pujol et al. (2020) and references therein. Regularizations for hydraulic inverse problems can take the form of penalty term in cost functions (Monnier et al., 2016a), control variable change using covariance matrices (e.g. Larnier et al. (2021)), or even strong constrains directly into the flow model such as linear bathymetry model between sparser water level observations (Garambois et al., 2020). Indeed, the estimation of uncertain hydraulic model parameters from generally sparser and partially informative observations can be challenging because of (1) local structural equifinality since the sought parameters (discharge-bathymetry-friction) are embedded in friction laws (e.g. Manning-Strickler), (2) spatial equifinality with different parameters spatial distributions that can lead to similar fit to the available observations. The spatial density of WSV fields has a determining effect on the methods' capability to capture fine scale variations, which motivates imposing spatial constraints on the sought parameters.

Our work aims to adapt VDA methods for the assimilation of Water Surface Velocity (WSV) fields. It is applicable to dynamic flow conditions (so called "4D-Var" in meteorological applications with 3D spatial dimensions, instead with a 2D hydraulic model here). The goal is to retrieve channel geometry and inflow discharge from data derived from video footage captured by aerial drones. It is important to note that the VDA algorithm can retrieve spatio-temporal parameters of Shallow Water models (such as inflows, boundary conditions, bathymetry, and friction) in various modeling contexts (e.g., Larnier et al. (2024), Pujol et al. (2024)), depending on the available data and the uncertainty associated with these parameters.

The automated toolchain ANDROMEDE-DassFlow, presented here, aims to facilitate the integration of velocity data time series into larger-scale hydraulic models. This integration enables the exploitation of data from video sensors (in situ cameras, river-scale drone surveys) in conjunction with other existing observation sources (such as satellite data and in situ stations).

The chaining of ANDROMEDE and DassFlow allows the generation of a complete hydraulic model over the area of interest for inverse modeling - i.e. data assimilation. ANDROMEDE outputs provide surface velocity observations that can be combined with multi-source field data (water depth observations here). Automatic mesh generation, definition of boundary conditions (BC) and integration of a priori parameters and their bounds allow the definition of interesting inverse problems. This work focuses on the assimilation of observation snapshots to infer spatial parameters, but the framework is similarly capable of assimilating observations time series and of seeking time-dependent parameters.

A sensitivity analysis is conducted to evaluate the impact of initial parameter values, such as geometric parameters and upstream inflow, on the results of the iterative assimilation process. This analysis ensures that the proposed methodology remains effective even when non-expert users, such as watershed managers or regulatory institutions, provide highly uncertain initial parameter estimates. This standardization is
<figure><img src="image_4.png" /><figcaption>Fig. 1. Toolchain flowchart. Green: in situ measurements. Orange: information that can be derived from databases. Blue: inputs for direct model. White: inputs for inverse model. Black: toolchain results.</figcaption></figure>

crucial for broadening the use of this approach in various hydraulic contexts (Anderson et al., 2019).

The article is structured as follows: first, it presents the assimilation method and the specific assumptions relevant to our study. Then, the method is validated using academic cases, demonstrating its capability to reconstruct 2D bathymetries and flows from surface velocities. Finally, the method is applied to a real river case, utilizing a Water Surface Velocity (WSV) field collected by an Unmanned Aerial Vehicle (UAV).

## 2. Numerical tools and models

This section describes the ANDROMEDE and DassFlow tools, which are used sequentially to generate a velocity field and a hydraulic model over the same grid. The observed velocities are then assimilated into the hydraulic model (see Fig. 1). The adaptation of the VDA method for reach-scale assimilation of surface velocity involves a bathymetry model. This model parameterizes local lateral geometric variabilities.

### 2.1. ANDROMEDE: PTV data extraction toolchain

ANDROMEDE<fnref n="1" /> is an open source software that allows the combination of image treatment and analysis methods to derive velocity estimations from video footage. It is capable of both Particle Imagery Velocimetry (PIV) and Particle Tracking Velocimetry (PTV), which makes it a flexible tool. PTV methods are used in this article.

The video analysis is carried out on a projection of the footage onto the WS plane. On this plane, a regular grid $\mathcal{T}_{\Omega}$ is defined. Cell size is given by the user. Individual velocity estimates, each linked to an identified particle, contained in a cell are filtered, then averaged

over the total video time (see Cassan et al. (2024) for more details). This produces a snapshot of estimated averaged surface velocity field $U_s = (u_s(x, y), v_s(x, y)), \forall (x, y) \in \mathcal{T}_{\Omega}$.

### 2.2. DassFlow2D: hydraulic model with variational data assimilation algorithm

The DassFlow2D<fnref n="2" /> modeling platform is used to solve the 2D Shallow Water equations on the velocity field snapshot grid. It is a free software<fnref n="3" /> that is part of the DassHydro hydraulic-hydrological direct-inverse framework. DassFlow2D is a well-established software, with a validated classical solver and automatic time step adjustment to ensure stability.

#### 2.2.1. 2D shallow water model

The 2D river domain mesh is $\mathcal{T}_{\Omega}$ and $x, y$ denote the spatial coordinates while $t > 0$ is the time. $\mathcal{T}_{\Omega}$ is the output grid of the ANDROMEDE generated velocity field. The surface velocity field $U_s$ is used as an observation in the VDA process.

The 2D shallow water (SW) equations in their conservative form write as follows, with a Manning-Strickler friction source term (Eq. (1)):

$$ \frac{\partial U}{\partial t} + \frac{\partial}{\partial x} F(U) + \frac{\partial}{\partial y} G(U) = S_g(U) + S_f(U) $$

$$ U = \begin{bmatrix} h \\ hu \\ hv \end{bmatrix}, \quad F(U) = \begin{bmatrix} hu \\ hu^2 + \frac{gh^2}{2} \\ huv \end{bmatrix}, \quad G(U) = \begin{bmatrix} hv \\ huv \\ hv^2 + \frac{gh^2}{2} \end{bmatrix}, \quad (1) $$

$$ S_g(U) = \begin{bmatrix} 0 \\ -gh\nabla b \end{bmatrix}, \quad S_f(U) = \begin{bmatrix} 0 \\ -g\frac{n^2 \|u\|}{h^{1/3}}u \end{bmatrix} $$

<footnote n="1">¹ https://andromede.readthedocs.io/</footnote>

<footnote n="2">² https://www.math.univ-toulouse.fr/DassFlow/</footnote>

<footnote n="3">³ https://github.com/DassHydro/dassflow2d</footnote>
with the water depth h [m] and the depth-averaged velocity $U = (u, v)^T$ [m/s] being the flow state variables. The flow model parameters are the gravity magnitude g [m/s²], the bed elevation b [m], and the Manning-Strickler friction coefficient n [s/m¹/³]. F(U) is the flux of the variable U, S<sub>g</sub> (U) is the gravitational source term, S<sub>f</sub> (U) is the mass and friction source term.

Initial flow states ([h, u, v](t = 0, ∀x ∈ Ω)) and boundary conditions adapted to the studied cases are chosen (see Monnier et al. (2016b, 2019)). In this study, initial WS elevation is constant over the hydraulic grid. The downstream BC is a fixed WS elevation and the upstream BCs are inflow hydrographs.

### 2.2.2. Numerical scheme

The governing equations of 2D shallow water model can be discretized using a Godunov-type finite volume method. First-order scheme is adopted for the interface variable reconstruction and the time-marching to the next step. Each successive time step is computed with CFL-like condition to ensure stability. A classical Euler explicit discretization is used based on Eq. (1), and the flux at cell interface are computed based on the HLLC Riemann solver (Eq. (2)):

$$U_i^{j+1} = U_i^j - \frac{\Delta t}{A_i} \sum_{k \in N(i)} P_k F_k^j w_k + \Delta t [S_g(U_i^j) + S_f(U_i^j)] \quad (2)$$

where j is the time step, N(i) represents all the interfaces of cell i, A_i, the area of cell i and w_k the length of edge k. The matrix P_k is the rotation from the global coordinate system to the local one attached to the interface.

A first-order well-balanced scheme is used so that the source term can exactly balance the fluxes in the discrete form and the “lake at rest” condition can be preserved. The friction term is discretized using a fully implicit scheme to avoid the stiff term when very shallow water depth is encountered.

### 2.2.3. Bathymetry model

This section describes a bathymetry parameterization, or bathymetry model, that helps to constrain spatial variations of bed elevation for inverse problems using sparse water surface observations. It is part of the direct model, which is why it is presented before the inverse method.

The variational data assimilation method described below allows for the inference of any parameter of the 2D Shallow Water (SW) model (bathymetry, friction, distributed inflows, etc.). We focus here on the inference of bathymetry and discharge.

The actual capability of the method to identify parameters depends on the informative content carried by the assimilated observations, which is linked to their nature and spatio-temporal distribution. Indeed, depending on available observations, one may not be able to infer a fully parameterized bathymetry.

Depending on the objectives of the study, available observations and parameter uncertainty, the bathymetry model can be more or less complex. For example, to obtain a flow rate, an approximation of the shape of the cross-section, considered invariant in the direction of flow, may be sufficient. On the other hand, the identification of bottom elevation variations linked to local hydraulic controls requires a bathymetry parameter that varies independently in the three directions of space.

For the purpose of providing adequate model parameterization for these cases and constraints for the inverse problems studied, the following bathymetry model is implemented (Eq. (3)):

$$b(x, y) = b_0(X) + S(X, Y) + \delta b(x, y) \quad (3)$$

where $b_0(X)$ [m] is here a simple linear bottom elevation varying along the flow axis with X defining large scale longitudinal coordinate (patches), S(X, Y) [m] is a differentiable shape function defining the lateral bathymetry variation and $\delta b(x, y)$ [m] is a full bathymetry variation term at fine scale (numerical model mesh scale) around the shape imposed by $b_0$ and S at larger scale of patches.

In this study, the bathymetry model is used with Y the cross-section axis locally perpendicular to the longitudinal axis X. Furthermore, S(Y) is defined as the combination of two power functions as follows (omitting dependency to X of $(H_m, y_c, s)$ (Eq. (4)):

$$\text{if } Y < y_c, \text{ then } S(Y) = -H_m \left(1 - \left(\frac{Y - y_c}{y_c}\right)\right)^s \quad (4)$$

$$\text{if } Y \ge y_c, \text{ then } S(Y) = -H_m \left(1 - \left(\frac{Y - y_c}{W - y_c}\right)\right)^s$$

where $H_m$ [m] is the max depth located at $y_c$, W [m] is the total width of the channel and s [-] is a shape coefficient. In this work focused on small scale hydraulic models (40 m long reach), these parameters are considered independent of the longitudinal axis X.

This formula is similar to that used in Dingman and Afshari (2018), with the added potential for asymmetry. Any combination of the slope involving $b_0$, parameters of S and $\delta b(x, y)$ can be sought through VDA. The introduction of this bathymetry model effectively allows user knowledge of the expected bathymetry shape to be built into the hydraulic model, therefore simplifying the considered inverse problems to fit inference and modeling requirements. Be aware that the informational content of observations, especially of surface velocity observations, is dependent on local flow conditions as explained in Section 1.

This decomposition makes it possible to better constrain the assimilation process depending on the sought parameters and on the type and number of data available. The bathymetry model is sufficiently complex to match the known bathymetry at the local-scale real case in Section 3.3 while remaining simple enough that its parameters could be estimated from existing channel geometry databases (e.g. Neal et al. (2015)) for river network scale uses.

Note that other geometrical constraints, adapted to both the physical complexity of a case and to the informative content carried by flow observations, could easily be implemented and taylored to other cases. Also note that the inverse approach enables to infer fully distributed bathymetry if sufficient data is available.

## 2.3. Data assimilation algorithm

Data assimilation methods aim to reduce misfit between observations and modeled quantities through the calibration of chosen model parameters. The VDA method is well suited to infer high-dimensional multi-variate parameter sets, such as geometric channel parameters and inflows of a hydraulic model from heterogeneous observations. Given the potentially high spatial density of observations such as WSV fields, it is of particular interest for calibrating densely varied parameters such as local bathymetry.

### 2.3.1. Parameter control vector

In this study, we seek small scale fully distributed bathymetry $\delta b(x, y)$ of the 2D model directly, in a synthetic twin experiment using dense observations, as well as two upstream inflows $Q_{in} = (Q_1, Q_2)$. The maximum considered control vector is (Eq. (5)):

$$\theta = (\delta b(x, y), Q_{in}) \quad (5)$$

In a real experiment, we seek the parameters of the bathymetry model introduced above, in the context of sparser observations of the flow as encountered in real cases. The parameters $(H_m, y_c, s)$ of the cross-section shape function defined above (Eq. (4)) and the upstream discharge hydrograph $Q_1$ are inferred simultaneously. The maximum considered control vector is (Eq. (6)):

$$\theta = (H_m, y_c, s, Q_1) \quad (6)$$
### 2.3.2. Optimization problem

Given modeled depth-averaged velocities $U(\theta, t)$ and observed surface velocities $U_s$ at every $(x, y) \in \Omega_N$, we define the objective function as (Eq. (7)):

$$J(\theta) = J_{\text{obs}}(\theta) + a J_{\text{reg}}(\theta) \quad (7)$$

The observation cost function writes (Eq. (8)):

$$J_{\text{obs}} = \alpha \|U - H(U_s)\|_2^2 + \beta \|h - h_{\text{obs}}\|_2^2 \quad (8)$$

where $H$ is an observation operator that translates surface velocity into depth-averaged velocity and $\alpha, \beta$ are coefficients. Multiplicative coefficients are used as observation operators for comparing surface velocity observations to depth averaged simulated flow velocity. This is a simple and classical hypothesis without knowledge of real vertical velocity distribution — which is the case in many applications. For the real case described in this article, the observation operator is $H(U_s) = \gamma U_s$ with a constant coefficient of $\gamma = 0.85$ (this value is close to the mean coefficient value estimated in Hauet et al. (2018)). This is a reasonable and classical hypothesis to relate surface and depth-averaged velocity (see e.g. Cassan et al. (2024), Jodeau et al. (2019) and references therein). For synthetic cases, we observe modeled variables directly so $\gamma = 1$.

In order to constrain the bathymetry $b(x, y)$, we use a regularization term that writes (Eq. (9)):

$$J_{\text{reg}}(\theta) = \|\nabla b(x, y)\|_2^2 \quad (9)$$

This term is an effective way of preventing sharp variations of $b(x, y)$.

The optimization problem then writes as follows (Eq. (10)):

$$\dot{\theta} = \underset{\theta}{\operatorname{argmin}} J(\theta) \quad (10)$$

It is solved using a first order gradient-based algorithm, the classical bounded L-BFGS-B quasi-Newton algorithm (Zhu et al., 1997). The assimilation process is stopped when the algorithm fails to reduce cost after 25 line search steps. The gradient $\nabla_{\theta} J$ is computed with the help of the adjoint model of the 2D SW numerical model DassFlow. The latter is obtained by automatic differentiation, using Tapenade (Hascoet and Pascual, 2013).

## 3. Experiments design

Our method aims to provide simultaneous estimates of discharge and bathymetry of a 2D shallow water model of river reaches, with the intent to provide an unintrusive and faster alternative to existing intrusive data collection methods (e.g. ADCP measurements).

In these initial uses of our measurement methodology, the zone of interest is limited to the area covered by data obtainable from a camera, whether positioned on the banks or mounted on a stationary UAV.

### 3.1. Sought parameters

WSV can carry information on discharge. Its estimation from surface velocity exclusively within the presented toolchain would allow immediate, straightforward operational uses of ANDROMEDE-DassFlow. Furthermore, the inference of discharge by VDA with a well known bathymetry corresponds to using the hydraulic model as a physical filter of all velocity measurements in order to integrate the depth averaged velocity field. The standalone ANDROMEDE software already allows discharge estimates based on an inversion of the Manning-Strickler formula. Parameters exhibit varying degrees of sensitivity. To illustrate this physically, consider commonly observed values in river dynamics. Excluding flood events, the average velocity at the center of a river's flow typically ranges between 0.5 and 1 m/s. However, flow rates can fluctuate by a factor of 10 between low flow and average discharge conditions. This substantial variation is primarily attributable

to changes in water level. Consequently, water level data can provide valuable insights for estimating discharge, due to its high information content. However, WSV fields can also carry information on lateral flow variability, which may be linked to local channel geometry. This is especially likely in low flow regimes. The estimation of local bathymetry from fields observations could allow a reduction in the uncertainty of this hard-to-observe parameter.

This is why, in the below experiments, we target the challenging issue of simultaneous inference of geometric parameters and discharge. In Section 4, we successively seek:

1. Distributed bathymetry and two constant inflows upstream of a confluence, by assimilating observations gathered at that confluence (synthetic twin experiment)

$$\theta = (\delta b(x, y), Q_1, Q_2) \quad (11)$$

2. Geometric cross-section parameters from the bathymetry model on a straight channel (synthetic twin experiment)

$$\theta = (H_m, y_c, s) \quad (12)$$

3. Bathymetry model parameters and upstream inflow on a model of a real case, at the scale of the WSV field

$$\theta = (H_m, y_c, s, Q_1) \quad (13)$$

Note that, at the field scale, the bottom slope seems difficult to estimate from WSV data as captured longitudinal variations are likely within the expected error range, see Appendix A. Still, such important information on hydraulic controls in rivers may be accessible from WSV at a larger scale than considered here. Also note that the considered problem is friction-bound, and we chose to assume a known homogeneous friction in all experiments.

### 3.2. Prior values

The prior values of sought model parameters can have an impact on inferred parameters.

Prior values for discharge can be estimated through the ANDROMEDE software or by using historical data from local databases or rating curves. A simple way of obtaining a prior value for flow is to consider a rectangular or triangular section, combined with an averaged velocity profile from observed WSV. Another possibility is to consider a constant energy slope over a transect and a local depth estimate, which ANDROMEDE is able to translate to a flow estimate based on the Manning-Strickler equation.

Prior values for the bathymetry can be derived from available in situ measurements – although this approach intends to reduce the need for such intrusive measurements –, from global databases — e.g. estimates of the shape coefficient $s$ in Dingman and Afshari (2018), Morel et al. (2020)) - or possibly from rough unintrusive in situ estimates, which may provide a sufficiently accurate starting point for the inference of $\theta = (H_m, y_c, s)$ in some cases. To estimate a priori the position of the depth maximum $y_c$, we can use the position of the velocity maximum, which is likely to be correlated if we neglect secondary currents and the heterogeneity of bottom roughness.

### 3.3. Real case: Ariège river at Crampagna

#### 3.3.1. In situ data

The selected study site for real case is located on the Ariège river in France. It is a by-pass river reach at a hydroelectric plant downstream, where the flow remains constant over periods long enough for measurement (around 1 min for a velocity snapshot). In order to validate the proposed method, we carried out intrusive flow and bathymetry measurements (ADCP and manual bottom elevation), as well as video from a static aerial drone. These two techniques are described in detail below.
<figure><img src="image_5.png" /><figcaption>**Fig. 2.** Crampagna observations: measured water depth from ADCP (dense points, middle line) and ruler (sparse points) and estimated surface velocities from ANDROMEDE. Cyan cross is the location of the single water depth observation used in assimilations. Background image is a still from analyzed video.</figcaption></figure>

**Intrusive data collection.** A bathymetric survey is carried out using a Leika tacheometer. Elevation measurements are relative to the position of the instrument. For comparison with drone data, a manual realignment is then made for cross-sections of interest. Three transects were surveyed with a point-to-point spacing of around 2 meters until the water depth no longer allowed manual measurement.

Discharge measurement on one cross-section was also performed with acoustic Doppler velocimeter (StreamFlow). Four consecutive measurements were made to reduce uncertainty, and the average of the four was used for comparison with optical measurements (see below). The measurement points are shown in Fig. 2, along with the velocity field obtained by ANDROMEDE analysis.

**Data collection by UAV.** For drone observations, the river is manually seeded with floating particles (3 cm long, 1 cm diameter cylinders) upstream of the study area. The movement of the particles was filmed from a drone (DJI phantom IV) at an altitude of around 60 m. With a focal length of 8 mm, the average pixel size is 2.5 cm. Four red targets were placed at the edge of the WS on either side of the river and their positions measured using a tacheometer. The data are expressed in a relative coordinate system. The acquisition time is 68 s. The video is analyzed using the ANDROMEDE software and the averaging method described above. Instantaneous velocities are determined using the KLT optical flow method (Cassan et al., 2024). The averaged velocity field to be assimilated is shown in Fig. 2.

The velocity field is asymmetrical, with a low-speed range on the left bank. The shadows in the video imply some no data zones, but they do not hinder speed estimation over most of the area of interest. A relative invariance in the longitudinal direction seems to exist, which justifies considering only one cross-section at first step.

# 4. Results and discussion

This section describes a series of experiments designed to demonstrate the capabilities of the ANDROMEDE-DassFlow chain. The VDA method is evaluated through 3 test cases. They aim to demonstrate the capability of the VDA method to ingest velocity observations and provide relevant estimates of model parameters from accessible prior values, in anticipation of the availability of velocity measurements on larger modeled areas like river networks.

The two first experiments are numerical twin experiments, where a reference model is used to generated observations that are then used to infer the reference bathymetry from an erroneous first guess. They correspond to realistic cases in terms of complexity and size. The third experiment corresponds to the real case described in Section 3.3.

The first case aims to reproduce a classic river confluence based on (Pujol, 2022). A complex velocity field is generated and observed at the confluence due to upstream flows mixing and spatially varied bathymetry. Distributed bathymetry and/or upstream inflows $\theta = (\delta b(x, y), Q_1, Q_2)$ are inferred by assimilating modeled velocities. The presented results show that it is possible to identify bottom disturbance if the velocity field is sufficiently well described.

The second case is inspired by the Golfech case described in Cassan et al. (2024). Its mesh and the distribution of velocity observations are that of a real ANDROMEDE case. A synthetic velocity field is used to infer parameters from the bathymetry model $\theta = (H_m, y_c, s)$ in a prismatic channel.

In the last experiment, the method is applied to a real case, showcasing the ANDROMEDE-DassFlow tool chain and using real UAV-based measurements of flow velocity to simultaneously infer bathymetry parameters and an upstream inflow $\theta = (H_m, y_c, s, Q)$.
<figure><img src="image_6.png" /><figcaption>(a) Full confluence model view and observation generation area (in green). Maximum (resp. minimum) bathymetry elevation is 1.4m (–1 m).</figcaption></figure>

<figure><img src="image_7.png" /><figcaption>(b) Inferred bathymetry for case $B_{only}$, with control vector $\theta = (b(x, y)), \forall(x, y) \in \Omega_{obs}$. Maximum (resp. minimum) bathymetry elevation is 1.1m (–0.46m).</figcaption></figure>

<figure><img src="image_8.png" /><figcaption>(c) Inferred bathymetry for case $BQ$, with control vector $\theta = (b(x, y), Q_1, Q_2), \forall (x, y) \in \Omega_{obs}$. Maximum (resp. minimum) bathymetry elevation is 0.88m (–0.27m).</figcaption></figure>

**Fig. 3.** Assimilation of depth averaged velocity for inferring model bathymetry in twin experiment context over the confluence case from (Pujol, 2022). Top: reference bathymetry of the model. Bottom: inferred bathymetry distributions from velocity field assimilation, starting from a flat bathymetry prior. The cost function is $J = \|U_{sim} - U_{obs}\|_2^2 + 5\|\nabla b(x, y)\|_2^2$.

## 4.1. Inference of distributed bathymetry and multiple inflows

The first test case was chosen to underline the capability of the method to ability handle 2D WSV fields linked to both upstream inflows and local bathymetry. Here, we seek to infer distributed bathymetry from a complex surface velocity field in a twin experiment setup.

The synthetic experiment models a flow at the confluence of 2 river reaches (15m-wide). Two symmetrical upstream reaches (100 m long, 15 m wide) meet at a complex bathymetry area followed by a straight downstream reach (100 m long, 30 m wide). The number of cells is 15k and the average cell edge is 1 m. The model has two upstream inflow boundary conditions and, downstream, a prescribed water depth is 1.5 m. Outside the confluence, the slope is constant at $2.10^{-3}$ m/m.

A reference simulation is performed, using the target values from Table 1 and the reference bathymetry featured in Fig. 3(a). Simulations are carried out for 1000s in physical time. Observations of flow velocity are generated, within the green area in Fig. 3(a) at an observation time step of 50 s. The complexity of the 2D velocity field at the confluence comes from (i) local gradually varied bathymetry and (ii) the two distinct upstream inflows.

The domain dimension and observation time step were chosen to roughly correspond to what could be expected from local scale static UAV measurements.

Four different data assimilation experiments were designed. For each of them, the control vector and prior values differ. The cost function reads $J = \|U_{sim} - U_{obs}\|_2^2$ when seeking inflows only, or $J = \|U_{sim} - U_{obs}\|_2^2 + 5\|\nabla b(x, y)\|_2^2$ when also seeking bathymetry. The regularization term – a bathymetry elevation spatial derivative norm which penalizes high frequency variations – carries the information that the inferred bathymetry should vary smoothly, which is a known property of the target bathymetry. The weights of the cost function terms were adjusted manually. The 4 designs are described below:

* $Q_a$: We seek to infer $\theta = (Q_1, Q_2)$. We fully know the bathymetry. The prior inflow values correspond to switching the values of the reference inflows: ($Q_1 = 5 \text{ m}^3/\text{s}, Q_2 = 8.5 \text{ m}^3/\text{s}$).

* $Q_b$: We seek to infer $\theta = (Q_1, Q_2)$ without knowledge of the target bathymetry. The prior inflow values are the same as in $Q_a$. The prior bathymetry is flat, with a constant slope of $2.10^{-3}$ m/m.

* $B_{only}$: We seek to infer $\theta = (b(x, y))$ the distributed bathymetry at the confluence, given known inflows, from a flat bathymetry prior with a constant slope of $2.10^{-3}$ m/m.

* $BQ$: We seek to infer both the distributed bathymetry and upstream inflows $\theta = (b(x, y), Q_1, Q_2)$ given the same prior on inflows as $Q_{a/b}$ and the same prior bathymetry as $B_{only}$.
<table><caption>**Table 1**

Parameter values for the confluence inversion experiments. Sought parameters for each setup in bold.</caption><thead><tr><th></th><th>Q<sub>1</sub> [m<sup>3</sup>/s]</th><th>Q<sub>2</sub> [m<sup>3</sup>/s]</th><th>Bathymetry</th></tr></thead><tbody><tr><td>Target</td><td>8.5</td><td>5</td><td>-</td></tr><tr><td>Q<sub>a</sub> prior (inferred)</td><td>5 (8.50)</td><td>8.5 (5.00)</td><td>perfectly known: max. 1.4 m, min. -1 m</td></tr><tr><td>Q<sub>b</sub> prior (inferred)</td><td>5 (8.30)</td><td>8.5 (4.95)</td><td>assumed flat</td></tr><tr><td>B<sub>only</sub> prior</td><td>known</td><td>known</td><td>flat (max. 1.1 m, min. -0.46 m, Fig. 3(b))</td></tr><tr><td>BQ prior (inferred)</td><td>5 (9.42)</td><td>8.5 (6.24)</td><td>flat (max. 0.88 m, min. -0.27 m, Fig. 3(c))</td></tr></tbody></table>

Both $Q_a$ and $Q_b$ lead to accurate estimations of upstream inflows. This indicates that, in this setup, we can infer inflows from complex observed fields without information on local bathymetry variations, even though they contribute to the complexity of said field.

$B_{only}$ leads to a good bathymetry inferences, with very good estimates of its spatial pattern - starting from an unbiased flat prior - and fair inferences of bathymetry peaks. Maximum bathymetry is underestimated at 1.1 m compared to the target value of 1.4 m. This can be explained by an equilibrium being reached between the influence on the velocity field of the local bathymetry top and the cross-sectional bathymetry pattern around it. Remember that prior bathymetry is flat and that such an equilibrium is likely to be reached through an underestimation of bathymetry peaks. Inferred bathymetry at target bottoms is further from the target at -0.46 m with a target at -1m, which can be expected given their lesser impact on observed quantities compared to peaks.

BQ leads to a 16% overestimation of the total inflow (10.2% overestimation of $Q_1$ and 24.8% overestimation of $Q_2$). This error on discharge is felt in the inferred bathymetry through less correction of the flat prior value, yet with a spatial pattern consistent with $B_{only}$. Given the strong error on inflow priors (the values of the two upstream inflows were switched) and the restricted area of observation, centered on a complex flow area, these results are fairly satisfying.

These inference examples showcase the capacity of our DA method to infer high dimensional control vectors containing both multiple inflows and finely distributed bathymetry from velocity information only. It is interesting to note that inflows were accurately inferred even without accounting for the complex bathymetry of the confluence.

## 4.2. Inference of cross-section shape on a straight parabolic channel

In this second twin experiment, we seek to extract information on the lateral variability of bathymetry from synthetic observations of surface velocity. The considered control vector $\theta = (H_m, y_c, s)$ contains parameters from the bathymetry model, which describe local cross-section.

A target parameter set and 3 prior value sets are defined (see Table 2). Each parameter set is meant to represent a reasonable yet significant estimation error on the prior values of sought parameters, e.g. stemming from a rough estimation through non-intrusive methods.

The target parameter set is used to generated synthetic observations of modeled velocities. The spatial pattern and resolution of observations is that of observations obtained from a UAV video on the Golfech case, in Cassan et al. (2024), a case that shares dimensions with the current synthetic case. They cover most of the channel but stop a few meters from the banks.

Then, for each prior set, the 3 parameters of are sought simultaneously from velocity observations only. Each set leads to very good inferences (see Fig. 4).

This setup serves to validate our capability to infer parameters from the newly implemented bathymetry model and to illustrate the potentially informative content of lateral variations in velocity observations. Here, we use observations of modeled velocity – and not surface velocity – in order to focus on tool chain capability. Note that, for the

<table><caption>**Table 2**

Target and prior and inferred values of bathymetry model parameters. See Fig. 4 for the resulting cross-section shapes. Inferred values in parenthesis.</caption><thead><tr><th></th><th>s [-]</th><th>H<sub>m</sub> [m]</th><th>y<sub>c</sub> [m]</th></tr></thead><tbody><tr><td>Target</td><td>8</td><td>3</td><td>50</td></tr><tr><td>Prior (Inferred) 1</td><td>4 (8.52)</td><td>3 (2.98)</td><td>30 (53.3)</td></tr><tr><td>Prior (Inferred) 2</td><td>3 (8.64)</td><td>4 (2.97)</td><td>40 (54.1)</td></tr><tr><td>Prior (Inferred) 3</td><td>6 (9.24)</td><td>2.5 (2.96)</td><td>50 (57.3)</td></tr></tbody></table>

<figure><img src="image_9.png" /><figcaption>**Fig. 4.** Inference of bathymetry model parameters by assimilating modeled velocity observations and starting from erroneous priors. Parameter values in Table 2. Cross-sectional area is close to identical for all inferred sets. Inferred bathymetries overlap the target bathymetry. The cost function is $J = \|U_{sim} - U_{obs}\|_2^2$.</figcaption></figure>

specific goal of inferring local cross-section shape as done here for a Low Froude flow, implementing an observation operator translating surface velocity to model velocity is not a technical roadblock (see e.g. Hauet et al. (2018), Biggs et al. (2023)).

## 4.3. Application of the tool chain to a real case

For the real case described above (Crampagna, Ariège river), simultaneous inferences of $(H_m, y_c, s)$ and $Q_1$ were performed using real surface flow velocities and limited water depth measurements $\theta = (H_m, y_c, s, Q_1)$. The two concurrent practical objectives are:

1. Estimating the cross-section shape from observed velocity, knowing a good prior of discharge and reasonable priors on the shape itself. This could be used to generate approximation of bathymetry from LiDAR surveys (WS elevation/slopes) and reach-scale drone footage (surface velocity fields). Similarly, this
<caption>**Table 3**</caption>

Bathymetry model parameter and inflow ranges for Crampagna case. Target values are estimated from the ADCP measurement. Prior values are used in inference setups in Section 4.3. Bounds are used in the bounded minimization algorithm (see results e.g. in Figs. 5 and 6) and the same values are used to delimit the sampled parameter space (see Figs. 9 and 10).

<table><thead><tr><th>Ranges for</th><th>H<sub>m</sub> [m]</th><th>s [-]</th><th>y<sub>c</sub> [m]</th><th>Q<sub>1</sub> [m<sup>3</sup>/s]</th></tr></thead><tbody><tr><td>Target values (from ADCP)</td><td>2.2 to 2.5</td><td>0.6 to 0.9</td><td>27 to 33</td><td>8.5</td></tr><tr><td>Prior values</td><td>2 to 3</td><td>1 to 2</td><td>24 to 36</td><td>8 to 9</td></tr><tr><td>Bounds</td><td>1.5 to 3.5</td><td>0.1 to 3</td><td>20 to 40</td><td>7.65 to 9.35</td></tr></tbody></table>

could serve to update model bathymetry after a morphogenic event, starting from previously calibrated/well-known bathymetry.

2. Estimating discharge from limited intrusive in-situ measurements. This could serve at local sites, e.g. to allow fast estimation of discharge for dam management including gate control based on fixed camera feedback. Additionally, it could reduce the need for intrusive methods (e.g. ADCP) and therefore the time spent on a given site during surveys by reducing useful minimal data.

Using the method explained in Appendix A, the prior value of $Q$ can be deduced from a single velocity measurement and an estimation of water depth at the same point. By assuming $s = 1$ (triangular shape of the XS), with $H_m = 2$ m, $y_c = 10$ m and $V_m = 0.6$ m/s the maximum observed velocity, we reach a discharge of $Q = 9$ m³/s, which is very consistent with the ADCP measurement of $8.51$ m³/s. This good agreement comes from the fact that the real cross-section is almost triangular and that the flow is very close to verifying the assumption for the calculation. The maximum water depth $H_m$ is estimated from the bathymetric survey. The value of $y_c$ is obtained with Fig. 2 by measuring distance between right banks (where the flow is higher) and the location of maximum velocity $V_m$.

In all following experiments, the cost function reads $J = \|U_{sim} - 0.85U_{obs}\|_2^2$, or $J = \|U_{sim} - 0.85U_{obs}\|_2^2 + +100\|h - h_{obs}\|_2^2$ when including a water depth observation. The weighing coefficient were chosen to correspond roughly to equal contributions of surface velocity and water depth observations to the cost function at the first step of the assimilation process.

Simulations are carried out on a laptop with an Intel i9-13950HX CPU. Real simulated event time is 18 min, to ensure a permanent hydraulic state is reached by the model for any prior value set before comparing observed surface flow velocities to simulated depth-average velocities. Direct simulation time is around 25 s. Computation time for the inverse model is around 3–4 min per iteration, i.e. at most 32 min of total assimilation time for the below experiments.

### 4.3.1. Inference of bathymetry model parameters

The first objective is studied here through a series of inferences of $\theta = (H_m, y_c, s)$. Fig. 5 presents a representative subset of these experiments. Appendix C shows full results of the set of experiments with Fig. 12 (only with flow velocity observations) and Fig. 13 (with a single additional water depth observation).

A set of prior values for $\theta$ was chosen based on in situ measurements, with added error. These values aim to represent a rough estimate obtained in the field, without intrusive measurements.

The resulting inferred bathymetry model parameters correspond to a cross-section that is close to that measured by ADCP and other measurements. As seen in Fig. 5 by comparing the top and bottom rows and in Fig. 15, adding a single water depth observation to the observed velocity field slightly improves results for parameters $H_m$ and $y_c$, thanks to the added constraint on bathymetry elevation at the measurement location. Overall, starting from erroneous priors, either far from the estimated target or quite close, the presented method allows improving the fit to observations. Given known discharge, the method is able

to reach decent estimates of cross-section shape starting from a large range of erroneous prior values.

The method is likely to obtain a better fit to measured bathymetry where the modeled water depth is lower, i.e. where the influence of the cross-section shape on flow WSV is likely to be higher. This creates a potential issue, since the less significant part of the flow in terms of discharge may be more sensitive to the global signature carried by the WSV field. Improvements in observation ponderation and observation operators may help mitigate this.

In Fig. 5, starting from an erroneous estimation of $y_c$ (channel center displaced to the right, left column), inferred bathymetry shape seems to match that of the downstream observations (purple dots) and the assimilation process does not manage to drive $y_c$ toward its estimated value. Starting from a better estimate of $y_c$ (right column), inferred cross-section shape tends to match the ADCP water depth measurement better (taken in the middle of the modeled reach). This is especially true when a single water depth observation, located around the ADCP measurement transect (red dots), is added (bottom right).

### 4.3.2. Inference of inflow and bathymetry model parameters

The second objective – discharge estimation in a context of uncertain bathymetry – is studied here through a series of inferences of $\theta = (H_m, y_c, s, Q_1)$. Fig. 6 contains a representative subset of these experiments. Appendix C shows the full results of the set of experiments with Fig. 11 (only with flow velocity observations) and Fig. 14 (with a single additional water depth observation).

As before, the presented method allows for the minimization of misfit to observations in all cases. It appears that the prior of $Q_1$ has limited influence on the inferred XS shape (see Fig. 6, also Fig. 15). However, as could be expected, the higher the inferred $Q_1$, the higher the inferred flow section and generally the higher $H_m$ parameters. Starting from the correct inflow prior ($8.5$ m³/s) leads to less variability in inferred inflows, while other prior values can lead to both over- and underestimation of the target flow. Interestingly, higher prior values for inflows do not tend to lead to higher final inferred values, which testifies to an extent to the limited influence of that first guess value as long as it remains in the range of “reasonable” estimates – which is a good point for the presented method – but also to the complexity of the variations of cost within the parameter space – which may indicate that the method reaches its limits in terms of extraction of the informative content of available WSV observations. In fact, erroneous discharge prior values seem to broaden the range of modeled flow regimes seen throughout the iterative assimilation process, increasing sensitivity of bathymetry model parameters in some cases as a side effect.

Overall, given the limited amount of data used to solve this complex inverse problem, inferred values for bathymetry model parameter and inflows are fairly good. The method could be used to reduce uncertainty in those parameters, especially with more observations, for example with WSV for a few more flow regimes.

### 4.3.3. Parameter space analysis

To better understand the informative content of the considered observations and the capacity of the presented VDA method to improve fit to observations, a uniform sampling of the cost within the expectable
<figure><img src="image_10.png" /><figcaption>**Fig. 5.** Sample inference results. Control vector is $\theta = (H_m, y_c, s)$. Top: assimilated observations are velocity field only, $J = \|U - 0.85U_s\|_2^2$. Bottom: assimilated observations are velocity field and one water depth, $J = \|U - 0.85U_s\|_2^2 + 100\|h - h_{\text{obs}}\|_2^2$. Final inferred bathymetry projected in the model grid in black. Intermediate inferences in blue: first guess cross-section is in light blue, latter inferences are darker. Scatter plot is measured bathymetry (orange for downstream, cyan for upstream and red for ADCP).</figcaption></figure>

<figure><img src="image_11.png" /><figcaption>**Fig. 6.** Sample inference results. Control vector is $\theta = (H_m, y_c, s, Q_1)$. Assimilated observations are velocity field and one water depth, $J = \|U - 0.85U_s\|_2^2 + 100\|h - h_{\text{obs}}\|_2^2$. Final inferred bathymetry projected in the model grid in black. Intermediate inferences in blue: first guess cross-section is in light blue, latter inferences are darker. Scatter plot is measured bathymetry (orange for downstream, cyan for upstream and red for ADCP).</figcaption></figure>

parameter space was carried out (see Fig. 7 and also parameter space bounds in Table 3). See also Appendix B for additional figures.

Fig. 7 shows that the pattern of the cost function in the parameter space is mostly independent from inflow. This is consistent with inference results obtained in Section 4.3.2, but also Section 4.1 in experiment $Q_1$ where fair inflow inferences were obtained even when distributed bathymetry was not accurately modeled.

This parameter space sampling (Fig. 7) illustrates the correlated sensitivities of the bathymetry model parameters and the potential for equifinality when inferring bathymetry model parameters. It shows, for example, how the range of good values for $H_m$ grows for higher values of $s$ (middle row), as the influence of $H_m$ on low water depth areas diminished due to the change in cross-section shape. Comparing Fig. 9 and Fig. 10 shows how the introduction of a single water depth observation redefines the area of lowest costs (bottom row).

A single global minimum appears in Fig. 7, indicating our deterministic gradient-based approach is pertinent to solve this inverse problem, since there is a unique low cost area toward which cost gradients point. Furthermore, using the ADCP measured inflow (middle row) that minimum corresponds to the parameter set ($H_m = 2.12$ m, $s = 0.9$, $y_c = 30.34$ m), which is very close to the value obtained through a priori analysis of the velocity field and would be a good estimate for our purposes. This indicates agreement between our model and the observed surface velocity field.

Reducing equifinality would require acquiring more data – as shown possible more water depth measurement, also more flow regimes at a given river section – and estimating better priors and value ranges for the sought parameters.

Even if the parameter space remains complex, as many parameter sets can lead to relatively low cost values (see Table 4 for the spread of parameter within the 0.5% lowest costs), our VDA method is an efficient tool for parameter calibration. It allows for the search of a local minimum, which is shown by this parameter space analysis to be in the close vicinity of a global minimum that corresponds to good estimates of our parameters of interest. We demonstrated the capabilities of VDA for the fast inference of satisfying bathymetry model parameter and discharges in a manner that allows extracting interesting informational content from a single, real WSV field snapshot.
<figure><img src="image_12.png" /><figcaption>**Fig. 7.** Sampled cost function (using velocity field and single water depth observations) within considered parameter space bounds. Top: Lowest 50% cost values. Middle: Lowest 10% cost values. Bottom: Lowest 0.5% cost value (zoomed). Right column: histogram of log (cost) repartition for plotted parameter space samples (blue: $Q = 7.7 \text{ m}^3/\text{s}$, orange: $Q = 8.5 \text{ m}^3/\text{s}$, green: $Q = 9.3 \text{ m}^3/\text{s}$). Cost value “spatial” repartitions show gradient-based approaches such as ours should allow for the reduction of the cost function using reasonable prior parameter estimates. Parameter ranges within the 0.5% sample are given in Table 4.</figcaption></figure>

<table><caption>**Table 4**
Bathymetry model parameter ($H_m, y_c, s$) values for the lowest 0.5% cost subset when using both velocity field and single water depth observations (see Fig. 7, bottom).</caption><thead><tr><th></th><th>Q<sub>1</sub> = 7.7 m<sup>3</sup>/s</th><th>Q<sub>1</sub> = 8.5 m<sup>3</sup>/s</th><th>Q<sub>1</sub> = 9.3 m<sup>3</sup>/s</th></tr></thead><tbody><tr><td>Maximum values</td><td>(3.5, 1, 35.17)</td><td>(3.15, 1.4, 32.41)</td><td>(3.5, 1.1, 33.79)</td></tr><tr><td>Lowest cost set</td><td>(3.22, 0.6, 32.41)</td><td>(2.12, 0.9, 30.34)</td><td>(2.67, 0.7, 31.03)</td></tr><tr><td>Minimum values</td><td>(2.32, 0.5, 30.34)</td><td>(1.71, 0.5, 28.28)</td><td>(2.05, 0.5, 28.97)</td></tr></tbody></table>

## 5. Conclusion

In this article, we presented the chaining of the ANDROMEDE and DassFlow platforms, which allows the treatment of field data to generate surface velocity fields and its integration in a 2D hydraulic model to infer geometric parameters. This toolchain serves 2 purposes: i) to limit the need for intrusive data collection during discharge surveys, and (ii) to allow integrating surface velocity observations into larger scale hydraulic river network models.

We presented a method for the assimilation of velocity observations for the inference of hydraulic parameters in a full SW 2D model. We showed that the informative content carried by surface velocity fields can be used to infer reasonable estimates of geometric parameters and inflows, given sufficient a priori information on the acceptable inverse problem solutions and adapted spatial constraints in the form of a bathymetry model. Importantly, a single WSV snapshot acquired by drone and treated through ANDROMEDE was shown to carry valuable informative content on the parameters of a 2D Shallow Water hydraulic model through our inverse modeling approach. Note that the VDA

framework used is capable of high-dimensional parameter inference and that the results, obtained at the reach scale in this study, could be obtained at the river network scale given larger scale WSV observations. Furthermore, the VDA method is able to integrate multi-source observations and was previously used to assimilate a number of non-WSV observations and infer distributed model parameters and inflows in large scale models. Therefore, our method makes it possible to add WSV to existing observations sets, increasing the informational content of the combined data, in particular with knowledge of lateral channel flow variabilities.

This work introduced an elemental tool for integrating surface velocity observations into hydraulic models. Further applications could include the inference of fine scale bathymetry at the reach scale, for example from LSPIV drone measurements, which could provide lateral and longitudinal variations observations. It could also be used to exploit flow velocity time series generated by in situ fixed cameras and provide fine discharge estimation depending on the uncertainty on bathymetry and friction. To reduce computational costs for large river networks, a 1Dlike approach (Pujol et al., 2022) could be used and allows 2D high-resolution zooms with the same solver. This would require limited adaptation of the current bathymetry model for the modeling of subgrid variabilities. Furthermore, fast, local scale discharge estimations based on a hydraulic model at well-known river sections could also be used to guide dam controls or raise alerts linked to river surveillance. Finally, updating the bathymetry of a well-known model, for example after a morphogenic event, could be a very interesting experiment given the right dataset.

Further works should focus on facilitating the use of WSV observations through the addition of more complex observation operators,
especially for uses in low turbulence contexts. Integrating field or a priori knowledge of vertical velocity profiles in observation operators could improve estimation of discharge given known local bathymetry. In parallel, the integration of further a priori knowledge in the assimilation process, such as spatial correlation patterns for bathymetry model parameters, could also be needed to infer more complex bathymetry structures. In high turbulence context like urban floods, capturing fine scale hydraulic phenomenons in hydraulic models (e.g. head losses laws due to urban singularities) may be key to unlock the full informational content of water surface velocity observations. Deep learning methods can be used as observation operators to unravel the complex filtering effect of flow on basal signatures linked to the bathymetry-friction couple (see Ohara et al. (2024)). The development of hybrid methods using VDA and Neural Networks could be an interesting venue for the refinement of our physical model-based approach with numerical differentiability, which can be combined with NN in learnable hydrological modeling (Huynh et al., 2024) (strong constraints compared to PINNS).

### CRediT authorship contribution statement

**Léo Pujol:** Writing – original draft, Visualization, Software, Methodology, Formal analysis, Conceptualization. **Ludovic Cassan:** Writing – original draft, Software, Methodology, Conceptualization. **Pierre-André Garambois:** Writing – original draft, Methodology, Conceptualization. **Hélène Roux:** Writing – review & editing, Conceptualization.

### Declaration of Generative AI and AI-assisted technologies in the writing process

During the preparation of this work the authors used Mistral Le Chat in order to improve readability. After using this tool/service, the authors reviewed and edited the content as needed and take full responsibility for the content of the published article.

### Declaration of competing interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

### Acknowledgments

This work was supported by funding from ANR grant ANR-21-CE04-0021-01 (MUFFINS project, “MUltiscale Flood Forecasting with INnovating Solutions”) and from OFB (French Office for Biodiversity). The authors acknowledge colleagues from IMFT and OFB for data collection through in situ survey and providing UAV and ADCP sensors.

### Appendix A. Estimation of distributed prior bathymetry from limited observations

Under steady 1D hydraulic conditions and under “low Froude” hypotheses (see Garambois and Monnier (2015)) the following momentum equation is valid: $Q = KAR_h^{2/3}S^{1/2}$ with Q the river discharge, K the Strickler friction coefficient, A the wetted area, $R_h$ the hydraulic radius, and S the free surface slope.

If we consider a generic cross-section in uniform flow (x-invariant and steady), the longitudinal velocity field can allow defining lines which are orthogonal to isovel (Cassan et al., 2020). If we add the assumption that the isovel are horizontal, which can be almost true for wide rivers, the momentum balance implies that the Manning equation can link water depth to averaged velocity for subdomain i in the transversal direction (Fig. 8). Then, the knowledge of one averaged

<figure><img src="image_13.png" /><figcaption>Fig. 8. Description of the cross-section subdomain decomposition.</figcaption></figure>

velocity and one water depth allows computing friction slope and then a water depth for each subdomain knowing the velocity (Eq. (14)).

$$S^{1/2} = \gamma \frac{V_i P_i^{2/3}}{K_i A_i^{2/3}} = \gamma \frac{V_0 P_0^{2/3}}{K_0 A_0^{2/3}} \quad (14)$$

with γ the ratio between surface velocity and depth-averaged velocity, usually taken constant and equal to 0.85. Considering $h_i = A_i/dy$ where dy is the width of a subdomain, the water depth $h_i$ is obtained for a given value of $V_i$, $V_0$ and $h_0$ if Strickler coefficient $K_i$ is constant in the cross-section.

This method, implemented in ANDROMEDE, relies on several assumptions but can provide prior value for Q. First S is obtained with the reference point 0 assuming $P_0 = P_i = dy$. Knowing $V_i$, we get $h_i$ and finally the total discharge is recomputed by summing $V_i * h_i * dy$.

An analytical formula can be obtained for triangular and symmetrical cross-section (Eq. (15)).

$$Q = 2 \int_{0}^{y_c} V(y)h(y)dy = 2 \int_{0}^{y_c} \frac{V_0}{h_0^{2/3}} \left( \frac{H_m}{y_c} \right)^{5/3} dy \quad (15)$$

If the reference point is the maximum considered at the middle of the section, we get $Q = \frac{3}{4}V_m H_m y_c$.

### Appendix B. Cost sampling within parameter space on the Crampagna case

This appendix contains additional results of the inference experiments carried out on the Crampagna real case (Figs. 9 and 10).

### Appendix C. Prior sensitivity analysis of the VDA method on the Crampagna case

This appendix contains additional results of cost sampling within the expected parameter space, on the model of the real Crampagna case (Figs. 11–14).

### Data availability

Data will be made available on request.
<figure><img src="image_14.png" /><figcaption>Fig. 9 Parameter space sampling of cost within expectable bounds. From top to bottom: 100, 50, 10 and 1 percent lowest sampled costs $J = \|U - 0.85U_s\|_2^2$. Right column: histogram of log (cost) repartition for plotted parameter space samples (blue: $Q = 7.7 \text{ m}^3/\text{s}$, orange: $Q = 8.5 \text{ m}^3/\text{s}$, green: $Q = 9.3 \text{ m}^3/\text{s}$).</figcaption></figure>
<figure><img src="image_15.png" /><figcaption>**Fig. 10.** Parameter space sampling of cost within expectable bounds. From top to bottom: 100, 50, 10 and 1 percent lowest sampled costs $J = \|U - 0.85U_s\|_2^2 + 100\|h - (h_{\text{obs}})\|_2^2$. Right column: histogram of log (cost) repartition for plotted parameter space samples (blue: $Q = 7.7 \text{ m}^3/\text{s}$, orange: $Q = 8.5 \text{ m}^3/\text{s}$, green: $Q = 9.3 \text{ m}^3/\text{s}$).</figcaption></figure>
<figure><img src="image_16.png" /></figure>

(a) Prior discharge of $Q = 8m^3/s$

<figure><img src="image_17.png" /></figure>

(b) Prior discharge of $Q = 8.5m^3/s$

<figure><img src="image_18.png" /></figure>

(c) Prior discharge of $Q = 9m^3/s$

<caption>Fig. 11. Analysis of inference results sensitivity to prior values. Assimilation of surface velocity field only. $\theta = (H_m, y_c, s, Q_1)$. Final inferred bathymetry projected in the model grid in black. Intermediate inferences in blue, latter inferences are less transparent. Scatter plot is measured bathymetry (orange=downstream, cyan=upstream, red=ADCP).</caption>
<figure><img src="image_19.png" /><figcaption>**Fig. 12.** Analysis of inference results sensitivity to prior values. Assimilation of surface velocity field only. $\theta = (H_m, y_c, s)$. Final inferred bathymetry projected in the model grid in black. Intermediate inferences in blue, latter inferences are less transparent. Scatter plot is measured bathymetry (orange=downstream, cyan=upstream, red=ADCP).</figcaption></figure>

<figure><img src="image_20.png" /><figcaption>**Fig. 13.** Analysis of inference results sensitivity to prior values. Assimilation of surface velocity field and depth observation. $\theta = (H_m, y_c, s)$. Final inferred bathymetry projected in the model grid in black. Intermediate inferences in blue, latter inferences are less transparent. Scatter plot is measured bathymetry (orange=downstream, cyan=upstream, red=ADCP).</figcaption></figure>
<figure><img src="image_21.png" /></figure>

(a) Prior discharge of $Q = 8m^3/s$

<figure><img src="image_22.png" /></figure>

(b) Prior discharge of $Q = 8.5m^3/s$

<figure><img src="image_23.png" /></figure>

(c) Prior discharge of $Q = 9m^3/s$

<caption>**Fig. 14.** Analysis of inference results sensitivity to prior values. Assimilation of surface velocity field and depth observation. $\theta = (H_m, y_c, s, Q_1)$. Final inferred bathymetry projected in the model grid in black. Intermediate inferences in blue, latter inferences are less transparent. Scatter plot is measured bathymetry (orange=downstream, cyan=upstream, red=ADCP).</caption>
<figure><img src="image_24.png" /><figcaption>**Fig. 15.** Sensitivity of inferred bathymetry model parameters and discharge to prior values for all experiments on the real case. Values are normalized between the bounds given in Table 3. Horizontal dashed lines mark the target value ranges from Table 3, based on ADCP measured cross-section. Prior value of the parameter is denoted by marker type. Cases with single water depth observation added lead to better estimates of $y_c$ and $H_m$ on average, with slightly worse estimates of $s$ and $Q$.</figcaption></figure>

## References

Anderson, E.P., Jackson, S., Tharme, R.E., Douglas, M., Flotemersch, J.E., Zwarteveen, M., Lokgariwar, C., Montoya, M., Wali, A., Tipa, G.T., et al., 2019. Understanding rivers and their social relations: A critical step to advance environmental water management. Wiley Interdiscip. Rev.: Water 6 (6), e1381.

Ardağ, D., Wilson, G., 2022. Sensitivity of surface currents to bathymetry in a partially Mixed Estuary with applications to inverse modeling. J. Atmos. Ocean. Technol. 39 (1), 111–124.

Bergsma, E.W., Almar, R., de Almeida, L.P.M., Sall, M., 2019. On the operational use of UAVs for video-derived bathymetry. Coast. Eng. 152, 103527.

Biggs, H., Smart, G., Doyle, M., Eickelberg, N., Aberle, J., Randall, M., Detert, M., 2023. Surface velocity to depth-averaged velocity—a review of methods to estimate alpha and remaining challenges. Water 15 (21), 3711.

Bodart, G., 2023. Evaluation et amélioration des méthodes de détermination des vitesse en surface d'écoulement par analyse de séquence d'images (Ph.D. thesis). Université Grenoble Alpes [2020-2023].

Bodart, G., Le Coz, J., Jodeau, M., Hauet, A., 2024. Quantifying and reducing the operator effect in LSPIV discharge measurements. Water Resour. Res. 60 (2), e2023WR034740.

Cassan, L., Pujol, L., Lonca, P., Guibert, R., Roux, H., Mercier, O., Courret, D., Richard, S., Horgue, P., 2024. ANDROMEDE—A software platform for optical surface velocity measurements. Environ. Model. & Softw. 171, 105883. http://dx.doi.org/10.1016/j.envsoft.2023.105883.

Cassan, L., Roux, H., Dartus, D., 2020. Velocity distribution in open channel flow with spatially distributed roughness. Environ. Fluid Mech. 20, 321–338. http://dx.doi.org/10.1007/s10652-019-09720-x. URL: https://hal.science/hal-02648480.

Collins, A.M., Brodie, K.L., Bak, A.S., Hesser, T.J., Farthing, M.W., Lee, J., Long, J.W., 2020. Bathymetric inversion and uncertainty estimation from synthetic surf-zone imagery with machine learning. Remote. Sens. 12 (20), 3364.

Corato, G., Moramarco, T., Tucciarelli, T., 2011. Discharge estimation combining flow routing and occasional measurements of velocity. Hydrol. Earth Syst. Sci. 15 (9), 2979–2994.

Dingman, S.L., Afshari, S., 2018. Field verification of analytical at-a-station hydraulic-geometry relations. J. Hydrol. 564, 859–872.

Garambois, P.-A., Larnier, K., Monnier, J., Finaud-Guyot, P., Verley, J., Montazem, A.-S., Calmant, S., 2020. Variational estimation of effective channel and ungauged anabranching river discharge from multi-satellite water heights of different spatial sparsity. J. Hydrology 581, 124409. http://dx.doi.org/10.1016/j.jhydrol.2019.124409.

Garambois, P.-A., Monnier, J., 2015. Inference of effective river properties from remotely sensed observations of water surface. Adv. Water Resour. 79, 103–120. http://dx.doi.org/10.1016/j.advwatres.2015.02.007.

Ghorbanidehno, H., Lee, J., Farthing, M., Hesser, T., Kitanidis, P.K., Darve, E.F., 2019. Novel data assimilation algorithm for nearshore bathymetry. J. Atmos. Ocean. Technol. 36 (4), 699–715.

Hascoet, L., Pascual, V., 2013. The Tapenade automatic differentiation tool: principles, model, and specification. ACM Trans. Math. Softw. (TOMS) 39 (3), 1–43. http://dx.doi.org/10.1145/2450153.2450158.

Hauet, A., Morlot, T., Daubagnan, L., 2018. Velocity profile and depth-averaged to surface velocity in natural streams: A review over a large sample of rivers. In: E3s Web of Conferences, vol. 40, EDP Sciences, p. 06015.

Holman, R.A., Brodie, K.L., Spore, N.J., 2017. Surf zone characterization using a small quadcopter: Technical issues and procedures. IEEE Trans. Geosci. Remote Sens. 55 (4).

Honnorat, M., Monnier, J., Le Dimet, F.-X., 2009. Lagrangian data assimilation for river hydraulics simulations. Comput. Vis. Sci. 12 (5), 235–246. http://dx.doi.org/10.1007/s00791-008-0089-x.

Hostache, R., Lai, X., Monnier, J., Puech, C., 2010. Assimilation of spatially distributed water levels into a shallow-water flood model. Part II: Use of a remote sensing image of Mosel River. J. Hydrology 390 (3–4), 257–268, URL: https://hal.inrae.fr/hal-02596687v1.

Huynh, N.N.T., Garambois, P.-A., Colleoni, F., Renard, B., Roux, H., Demargne, J., Jay-Allemand, M., Javelle, P., 2024. Learning regionalization using accurate spatial cost gradients within a differentiable high-resolution hydrological model: Application to the French Mediterranean region. Water Resour. Res. 60 (11), e2024WR037544.

Jodeau, M., Hauet, A., Le Coz, J., Bodart, G., 2019. Fudaal-LSPIV Version 1.7. 1 User Manual. Lyon: IRSTEA France URL: https://forge.irstea.fr/projects/fudaal-lspiv/files.
Lai, X., Monnier, J., 2009. Assimilation of spatially distributed water levels into a shallow-water flood model. Part I: Mathematical method and test case. J. Hydrol. 377 (1-2), 1-11.

Larnier, K., Garambois, P.-A., Emery, C., Pujol, L., Monnier, J., Gal, L., Paris, A., Yesou, H., Ledauphin, T., Calmant, S., 2024. Estimating channel parameters and discharge at river network scale using hydrological-hydraulic models, swot and multi-satellite data (submitted for publication), URL: https://hal.inrae.fr/hal-04681079v2.

Larnier, K., Monnier, J., Garambois, P.-A., Verley, J., 2021. River discharge and bathymetry estimation from SWOT altimetry measurements. Inverse Probl. Sci. Eng. 29 (6), 759-789. http://dx.doi.org/10.1080/17415977.2020.1803858.

Le Coz, J., Jodeau, M., Hauet, A., Marchand, B., Le Boursicaud, R., 2014. Image-based velocity and discharge measurements in field and laboratory river engineering studies using the free FUDAA-LSPIV software. In: River Flow, vol. 2014, Lausanne Switzerland, pp. 1961-1967.

Matsuba, Y., Sato, S., 2018. Nearshore bathymetry estimation using UAV. Coast. Eng. J. 60 (1), 51-59.

Moghimi, S., Özkan-Haller, H., Wilson, G., Kurapov, A., 2016. Data assimilation for bathymetry estimation at a tidal inlet. J. Atmos. Ocean. Technol. 33 (10), 2145-2163.

Monnier, J., Couderc, F., Dartus, D., Larnier, K., Madec, R., Vila, J.-P., 2016a. Inverse algorithms for 2D shallow water equations in presence of wet dry fronts: Application to flood plain dynamics. Adv. Water Resources 97, 11-24. http://dx.doi.org/10.1016/j.advwatres.2016.07.005.

Monnier, J., Couderc, F., Dartus, D., Larnier, K., Madec, R., Vila, J.-P., 2016b. Inverse algorithms for 2D shallow water equations in presence of wet dry fronts: Application to flood plain dynamics. Adv. Water Resour. 97, 11-24. http://dx.doi.org/10.1016/j.advwatres.2016.07.005.

Monnier, J., Couderc, F., Vila, J.-P., 2019. Data Assimilation for Free Surface Flows. Technical Report, Mathematics Institute of Toulouse-INSA corp.CNES-CNRS, URL: http://www.math.univ-toulouse.fr/DassFlow.

Morel, M., Booker, D., Gob, F., Lamouroux, N., 2020. Consistent theoretical and empirical predictions of at-a-station hydraulic geometry exponents in stream reaches. Water Resour. Res. 56 (10), e2020WR027242.

Neal, J.C., Odoni, N.A., Trigg, M.A., Freer, J.E., Garcia-Pintado, J., Mason, D.C., Wood, M., Bates, P.D., 2015. Efficient incorporation of channel cross-section geometry uncertainty into regional and global scale flood inundation models. J. Hydrol. 529, 169-183. http://dx.doi.org/10.1016/j.jhydrol.2015.07.026, URL: https://www.sciencedirect.com/science/article/pii/S0022169415005235.

Negrel, J., Kosuth, P., Bercher, N., 2010. Estimating river discharge from earth observation measurement of river surface hydraulic variables. Hydrol. Earth Syst. Sci. 7, 7829-7861.

Ohara, Y., Moteki, D., Muramatsu, S., Hayasaka, K., Yasuda, H., 2024. Physics-informed neural networks for inversion of river flow and geometry with shallow water model. Phys. Fluids 36 (10).

Patalano, A., García, C.M., Rodríguez, A., 2017. Rectification of image velocity results (RIVeR): A simple and user-friendly toolbox for large scale water surface particle image velocimetry (PIV) and particle tracking velocimetry (PTV). Comput. Geosci. 109, 323-330.

Pujol, L., 2022. Optimal Synergy of Multi-Source Data and Hydraulic-Hydrological Models for the Cartographic Modeling of Complex Hydrosystems (Ph.D. thesis). Université de Strasbourg, URL: http://www.theses.fr/2022STRAD007.

Pujol, L., Garambois, P.-A., Delenne, C., Perrin, J.-L., 2024. Adjoint-based sensitivity analysis and assimilation of multi-source data for the inference of spatio-temporal parameters in a 2D urban flood hydraulic model. J. Hydrol. 643, 131885. http://dx.doi.org/10.1016/j.jhydrol.2024.131885.

Pujol, L., Garambois, P.-A., Finaud-Guyot, P., Monnier, J., Larnier, K., Mose, R., Biancamaria, S., Yesou, H., Moreira, D., Paris, A., et al., 2020. Estimation of multiple inflows and effective channel by assimilation of multi-satellite hydraulic signatures: The ungauged anabranching Negro River. J. Hydrology 591, 125331. http://dx.doi.org/10.1016/j.jhydrol.2020.125331.

Pujol, L., Garambois, P.-A., Monnier, J., 2022. Multi-dimensional hydrological-hydraulic model with variational data assimilation for river networks and floodplains. EGUsphere 2022, 1-44. http://dx.doi.org/10.5194/egusphere-2022-10.

Pumo, D., Alongi, F., Nasello, C., Noto, L.V., 2025. A simplified method for estimating the alpha coefficient in surface velocity based river discharge measurements. J. Hydrol. 648, 132468.

Stepenuck, K.F., Diebel, M., Smith, H., Anderson, I., Wiseman, D., 2024. Surface velocity coefficients for discharge monitoring with a surface float method in shallow streams. J. Hydrol. 632, 130852.

Westerberg, I.K., Sikorska-Senoner, A.E., Viviroli, D., Vis, M., Seibert, J., 2022. Hydrological model calibration with uncertain discharge data. Hydrol. Sci. J. 67 (16), 2441-2456.

Zhu, C., Byrd, R.H., Lu, P., Nocedal, J., 1997. Algorithm 778: L-BFGS-B: Fortran subroutines for large-scale bound-constrained optimization. ACM Trans. Math. Softw. (TOMS) 23 (4), 550-560. http://dx.doi.org/10.1145/279232.279236.