About Madurai Water Intelligence

An open-source water intelligence platform for Indian cities - Chennai and Madurai live, Bengaluru onboarding - built to make public data accessible and actionable.

Sections are collapsed by default. Click any heading to expand it.

What we track for Madurai

Madurai is governed by Madurai Municipal Corporation with civic services under Madurai Municipal Corporation (100 wards). Estimated daily city demand: ~135 MLD.

Water sources tracked daily

Vaigai Dam
reservoir - 6,143 Mcft full capacity - FRL 71 ftprimary drinking
Mullaperiyar (Periyar) Dam
reservoir - 10,560 Mcft full capacity - FRL 142 ftprimary drinking
Sothuparai Dam
reservoir - 100 Mcft full capacity

Reading this dashboard

How “Days of Water Left” Works

We compute three scenarios based on current reservoir storage, daily consumption, and inflow patterns:

Pessimistic (no rain): Assumes zero inflow. Storage divided by net daily demand (consumption minus desalination).
Current trend: Uses the 7-day rolling average inflow. Storage divided by (demand minus recent inflow).
Seasonal rains: Uses the historical average inflow for this calendar month across all available years.

How Madurai's tap is fed today

Madurai's drinking water travels a long path before it reaches a tap: Mullaperiyar Dam (Kerala) → Periyar-Vaigai diversion tunnel → Vaigai Dam → Pannaipatty Water Treatment Plant (118.6 MLD) → Madurai Municipal Corporation distribution mains (~764 km) → 28 existing overhead reservoirs across 28 distribution zones / 81 District Metering Areas → ~95,487 connections → tap.

Two things are worth knowing when reading the dashboard's headline:

  • Vaigai is a multi-purpose dam, not a city reservoir. It's owned by the Tamil Nadu Public Works Department and shared across Madurai, Theni, Sivagangai and Ramanathapuram districts for both irrigation and drinking water. MMC's sanctioned drinking-water allocation is 1,500 mcft per year- a small slice of Vaigai's total storage. The most recent reported actual draw is ~900 mcft per year (≈70 MLD continuous).
  • We haven't yet found a public daily feed.Pannaipatty WTP's daily raw-water intake and treated output, the 28 existing OHTs' live levels (with 37 more being built under Tranche 2), and zone-by-zone supply are tracked inside MMC's ICCC and SCADA systems for internal monitoring; we don't have a route to a daily public surface for them today. So a single "days of water left" number for the city would be guesswork; we don't generate one.

What the dashboard doesshow: Vaigai's live dam level (sourced daily from the Tamil Nadu Agriculture Department's reservoir page), MMC's public allocation and recent-draw constants, and the structural infrastructure of Pannaipatty WTP and the distribution network. That's the honest version of what's currently knowable from outside MMC.

What's missing today

A few daily-operations layers aren't currently part of Madurai's public dataset. Most of these data points are tracked inside MMC's ICCC and SCADA systems for internal monitoring; they just aren't routed to a public surface yet. Listed here so users know where this dashboard's daily view ends.

If any of these become available, the dashboard can move from structural numbers (annual allocation, plant capacity) to a real measured daily runway.

Daily Pannaipatty WTP raw-water intake + treated output

Tracked inside MMC's ICCC SCADA. With a daily series, the dashboard could move from showing the allocation slice to showing actual measured throughput.

Per-DMA supply across the 81 District Metering Areas

DMA-level supply telemetry isn't in the public dataset today. 42 DMAs are covered via earlier 24x7 + Smart City Mission rollouts; ADB Tranche 3 covers the remaining 39, with 115 newly-established DMAs targeted post-build. With this telemetry the dashboard could surface which neighbourhoods are getting served daily and which lean on tankers and borewells.

OHT-wise live storage (23 overhead reservoirs)

Aggregate existing-OHT capacity (41.05 MLD across 28 OHTs per IEE Part 2) is documented per-tank in `madurai-supply-overview.json`; per-OHT live levels live in MMC's SCADA. Per-OHT readings would let zone-level supply gaps surface in near real time.

Non-revenue water and per-capita supply (LPCD)

MoHUA's Service Level Benchmarks set targets (135 LPCD, 20% NRW). We haven't yet found Madurai-specific actuals against these targets in any open dataset. Pey Jal Survekshan (which Madurai is a pilot city for) computes LPCD internally; we haven't found a public city-level scorecard.

PWD-WRD daily Vaigai drinking-water release log

Daily drinking-water release volumes from Vaigai are reported episodically through news during release events (Chithirai pulses, summer ~200 cusec drinking baseline) but not as a structured feed. A daily series would let the dashboard's allocation view reflect real seasonal variation rather than a static constant.

In flight: ADB Investment Program IEE / DPR parse

The ADB Tamil Nadu Urban Flagship Investment Program Tranches 2 and 3 contain engineering-grade tables for Madurai distribution zones, OHT capacities, and demand projections to 2046. Parsing those PDFs once is the next planned data unlock for the dashboard - converts the allocation hero into a zone-reliability heatmap.

Default consumption assumptions (Madurai)

Madurai-specific defaults used to compute days-of-water-left. These are conservative starting points; the dashboard exposes sliders so users can substitute their own.

ParameterDefaultSource / note
Daily city demand135 MLDMadurai Corporation operational estimate; ~85 MLD piped supply across 100 wards.
Desalination contribution0 MLDNo desal plants commissioned for Madurai.
Groundwater contributionExcluded from days-leftBorewells supplement the piped supply but exact MLD is unmodelled. CGWB block + ward-level depth views show groundwater stress separately.
Reservoir evaporationNot modelledVaigai / Mullaperiyar evaporation is non-trivial in summer; planned for v2 once a daily ET0 series is wired.

Users can adjust consumption and desalination values via sliders on the dashboard.

What each page shows for Madurai

Home / dashboard

The home page anchors Madurai's reservoir picture. Vaigai dam (the drinking-water source) is the headline; Mullaperiyar (Periyar reservoir in Idukki, Kerala) is the upstream feeder via the 1886 lease tunnel and contributes ~80% of Vaigai's annual yield.

9-year history chart

Daily storage and percent-FRL trends going back to 2018, sourced from TN Agriculture's public reservoir archive. Toggle between 90 days, 1 year, 3 years, and the full archive; toggle Vaigai vs Mullaperiyar independently.

14-day forecast

Each reservoir gets its own AutoARIMA fit. Seasonal differencing kicks in once we have at least two years of history; the forecast is shown as a dashed continuation line plus a shaded 80% confidence band. Refits daily as new readings land.

  • Each reservoir is forecast independently - no cross-source pooling.
  • The model retrains on every refresh; we don't freeze parameters.
  • 14-day horizon is aggressive but useful; the 80% band widens as you go out.
  • Predictions clamp at 0 and the registered FRL capacity per source.

Groundwater

Madurai's groundwater page combines two authoritative views: CGWB block exploitation (the official annual classification across the district) and a 3-factor ward-level risk composite (composite_score - gw_depth - wb_density - wb_health). The map also shows the CGWB Year Book point network as click-through markers for direct depth readings at known wells.

Block exploitation (GWR)

11 CGWB-classified blocks across Madurai district (Madurai East/North/South/West, Melur, Peraiyur, Thirupparankundram, Tirumangalam, Usilampatti, Vadipatti, Kallikudi) coloured by the latest annual draft-percentage from CGWB's Dynamic Ground Water Resources assessment. Status classes: Safe / Semi Critical / Critical / Over Exploited.

CGWB Year Book point overlay

21 monitoring stations from CGWB's Ground Water Year Book of Tamil Nadu & Puducherry (2023-24 and 2024-25 editions) - peer-reviewed, manually-measured dug wells in the phreatic / unconfined aquifer. Each station carries quarterly depth-to-water-level readings (May / Aug / Nov / Jan) spanning May 2023 - January 2025. Click any marker for the well's hydrograph and full reading history. Stations are tagged with their CGWB block (Alanganallur, Chellampatti, Kallikudi, Kottampatti, Madurai East, Madurai West, Melur, Sedapatti, T.Kallupatty, Thirumangalam, Thirupparankundram, Usilampatti, Vadipatti).

Why no per-ward depth choropleth?

We deliberately do NOT publish an IDW-interpolated ward depth choropleth for Madurai (the way Chennai does, via OpenCity's monthly per-ward survey data). The four India WRIS live stations across the entire district are too sparse to produce an honest 100-ward choropleth; spreading those four points smoothly across the city would manufacture precision we don't have. The 21 CGWB Year Book stations + the 11-block exploitation classification together give an honest picture without faking ward-level granularity that the underlying data doesn't support.

Live India WRIS station overlay

We also drop markers for each India WRIS live station in Madurai district. Click a marker for the well's metadata (acquisition mode, depth, aquifer type) and recent reading window. As of latest scrape, Madurai district has 4 telemetric (DWLR, daily) and minimal manual stations - much sparser than Chennai's ~35-station network.

Ward risk composite

A 3-factor weighted percentile score per ward, A-F graded. Chennai uses 5 factors (drainage 25%, sewerage 25%, flood 25%, WB-health 15%, WB-density 10%); Madurai's drainage / sewerage / flood-hazard GeoJSON layers don't exist publicly yet, so v1 ships a reduced composite with what we have:

FactorWeightDirection
Groundwater depth (IDW)50%Deeper = higher risk
Water-body density (per sq km)20%Denser = lower risk
Water-body health (mean restoration_priority within 3 km)30%Higher score = sicker tank = higher risk

Each factor is converted to a city-wide percentile (0=best, 100=highest risk), weighted, and summed. Composite ≤20 = A, ≤40 = B, ≤60 = C, ≤80 = D, >80 = F.

Water bodies

715 water-body polygons across Madurai district, sourced from OpenStreetMap. Click any polygon for its tags; the 19 hand-curated flagship tanks carry extra metadata (status, area, builder/era, court-order anchors).

Vaigai mainstem polygons are explicitly labelled - a post-process matches each unnamed river polygon to the nearest section of the Vaigai polyline within 500 m, so long stretches of the river are no longer left blank on the map.

The lake-restoration narrative (lost tanks, flagships, programmes, court orders) lives on its own page rather than the map view; jump in via Lake restoration.

Rivers

Vaigai-system scope: 304 km Vaigai mainstem, 121 km Periyar (Kerala feeder), 72 km Suruliyaru, 27 km Manjalar, 117 km Varaha tributaries. Per-river sidebar shows length, status, upstream/downstream termini, and feed.

CPCB monitoring stations

Vaigai is on CPCB's Priority III polluted-stretch list. Two stations on the National Water Monitoring Programme cover the Madurai stretch - one upstream of the city, one downstream - with annual readings for dissolved oxygen, BOD, pH, conductivity, fecal coliform, and nitrate. We extract those readings from CPCB's annual River Water Quality reports (2021-2024 covered today) and show them as a per-station table when you select Vaigai in the sidebar.

Markers are colour-coded by the latest BOD reading: red above 6 mg/L, amber above 3, green at or below 3, grey when no readings exist. The four other Vaigai stations a journalist might expect (Vaigai dam, Andipatti, Manamadurai, Ramanathapuram) stay grey because CPCB doesn't monitor them today.

Court orders & key events

A hand-curated event log filtered to the selected river. Today it covers the Madras HC's December 2024 suo motu cognisance of Vaigai pollution (177 sewage / industrial discharge points across 5 districts, 36 samples below CPCB Class D), the Supreme Court's 2014 Mullaperiyar verdict (142 ft storage cap, still-active Supervisory Committee), and the operational threshold around Vaigai dam release that triggers Madurai-city flood warnings (about 6,000 cusecs).

Industrial pollution sources

Six hand-curated Vaigai-basin polluters mapped as type-coloured markers: the SIDCO industrial estates at Kappalur and K. Pudur, the Sellur sewage discharge zone, the Dindigul tannery cluster, the Theni textile dyeing units, and the multi-district outfall inventory cited in the December 2024 Madras HC order. Compiled from TNSIDCO records, the DHAN Foundation CURE study, the Columbia GSAPP Madurai studio, NGT orders, and news reporting. The Tamil Nadu Pollution Control Board's online effluent monitoring portal (OCMMS) is referenced as the live cross-check.

Flood risk

Narrative-only stub. Hazard-zone polygons (5/10/25/50/100/200-year return periods), historical flood-hotspot layers, drainage GeoJSON, and sewerage overlays don't exist publicly for Madurai (in contrast with Chennai's OpenCity-published layers). The page surfaces the Vaigai dam-release threshold (~6,000 cusecs as Madurai-city flood warning; 12,000+ during the 2018 floods) and a documented locality risk note pending RTI to Madurai Corporation.

Lake restoration

Madurai-only narrative-rich page (Chennai redirects /lake-restoration to /water-bodies). Sections: 14 lost urban tanks, 12 severely-reduced tanks, 19 hand-curated flagships, restoration programmes (Kudimaramathu / AMRUT / Smart City / IAMWARM), Madras HC court-order anchors, DHAN partnership target.

Restoration priority badge

Each flagship carries a colour-coded priority badge built from four signals:

  • Status severity 0-80 - drying / lost > severely reduced > encroached / polluted > restored.
  • Cultural bonus 0-35 - Biodiversity Heritage Site (+25), Ramsar candidate (+20), HC PIL anchor (+15), pre-1700 heritage (+10), dynasty-era (+8).
  • Size 4-25 - acres bucketed (very large / large / medium / small / tiny).
  • Source confidence ×0.7-1.0 - V (verified), N (newsroom), C (claim only) downweights.

Sum is bucketed: ≤40 low, ≤60 moderate, ≤80 high, >80 critical. First run produced 5 critical, 2 high, 7 moderate, 5 low. Top 5: Vandiyur 100, Thenkal Kanmoi 100, Madakulam 88, Avaniyapuram 85, Samanatham 80.

My Ward / Report Card

Ward-boundary map for Madurai Corporation's 100 wards (5 zones, 2022 delimitation). Click a ward to see zone, area, centroid, and a link into the per-ward report card.

Per-ward report card

Each report card shows a large A-F grade badge, the composite score out of 100, the ward's rank within the city, and a per-factor breakdown (raw value, percentile, weight). Without a specific ward selected, the page renders an index grouping ward chips by grade so you can jump straight to the worst-graded wards.

Madurai's report card is intentionally slimmer than Chennai's. Chennai's is built on a 5-factor composite plus an uplift-planner cost matrix; that costing layer is out of scope for the Madurai launch because the underlying drainage and sewerage layers aren't published.

Water facts

Journalist-ready quotable stats grouped by freshness tier - live (this season), derived (last 12 months), historical (documented), and heritage (pre-modern). Today Madurai ships 14 hand-curated heritage and governance facts plus 9 auto-derived stats that compute from the data layers we ship: over-exploited blocks, critical and semi-critical blocks, restoration priority counts, F-grade ward count and worst ward, citywide interpolated groundwater depth, Vaigai BOD pollution gradient, Vaigai dissolved oxygen downstream, urban tank area lost.

Intelligence & AI narratives

Daily AI briefings, longer-form weekly narratives, and per-ward AI profiles are pending for Madurai- the underlying summary stores aren't yet multi-city. Until those land, the page surfaces raw data without an AI commentary layer.

Daily briefing Template-based briefing (no LLM) summarising current storage, 7-day delta, days-of-water-left, and high-risk ward count. Pending for Madurai.
CityStory narrative Anthropic Claude API generates a longer-form weekly narrative grounded in the latest data. Pending for Madurai.
Per-ward AI profile Monthly Claude-generated micro-narrative per ward. Pending for Madurai.

Cascade reconstruction methodology - Madurai

Madurai's tanks were once organised into chained cascades (system kanmoi): water from upper tanks overflowed through feeder channels into lower tanks, which fed the next, and so on. Most cascade channels are now broken by encroachment. The cascade overlay surfaces a terrain-derived hypothesis of how the cascade structure should have been organised, given the actual elevation and flow direction of the land.

See cascade health scores: Tank cascades at risk - Madurai ranks every documented and auto-derived cascade by fragility + priority, with citations and court / restoration anchors where known.

What you are seeing

  • Sky-blue circles (506 tanks): one per OpenStreetMap water-body polygon at least 1 ha in size. Size encodes cascade depth (deeper-in-the-chain tanks render larger).
  • Sky-blue lines (345 edges): predicted tank-to-tank cascade links. Each upstream tank has at most one outflow.
  • Amber lines (34 outflows): tanks whose flow direction points to a river within ~2 km, modelling the river itself as the terminal sink.

Inputs

  • Tank polygons: OpenStreetMap water=* features.water_type in {river, canal, stream, drain, ditch, wastewater} is excluded so river segments don't get treated as tanks.
  • Elevation: WWF/HydroSHEDS/03CONDEM- HydroSHEDS conditioned DEM at 3 arc-second (~90 m) resolution. "Conditioned" means sinks have been pre-filled so flow routing behaves predictably.
  • Flow direction: WWF/HydroSHEDS/03DIR - the corresponding ESRI D8 flow-direction raster. Each pixel encodes which of its eight neighbours water drains to.
  • River barriers: the {city}-rivers.geojson we already use on the map.

Algorithm (per tank)

  1. Compute centroid; sample DEM elevation and D8 flow direction at that point in a single batched Earth Engine call.
  2. Find all other tanks within 3 km whose elevation is lower.
  3. Reject candidates that fall outside ±67.5° of the upstream tank's flow-direction bearing - terrain-aware directionality, not just "is downhill".
  4. Reject candidates whose straight-line edge would cross a mapped river segment - water doesn't flow across rivers.
  5. Pick the single steepest remaining candidate (elevation drop / distance) as this tank's outflow.
  6. For tanks with no tank-to-tank outflow but a flow direction pointing to a river within 2 km: mark drains_to_river and draw an amber arrow to the nearest in-cone river point.

What this is NOT

  • Not a registry of historical channels.We don't claim that any specific cascade link historically existed; we claim the terrain would have organised water this way.
  • Not full hydrological flow accumulation.A stricter approach would trace flow paths pixel-by-pixel through the DEM. We use a "downhill within a flow-direction cone" heuristic that's correct for most obvious cases but can miss subtle terrain features that aren't river-mapped.
  • Not a real-time water transport model. Edge existence does not imply current water flow.
  • Not a model of any inflow that isn't tank-to-tank. Reservoirs receive water from at least four sources that this graph cannot represent: (a) direct rainfall on the lake surface, (b) catchment runoff via unmapped channels and overland flow, (c) the river the reservoir dams (rivers are deliberately excluded from cascade nodes), and (d) engineered canals, pipelines, and trans-basin diversions. A reservoir showing 0 cascade inflows here is not isolated in real life - Chembarambakkam Lake, for example, is fed by all four kinds of inflow (its 71.6 km2 Adyar catchment, the upper Adyar itself, plus Krishna water via the Kandaleru-Poondi canal and Cauvery water from Veeranam) yet none of those appears in this layer. The cascade graph is solely about tank-to-tank structure derived from terrain.

Known limitations

  • DEM resolution ~90 m. Adequate for district-scale cascade structure; may miss very small channels. In flat terrain (e.g. coastal Chennai) elevation differences often round to the same integer metre, so the flow-direction cone does most of the work.
  • Single outflow per tank (default). Real tanks often have one feeder channel and one separate surplus channel; the V1 algorithm models only the steepest candidate edge per upstream. A per-district allow_multi_outflowopt-in relaxes this and keeps near-tied candidates (within 30% of the best score by default), modelling tanks with both feeder and surplus. Off by default for Madurai; we plan to enable it for plateau-geography districts where terrain gradients are weaker and multi-branch cascades are documented in the historical record.
  • River-coverage gaps. The river-crossing barrier is only as complete as the OSM river polylines. Where the polyline is sparse, edges may slip through.
  • Edges are labelled predicted only. A future iteration will cross-check predicted edges against OSM waterway=* tags and Sentinel-1/2 monsoon imagery, then label each edge as intact / partial / broken / encroached.
  • OSM water_type=reservoir is ambiguousin this region. In Madurai roughly 87% of cascade nodes carry that tag, including many traditional kanmoi tanks that historically fed downstream cascades. The algorithm therefore does NOT auto-classify reservoirs as terminal sinks. A per-district curation hook (terminal_sink_osm_ids) exists for marking specific known engineered reservoirs (large dams whose outflow is via spillway / canal rather than via gravity to another tank); it is currently empty pending validation against TN PWD / DHAN inventories.

Reading cascade_position = 1: headwater, not source

Tanks at cascade_position = 1have no tank-to-tank inflow in this graph. They are the shallowest nodes in the network, not the literal source of water in the basin. Real inflow into these tanks comes from rainfall on the lake surface, surface runoff from the surrounding catchment via channels not in OpenStreetMap, and (in dammed basins) the river itself - none of which are modelled here.

We call these headwatertanks rather than "sources" to avoid implying the cascade graph accounts for where water actually originates. A reservoir with cascade_position = 1 is not isolated from rainfall and runoff; it just sits at the top of whatever tank-to-tank chain the terrain organises.

Edge confidence

Each predicted edge carries a confidence field bucketed by its score_m_per_km (elevation drop normalised by edge length). Thresholds:

  • HIGH(≥ 5 m/km): a clear downhill gradient unambiguous even given HydroSHEDS 90 m elevation noise.
  • MEDIUM(1-5 m/km): plausible cascade link with moderate confidence. Most kanmoi-cascade edges fall here.
  • LOW(< 1 m/km): below 0.2 m drop per 200 m. Near the noise floor of the conditioned DEM; the edge may be terrain noise as much as real flow.

For Madurai: 101 high (29%), 223 medium (65%), 21 low (6%).

Isolated tanks: why each one is isolated

A tank is "isolated" in this graph when it has no tank-to-tank inflow, no tank-to-tank outflow, and no river sink. The pipeline re-walks the candidate-evaluation gates for each such tank and stamps it with one of these reasons, surfaced in the on-map hover tooltip:

  • elevation_sampling_failed- the HydroSHEDS DEM returned no value at the tank's centroid, so the algorithm has nothing to compare against. Usually data-coverage at the DEM's 90 m resolution boundaries.
  • no_neighbors_in_range- no other tanks within the 3 km radius the cascade window uses. Real geographic effect, common on the rural fringe of the district.
  • all_neighbors_uphill - in-range tanks exist but every one of them is at a higher elevation. The tank sits at a local basin low; water has nowhere downhill to go through the tank network in this window.
  • all_neighbors_out_of_cone- downhill tanks exist in range, but all sit outside the ±67.5° cone aligned with the upstream tank's D8 flow direction. The terrain wants water to go somewhere other than where the nearest downhill tank is.
  • all_neighbors_river_blocked - downhill, in-cone, in-range tanks exist, but every edge to them would cross a mapped river LineString. May indicate either real river-cut isolation or a gap where the OSM river polylines are over-segmented relative to ground truth.
  • unknown_isolation - defensive fallback. Should be empty in practice.

What you can use it for today

  • Spot likely historical hubs: tanks with high in-degree are where multiple terrain-driven flow paths converge. For Madurai: Vandiyur Lake has 3 predicted upstream feeders. Maximum cascade depth in Madurai is 9.
  • Surface river-front tanks: anything with an amber outflow is a tank that drains directly into a river - useful for restoration prioritisation since the ecological functions differ from internal-cascade tanks.
  • Identify isolated tanks: tanks with neither inflow, outflow, nor river sink carry an isolation_reason field distinguishing genuine basin orphans from data-coverage gaps. See the bucket-by-bucket breakdown above.

Parameter rationale + sensitivity

Each tunable parameter was chosen with a stated rationale. The sensitivity tables below show how each output statistic responds when the parameter is varied. Generated by the cascade pipeline's sensitivity stage; raw data at public/data/cascade/madurai-cascade-sensitivity.json.

max_downstream_distance_km default 3

How far an upstream tank looks for a downhill neighbour. 3 km is the historical median spacing between tanks in well-documented kanmoi networks (DHAN Vayalagam field data). Below 1.5 km the graph fragments sharply; above 5 km the algorithm starts connecting tanks that have no historical relationship.

valuenodesedgesisolatedmax depthoutlets
1.55062281721039
25062891171038
350634575934
4506376621332
5506399501329
cone half-angle (degrees) default 67.5

How wide the directional cone around the upstream tank's D8 flow direction must be for a candidate to qualify. 67.5 degrees admits the principal D8 cell plus its two neighbours on each side (5 of 8 D8 cells). The default trades local D8 instability (the 90 m DEM produces noisy flow directions in flat terrain) against false-positive edges (a 90-degree cone admits half-plane candidates that the water would never actually reach).

valuenodesedgesisolatedmax depthoutlets
22.5506230188616
455062951171033
67.550634575934
9050636952938
min_tank_area_ha default 1

Minimum OSM water_type polygon size to enter the graph. 1 ha excludes most temple tanks, garden ponds, and roadside catchments while preserving the structural cascade. Raising the threshold thins the graph rapidly: at 5 ha Madurai keeps 72% of nodes; at 10 ha only 56%.

valuenodesedgesisolatedmax depthoutlets
150634575934
245530571832
536422763929
1028514772825
max_river_outlet_distance_km default 2

Distance budget within which a tank with no tank-to-tank outflow can register a 'drains to river' arrow. 2 km matches typical surplus-channel lengths in TN sub-basin engineering. Tightening to 1 km loses ~30% of river-outlet arrows; loosening to 3 km adds plausible-but-uncertain outlets that may be drainage rather than designed surplus.

valuenodesedgesisolatedmax depthoutlets
150634583923
250634575934
350634572941

Lake catchment atlas methodology - Madurai

The cascade overlay answers "which tank drains into which". The catchment atlas answers the prior question: where does each lake's water come from. Every lake sits at the bottom of a catchment - the land whose rain drains toward it. Click any lake on the Catchments view and we draw its area of influence: the catchment polygon, the feeder streams inside it, the tanks upstream and downstream, and where its overflow finally reaches a river.

What you are seeing

  • Orange (solid): the lake's own / direct catchment - the land that drains straight into it before reaching any other tank.
  • Amber (dashed): the inherited basin upstream - catchment that drains in via other tanks. Own + inherited = total upstream basin.
  • Blue lines: feeder streams, width graded by Strahler order (trunks thicker than first-order rills).
  • Violet dotted line: the downstream flow path- how the lake's overflow actually runs through the channel network, lake by lake, until it reaches a river.

Inputs

  • Elevation:FABDEM (Forest And Buildings removed Copernicus DEM) at 30 m. This is a bare-earthsurface - buildings and tree canopy are removed - so water routes over the real ground rather than over rooftops, which matters in dense urban terrain. (The cascade graph uses coarser 90 m HydroSHEDS; the atlas deliberately uses the finer DEM.)
  • Lake polygons: OpenStreetMap water=* features, the same set the water-bodies map uses.
  • Buildings: Overture Maps building footprints, for the rooftop-harvest estimate.
  • Rainfall: India Meteorological Department (IMD) long-period annual normals for the district.

How the catchment is delineated

  1. Mosaic FABDEM over the district (buffered so edge catchments close), then condition it with WhiteboxTools breach_depressions_least_cost (preferred over fill in cities - it preserves channels running under roads and culverts).
  2. Compute D8 flow direction and flow accumulation; extract a stream network and assign Strahler order; vectorise the streams and smooth them (Chaikin corner-cutting) so they trace the natural curved channels rather than blocky raster steps.
  3. For each lake, trace the contributing area upstream from its footprint. The own (direct) catchment is the upstream trace that stops at the next water body - the land draining to this lake before any other tank intercepts it. Removing that barrier gives the total upstream basin; the difference is the inherited area. This is threshold-free: there are no impound-vs-transit tuning knobs.
  4. Downstream:from the lake's outlet (its highest-accumulation boundary cell) follow the channel by always stepping to the highest-accumulation neighbour until it enters another water body; chaining those hops along the cascade gives the full downstream flow path to the river.
  5. Rooftop harvest: clip Overture footprints to the own catchment, then rooftop area × annual rainfall × 0.8 (0.8 runoff coefficient), reported in million litres per year.

Naming the lakes and rivers

  • OpenStreetMap names many water bodies but leaves a large share unnamed (in Madurai the OSM gap is substantial). Where an authoritative open dataset exists - for Bengaluru, the ATREE/CSEI named-lake census published on OpenCity - we attach the real toponym by polygon overlap and tag it name_sourcewith a match confidence. OSM-native names are never overwritten, and a small pond sitting inside a large lake's outline is notgiven that lake's name (a wrong name is worse than a blank one).
  • The river a lake drains into is named by snapping its downstream flow path to the nearest mapped river (within 0.5 km). Lakes whose path stays far from any named river - because they flow off the edge of our coverage - honestly show no named river rather than a guess.

What this is NOT, and known limits

  • Not a substitute for a surveyed catchment.A 30 m bare-earth DEM resolves urban catchments well but misses sub-cell culverts, storm drains, and engineered diversions that move water against the natural terrain.
  • Bounded by our map extent. A lake near the edge can drain to a reservoir or river outside the area we model (for example a southern Bengaluru tank flowing toward the Krishnagiri reservoir, which is off-map). We trace the flow path correctly but cannot name a sink we do not hold.
  • Rivers are conduits, not catchments. Named rivers/canals are excluded as lakes; very elongated polygons with a huge catchment-to-area ratio (river segments mis-tagged as water bodies) are filtered out.
  • Rainfall is a long-period normal, not the actual rainfall of any given year, so rooftop-harvest figures are a typical annual potential, not a measured yield.
  • Backfilled names are a join, not ground truth. They carry a source tag and a match confidence; treat low-confidence matches as provisional.

Data sources for Madurai

All operational data is collected by the Python pipeline and supporting scripts that power the dashboard. Raw source data and Earth Engine summaries are upserted into Supabase (PostgreSQL) and then exposed as small, readable product signals.

Reservoir & weather

Daily storage, level, inflow and outflow for Vaigai and Mullaperiyar (listed as Periyar) on a state-wide page. The same site serves a dated archive back to 2018, which we use to backfill the 9-year history chart.

Engineering-grade structural numbers extracted from the December 2025 ADB Initial Environmental Examination Parts 1-3 + Tranche 3 IEE: 192 MLD existing supply mix across 7 schemes (Vaigai surface 115 + Vaigai sub-surface 47 + Cauvery via Melur 30); Pannaipatty WTP 118.6 MLD existing (71.6 Line-I + 47.0 Line-II) / 243.6 MLD planned post-Tranche 2; 28 existing OHTs (12 N + 16 S, 410.5 LL aggregate) plus 37 new under Tranche 2; 28 distribution zones / 81 District Metering Areas (42 today + 39 in Tranche 3 scope; 115 newly-established post-build); 764 km existing mains + 813 km new under Tranche 3; 95,487 connections (94,487 dom + 600 non-dom + 400 com), targeting 163,958 households; 2034 demand 317 MLD; PWD allocation table (MMC 51.09 cusecs continuous). Powers the dashboard's at-a-glance tile.

MMC's published 1,500 mcft/year drinking-water allocation from Vaigai with ~900 mcft recent draw. Infrastructure stats on the public page differ slightly from the engineering IEE values (page lists 23 OHTs, 96,048 connections, 467 km mains, 81 distribution zones) - we treat the IEE Parts 1-3 as the primary engineering record and document the disagreements in `madurai-supply-overview.json._secondary_local_source`.

14-day forecast with 80% confidence band per reservoir, refit daily as new readings land. Seasonal differencing kicks in once we have at least two years of history.

Free, no-auth daily weather data: precipitation, temperature, humidity, ET0, wind. ECMWF / ERA5-Land base.

India Meteorological Department 0.25-degree gridded rainfall, 1970-2025. Madurai grid cell at 9.9 deg N, 78.0 deg E, 862.6 mm long-term mean. Same imdlib pipeline as Chennai's IMD generator.

51 Madurai neighbourhood points (Anna Nagar, Pasumalai, Mattuthavani, KK Nagar, Sellur, Vandiyur, etc.) extracted via scripts/fetch-localities-osm-madurai.ts for the my-ward search box. 49/51 carry Tamil names. Powers locality-name -> ward resolution.

Groundwater

Daily and seasonal manual + telemetric (DWLR) groundwater readings from the Central Ground Water Board's National Hydrograph Network.

Annual block-level Dynamic Groundwater Resource Assessment (Safe / Semi Critical / Critical / Over Exploited). 11 blocks classified across Madurai district (Madurai East/North/South/West, Melur, Peraiyur, Thirupparankundram, Tirumangalam, Usilampatti, Vadipatti, Kallikudi).

Peer-reviewed quarterly depth-to-water-level readings (May / Aug / Nov / Jan) at 21 dug-well stations in Madurai district, sourced from the 2023-24 and 2024-25 Year Books. Replaces an IDW-interpolated ward depth choropleth - Madurai's live WRIS network is too sparse (4 stations) for honest per-ward synthesis. Stitched into a 2-year time series stored in public/data/madurai-cgwb-stations.json.

Water bodies & restoration

OpenStreetMapstatic (refetch as needed)

Base geometry for water-body polygons and the rivers polyline.

14 fully lost and 12 severely reduced urban tanks - roughly 16.5 sq km of combined area, around 30% of the old city's footprint.

19 hand-curated flagship tanks and dams with status, area, builder / era, and court-order anchors. Powers the restoration-priority composite.

Each flagship is scored on status severity (0-80) plus a cultural-heritage bonus (0-35) plus a size bucket (4-25), then scaled by a source-confidence multiplier between 0.7 and 1.0.

Hand-curated rows for the Kudimaramathu, AMRUT, Smart City, and IAMWARM programmes plus the Madras HC anchors that have shaped restoration policy.

Rivers & pollution

Annual River Water Quality reports (2020-2024 covered today). Vaigai is monitored at two stations - upstream and downstream of Madurai - with min and max readings per parameter; we use the midpoint.

December 2024 suo motu order naming 177 sewage and industrial discharge points across 5 districts, 36 samples below CPCB Class D, and a state-government action plan due January 2025.

May 2014 Constitution Bench permitted 142 ft Mullaperiyar storage and struck down Kerala's 2006 cap. Established a permanent Supervisory Committee that still arbitrates seasonal storage and dam-safety reviews.

Six hand-curated polluters: SIDCO Kappalur and K. Pudur estates, Sellur sewage discharge zone, Dindigul tannery cluster, Theni textile dyeing units, and the multi-district outfall inventory cited in the December 2024 HC order.

The Tamil Nadu Pollution Control Board's real-time monitoring portal for red-category industries. Cross-check reference for the curated sources list.

Field study finding 8 of 9 Vaigai sampling spots unfit for human use across physical, chemical, and biological parameters. Underpins the qualitative status notes in the rivers and lake-restoration narratives.

Flood & civic infrastructure

Hazard zone polygons (5, 10, 25, 50, 100, 200-year return periods), historical flood hotspots, drainage and sewerage networks - none of these are publicly published for Madurai today. Tracked as follow-up RTIs.

Satellite & remote sensing (planned)

Per-water-body wet/dry history from satellite. Pipeline ready; data layer pending for Madurai's 19 flagships.

NDWI thumbnails + change detection per flagship. Pending for Madurai.

Catchment polygons for Vaigai dam and its sub-basins, used to ground catchment-rainfall context. Pending wiring for Madurai.

Base geometry & AI

Anthropic Claude APIdaily / monthly

AI city narratives and per-ward profiles. Pending for Madurai.

Data quality & limitations

How we classify river health

CPCB publishes two parallelriver-water-quality classification systems, and they don't always agree. Knowing which one we use - and why - matters for reading our river status badges honestly.

Designated Best-Use classes (A-E)

Computed from current dissolved-oxygen, BOD and coliform thresholds at each NWMP station. Updates every reading. Class A = drinking with disinfection only; Class B = outdoor bathing; Class C = drinking with conventional treatment; Class D = fisheries/wildlife; Class E = irrigation only. Below E = practically dead.

Polluted River Stretch (PRS) Priority I-V

A historical, multi-yearstretch-level designation reflecting cumulative pollution. Slow to update; once a river stretch is on the Priority list it tends to stay there even if recent readings improve. Priority I = worst (BOD > 30 mg/L sustained); Priority V = least bad of the polluted stretches.

Our status badges ("dead", "severely degraded", "degraded", "stressed", "healthy") are computed from current readings via the Designated Best-Use thresholds- not from the PRS Priority list. We take the worst classification across a river's monitored stations and surface that as the river-level status.

Practical consequence: a river on CPCB's PRS Priority list (e.g. the Madurai-Manamadurai stretch of the Vaigai is Priority III) won't automatically render as "severely degraded" here. If the underlying NWMP readings show only Class C/D conditions, the badge reflects that. The PRS designation belongs in the river description as historical context, not as the live status.

Methodology lives in src/lib/utils/river-classification.ts; readings are from CPCB NWMP annual River Water Quality reports.

Open data gaps in Madurai

Some layers we'd like to surface aren't publicly released yet for Madurai. We've listed each one with the workaround currently in place; tracked as RTI follow-ups where applicable.

No public flood-hazard return-period layer

Standard 5/10/25/50/100/200-year flood return-period polygons are not currently published for Madurai. The flood-risk page falls back to a narrative-only view anchored on the 6,000-cusec Vaigai dam-release threshold; 2018 floods peaked above 12,000.

No public drainage / sewerage GeoJSONs

Drainage line and sewerage main GeoJSONs aren't publicly released - tracked as RTI follow-ups to Madurai Municipal Corporation. The ward risk composite ships a 3-factor variant (water bodies, lost bodies, groundwater) until those layers land.

CPCB monitors only 2 of the 6 candidate Vaigai stations

NWMP covers Vaigai U/S Madurai (10059) and D/S Madurai (10060). Vaigai dam, Andipatti, Manamadurai, and Ramanathapuram are seeded for future expansion but stay readings-empty.

No per-ward depth choropleth (deliberate)

Madurai district has only four India WRIS live groundwater stations - far too sparse to honestly interpolate a 100-ward choropleth. Instead we surface 21 CGWB Year Book point stations as the depth signal, alongside the 11-block CGWB exploitation classification. The IDW-interpolated view used in earlier drafts has been retired.

Lost-tank coordinates not populated

The 26 Vencatesan / DHAN documented lost tanks have name + status but no lat/lng - geocoding historical tank names is research-heavy and most have no OSM presence (they're lost). Listed as a Tier 3 follow-up.

Known Limitations

  • Estimates are approximations. Actual water availability depends on factors not modeled (groundwater extraction, Krishna water transfer, distribution losses, industrial use).
  • CMWSSB data may occasionally be stale (weekends, holidays). The dashboard shows a freshness indicator.
  • Groundwater data from OpenCity may lag by months. The map always shows the most recent available period.
  • Forecasts use ARIMAX (AutoARIMA with inflow/outflow as exogenous regressors) and work best with 2+ years of daily data.
  • Risk scores are relative indicators for comparison between wards, not absolute measures of water safety.
  • Satellite spread is a summary of surface water extent, not a direct measure of storage volume, water quality, or inflow source. A lake can look broad and still hold less usable water than expected.
  • Reservoir catchment polygons are reviewed operational geometries for rainfall context, not official legal boundaries. This matters especially in Chennai's managed canal and transfer system.
  • Current satellite context relies on optical Sentinel-2 observations. During persistently cloudy periods, some water bodies may temporarily lose this insight until a radar fallback is added.

Documented lost urban tanks (Vencatesan + DHAN)

Thathaneri tankFully lost
Vencatesan (2014) urban tanks audit
Bibikulam tankFully lost
Vencatesan (2014)
Chinna Chokkikulam tankFully lost
Vencatesan (2014)
Tallakulam tankFully lost
Vencatesan (2014) / Madurai Corporation records
Managiri tankFully lost
Vencatesan (2014)
Sengulam tankFully lost
Vencatesan (2014)
Athikulam tankFully lost
Vencatesan (2014)
Pudhukulam tankFully lost
Vencatesan (2014)
Mudakkaththan tankFully lost
Vencatesan (2014)
Tirayathi tankFully lost
Vencatesan (2014)
Sathamangalam tankFully lost
Vencatesan (2014) / DHAN field studies
Villapuram tankFully lost
Vencatesan (2014)
Anuppanady big tankFully lost
Vencatesan (2014)
Anuppanady small tankFully lost
Vencatesan (2014)
Vandiyur tankSeverely reduced
DHAN / Vencatesan (BHS-listed cluster)
Madakulam tankSeverely reduced
DHAN / Madras HC orders
Sellur tankSeverely reduced
DHAN / news (toxic-foam incidents)
S. Kodikulam tankSeverely reduced
DHAN field studies
Kosakulam tankSeverely reduced
DHAN field studies
Veeramudiyan tankSeverely reduced
DHAN field studies
Avaniyapuram tankSeverely reduced
DHAN / Madurai Corporation
Chinthamani tankSeverely reduced
DHAN field studies
Puliyankulam tankSeverely reduced
DHAN field studies
Thenkaal tankSeverely reduced
DHAN field studies
Thenkal KanmoiSeverely reduced
DHAN field studies
Koodal Alagar temple tankSeverely reduced
Heritage temple tank registry

About the project

Disclaimer

Not an official government tool. Neer Vazhvu is an independent, open-source project. It is not affiliated with, endorsed by, or connected to CMWSSB, GCC, CGWB, or any government body.

Informational purposes only. All data, estimates, and forecasts are provided “as is” for general awareness. Always refer to official CMWSSB advisories for critical decisions.

No personal data collected. Neer Vazhvu does not collect, store, or process any personal information. There are no user accounts, cookies, or analytics trackers.

Open Source

Neer Vazhvu is fully open source. The code, data pipeline, and methodology are transparent and available on GitHub. Contributions, bug reports, and data corrections are welcome.

View on GitHub

Support this project

Neer Vazhvu is free and open source. If you find it useful, consider supporting us on Patreon to help cover satellite data, hosting, and API costs.

Support on Patreon