CAPMAC ·City water network
REAL DATA from Yorkshire Water · City of Topeka · City of TorontoData sources: Yorkshire Water (Data Mill North, CC BY), City of Topeka, City of Toronto; open data also from City of Calgary and City of Kitchener. Outside simulators: LeakDB, BattLeDIM.

City water network: find leaks, rank pipes, show the money

CAPMAC watches the night flow of each metered zone, raises a leak alarm only when a checked rule fires, and orders pipes for renewal planning (the order is tested; a chance of breaking is not). The leak and renewal work below is tested on real utility data, then on other people's simulators, then on our own rigs.

The network on screen is a demo city of four zones. Its alarms come from the stored output of the zone leak check on our own simulated runs; the case studies hold the real-data evidence.

Real data first

Start here

Network map

Pipes are coloured by renewal rank (darkest red = top 10 % of the renewal order). Outlined zones carry an open alarm. Click a pipe, pump or reservoir.

Selected

Click an item on the map.

Asset tree

Selected

Choose a city, zone, pipe, pump or reservoir.

Live dashboard

Day 0 is the start of the stored run. Alarms appear on the day the check raised them.

Alarm list

Evidence card

Select an alarm.

Night-flow trends with normal bands

Audit log

When (browser time)RoleActionAlarmNote

Case studies

What it does not claim

Checks

CheckBest evidenceWhat was shownEvidence file

Every check listed is WORKING in our latest check record: it passed a held-out test on a fresh records. WORKING does not mean proven on real plant data; the evidence tag says what kind of data it passed on.

Money

Every price below isASSUMED. Replace it with your own. Water lost per day = leak size (L/s) × 86.4 kL a day × water price, counted from the day the check raised the alarm.

Water lost to open leaks

AlarmZoneSize L/skL a dayRs a dayRs if left the days above

Pipe renewal budget

The Topeka test (real data) found that the top 10 % of the ranked pipes held about 60 % of the breaks that came later. That is a record of one city's past, not a promise for yours.

Reports and exports

Pipe renewal ranking

Pipes ordered for renewal planning (material, age, length, earlier breaks); the order is tested, a chance of breaking is not. Remaining life for pipes is on the Remaining life tab as a range, not a date.

OrderPipeZoneMaterialInstalledLength mEarlier breaksRenewal rankDecile

Connect your network

Read-only from your SCADA historian over OPC UA, or upload a CSV of district-meter flows and pressures. CAPMAC never writes to your plant.

See the suite pageConnect your plant.

CSV layout: timestamp (ISO 8601, with time zone), zone, inlet flow m3/h, critical-point pressure m. Shown times in this demo are browser time; the demo network runs in Asia/Kolkata (IST).

Learn this network

The normal bands on the trends are each zone's normal night flow, worked out from its own healthy weeks. No learning picture is hidden behind them.

Per-unit healthy levels and the physics constants are on the suite pageLearn this site.

How it works

1. Night flow

At night, customers use little. Each zone's inlet flow in the quiet hours is compared with what the other three zones imply for the same night.

2. Leak or use change

A steady extra draw that runs all night is a leak. A big customer's use falling is not, and is not priced.

3. Rank pipes

Pipes are ranked by material, age, length and earlier breaks. The ranking is tested city by city on later breaks.

What it does not do: promise a date. Remaining life is shown as a range on the Remaining life tab. Alarms report what the readings already show; the ranking orders pipes for renewal.

About and credits

Load your data

Add your readings and get a printable report. It takes three easy steps.

Looking for the file service...

1Add your readings file

Drop your file here, or choose a file
A spreadsheet saved as CSV. One column for the time, and one column for each sensor.
Download the sample file

2Add your repair or cleaning dates (optional)

This helps CAPMAC learn from your plant and sharpen remaining-life estimates. You can skip it.

    3Get your report

    Add your readings file first.

    Advanced options

    Most people do not need this. CAPMAC picks the columns, units and checks for you. Change them here only if something is wrong.

    What is in the file

    Add a file to see this.

    Which column is what

    Add a file to see this.

    Which checks to run

    Add a file to see this.

    Report wording

    Remaining life: limits and dates (optional)

    A limit is the reading at which you would act. Leave it empty and CAPMAC uses a labelled assumed limit. Dates help it count from the last repair or cleaning.

    Leakage management

    DEMOGenerated demo city as of 19 Sep 2026 (day 80 of the stored run). The night-flow runs are our own simulated runs; the incident log, crew hours and audit inputs are generated samples. Price is assumed: Rs 20.75 a kL.

    3 open leak incidentslosing 10.3 L/s together (890 kL a day, Rs 18,476 a day). Median awareness 6.2 days, location 30 h, repair run time 2.0 days over 14 closed demo jobs.

    1. DMA league table

    Zones ranked by how far their night flow now sits above their own normal, over the last seven nights. Demo city, as of 19 Sep 2026. Money uses the assumed price of Rs 20.75 a kL.

    #ZoneNight-flow risem3 a dayMoney a dayConfidenceSinceTrend, last 60 nights
    1Zone 4 Hill (tank fed)6.06 L/s524Rs 10,867High25 Aug 2026
    2Zone 1 North2.91 L/s252Rs 5,225High14 Sep 2026
    3Zone 3 Riverside1.33 L/s115Rs 2,383Medium19 Aug 2026
    4Zone 2 Marketno sustained rise0Rs 0noneno rise standing

    2. Leak and burst alert cards

    A01 · Zone 3 RiversideMedium Leak growing

    Water leaving zone 3 unexplained at night. Rise began 19 Aug 2026. Stage now:Located.

    1. Detected20 Aug 2026 06:12
    2. Located23 Aug 2026 11:12
    3. Dispatchednot yet
    4. Repairednot yet
    5. Verifiednot yet
    Awareness time18 hstart of the rise to detection
    Location time3.2 daysdetection to located
    Repair run time27.0 days so farlocated to repaired

    Loss and money (assumed price Rs 20.75 a kL)

    • Loss now: 1.33 L/s = 115 kL a day = Rs 2,383 a day
    • Lost since it began: 3,144 kL = Rs 65,243
    • If left 30 more days: Rs 71,499
    • Size when first raised: 0.47 L/s

    Where to start (zone 3)

    A ranked starting list for the survey crew, not a map pin.

    1. cast iron, laid 1960 to 1989 (2 pipes, 455 m)
    2. asbestos cement, laid before 1960 (2 pipes, 458 m)
    3. asbestos cement, laid 1960 to 1989 (2 pipes, 710 m)

    Sections to check first:

    1. Z3P03: cast iron, laid 1975, 345 m, 3 earlier breaks
    2. Z3P12: asbestos cement, laid 1948, 339 m, 2 earlier breaks
    3. Z3P13: cast iron, laid 1953, 220 m, 1 earlier breaks

    A03 · Zone 4 Hill (tank fed)High Burst

    Water leaving zone 4 unexplained at night. Rise began 25 Aug 2026. Stage now:Repaired.

    1. Detected28 Aug 2026 06:12
    2. Located28 Aug 2026 16:42
    3. Dispatched29 Aug 2026 08:12
    4. Repaired05 Sep 2026 11:12
    5. Verifiednot yet
    Awareness time2.8 daysstart of the rise to detection
    Location time10 hdetection to located
    Repair run time7.8 dayslocated to repaired

    Repair logged, but night flow is still 6.0 L/s above normal 14 nights later. Not verified; the incident stays open.

    Loss and money (assumed price Rs 20.75 a kL)

    • Loss now: 6.06 L/s = 524 kL a day = Rs 10,867 a day
    • Lost since it began: 13,145 kL = Rs 2,72,755
    • If left 30 more days: Rs 3,26,012
    • Size when first raised: 5.92 L/s

    Where to start (zone 4)

    A ranked starting list for the survey crew, not a map pin.

    1. cast iron, laid 1960 to 1989 (2 pipes, 362 m)
    2. asbestos cement, laid 1990 and later (3 pipes, 1,086 m)
    3. asbestos cement, laid before 1960 (1 pipes, 256 m)

    Sections to check first:

    1. Z4P13: asbestos cement, laid 1953, 256 m, 3 earlier breaks
    2. Z4P11: cast iron, laid 1988, 173 m, 3 earlier breaks
    3. Z4P08: cast iron, laid 1952, 373 m, 0 earlier breaks

    A02 · Zone 1 NorthHigh Burst

    Water leaving zone 1 unexplained at night. Rise began 14 Sep 2026. Stage now:Located.

    1. Detected16 Sep 2026 06:12
    2. Located18 Sep 2026 15:12
    3. Dispatchednot yet
    4. Repairednot yet
    5. Verifiednot yet
    Awareness time42 hstart of the rise to detection
    Location time2.4 daysdetection to located
    Repair run time21 h so farlocated to repaired

    Loss and money (assumed price Rs 20.75 a kL)

    • Loss now: 2.91 L/s = 252 kL a day = Rs 5,225 a day
    • Lost since it began: 1,778 kL = Rs 36,892
    • If left 30 more days: Rs 1,56,763
    • Size when first raised: 2.85 L/s

    Where to start (zone 1)

    A ranked starting list for the survey crew, not a map pin.

    1. asbestos cement, laid before 1960 (2 pipes, 218 m)
    2. cast iron, laid 1960 to 1989 (2 pipes, 497 m)
    3. cast iron, laid before 1960 (1 pipes, 343 m)

    Sections to check first:

    1. Z1P12: cast iron, laid 1948, 343 m, 1 earlier breaks
    2. Z1P07: cast iron, laid 1975, 350 m, 1 earlier breaks
    3. Z1P01: asbestos cement, laid 1997, 357 m, 3 earlier breaks

    3. Water balance (IWA layout)

    Annual figures for the generated demo city, worked out by the water-loss audit arithmetic check (volumes in megalitres). The demo network is 300 km of main and 26,000 connections at 35 m average pressure; production price Rs 20.75 a kL and retail price Rs 35.00 a kL are assumed.

    System input volume1,900.0 ML
    Authorised consumption1,320.3 ML
    of which unbilled15.3 ML
    Water losses579.7 ML
    Apparent losses (meters, data, theft)32.9 ML
    Real losses (leakage)546.8 ML
    open incidents now, per year if left325.0 ML
    Revenue water1,305.0 ML
    Non-revenue water595.0 ML (31.3% of input)
    1.63Infrastructure leakage index (ILI)
    335 ML a yearUnavoidable annual real losses (UARL)
    Rs 1,13,47,037Cost of real losses a year at the assumed production price

    4. Loss volume and money, open incidents

    Assumed price: Rs 20.75 a kL (production cost; replace it with yours on the Money tab). Lost since the rise began = the nightly excess carried over 24 hours.

    IncidentZoneL/s nowkL a dayMoney a dayLost so far, kLLost so far, money
    A01Zone 31.33115Rs 2,3833,144Rs 65,243
    A03Zone 46.06524Rs 10,86713,145Rs 2,72,755
    A02Zone 12.91252Rs 5,2251,778Rs 36,892
    Total890Rs 18,47618,067Rs 3,74,889

    5. Repair prioritisation

    Dispatch order for incidents with no crew yet: water saved per day for each crew hour spent. Crew hours come from closed jobs of the same kind in the demo log.

    OrderIncidentZoneStagekL a dayCrew hourskL a day per crew hourWhy
    1A02Zone 1Located2521517.2Zone 1 loses about 252 kL a day (Rs 5,225); a repair is taken as about 15 crew hours (from closed jobs of the same kind in the log), so each crew hour saves about 17.2 kL a day. Send the crew here first.
    2A01Zone 3Located115815.3Zone 3 loses about 115 kL a day (Rs 2,383); a repair is taken as about 8 crew hours (from closed jobs of the same kind in the log), so each crew hour saves about 15.3 kL a day. Next after the incident above.
    in progressA03Zone 4Repaired5241534.9Already with a crew (repaired); not re-ordered. It loses 524 kL a day, so keep the repair moving.

    6. Location hints are inside each alert card above.

    7. Burst, valve closure or demand surge

    A sudden change in a zone's night inflow is named as one of these, with the reason in words. Pressure at the zone's critical point is a generated demo reading.

    EventZoneNamed asWhy
    A01Zone 3Leak growingInflow climbed over many days with pressure flat or lower: a slow leak, not a sudden burst.
    A03Zone 4BurstInflow jumped within a day or two, pressure at the far end fell or stayed flat, and it has not come back.
    A02Zone 1BurstInflow jumped within a day or two, pressure at the far end fell or stayed flat, and it has not come back.
    A04Zone 2Demand fallInflow fell with no pressure rise: customers are using less. This is not a leak.

    The three side by side (generated sample)

    SampleNamed asWhy
    Pipe burstBurstInflow jumped within a day or two, pressure at the far end fell or stayed flat, and it has not come back.
    Valve closed by mistakeValve closureInflow fell while pressure rose: the water is being held back, not lost.
    Demand surge (event or filling)Demand surgeInflow rose but has already come back within a day or two, so it looks like use, not a break.

    Real data from Yorkshire Water

    Yorkshire Water DMA night flows and mains repairs, Data Mill North, CC BY

    Question tested.Does a logged mains repair show as a step down in the zone's night flow (a retrospective check on past repairs)?

    • Repairs confirmed 0.30 against placebo 0.03 on one test set, and 0.30 against 0.05 on a second.
    • A third set of 247 zones (202 repairs): 0.262 against 0.034.
    • Leak start dated before a confirmed repair in 4 of 4 cases.
    • Alerts are tuned for a low false-alarm rate; trial on your own history recommended.

    Result as stored in the case library. This card is real data and is not part of the demo city numbers above.

    This view reports what the night flow is doing now and what the log says was done; remaining-life ranges are on the Remaining life tab.

    Remaining life: city water

    Faults this app caught, by equipment

    Rows with a Replay button come from a recorded run with a named planted fault. Rows without one are checks that caught every planted fault in their scored tests.