Storm_sewer_0_9_3 released!

Submitted by Nicola Rainiero on 2012-08-05 (last updated on 2012-10-13)

Update of my software to design a storm sewer system, in this version it is possible a more realistic schematization of the system and is fully compatible with Linux. I have added a further degree of relationship, reducing to zero the subdivision and the joining part by part of the system. Besides it produces a backup copy of the input data, so it is possible to change and analyze again the sewer.

The zip file contains:

  • storm_sewer.bas the source code (written in a QBasic compatible language and compiled using FreeBASIC);
  • executables (tested in Windows XP and Ubuntu 10.10);
  • circular_duct.dat (the dimensionless table for this kind of ducts) and input_system.dat (geometrical and hydrological data of the sawer system);
  • example files used in this article.

You can download it from here: (2012/10/10) I begin the conversion of Storm Sewer into a web application, to see how it will work and the progress of this project, go here: Storm sewer webapp: concept.

I have fixed a big limitation, now it is possible to design using a unique input file. The system can have more external lines, all arranged along a main line that brings the water to the final gatherer. Here is an example of a system compatible with my software:

Schematic example of a storm sewer that my program can design

As you can see, it is possible to choice among three type of line: external, internal or main. External line is always the first one, the others can be internal if they are in a ramification or main if the are along principal part of the system. The numeration follows the order of inserting in input_system.dat, the idea is represent the real flow from upstream to downstream. If the ramification is more complex, you can use the trick explained in the previous article.

A new feature is the fully compatibility with Linux. I tested it with Ubuntu 10.10 and the only missing dependency is the ncurses-dev package. Obviously you have to install FreeBASIC too, but the two items are present in the official repositories.

The last update is the automatic saving of the input_system.dat with the suffix from the first node to the last one (like the final report). In this way you can backup your systems and reuse or elaborate/change them again without lose your work: just rename it to input_system.dat!


I will use the same data of the Design a storm sewer fixing speed article, here they are:

Schematic system used in this article

Line Length Surface ϕ
- m ha -
AC 50 0.29 0.4
BB1 25 0.20 0.5
B1C 45 0.30 0.5
CC1 25 0.20 0.6
C1D 60 0.45 0.6

1 ha = 104 m2

Firstly adapt input_system.dat in this manner:

"|system data|"
"|value on the left, description on the right|"
75	"|KS - Gauckler-Strickler in m^(1/3)/s|"
51.40	"|a of IFD curve [mm hour^-n|"
0.375	"|n of IFD curve [-]|"
1	"|1 if n must multiplicated by 4/3 or 0|"
40	"|VO in m^3/ha|"
0.005	"|tolerance|"
5	"|number of lines to design|"
"|description of single line|"
"A_"	"|label upstream in inverted commas|"
2900	"|surface in m^2|"
50	"|length in m|"
0.4	"|degree of permeability|"
0	"|if line is external [0] internal [1] or main [2]|"
"B_"	"|label upstream in inverted commas|"
2000	"|surface in m^2|"
25	"|length in m|"
0.5	"|degree of permeability|"
0	"|if line is external [0] internal [1] or main [2]|"
"B1"	"|label upstream in inverted commas|"
3000	"|surface in m^2|"
45	"|length in m|"
0.50	"|degree of permeability|"
1	"|if line is external [0] internal [1] or main [2]|"
"C_"	"|label upstream in inverted commas|"
2000	"|surface in m^2|"
25	"|length in m|"
0.60	"|degree of permeability|"
2	"|if line is external [0] internal [1] or main [2]|"
"C1"	"|label upstream in inverted commas|"
4500	"|surface in m^2|"
60	"|length in m|"
0.60	"|degree of permeability|"
2	"|if line is external [0] internal [1] or main [2]|"

Launch the executable: storm_sewer.exe (in Windows, better using Command Prompt from the directory with my software) or storm_sewer (in Linux using a terminal window from the directory with my software), or you can compile the source code (with the "fbc storm_sewer.bas" command). The steps on screen are the same as the choice of the reference variable (speed in 1 m/s) of the previous article.

The output report line_from_A__to_C1.txt is similar to the original lecture written by prof. Salandin: Calcolo_Condotte.pdf that I used to outline my storm sewer. Here there is the summary:

Line from   L           ST      D      y/D      v      Q       i      TAU
    -       m          m^2      m       -      m/s    l/s      -     N/m^2
    A_     50.00     2900.00  0.300    0.45   1.000  30.62  0.00617  4.233
    B_     25.00     2000.00  0.300    0.48   1.000  33.79  0.00582  4.172
    B1     45.00     5000.00  0.400    0.59   1.000  76.87  0.00337  3.639
    C_     25.00     9900.00  0.500    0.69   1.000 143.96  0.00228  3.302
    C1     60.00    14400.00  0.600    0.71   1.000 213.88  0.00177  3.097

Related Content:

Nicola Rainiero

A civil geotechnical engineer with the ambition to facilitate own work with free software for a knowledge and collective sharing. Also, I deal with green energy and in particular shallow geothermal energy. I have always been involved in web design and 3D modelling.