About Bengaluru 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 Bengaluru
Bengaluru is governed by Bangalore Water Supply and Sewerage Board with civic services under Greater Bengaluru Authority (369 wards). Estimated daily city demand: ~1450 MLD.
Water sources tracked daily
Reading this dashboard
How “Days of Water Left” Works
We compute three scenarios based on current reservoir storage, daily consumption, and inflow patterns:
How Bengaluru's tap is fed today
Bengaluru's drinking water travels a much longer path than Chennai's or Madurai's: Cauvery river (Karnataka allocation 270 TMC of the CWDT 726-TMC pool) → 4 upstream Karnataka reservoirs (KRS 48.4 TMC + Hemavathi 35.7 + Kabini 19.5 + Harangi 8.5) → BWSSB pumps from T.K. Halli 95 km north + 500 m elevation lift → 5 WTPs at the headworks (Cauvery Stages I-V) → 8,746 km BWSSB distribution mains → 84 ground-level reservoirs / 84 distribution stations across 9 administrative zones → ~865,000 piped connections → tap.
Three structural facts worth knowing when reading the dashboard's headline:
- The 4 upstream dams aren't Bengaluru's tap supply.They are irrigation-primary reservoirs owned by the Karnataka Water Resources Department; the city's drinking-water carve-out is the slice released into BWSSB's pumping line at T.K. Halli. We track them because they set the seasonal ceiling on what BWSSB can pump - similar to how Madurai tracks Mullaperiyar even though it's in Kerala.
- ~48% non-revenue water. Per the JICA Phase 3 Final Report (Nov 2017), nearly half of what BWSSB pumps 95 km is lost between WTP and household meter (physical leakage + commercial losses + unmetered uses). Bringing NRW under 20% would free more water than the entire Stage V augmentation.
- BWSSB serves ~5.8M of ~14M GBA residents.The rest depend on private borewells (over-extracted - all 6 CGWB blocks Over-Exploited since 2011) and the ~5,000-tanker informal economy. The piped/non-piped split is the single biggest equity gap in Bengaluru's water story.
What the dashboard does show: the Cauvery Pumping hero (1,310 MLD installed across Stages I-V, 95 km / 500 m lift, 48% NRW, ~5.8M served), live daily storage at the 4 upstream Karnataka dams (TN Agri / TNAU reservoir page, which lists them alongside the TN reservoirs because Cauvery is shared), 8 years of daily history per dam (2018-today), 14-day AutoARIMA forecasts per dam, and the Stage V under-delivery flag from The Ken (Feb 2026: ~400 MLD actual vs 775 MLD design).
What's missing today
Several daily-operations layers aren't part of Bengaluru's public dataset. Most are tracked inside BWSSB's SCADA / IoT systems for internal monitoring; they just aren't routed to a public surface. Listed here so users know where this dashboard's daily view ends, and which RTI / partnership unlocks would move it from structural numbers to a real measured runway.
Daily T.K. Halli WTP raw + treated throughput per stage
The 5 Cauvery Stage I-V WTPs at T.K. Halli have SCADA-monitored daily raw-water intake and treated-water output. The JICA Phase 3 report flagged Stage V's designed 775 MLD; The Ken's Feb 2026 reporting put actual delivery at ~400 MLD - a daily series would close the gap between "commissioned" and "delivering".
Per-zone supply across the 9 BWSSB administrative zones
Zone-level supply telemetry isn't in the public dataset today. With it the dashboard could show which IISc-flagged stress wards (65 wards on the 2025 IISc Groundwater Outlook) are actually getting served vs which rely on tankers + over-extracted borewells.
CWR-wise live storage (84 ground-level reservoirs)
Aggregate CWR + WDSS count is documented in `bangalore-supply-overview.json` from JICA Phase 3; per-CWR live levels live in BWSSB's SCADA. Per-CWR readings would surface zone-level supply gaps in near real time.
Tanker calls served via Kaveriwheels app
BWSSB's Kaveriwheels app booking + delivery log would let us correlate stress-ward demand against IISc's 65-ward critical list. With ~19,000 downloads in a 14M city (2.8/5 rating), it's nowhere near the full ~5,000-tanker informal market scale OpenCity surveys - a public booking feed would expose that gap.
39 STP daily compliance + treated-effluent quality
KSPCB's OCEMS (Online Continuous Effluent Monitoring System) collects per-STP outlet readings continuously, but the public-facing dashboard is intermittent and partial. A daily public feed would link STP underperformance to the K&C cascade foam events at Bellandur / Varthur.
In flight: BWSSB Stage V monthly progress report
BWSSB publishes Stage V commissioning + Phase 3 progress reports irregularly. Parsing them to convert the headline static "775 MLD design" into a measured monthly delivery time series is the next planned data unlock here.
What each page shows for Bengaluru
Home / dashboard
Bengaluru's dashboard does NOT show a Chennai-style "days of water left" runway. Bengaluru is a pumped city, not a reservoir city: the only operational drinking source is Cauvery water lifted 95 km from T.K. Halli and ~500 m in elevation, served from BWSSB's 5 WTPs at the headworks. The dashboard hero (the Cauvery Pumping panel) anchors on that chain instead - infrastructure, transmission, NRW, and the stage-by-stage augmentation history.
Cauvery Pumping hero
The hero tile renders engineering numbers from bangalore-supply-overview.json: 1,310 MLD installed capacity across Stages I-V; 95 km transmission; 500 m lift; 48% NRW; ~5.8M population served against ~14M GBA; ~75% of revenue absorbed by pumping energy. Every number is anchored to the JICA Bengaluru Water Supply and Sewerage Project Phase 3 Final Report (November 2017) plus BWSSB's Stage V commissioning record (16 Oct 2024) and The Ken's February 2026 reporting on Stage V under-delivery (~400 MLD vs 775 MLD design).
Upstream Cauvery basin storage panel
Below the hero, four upstream Cauvery reservoirs (KRS, Hemavathi, Kabini, Harangi) are surfaced as a basin-storage panel - NOT as Bengaluru's tap supply. These dams are irrigation-primary; the city's share is the carve-out at T.K. Halli. The panel mirrors Madurai's Mullaperiyar pattern: a Kerala-side dam tracked because it feeds Madurai's supply. Daily history backfills and AutoARIMA forecasts on these four reservoirs are queued for a follow-up round; for now the panel surfaces registered capacities + catchment areas.
Tanker market
Bengaluru is the only city in the platform with a dedicated tanker page. With ~5,000 tankers operating across the city and BWSSB's piped network reaching only ~5.8M of ~14M residents, the tanker economy is a parallel water system - not a fringe phenomenon. The page anchors on the OpenCity Bengaluru Tanker Water Survey (longitudinal 2015 / 2019 / 2024 / 2025 waves), surfacing fleet size, rate spreads, IISc-flagged stress ward demand concentrations, and the BWSSB official-vs-informal rate gap (₹700 per 5 kL on Kaveriwheels vs ₹2,850 per 12 kL at summer 2024 crisis peak).
Groundwater
Bengaluru's groundwater page combines three views: CGWB block exploitation (the official annual classification), ward-level risk composite, and the CGWB live monitoring station network. Per-ward depth interpolation is deliberately disabled here - the underlying station density doesn't support an honest 369-ward choropleth.
Block exploitation (GWR)
6 CGWB-classified blocks across Bangalore Urban district - Bangalore (North), Bangalore-South, Bangalore-East, Bangalore-City, Yelahanka, Anekal - coloured by their latest annual draft-vs-recharge percentage from CGWB's Ground Water Estimation Committee assessment. Status classes: Safe / Semi Critical / Critical / Over Exploited. All six blocks have been Over-Exploited for the entire 13-year window 2011-2024. Bangalore-East is the worst at 306% (3.06x recharge); Yelahanka has accelerated from 140% to 260% in just four years (2020-2024). The panel auto-anchors on the worst-exploited block when the page loads.
CGWB monitoring station overlay
13 telemetric DWLR stations across the district, drawn as click-through markers. The set covers Nimhans, Lalbagh Garden, Jayanagar, Hesaraghatta, Thalaghattapura, Anekal, Cubbon Park, Dasanapura, Indian Institute of Science, Yelahanka, Adugodi, Bangalore University Ars Ls, and Singasandra. Stations sitting inside an IISc-flagged stress ward (Jayanagar, Yelahanka) are marked as such. Per-station hydrograph readings are queued for a follow-up CGWB Year Book transcription.
Why no per-ward depth choropleth?
We deliberately do NOT publish an IDW-interpolated per-ward depth choropleth for Bengaluru. The 13 CGWB telemetric stations spread across 369 GBA wards work out to roughly one station per 21 sq km - far too sparse to produce an honest per-ward interpolation. Spreading 13 points smoothly across 369 wards would manufacture precision the underlying data doesn't support. The 6-block GEC classification plus the station-point overlay together give an honest picture without faking ward-level granularity. Chennai's ward-depth choropleth is supported by OpenCity's monthly per-ward survey, which Bengaluru doesn't have an equivalent for.
Ward risk composite (3-factor)
A 3-factor weighted percentile score per ward, A-F graded. Mirrors the Madurai 3-factor composite (Chennai uses 5 factors but Bengaluru's drainage / sewerage / flood-hazard layers don't exist publicly yet):
- GW block exploitation (50%) - the ward's parent CGWB block's draft-vs-recharge percentage; higher = higher risk.
- Water-body density (20%) - kere per sq km within the ward; denser = lower risk.
- Water-body health (30%) - mean restoration-priority score within 3 km; higher priority = sicker tanks = higher risk.
Each factor is converted to a city-wide percentile (0=best, 100=highest risk), weighted, summed. Composite ≤20 = A, ≤40 = B, ≤60 = C, ≤80 = D, >80 = F. With all six blocks at >100% exploitation, the GW factor saturates most wards near the high end - the city-wide picture is fundamentally bleak.
Water bodies
1,897 OpenStreetMap-traced water-body polygons across BBMP. Click any polygon for its tags + restoration-priority score. Fourteen flagship lakes carry the full deep-zoom rich-data panel (boundary + 1 km halo + 37-year imagery slider + JRC water-loss tint + Dynamic World water + built-gain tint + Open Buildings v3 + Overture Maps Q1 2026 stats + curated timeline + sources modal): Bellandur, Varthur, Madivala, Ulsoor, Hebbal, Sankey, Yelahanka, Kempambudhi, Hesaraghatta, Agara, Puttenahalli, Jakkur, Rachenahalli, Iblur.
Lost-narrative overlay
Beyond the OSM-current polygons, the page surfaces a curated inventory of fully-lost and severely-reduced Kempegowda-era kere, anchored on Harini Nagendra's Nature in the City: Bengaluru (OUP 2016). Dharmambudhi (drained for the Majestic bus stand), Sampangi (Sri Kanteerava stadium), Karanji Anjaneya (Bishop Cotton playing fields), Akkithimmanahalli (hockey stadium), Domlur (BDA layout), and severely-reduced bodies like Kempambudhi, Halsoor (Ulsoor), and Sankey carry their conversion stories in click-through tooltips.
Cascade reconstruction overlay
A toggle on the map switches in the platform's terrain-derived cascade graph: 1,033 cascade nodes (water-bodies >= 1 ha) connected by 1,053 directed edges, draining via 43 river outlets into the Vrishabhavathi / Koramangala-Challaghatta / Hebbal channels. Multi-outflow scoring is enabled to honour Bengaluru's ridge-city geometry, where traditional kere chains had both a feeder and a separate surplus channel. Maximum cascade depth is 11 nodes; the top-convergence anchor is Doddajala Kere on the Hebbal cascade (degree_in=8). Full methodology lives under the cascade methodology section below.
Rivers
Bengaluru sits on a ridge that splits into three valleys - Vrishabhavathi west (to Cauvery via Arkavathy), Koramangala-Challaghatta south (the Bellandur-Varthur foam cascade, ultimately to Dakshina Pinakini), and Hebbal-Nagavara north (also to Dakshina Pinakini via the Nagavara channel). The page ships these three named rivers as OSM polylines plus the channels feeding them through the BBMP cascade network.
KSPCB monitoring stations
9 monitoring stations across the three rivers, sourced from KSPCB's monthly water quality reports cross-referenced with CPCB's National Water Monitoring Programme. Per-station readings cover BOD, COD, DO, pH and coliform counts. Markers are colour-coded by latest BOD: red above 6 mg/L, amber above 3, green at or below 3. The Vrishabhavathi and K&C downstream stations consistently show severe-pollution readings; this is the empirical record behind the foam-and-fire narrative on Bellandur and Varthur.
River events log
12 hand-curated event entries: the foam crises and fires (16 Feb 2017 Bellandur burns, January 2018 second fire, recurring post-monsoon 2024 events), the NGT Forward Foundation order (OA 222/2014, 75 m / 50 m / 30 m buffer regime), Karnataka Lokayukta's 2011 lake-encroachment report, BDA restoration tenders (Bellandur-Varthur joint tender 2020).
Industrial pollution sources
14 industrial clusters mapped as type-coloured markers across the three valleys: Peenya industrial estate, Bommasandra, Yelahanka, Mahadevapura, Whitefield, Bidadi, Doddaballapur, plus textile-dyeing / electroplating / tannery clusters that feed the Vrishabhavathi and K&C catchments. Compiled from KIADB records, KSPCB consent-to-operate filings, and IISc CES (T.V. Ramachandra) academic surveys.
Flood risk
Narrative-only stub. Hazard-zone polygons (5/10/25/50/100/200-year return periods), historical flood-hotspot layers, stormwater-drain GeoJSON, and sewerage overlays for Bengaluru aren't published publicly (in contrast with Chennai's OpenCity-published layers). The page surfaces the rajakaluve (storm-drain) network from BWSSB's GIS extract and notes the recurring 2022 / 2024 outer-ring-road inundation (Whitefield / Sarjapur / ORR-East) tied to encroached rajakaluves and Bellandur-Varthur overflow.
My Ward / Report Card
Ward-boundary map for the GBA's 369-ward post-15-May-2025 delimitation (notified 19 Nov 2025), spread across 5 City Corporations. Click a ward to see corporation, area, centroid, the parent CGWB block's exploitation percentage, and a link into the per-ward risk panel.
Per-ward risk panel
Each ward shows its 3-factor risk composite (described above under Groundwater), the A-F grade, the ward's rank within the city, and a per-factor breakdown. 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.
Bengaluru's report card is intentionally slimmer than Chennai's. Chennai ships a 5-factor composite plus an uplift-planner cost matrix; the costing layer is out of scope here because the underlying drainage and flood-hazard layers aren't published for Bengaluru.
Water facts
Journalist-ready quotable stats grouped by freshness tier - live (this season), derived (last 12 months), historical (documented), and heritage (pre-modern). Today Bengaluru ships ~32 hand-curated facts spanning the JICA Phase 3 infrastructure numbers (1,310 MLD supply, 95 km transmission, 48% NRW, ~5.8M served), the CGWB GEC findings (all 6 blocks Over-Exploited since 2011, Bangalore-East at 306%, Yelahanka 140 → 260 in 4 years), the IISc 65 stress-ward count, the foam-and-fire chronology (16 Feb 2017 Bellandur burns), the cohort-level water-loss numbers (Hesaraghatta 369.5 ha lost), the restoration-recovery numbers (Puttenahalli body water +50 pp, Jakkur engineered-wetland model), Heritage anchors (1537 Kempegowda founding, 1882 Sankey, 1894 Hesaraghatta), and the GBA 369-ward administration baseline.
Origins (long-read)
A 4-chapter long-read covers the Kempegowda founding (1537) → Cantonment + Hesaraghatta (1882 / 1894) → Cauvery stages (1974 → 2024) → today's parallel water economy (tankers + over-extracted borewells + IISc-flagged stress wards). 11 named sources anchor the narrative including Nagendra's Nature in the City, the JICA Phase 3 Final Report, IISc Groundwater Outlook, NGT Forward Foundation v Karnataka, and Forward Foundation / Friends of Lakes citizen-group accounts. Replaces a Chennai-style runtime LLM CityStory with a hand-edited historical narrative.
Intelligence & AI narratives
Daily AI briefings, longer-form weekly narratives, and per-ward AI profiles are pending for Bengaluru- the underlying summary stores aren't yet multi-city. Until those land, the page surfaces raw data without an AI commentary layer.
Cascade reconstruction methodology - Bengaluru
Bengaluru'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 - Bengaluru→ 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 (1,033 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 (1,053 edges): predicted tank-to-tank cascade links. Each upstream tank has at most one outflow.
- Amber lines (43 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_typein{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.geojsonwe already use on the map.
Algorithm (per tank)
- Compute centroid; sample DEM elevation and D8 flow direction at that point in a single batched Earth Engine call.
- Find all other tanks within 3 km whose elevation is lower.
- Reject candidates that fall outside ±67.5° of the upstream tank's flow-direction bearing - terrain-aware directionality, not just "is downhill".
- Reject candidates whose straight-line edge would cross a mapped river segment - water doesn't flow across rivers.
- Pick the single steepest remaining candidate (elevation drop / distance) as this tank's outflow.
- For tanks with no tank-to-tank outflow but a flow direction pointing to a river within 2 km: mark
drains_to_riverand 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 Bengaluru; 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
predictedonly. A future iteration will cross-check predicted edges against OSMwaterway=*tags and Sentinel-1/2 monsoon imagery, then label each edge asintact / partial / broken / encroached. - OSM
water_type=reservoiris 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 Bengaluru: 834 high (79%), 195 medium (19%), 24 low (2%).
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 Bengaluru: Doddajala Kere has 8 predicted upstream feeders. Maximum cascade depth in Bengaluru is 11.
- 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_reasonfield distinguishing genuine basin orphans from data-coverage gaps. See the bucket-by-bucket breakdown above.
Data sources for Bengaluru
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
The same TN Agri page that feeds Madurai's Vaigai + Mullaperiyar also serves daily storage / level / inflow / outflow for the 4 upstream Karnataka Cauvery dams (KRS, Hemavathi, Kabini, Harangi). Cauvery is a shared inter-state basin, so the dams appear on the same TN page even though they sit in Karnataka. Dated archive back to 2018-01-01 powers the 8-year history chart per dam.
Engineering-grade structural numbers extracted from the JICA Phase 3 Preparatory Survey Final Report (November 2017): 1,310 MLD installed treatment across Stages I-V at T.K. Halli; 95 km transmission distance + 500 m elevation lift; 48% NRW; ~5.8M population served vs ~14M GBA; ~865,000 piped connections (2017); 8,746 km distribution mains; 84 ground-level CWRs + 84 WDSS across 9 zones; 2,235 MLD CWSS allocation; 2034 demand projection 2,608 MLD; project cost Rs 5,690 crore (85% JICA loan). Powers the Cauvery Pumping hero + bangalore-supply-overview.json.
Stage V was commissioned at T.K. Halli on 16 October 2024 with 775 MLD design capacity. The Ken reported in Feb 2026 that actual delivery is ~400 MLD - about half the design. The shortfall is part of why ~33% of BBMP wards (IISc Groundwater Outlook 2025) still rely on tankers + over-extracted borewells.
14-day forecast with 80% confidence band per dam (KRS, Hemavathi, Kabini, Harangi), refit daily as new readings land. Fitted on a 2-year history window for tractable wall-clock; seasonal AutoARIMA with annual season_length=365.
Free, no-auth daily weather data: precipitation, temperature, humidity, ET0, wind. ECMWF / ERA5-Land base.
India Meteorological Department 0.25-degree gridded rainfall, 1970-present. Bengaluru grid cell at 12.97 deg N, 77.6 deg E. Used for monsoon-context overlays (Bengaluru is south-west monsoon dominant with a smaller north-east monsoon tail through Oct-Nov; Cauvery basin recharge depends on both).
369 Bengaluru neighbourhood points (Whitefield, Indiranagar, Koramangala, HSR Layout, JP Nagar, Yelahanka, Hesaraghatta, Bommanahalli, etc.) - one per GBA ward - in public/data/bangalore-localities.json. Powers locality-name -> ward resolution in the my-ward search box.
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). 6 canonical blocks across Bangalore Urban district (Bangalore (North), Bangalore-East, Bangalore-South, Bangalore-City, Yelahanka, Anekal) extracted across 7 vintages 2011-2024 from the WRIS ArcGIS REST endpoint by scripts/fetch-wris-groundwater-bangalore.ts. All 6 blocks have been Over-Exploited every year (Bangalore-East worst at 306% draft-vs-recharge in GEC 2024; Yelahanka accelerated 140 -> 260% in 4 years 2020-2024).
13 telemetric DWLR stations across Bangalore Urban district observed via the India-WRIS API: Nimhans, Lalbagh Garden, Jayanagar (IISc stress ward), Hesaraghatta Piezometer, Thalaghattapura, Anekal, Cubbon Park, Dasanapura, Indian Institute of Science, Yelahanka (IISc stress ward), Adugodi, Bangalore University Ars Ls, Singasandra. Density ~1 station per 21 sq km is too sparse to honestly IDW across 369 GBA wards - so the per-ward depth choropleth is deliberately disabled here (Chennai's depth view is supported by OpenCity's monthly per-ward survey, which Bengaluru doesn't have an equivalent for).
BWSSB-commissioned IISc Groundwater Outlook (April 2025) identifies 65 of 198 BBMP wards (~33%) as critically over-extracted - operating beyond CGWB's safe-yield limit. Stage V was designed to relieve these wards via piped supply; the Stage V under-delivery is why most remain on groundwater + tankers. Referenced by the round-7 cgwb-stations file (per-station proximity flag) and surfaced in the dashboard's headline.
Independent academic-grade water balance for Greater Bengaluru: rainfall, runoff, recharge, demand, supply gap, source-mix accounting. Used as a cross-check against JICA Phase 3 numbers; cited in `bangalore-supply-overview.json._secondary_local_source`.
Water bodies & restoration
Base geometry for water-body polygons and the rivers polyline.
OpenStreetMap community-mapped water bodies across BBMP, fetched via Overpass bbox query and committed to public/geojson/bangalore-water-bodies-current.geojson. 1,033 polygons larger than 1 ha become cascade nodes in the round-10 reconstruction; the rest are sub-hectare ponds.
Canonical academic source for Bengaluru kere history: ~280 named kere in 19th-century Greater Bengaluru gazetteers, ~100 functional today. The 9 fully-lost / severely-reduced bodies surfaced in our lost-narrative overlay (Dharmambudhi -> Majestic, Sampangi -> Sri Kanteerava, Karanji Anjaneya -> Bishop Cotton, etc.) are anchored on Nagendra's documentation.
IISc Centre for Sustainable Technologies (CES) 105-lake survey + ongoing Bellandur / Varthur monitoring. Cited in restoration-priority narrative, the K&C foam cascade story, and the rich-body cohort's water-trend caveats.
The 2016 NGT order that imposed the 75 m no-construction buffer around BBMP lakes + 50 m around rajakaluves + 30 m around secondary drains, and halted Mantri Tech Park (Espana) and Coremind constructions encroaching the Bellandur buffer. The legal anchor for every BBMP rich-body panel's status badges + the cascade-Layer-B court_anchor on K&C foam cascade.
14 flagship lakes with the full deep-zoom panel: Bellandur, Varthur, Madivala, Ulsoor, Hebbal, Sankey, Yelahanka, Kempambudhi, Hesaraghatta, Agara, Puttenahalli, Jakkur, Rachenahalli, Iblur. Each ships polygon + 1 km halo + 37-year imagery slider (1990-2026 yearly) + JRC water-loss tint (1988-92 vs 2017-21) + Dynamic World water-class extension (2022-now) + Dynamic World built-gain tint (2016-18 vs 2023-25) + Open Buildings v3 + Overture Q1 2026 stats + curated timeline + sources modal.
HydroSHEDS conditioned DEM + D8 flow direction + multi-outflow scoring produces 1,033 cascade nodes / 1,053 edges / 43 river outlets / max depth 11 for the BBMP-wide cascade graph. Layer B curation today: 4 named chains (K&C foam cascade with NGT Forward Foundation anchor / Yelahanka-Hebbal north restoration model with JNNURM Jakkur anchor / Vrishabhavathi headwaters with 1894 Hesaraghatta anchor / Kempegowda old-city heritage fragments). 76 auto-derived chains scored LOW priority pending further Layer B.
Rivers & pollution
9 stations across the 3 Bengaluru rivers (Vrishabhavathi / Arkavati / Dakshina Pinakini) extracted from KSPCB monthly water quality reports cross-referenced with CPCB NWMP annual River Water Quality reports. Per-station BOD / COD / DO / pH / fecal coliform readings, 2020-2024 covered. Caveat: OSM polylines for these rivers are partial through built-up BBMP (urban segment flows as storm drains); 8 of 9 sampling stations carry an off_osm_river_polyline flag because they sit at named city places where OSM doesn't trace the river - documented in scripts/snap-river-stations.py.
The 16 Feb 2017 Bellandur foam fire drew international news + a PMO statement. NGT constituted a Bellandur-Varthur monitoring committee under retired Justice Santosh Hegde and ordered the 75 m / 50 m / 30 m buffer regime. A second foam fire in January 2018 escalated compliance pressure. The 2017 NGT order is the legal anchor for both the rich-body panels' status badges and the K&C foam cascade in the round-18 cascades page.
14 industrial clusters mapped as type-coloured markers across the three valleys: Peenya, Bommasandra, Yelahanka, Mahadevapura, Whitefield, Bidadi (Toyota / Bidadi industrial belt), Doddaballapur, plus textile-dyeing / electroplating / tannery clusters that feed the Vrishabhavathi and K&C catchments. Compiled from KIADB records, KSPCB consent-to-operate filings, and IISc CES academic surveys.
Karnataka State Pollution Control Board's online continuous effluent monitoring system for red-category industries. Public-facing dashboard is intermittent and partial; cross-check reference for the curated industrial sources list.
Flood & civic infrastructure
14,121 km of mapped underground sewerage trunks feeding the 39 BWSSB STPs, extracted from a BWSSB GIS source and shipped as public/geojson/bangalore-sewerage-trunks.geojson. Gravity-fed except across the ridge between valleys, where pumping stations lift to the next basin.
39 STPs as of 2024 (vs 14 at the JICA Phase 3 baseline in 2017) with locations + design capacity in public/geojson/bangalore-stps.geojson. Aggregate installed capacity ~1,500 MLD against ~1,400 MLD generation; the treatment-meets-generation milestone disguises persistent KSPCB compliance gaps at older plants.
Standard 5 / 10 / 25 / 50 / 100 / 200-year flood return-period polygons + the BBMP rajakaluve (primary storm drain) GeoJSON + historical flood hotspots (Whitefield / Sarjapur / ORR-East inundation events 2022 / 2024) aren't publicly released for Bengaluru today. Tracked as RTI follow-ups to BBMP and the Greater Bengaluru Authority.
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
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 Bengaluru
Layers we'd like to surface for Bengaluru that aren't publicly released yet. Each one has the workaround currently in place; tracked as RTI / partnership follow-ups.
No public flood-hazard return-period layer
Standard 5 / 10 / 25 / 50 / 100 / 200-year flood return-period polygons are not currently published for Bengaluru. The flood-risk page surfaces the BWSSB rajakaluve / sewerage trunk network + a narrative on recurring Whitefield / Sarjapur / ORR-East inundation tied to encroached storm drains and Bellandur-Varthur overflow.
No public BBMP rajakaluve GeoJSON
The primary stormwater drain (rajakaluve) network is mapped internally by BBMP but the GeoJSON is not publicly released. NGT Forward Foundation order set a 50 m buffer regulation around them but enforcement requires the boundary; tracked as an RTI / GBA-partnership follow-up.
No public BWSSB tanker call log / Kaveriwheels feed
BWSSB's Kaveriwheels app (~19K downloads in a 14M city) collects booking + delivery data but does not publish a feed. OpenCity Tanker Survey 2024-25 fills the gap with a ~5,000-tanker estimate + crisis-peak rate spreads; a public Kaveriwheels feed would let us correlate stress-ward demand against IISc's 65-ward critical list.
No per-ward depth choropleth (deliberate)
Bengaluru has 13 CGWB telemetric DWLR stations across 369 GBA wards - density ~1 station per 21 sq km, far too sparse to honestly interpolate a per-ward choropleth. Instead the groundwater page surfaces the 13-station point overlay alongside the 6-block GEC exploitation classification + 3-factor ward risk composite. The IDW-interpolated view that Chennai uses is deliberately disabled because Bengaluru lacks Chennai's equivalent of the OpenCity monthly per-ward survey.
Per-station hydrograph readings deferred
The 13 CGWB station markers carry name + block + IISc-stress-ward proximity but the annual hydrograph series (peer-reviewed quarterly depth-to-water-level readings) hasn't been transcribed from the CGWB Karnataka Year Book yet. Tracked as a follow-up Year Book PDF parse / RTI.
Lost-kere coordinates not populated
The 9 Nagendra-anchored lost / severely-reduced kere have name + status + conversion note but no lat/lng - the fully-lost ones (Dharmambudhi, Sampangi, Karanji Anjaneya, Akkithimmanahalli, Domlur) have no OSM presence (they're under bus stations, stadiums, schools and BDA layouts). The 4 severely-reduced bodies are mappable via their OSM osm_ids (Kempambudhi, Ulsoor, Sankey, Bellandur) and already surface in the rich-body cohort. 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 + severely-reduced kere (Nagendra OUP 2016 + IISc CES)
Conservative named-only inventory. Greater Bengaluru had ~280 kere in 19th-century gazetteers vs ~100 functional today, so the fully-lost set runs into the dozens at BBMP scale - this table lists only the named cases where conversion to built use is unambiguously documented.
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 GitHubSupport 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