What is DassFlow ?

DassFlow: Data Assimilation for Free Surface Flows.
DassFlow is a computational platform for numerical simulation of free surface flows (both shallow flows models and mobile free-surface). It is designed especially for variational sensitivity analysis, parameter identification - calibration, variational data assimilation (VDA, 4D-var) using adjoint equations. The 1D version is interfaced with sequential methods too.

DassFlow platform includes few computational codes : DassFlow-2DShallow (2d shallow-water models, FV schemes), DassFlow-3D (Stokes like system, FE schemes), and DassFlow-1D (1d SW equations, Saint-Venant, FV schemes).

DassFlow-2DShallow: Shallow-water equations and finite volumes.
Applications: river hydraulic (flood plain, low-water), storm surge, tidal waves etc
DassFlow-3D: Stokes equations, power-law rheology, ALE free surface (in 2d only), finite elements (3d and 2d).
Applications: low Reynolds gravitational flows such as glacier, lava and mud flows (no yield stress yet). Some studies are conducted in glaciology.
DassFlow-1D: Shallow-water 1D (Saint-Venant's equation) in var. (S,Q), finite volume or finite difference schemes.
Applications: 1D river flows with trapezium superimposition cross-sections (SWOT-like effective cross-sections).
In addition of the included VDA capabilities (adjoint-based method), this 1D code can be interfaced to sequential data assimilation algorithms (filtering) by employing for example OpenTurns.

Assimilated data can be combinations of in-situ and remote-sensed observations, either time-series or spatially distributed.

Funds Since 2008, it has been co-funded by the french agency ANR (Amac 09-13, Adage 09-13), University of Toulouse-INSA, CNRS and CNES (Tosca SWOT 2012-15).
The initial version (not available anymore) has been funded by the Grenoble Institute of Technology INPG, by Région Rhône-Alpes (research project "Numerical prediction for floods", 2003-06), and by INRIA Rhône-Alpes.

How does it work ?

This code is written in Fortran 90, MPI. It includes the forward codes (FE or FV schemes, 1st and 2nd order), the corresponding adjoint codes (source code differenciation) and the optimization process (minimization procedures).

It is interfaced with few free and commercial pre and post-processors (SIG tools, mesh generators, visualization tools), which allows to make runs with real data.

Models & forward solvers.
Current models are: 1D SWE (St-Venant), 2D SWE and 3D Stokes flow power-law rheology (with free-surface ALE if 2D vertical).
Numerical schemes are: finite volume schemes (1st order/2nd order) for shallow models and finite element schemes (2nd order, 2 fields or 4 fields) for Stokes models (power law rheology).
All type of boundary conditions required for applications are available.
Meshes: mix of triangles-quadrangles for 2d FV schemes, triangles, quadrangles and tetrahedron for FE (both 2D and 3D solvers are available).

Former extra equations or algorithms:
1. lagrangian surface date (assimilation of lagrangian data at surface).
2. superposition of 1D / 2D models with simultaneous calibration.
3. transport (pollutent or solids), sedimentation.

Adjoint codes / libraries / minimizer. Adjoint codes are generated using the automatic differentiation tool Tapenade (INRIA). Both the direct and adjoint codes are based on the MPI library. The linear systems are solved using MUMPS library. One of the optimization procedure is the quasi-newton algorithm L-BFGS M1QN3 (local descent algorithm, 1st order).

Sensitivity analysis mode available.

A twin experiment mode is available.

Benchmarks related to the forward models and to identification problems are available.

river test case river test case
river test case

Leze river (Toulouse, France).
Left) Sensitivity wrt bathymetry. Right down) Identification of inflow discharge Qin(t).
Data from ANR Amac. Computations IMFT-IMT.

glacier test case
glacier test case

Mertz glacier "3d fake" (Antarctica).
Sensitivity of surface velocities w.r.t. consistency (rheological law) (up) and basal friction (down).
2D flow-line data from Legos (Toulouse) & Nasa.
Computations IMT (R. Madec and N. Martin).