Storage tank emulator

The files in ths repostory implement an emulator of an storage tank connected to an
upstream pipe network.
The structure of the emulator is suited for upstream networks with a single catchment or
when rainfall is not spatially distirbuted.

The emulator's parameters are tuned to an Inforworks simulator of the Haute Sure catchment
using the datasets in the repository.

All program files (except when state differently) are released under a
GPL v3 (or later) license.

All other documents are released under a
Creative Commons Attribution-ShareAlike 4.0 International License (CCBYSA)

Please cite this work using:

  • pre-formatted

  • Bibtex

Find it also in Zenodo

Structure of the repository

The following folders are part of this repository

├── data
├── doc
├── mfiles
└── src


GNU Octave can be installed from the link provided or, in linux, using your package manager.

In linux systems, the Signal and Statistics packages can be installed from a GNU Octave session with the command

pkg install -forge control io signal statistics

The control and io packages are dependencies of statistics and singal, respectively.

The GPML package can be downloaded form the link provided.
Assuming the downloaded file is stored in <path-to-gpml-file>, it can be installed using

pkg install <path-to-gpml-file>

Alternative, since GNU Octave 4.4.0, it can directly be installed from the package url

pkg install


The src folder contains code that needs to be compiled.
A Makefile is provided, which can be used in systems with the make command.

cd src
make all

The compilation process calls mkoctfile, hence you need this also installed.

A make.m file is provided to alow compilation from the GNU Octave prompt.
However this ha snot been tested completely, please report issues that you find.

For compiling the C++ emulator, the Sundilas library (version 2.7.0 or later) is needed (available in most linux distributions via the package manager).

The FORTRAN emulator should not depend on other libraries.