2D modelling roundup with HEC RAS, Tuflow and ICM

The studies on which I intervene regularly lead me to use different software for 2D modeling in river and urban hydraulics.

There are a number of reasons why one software can be chosen over another:

  • History, first: when it comes to re-exploiting existing models, it makes more sense to use the same software, in order to avoid, among other things, having to rebuild, recalibrate and completely revalidate the model.
  • Expected performance, then: some contexts require mobilizing software that has the ability to model large areas with a fine level of detail, while maintaining operational computational times.
  • Finally, cost issues: if the model is to be provided,  clients will (not always) favour free (as in no cost) software such as HEC RAS, or even opensource softwares such as Telemac, in order to be able to re-use models without licensing cost constraints.

Some recent work have given me the opportunity to re-work with the Tuflow (classic) software, which I had worked on in England, in the Halcrow company.

Working regularly with two other 2D modeling software: Infoworks ICM, proprietary (and paid) software published by innovyze and distributed in France by Geomod, and HEC RAS, developed by the US Army Corps of Engineers, it was an opportunity to offer a quick overview of the capabilities, strengths and weaknesses of each software.

Disclaimer :

  • I detail here my personal opinion, without pushing to favor or software or another, the choice of a modeling software depends on many factors: case of use, budget, frequency of use, possible pooling of means, etc...
  • This article is not a comparison per se, it is not intended to be exhaustive. Many other quality software meets the needs of two-dimensional modeling, as long as the modeler is trained and experienced. These include Telemac, Basement (which will certainly be the subject of an article), Anuga, Mike, Flo-2D, Hydra edited by Hydratec and which you will soon find a test on this same blog, Floodmodeller, 3Di,  or even the "Shallow Water" versions of CFD software like Flow 3D that offer interesting alternatives of mixed modeling 2D/3D .
  • As noted in previous articles, I regularly work with the companies Geomod and Innovyze, in particular in the context of pilot projects on real-time modeling with ICM Live, as always however, this article is written independently vis-à-vis these two companies.

Which 2D hydraulic modelling software to choose?

For the reader, in a hurry, who is eagerly awaiting an answer to the question: what software to do a 2D modeling study in river hydraulics? The short answer: the three softwares discussed here do the job, and do it well.

And to the question: in this case, what is the software to favor? This time, no quick answer, but rather : "It depends".

The case study

The software were tested on the same study area, which has the following characteristics:

  • The model covers a linear line of about 40 km of river, on a relatively wide stream (50 m on average), well suited to a complete 2D modeling.
  • Roughness is adjusted for land use.
  • The Digital Elevation Model is the result of a LIDAR survey.

Common features of the 3 software

First, a few things in common:

  • The three softwares allow two-dimensional modeling of flows via the resolution of the Shallow Water Equation;
  • All three software programs have undergone extensive tests to validate their results with respect to theoretical cases and real applications, the documents, very informative, can be found here and here.
  • They are suitable for work in production, pre and post treatments are (relatively) easy, via:
    • dedicated user interfaces for ICM and HEC RAS (Rasmapper)
    • dedicated GIS tools, especially on Qgis, for Tuflow.
  • They allow 1D/2D river/flood zone to be coupling natively.

Quick overview

ICM is based on triangular mesh that can track variations in topography, take into account obstacles, structures and changes in roughness if necessary. This approach, combined with ICM's computational performance, allows for very precise consideration of topography while optimizing computational times.

The entities that allow to force the mesh (lines, polygons, etc.) can be defined very precisely, the ICM mesher first generates triangles, which can therefore have relatively small sides, triangles that will be then aggregated to form the 2D computational elements on the basis of a surface given by the user.


mesh icm

Example of adaptive mesh on topography

On the point of mesh, the only complaint I can make to ICM is the management of complex GIS layers, especially for the integration of a differentiated roughness on the basis of land use: ICM does not support well the import of complex polygons, and can produce errors on the common boundaries of polygons, correcting these errors can lead in some specific cases to keeping computational mesh relatively small, penalizing computing times by reducing the 2D time step (see criterion of 2D Current already mentioned here). ICM on this point could be inspired by HEC RAS which is based on a raster layer and thus eliminates the management of complex geometries, this would make the mesher functionalities perfect.

ICM, on the other hand, is very flexible on the question of the integration of works within a 2D computational mesh, since it is virtually possible to integrate everything, from a simple culvert crossing an embankment and connecting the computational mesh on either side of this embankment, complex structures incorporating thresholds, valves and even bridges in the 2D, taking into account in particular the conservation of the amount of movement as the work passes (which may have an impact on the levels calculated upstream of the works).


2D structure integrated into ICM mesh

In terms of coupling between different types of modeling, ICM seems to me to be the most complete to date, it is very easy to configure a model incorporating the floodplain in 2D, a 1D stream and different 1D networks as well.

HEC RAS is based on an irregular mesh mesh (up to 8 faces), the default shape of which is square. It has the particularity of integrating the topography "infra-mesh" : on each side of a mesh, the section, calculated on the basis of the DEM, is taken into account to calculate the exchanges with the neighbouring mesh. This is an interesting way to take into account the details of the topography without having to decrease the size of the mesh, therefore without increasing the calculation times. This is probably the path that the developers of HEC RAS have followed to limit computational time, the hardware optimization being less efficient than for other software. Tuflow takes this type of approach in the latest version announced recently.

Here, no option to automatically adapt cell size to topography variations, it will be necessary to rely on forcing lines and areas of adaptation of the size of the mesh. Roughness is defined on the basis of a layer of Manning's, generated within Rasmapper in the form of a raster, based on one or more sources of land-use polygons. On this point, HEC RAS is a little more flexible than ICM, for the reasons mentioned above.


Manning's layer generated based on landcover in HEC RAS

On the other hand, the consideration of 2D structures in HEC RAS is more limited, especially with regard to the integration of bridges within a 2D mesh, where the bottom profile is often irregular. This scenario is still not easily configurable in the software, and workarounds will have to be found. For simple works, however, the configuration is relatively easy, the different possibilities (buses, sluices, etc.) are integrated into a SA/2D connection structure that serves as a support. HEC RAS is very suitable for full 2D or 1D/2D river modeling ; however for pure urban modelling, on the other hand, the software is not the most suitable, since it will be necessary to use workarounds to integrate large linear sections buried.

Tuflow (Classic) is based by default on a square cells mesh, the latest version announced recently (see link above), incorporates two options that should allow to optimize in a very important way both the accuracy of the results and the calculation times: the consideration of sub grid sampling and the option "quadtree" of mesh scraping.

The configuration of a Tuflow model is a little different from what is usually done on HEC RAS and ICM, in the sense that, by default, Tuflow does not actually have a user interface, which can confuse modelers starting on this platform. The configuration is done through the editing of a number of text files, and associated GIS layers, which define the different elements of the model. I use Notepad ++ for this purpose with a tuflow-specific syntactic coloring, and Qgis for editing GIS layers. The GIS layers allow to define the orientation of the grid, the size of the mesh, the active zones and the areas of voids, as well as all the elements constituting the model (rugosities, works, local changes in altimetry, etc.).


Tuflow model editing in Qgis

Tuflow natively incorporates a 1D computational module for 1D/2D coupling and offers many possibilities to integrate any type of model within a 2D model, the final choice of approaches being based on each modeler's own experience with this tool and the results it produces. Overall at first glance the configuration of a model is more complex, because it requires identifying all the elements that will need to be inserted into the model, configure each corresponding GIS layer and make the link via the text files. Once these aspects are under control, it will be possible to represent any type of complex configuration in the model.

The lack of an interface, however, can make data management more complicated, since each model will require a certain number of GIS and text files, in a tree that will have to be organized, which ICM loads via the database, and HEC RAS via the project that centralizes these elements. Tuflow editor BMT provides plenty of tutorials and example files that eases the learning experience.


The configuration of the same model on these three software was an opportunity to do a quick performance test.

However, the analysis of the results requires a warning : software does not have the same way of optimizing computational times and the accuracy of taking local details into account. It is thereby very difficult to compare each software point to point, especially on the question of the size and number of computational elements, where HEC RAS has a diametrically opposed approach to the other two software considered.

That's why you'll see two versions of the HEC RAS model appear in the table, an equivalent model in terms of the number of computational elements (but very underperforming, the calculation was stopped along the way, hence a shorter simulation time), and an equivalent model in terms of computational time, with larger computational elements but ultimately equivalent local accuracy.

comparatif en

The performance index is given by the ratio between computational time and simulated time, the lower the ratio, the better the software.

Software is optimized as follows:

  • ICM's 2D computation is optimized mainly by GPU calculation (on graphics card) via Nvidia CUDA technology.
  • GPU optimization is also possible on Tuflow, with the addition of an option on the basic license to access the "HPC" version. This option was exploited in the test, dividing by a factor of about 10 the initial calculation time (the index calculated in the table take into account this GPU optimization).
  • HEC RAS is based on processor parallelization (CPU).

The models were run on a machine equipped with a Ryzen 3950X processor (16 cores), a Nvidia Geforce RTX 2070 graphics card, and 32GB ram.

Some nice perspectives

As noted in the preamble, there is no simple answer to the problem of identifying the most suitable software. The three softwares discussed here benefit from recent technical advances, in hardware or software development, which allow to consider large-scale modeling, with fine local resolutions, but with more or less efficiency. The difference will be played on the degree of complexity of the cases to be studied: is it necessary to combine a modeling river / network / surface, include solid transport, water quality, take into account complex works, etc... ?

The choice may also depend on parameters independent of modeling and will focus on the ease of managing model data, the ability to work collaboratively around the same dataset in a kind of modeling information system.

Technical and software improvements are constant in our industry, on the side of proprietary software first, with the very interesting evolutions of the latest versions of ICM (integration of new possibilities within the 2D computing, evolutions of the ICM Live system), or the new release of Tuflow, with the arrival of the features of Network and subgrid sampling mentioned above. The very dynamic rythm of development of HEC RAS is also a sign of very positive change.

The opensource world also is very active, with developments around the MDAL library that will eventually allow natively to open and exploit mesh-type data within Qgis, this development allows us to envisage in the short term a convergence of modeling tools and mapping tools, in the manner of what is observed around the Qwat and Qgep projects, around the distribution of drinking water or water management softwares.

If this article has been helpful, don't hesitate:

  • To share it
  • Coming back to the blog from time to time, I regularly post similar tutorials, the result of my experiments with various modeling software or my opinion on the evolution of practices on the theme of modeling in hydraulics Environmental.

If you would like to be informed of new blog posts, or just say hi, you can email me via the contact form.