Friday, May 24, 2013

Cooperating applications for self optimizing water systems

People often ask me what is the importance of the water information hub (WIH)? The WIH provides a system view of the water network, where the whole is greater than the sum of the parts. In other words is not just  an elemental view of the water meters, or the sensor (pressure, flow, turbidity etc), or the assets (pipes, manholes, value, pumps, etc) in the system, it shows how all these elements, and many more, interrelate with each other. We can now treat the WIH as a system and like all other systems it exhibits certain characteristic of a system such as feedback loops. A simple example of a system with a feedback look is a house with thermostat. A thermostat works with a furnace and you set the thermostat to a certain temperature and the furnace works with the thermostat, blowing on and off, to keep the house at that set temperature. Here there is a feedback look between the thermostat and the furnace. For a great book on understand more about systems and systems behaviors, including feedback loops, see the book: Thinking in Systems: A Primer.

The very same can be done for a water distribution network where we have water flowing into and out of the network from the tap, or from from leaks, or from fire hydrants. Water lost from the systems that is not billed through a meter is called non revenue water (NRW). We can create similar feedback loop for the WIH by measuring the amount of water in and out of the system and then optimizing that via some feedback loop mechanism to help minimise the amount of NRW. The example we will look at is very similar to the thermostat example above in that is there are also two applications cooperating together: a water balance application that measures the amount of water in/out of a network and a pressure management application that will optimize the pressure in the network. Both of these application can be build using the IBM's Smarter Water SDK
Water Balance Table
In any system it is always important to get the beat of the system. In a water distribution network this is how much water is flowing through the network and were the water is going to. A measure of a beat of a water network can be provided by a water balance table. In a water distribution network, the network is typically divided into pressure zones, as this makes it easier for a water authority to manage the pressure across a large network and allows for a sub section of pipes to be kept at a constant pressure independent of the rest of the water network. A water balance application built using the SDK could read in the pipe network data and the associated meter readings from the pipe network, and then calculate and display the water balance. The figure above shows a standard water balance report that the water balance application might produce. One of the things a water balance application can do, is run a minimum night flow analysis, which runs the water balance at 3.00 AM, when water usage is at it's lowest, and all of the losses of water in the system at that time are largely due to leaks. By comparing pressures zone, using a minimum night flow analysis, we can then determine which pressure zones are having the most leaks.

Multiple pressure zones and a minimum night flow analysis chat

A pressure management application works on the principle, that within a pressure zone, pressure in usually kept high to ensure that there is adequate positive pressure on the tap side.  Keeping the water network at high pressure all the time has a detrimental effect on the pipe network, particularly in an aging pipe network, which is the case in most western european cities. The constant high pressure tends to corrode the pipes and also exasperates any existing leaks. A pressure management application, built using SDK, will read off the pipe network and then iterate through the pipe network and read off the pressure reading at pressure critical point and then take that data and process it through an optimization algorithm. The output of the optimization algorithm will then give the optimized pressure readings for that pressure zone. The application could then write out to the pressure reducing values, in that pressure zone. using an OPC interface and set the optimized pressure value for the network.
Feedback loop between the water balance and the pressure management applications 
These two applications, the water balance application and the pressure management application can be set up in a feedback loop very similar to how the thermostat and the furnace feedback on each other. This kind of collaboration between the two application can be done simply with a pub/sub interface on the applications. The water balance application alerts, the pressure management application, that a particular pressure zone is very leaky. The pressure management application optimize the pressure in that pressure zone. Once the pressure management application runs and optimizes the pressure in the pressure reducing values and then in turn alerts the water balance application that the pressure has been optimized. The water balance application would then run the minimum night flow analysis again, the following night, and find by how much the leaks have been reduced.

Rain to drain water network

In this feedback loop between the water balance application and the pressure management application, the water balance application may tell the pressure management application to use a different optimization algorithm and test the effectiveness of one algorithm against another. There are many more of these feedback loops that you can find in the water network, such as the rain to drain picture above in Peter Williams paper, and we challenge you find more and build collaborating applications around those.




Sunday, May 19, 2013

Application development using IBM's Smarter Water SDK

Last week IBM quietly released a new version of its Smarter Water product (called the Intelligent Operations for Water). Buried inside of this release is a feature that looks to completely change the way water applications are developed. The new version supports an application development model that allows for third parties to build water applications (such as leak detection, flood management, water quality applications) quickly and consistently on the Smarter Water platform. The benefits of such an application development approach is that it provides one way of building water applications, including mobile applications, on the platform.

Apple revolutionized the consumer world with their iPhone/iPad app store providing developers with access to the iOS platform and allowed them to build their own applications. Apple also provided an App Store where application developer could advertise and sell the applications. The Smarter Water platform now follows this model but instead of targeting customers, it targets a range of 3rd party water applications developers from research groups (including universities), services provider and partners, to developer their own smarter water applications.

IBM's Smarter Water SDK

The Smarter Water platform provides this application development capability by providing a software development kit (SDK) for water application developers.  The SDK consists of a set of underlying interfaces and programming model to enable and simplify application development as well as number of examples to help guide and educate application developers.  The SDK consists of three core interfaces. 

  • An interface into the water information hub (WIH), which gives an application access any and all water, related assets, such as the water pipe network, pumps, sensor, meters, etc. 
  • An interface into the advanced analytics engines of the platform, which gives an application developer access to three types of, advanced analytics such as descriptive Analytics (historical insights), prescriptive/optimization analytics (optimization), and predictive Analytics (predication)
  • An interface into a rendering service, which allows the application developer to create a resulting information layer which can then be put on top of a map.
Detailed documentation about this SDK and these interfaces, written by our fearless Dublin based documentation team, can be found here: http://ibm.co/1ANClFk

The Smarter Water SDK interfaces allows us to build smart water applications

Using these three interfaces, the core pattern for application development is very simple. 
  1. The application will read the types of water asset from the water information hub (WIH) e.g. pump, pipe, valves, sensors, meters, etc. This is because the WIH has a self-describing interface. 
  2. The application will then focus on a particular asset such a pipe and then read the pipe network from the WIH, for a particular pressure zone. The application could also iterate through the pipe network and read off the meter reading in that pipe network. 
  3. The application may then do some advanced analytics on the pipe network, such as checking which meters are reading high. 
  4. The application can then create a layer of the pipe network and color the particular of the network with high meter reading in red and then display that pipe network on a map.
A complete tutorial details a factious water company called the Sunshine Water Group (SWG) who manage a water network for a regional council. The water network contains a number of sensors that monitor measurements. Sunshine Water Group have been experiencing challenges with water pressure measurements in their pipe infrastructure. Each pipeline asset in the water network has the following managed components: pipes, junctions, reservoirs, valves and tanks. Each managed component has an associated measurement. For example, both junctions and valves have pressure readings, measured in psi (force per square inch). Sunshine Water Group use valves to set pressure readings. The rest of the tutorial shows how to build out, using the SDK, a simple pressure management application and deploy it onto the Smarter Water platform.

In an up coming Smarter Planet Blog posting I will be teaming up with the Smarter Water Product Manager, Nitin Kapoor and Dr Sean Mckenna from IBM Dublin water research laboratory to talk more about the SDK and the Smarter Water platform.