DassFlow codes are currently developped at INSA - IMT (since 2008), INRAe (since 2021), CS Group (since 2018), University of Strasbourg - ICUBE (2018-2021).
All DassFlow versions are available under request (go to the download page), under CeCILL licence (open-source).


Version v4.0 (not released yet, soon...)

  • Code fully wrapped in Python therefore enabling easy uses of Python computational libraries e.g. deep learning, wavelets, statistics toolboxes etc.
  • Coupled with the hydrological model SMASH (spatially distributed) from INRAe.

  • Current open-source version = V3.0. It includes:

    • Forward models : 2D Shallow-Water model in variables (q,h) with the capability to degenerate to an embedded 1D model, thus enabling multi-dimensional, multi-scale numerical modeling (1D rivers network with local 2D zooms). Various b.c. are available.
    • Numerical schemes: few FV solvers (1sr order, 2nd order) with high accuracy and robustness at wet-dry front.
    • A hydrological model (watershed) has been integrated and adjoint-derived : the GR4 model from INRAe.
    • Full 4D-var optimization process (based on the adjoint code and quasi-Newton descent algorithm L-BFGS).
    • Code written in Fortran 90 - MPI.
    • Interfaces with few mesh generators and visualizers.
    • Documentations, Benchmarks (analytical, toys, real data cases).
    The code can be easily interfaced with UQ library e.g. OpenTurns.

    Key applications: Hydraulic-hydrology at catchment scale, rivers networks with local zooms (integrated 1D-2D flow solvers), flood plain dynamics (with wet-dry fronts).


    This version includes:

    • Forward model : 1D Shallow-Water (Saint-Venant's equations) in var (S,Q). River networks are possible. Schemes: FV 1st and 2nd orders, and the more classical Priessmann FD scheme.
    • Full VDA (4D-var) process (based on the adjoint method and uasi-Newton descent algorithms e.g. L-BFGS).
    • Documentations, Benchmarks (analytical, toys, real data).
    This code is wrapped in Python therefore enabling the use of any advanced Python computational libraries e.g. deep learning, wavelets, statistics toolboxes etc.
    UQ and global sensitivity analysis are quite easy to implement by interfacing with e.g. OpenTurns.

    Key applications: spatial hydrology (H2iVDI algorithm, SWOT spatial mission). 1D river flows, potentially network, "effective cross-sections" inference, assimilation of multi-source data.


    Python codes for various shallow flows models: multi-regimes non-Newtonian fluids (power-law, Bingham, Herschel-Bulkley rheologies). One-equation models (lubrication type), two-equation models (Shallow-Water type), plug type (SSA in glocaiology). Finite Elements schemes (FEniCS library), continuous adjoint equations coded.

    Applications: glaciers dynamics (e.g. in ice-sheets), volcano lavas.

    Former Versions


    Code including in addition: 1) the integrated 2D-1D FV solver enabling 1D rivers network with 2D local zooms; 2) coupling with the hydrological model GR4.
    Code entirely written in Fortran90 - MPI (i.e. not wrapped in Python).


    Code including the 2D SWE only (with the latest numerical schemes), entirely written in Fortran90 - MPI.


    • Forward model, MPI : 2D SWE, HLLC solver (1st order), wet-dry front (no Heps required), many b.c. (open bdries, rating curves etc).
    • Adjoint code, MPI (Heps required).
    • Detailed documentations and Benchmarks (analytical, toys).
    • Sensitivity analysis mode (adjoint).
    • Full 4D-var process (quasi-Newton descent algorithm L-BFGS).
    • Interfaces with few mesh generators and visualizers.


    This version includes:

    • 3D Stokes equations, power-law rheology.
      2nd order FE solver (tetrahedron in 3D, triangles in 2D). MPI MUMPS linear solver.
    • Sensitivity analysis mode (adjoint method, geometry fixed).
    • Full 4D-var process (quasi-Newton descent algorithm, L-BFGS).
    • Benchmarks (analytical, toys).
    • Interfaces with few mesh generators and visualizers.
    Applications: Low Reynolds gravitational flows, power-law (eg glacier flows), geometry fixed.


    Visit Nathan Martin's webpage, the code author, for all details.
    DassIce is a DassFlow 2D vertical ALE version.

    This version includes all 3D version features plus many others. It is based on

    • 2D vertical Stokes equations, power-law, unsteady,
    • fully second order schemes (and based on four-field FEM higly efficient in terms of CPU time and memory),
    • ALE free surface (elastic mesh dynamics).
    Applications: Low Reynolds gravitational flows, power-law.

    Last modification: