Software for Engineering


New! We have an introductory video tutorial about how to use Gabbioni, check it out here!

Gabbioni is a computer program that helps in the design of small gabion dams for soil conservation purposes. This program is aimed to help in dimensioning a gabion dam to retain sediments in a natural channel. This kind of structure is typically designed as a set of stepped layers.

Warning! Gabbioni is not recommended to design or analyze large engineering structures or dams of other kind (e.g. reservoirs).

Gabbioni uses data from a comma separated values (*.csv) text file of a channel cross section and designs a simple gabion dam. The software calculates the dimensions of the dam and performs a stability analysis for the structure.


Some important features of this program are:

  • Gabbioni is a program with graphic user interface that helps to design a simple gabion dam structure for soil conservation purposes.
  • Uses data from channel cross-section where the dam is going to be constructed. It has coded a few algorithms to estimate the water flow in the channel or stream.
  • Creates a layer based and stepped gabion dam and performs a stability analysis (using a method by López-Martínez & Oropeza-Mota, 2009) to determine if the dam can hold the water and sediments in the stream.
  • It is an improved version of Dipregav (another program available in this site).
  • It is coded in C++ and uses third party libraries, such as Qt5 for graphic user interface.
  • It is multi platform, it can run on Windows, macOS and Linux.


A few instructions on how to use this program are detailed in the following lines.

Preparing your data

The data necessary to make the design of a gabion dam should be collected in the field.

A recommended technique is to go to the site where the gabion dam should be constructed and take data from the channel cross section using rules or measuring tape. You should have an (x, y) coordinates array. x-axis values should be segments of the channel width and y-axis values should be their corresponding depth.

Note: Gabbioni only uses data in meters, if your data has other units you should make the proper conversions.

Capture your data as a coordinates array in a spreadsheet program (like MS Excel or Libreoffice Calc) by putting the x-axis data in one column and the y-axis data in a second column. The data should be numeric values. You can make a scatter plot to visualize and check if the captured data correspond approximately to the shape of the observed channel cross section in the field. Negative values are not accepted so the depth values should appear facing up, you can invert the y-axis to fix the view. Note that the data should be a valid channel cross-section in order to get a valid design of a gabion dam.

Finally, in order to use this data in Gabbioni you should have the data formatted as Comma Separated Values (CSV), which is a special type of delimited text file.

To save your data as comma separated values use the option Save as from your spreadsheet program, and then select the Comma Separated Values (.csv) option. You should not use the options Macintosh Comma Separated (.csv) or MS-DOS Comma Separated (.csv), as these formats are a little different.

Opening your data

There are different options to open your data:

  1. Manual input. Open the data dialog File > Input data and capture the width and depth data of the channel cross-section in the table. If you have a long list of data you can use the add/remove rows buttons as required. Once the data is captured you can use the Ok button to continue. Note that the data should be a valid channel cross-section in order to get a valid design of a gabion dam.
  2. Open a file and check/modify the data. Open the data dialog File > Input data and press the Open button, a dialog asking for a text file will be open. Explore and select a valid file. The program will automatically read the data in the file. If the data is in the right format, then it will be loaded to the table. Once the data is loaded you can use the Ok button to continue.
  3. Copy/paste data. Open the data dialog File > Input data and just copy (Ctrl+C) data from another program like a spreadsheet (Microsoft Excel, LibreOffice Calc, etc.). Make sure you copy your data in only two columns, data in additional columns will be ignored. If you copy data from a text editor (Notepad), make sure data is tab delimited. Paste the data in the table (Using Ctrl+V), additional rows will be automatically added as required.
  4. Open a file directly. This option assumes that you are absolutely sure the data has the correct format. To open the data, you should use the option File > Open from the menu. Then explore and select the CSV file with the channel cross section data. Click the Open button and the data will be read automatically.

If data has the correct format, then a draw of a valid channel cross section will appear in the program as shown in the figure.

The Simple design dialog

The design of a gabion dam consist in determine the dimensions of a retaining wall made of gabions, in order to retain sediments. To design a gabion dam the Simple Design dialog should be used. To open this dialog use the Tools > Simple design menu, this option is enabled after channel cross section data is loaded to Gabbioni.

The design is made considering the following criteria:

  1. The geometry of the channel cross-section. The retaining wall should completely cover the channel and have enough stability to support the retained sediments in its catchment area.
  2. The water passing by the channel. The dam should have a weir or spillway large enough to safely drain the water flow (or runoff). By reducing the velocity of the flow the water can run without causing erosion in the channel.

The design process starts by determining the discharge of the channel. If you have a measured value then you can just input the flow value, otherwise you can estimate it using the rational method or the area-velocity method (Chezy-Manning equation). Next, you should design a weir for the dam. Once all of this is done the dimensions of each layer should be created. Finally, a stability analysis should be performed in order to determine wheter or not the dam will be resistant to the force of water with sediments retained.

This dialog has four tabs: RunoffLayersWeir and Stability. To design a dam you should fill the fields in every tab in this order, leaving blank fields will cause the desing to be canceled.

Runoff or discharge

If you know the discharge value of the channel, you can just write it. If the value is unknown, you can estimate it using: i) an hydrologic approach with the rational formula or ii) the hydraulic approach with the Chezy-Manning equation and the observed water height.

The rational method

The rational formula is an equation to estimate the runoff of a catchment area or watershed using its area, rainfall intensity and a coefficient. The runoff coefficient is estimated using the land use and soil type of the watershed.

The rainfall intensity is a value that implies some assumptions. First, it should be the intensity of a rain event with the same (approximate) duration as the time of concentration. Second, it should be selected according to the recommended return period of an extreme rain event. To help in the selection of the rainfall intensity value, a time of concentration calculator is included in this dialog. Please consider that a properly calculation of this value involves another formulas and calculations, this is only included as a quick help.

An additional tool to help in the calculation of the runoff coefficient is also included, you can access this dialog by pressing the tool button (the one with the three dots …).

Once all the values are selected the results are presented at the bottom of the dialog, the runoff value will be used automatically when accepting these results by pressing the OK button.

The area-velocity method (Chezy-Manning equation)

This method could be used when the height of the water flow is known for the channel cross-section used. Height of an extreme rain event should be used. Frequently some water marks from an extreme runoff/rain event could be observed in the channel at the time of measuring its cross section. You can measure the maximum height of this mark relative to the stream bed.

The other value required is the roughness coefficient. A special dialog can be accessed by pressing the tool button , where the user can select a value according to the hydraulic conditions of the channel. Values from the Natural streams tab are recommended. To select a value you have to click on it, you can also use a custom value.

The gabion’s height and abutment

The first input value for the design process is the gabion’s height. This value is the base for everything. The dam body will be assembled in layers of this height. Two initial values are included: 0.5 and 1.0 meters. These are the more frequent heights for rectangular gabion boxes and you should select one.

The abutment is the lateral excavation needed to anchor the dam body. Every layer of the dam will be inserted from both sides into the side of the channel using this value. It’s one of the most important values for the structural stability of the dam. As a suggestion the same value for the gabion’s height it’s used, to define a more appropiate value you should consider soil properties of the stream.

As the dam body is stepped based, you should provide a step length and how often you want it to be applied. As a default the step is applied in every layer. The base layer is sometimes longer than the others to avoid falling water to impact directly in the stream and this way prevent erosion as a stilling basin would do it. The length of this layer should take into account the slope of the stream and soil properties.

In this figure you can see how these values are applied in the dimensions of the gabion dam. You can change these values freely according to your criteria and the requirements of your particular case, default values are just suggestions.


An important part of the gabion dam body is a spillway. This element allows the water flow to securely pass through the dam which means minimizing its erosion effect on the channel. The spillway it’s designed as a broad-crested rectangular weir for the already known (or estimated) discharge.

The user should provide the desired width of the weir and a weir coefficient. Once the weir is designed a spillway will be created in the layers of the dam. The spillway will be placed in the dam in order to cover the stream bed.

Finally in the last tab there are some stability coefficients and parameters, you can change these values.

Dam dimensions and stability analysis

Once all the data is introduced, the program will create the dimensions of each layer of the dam automatically, then a stability analysis will be performed using the method suggested by López-Martínez & Oropeza-Mota (2009) to determine if the dam is stable enough.

This will be done automatically when accepting the data in the Simple design dialog by pressing the Ok button, otherwise the design will be canceled.

Create a report and some plans

Reports and plans are an important part of an engineering project. Gabbioni allows you to view the results in a text delimited format using the Report dialog. This report includes all the results of each step in the design process, including the channel cross section coordinates, the runoff estimation, weir design, dam dimensioning and stability analysis.

This report has plain text format, all its information can be saved to CSV or tab delimited text file. These report files can be opened later in another programs such as text editors, word processors or spreadsheets.

Also you can export the plans of the gabion dam you just designed to a DXF file, so it can be viewed in any other CAD program.


Binary files for Windows and macOS are available in the next links.

Windows 64 bits executable (exe)

Windows 32 bits executable (exe)

macOS (dmg)

Source code GitHub repository

Test data

Binary files for GNU/Linux will be available soon, in the meantime users can compile the source code using the Qt5 libraries.


Design of small gabion dams for soil conservation.

Copyright (C) 2014-2018 Eduardo Jimenez <>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option)
any later version.

This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.