Battle of the Leakage Detection and Isolation Methods (BattLeDIM 2020)

The Battle of the Leakage Detection and Isolation Methods (BattLeDIM), which will take place online on September 3rd, 2020, 08:30-10:00 CET (

Participants and audience can register to enter the online Zoom meeting:

Also, the event will be broadcasted online on YouTube, accessible through the competition website:

BattLeDIM aims at objectively comparing the performance of methods for the detection and localization of leakage events, relying on SCADA measurements of flow and pressure sensors installed within a new benchmark water distribution network.

This is a joint collaboration of academics from @KIOSCoE @UCYOfficial, TU Delft @tudelft, Technion @TechnionLive joint, and Tsinghua University @Tsinghua_Uni.

This event has been partially supported by the SmartWater2020 project @SWater2020 @Interreg_GRCY, the H2020 KIOS CoE @KIOSCoE Teaming project @EU_H2020 and Deutsche Forschungsgemeinschaft (DFG).

KIOS Center of Excellence, University of Cyprus, Cyprus
Technical University Delft, the Netherlands
Technion – Israel Institute of Technology, Israel
Technical University Delft, the Netherlands
Tsinghua University, China

Source: @eldemet


Rotate water network via EPANET-MATLAB-Toolkit

%% Example: Rotate EPANET Inp File
clc; close all; clear all;

% Load network and paths
d = epanet('Net1.inp');

%Plot nework initial
h = d.plot;

% Rotate degrees theta
theta = pi/2; %90 degrees
for theta = 0:pi/20:pi*2
% define the x- and y-data for the original line we would like to rotate
x = d.getNodeCoordinates{1}';
y = d.getNodeCoordinates{2}';

% ****
% create a matrix of these points, which will be useful in future calculations
v = [x;y];
% choose a point which will be the center of rotation
x_center = x(1);
y_center = y(1);
% create a matrix which will be used later in calculations
center = repmat([x_center; y_center], 1, length(x));
% define a 60 degree counter-clockwise rotation matrix
% theta = pi/3; % pi/3 radians = 60 degrees
R = [cos(theta) -sin(theta); sin(theta) cos(theta)];
% do the rotation...
s = v - center; % shift points in the plane so that the center of rotation is at the origin
so = R*s; % apply the rotation about the origin
vo = so + center; % shift again so the origin goes back to the desired center of rotation
% this can be done in one line as:
% vo = R*(v - center) + center
% pick out the vectors of rotated x- and y-data
x_new = vo(1,:);
y_new = vo(2,:);
% ****

for i=1:d.NodeCount
d.setNodeCoordinates(i, [x_new(i) y_new(i)]);

% Plot rotated network
d.plot('axes', h)
% d.saveInputFile('rotated.inp');

%% Source:

Demands in distribution networks #QGIS #EPANET

Calculates demand on nodes:

Estimate the demand at the nodes (hubs), based on household consumption. The calculation is performed by adding the demand in the households and designating the total demand in the nodes of the distribution network. This processing plugin is based on component “Distance to nearest hub“.

Operation: Given a layer of origin (households) and another layer representing destination points (nodes), the algorithm calculates the distance between each point of origin (households) and the nearest point of detention (Nodes) households, and totaling the demand value that will be assigned to the nearest node (hub).

In addition, the algorithm displays a “line” layer, created by the “Distance to nearest hub” component, which identifies households (origin) and Nodes (destination), allowing easy verification of geoprocessing connectivity.

QGIS 2.8 or higher processing provider plugin that calculates demand on distribution network nodes.null

Where to find the algorithm:

Once installed and active, this plugin adds the new provider (Algorithms to designate demands on nodes in the distribution network) in the Processing Toolbox. You find the algorithm in the Toolbox under Algorithms to designate demands on the nodes in the distribution network -> Algorithms -> Calculate the Demand Flow in the Nodes.

Processing Toolbox
Config and Result: 
Config and Result