Why rain gauges and forecasts missed Colombo's flash flood.
Ranga Dayawansha, FloodSupport.org · 7 November 2026
Summary
On the evening of 6 November 2026, streets in Colombo flooded within hours. FloodSupport.org's "Am I Safe?" check showed no warning for Colombo at the time. This paper explains why, using the data we had that evening.
The short answer: the weather forecast underestimated the storm, Colombo's only gauge in the Irrigation Department's network does not measure rain, and the nearest gauges that measured heavy rain were 40 to 50 km away. Across Sri Lanka, only 68 of 340 DS divisions have a rain gauge within 10 km. A storm a few kilometres wide can fall between them unmeasured.
We have changed how the service works because of this, and we set out what would help most: more measured rain, satellite rain estimates, weather radar, and reports from people who are there.
What the data showed on 6 November
The forecast. The weather model we use for rain forecasts (Open-Meteo) showed no heavy rain for Colombo. Global weather models work on grids several kilometres wide and often underestimate short, intense convective storms, which is what flash floods come from.
The gauges. The Irrigation Department's river gauges report rain about every hour. That evening, gauges east and south of Colombo measured heavy rain in 3 hours:
| Gauge | From central Colombo | Rain in 3 hours |
|---|---|---|
| Kalawellawa (Millakanda) | 47 km | 116 mm |
| Badalgama | 44 km | 64 mm |
| Putupaula | 41 km | 63 mm |
| Nagalagam Street, Colombo | 4 km | Not measured |
Colombo's own gauge. The Nagalagam Street gauge on the Kelani River is the only gauge in Colombo in the Irrigation Department's network. It measures the river's level, not rain: the Department's own report shows no rainfall figure for it. The nearest gauges that measure rain are Hanwella (25 km), Dunamale (32 km) and Glencourse (37 km). So no gauge in this network could have measured the rain that fell on Colombo itself.
Flood maps. None of the flood maps we checked that evening showed the street flooding. River flood forecasts and satellite flood maps are built for rivers over days. Radar satellites also struggle to see water between buildings, and a city flash flood can drain before a satellite passes over.
Alerts. Our Rain Watch, which checks every DS division every hour, did raise alerts that evening for divisions where those gauges stand. Nobody received them: sending was still switched off while we tune its thresholds, and no one was following those divisions yet.
The Nagalagam Street gauge
| Gauge | Nagalagam Street |
| River basin | Kelani Ganga (Kelani River) |
| Place | Nagalagam Street, Colombo 14 (Grandpass), near the mouth of the Kelani River |
| Coordinates | 6.9581° N, 79.8786° E |
| Operated by | Irrigation Department of Sri Lanka (Hydrology and Disaster Management Division reports its levels) |
| Published as | Feature service "gauges_2_view", owned by the account "irrigationgis" in the ArcGIS organisation named "Irrigation Department" (SLIrrigation), which also publishes the dashboard "Realtime Water Level in Major River" |
| Unit | Feet. It is the only gauge in feet; every other gauge in the report is in metres |
| Flood levels | Alert 4.00 ft · Minor flood 5.00 ft · Major flood 7.00 ft |
| Water level | 1.90 ft at 6 PM, 7 Nov 2026 (Normal) |
| Rainfall | Shown as "-" in the Department's report, where every other gauge has a figure: no rain measurement |
| Rain value in the public feed | 0 in all 169 readings from 30 Oct to 7 Nov, which is not a measurement |
This is the Irrigation Department's main gauge for Kelani River floods in Colombo. It is the only gauge inside Colombo in the Department's public feed; the nearest others are Hanwella (25 km) and Glencourse (37 km).
Rain. The public feed sends a rain value of 0 for this gauge in every reading, including 6 November. That could be read as "no rain in Colombo". It is not: the Department's report, which gives a rainfall figure for every other gauge, shows a dash for Nagalagam Street. The 0 in the feed means not measured. Anyone using the feed, us included, should not treat it as a reading. FloodSupport.org now ignores it.
Units. The feed gives no units. The report does: Nagalagam Street is in feet and the other gauges in metres, with the same alert and flood levels as the feed. FloodSupport.org showed every level in metres until 7 November 2026; it now shows each gauge's own unit.
How much of Sri Lanka has rain measured nearby
The Irrigation Department publishes readings from 40 river gauges, and 39 of them also measure rain. That is about one rain gauge for every 1,680 km². For each of the 340 DS divisions, we measured how far its centre is from the nearest gauge that measures rain:
| Nearest gauge | DS divisions | Share |
|---|---|---|
| Within 10 km | 68 of 340 | 20% |
| Within 20 km | 184 of 340 | 54% |
| Within 50 km | 309 of 340 | 91% |
Flash floods come from storms that can be only a few kilometres across. For about four in five divisions, such a storm can fall without any gauge measuring it. A gauge 20 or 50 km away tells you a storm is in the region, not whether it is over you.
Over the 15 days up to 7 November, an alert from heavy rain at any gauge within 50 km of Colombo (60 mm or more in 3 hours) would have been raised on 2 days, 26 October and 6 November. It would not have been raised all the time, so it is worth using, but it is a regional signal, not a street-level one.
What we changed
Rain measured nearby. "Am I Safe?" now shows Watch when any gauge within 50 km has measured 60 mm or more in the last 3 hours, so a storm the forecast missed can still raise the answer.
No more "All clear". When no source shows a problem, the answer is "No alert", with a note that this does not mean a place is safe. The page links to our Terms & Conditions, which explain what the service cannot know.
Reports from people. After checking their own location, anyone can now say what is happening there, from "Water on the road" to "Life in danger". One report is shown as unconfirmed; a second person, heavy rain measured nearby, or our staff confirm it. Reports appear for people within 2 km, on the Flood Map and in Safe to travel?, and fade after 3 hours. People in the water see what no sensor does.
What would close the gap
1. A rain gauge at Nagalagam Street. The station already reports every hour. A rain gauge there would give Colombo its first measured rain in this network.
2. Open, hourly data from the Department of Meteorology. The Department runs its own rain gauge and weather station network, including in Colombo. Hourly readings in a form software can read would add measured rain where the river gauges are not.
3. Satellite rain estimates. NASA's IMERG and JAXA's GSMaP estimate rain for the whole country every 30 to 60 minutes at about 10 km, with a short delay. They are less exact than gauges but fill the space between them.
4. Weather radar. Radar sees a storm's shape and movement minute by minute and is the main tool for flash flood warnings in many countries. Public access to Sri Lanka's radar data, where it exists, would help most.
5. People on the ground. Community reports, Grama Niladhari officers and local volunteers cover streets that no sensor network will. They need a simple way to report and a way for the reports to reach people nearby quickly.
Data and methods
Gauge readings. FloodSupport.org reads the Irrigation Department's public ArcGIS feature service (gauges_2_view) every few minutes. Each record has the gauge, basin, water_level, rain_fall, alert, minor and major flood levels, and the time it was edited. rain_fall is the rain since the gauge's previous reading, about one hour.
Rain in 3 hours. For each gauge, we add up rain_fall over the readings within 2 hours 45 minutes of its latest reading. If the latest reading is more than 3 hours old, the gauge gives no value rather than a stale one. The 24-hour figure is the sum over the last 24 hours of readings, the same way.
Heavy rain. 60 mm or more in 3 hours counts as heavy rain measured. This is our working threshold for short, intense rain, and it is what raises Watch in "Am I Safe?" within 50 km and an Alert in Rain Watch for the gauge's DS division.
Coverage. For each of the 340 DS divisions (boundaries from nuuuwan/lk_admin_regions), we took the division's centre and measured the great-circle distance to every gauge in the feed on 7 November 2026 that measures rain (39 of 40; Nagalagam Street does not), keeping the nearest. Gauge density is Sri Lanka's land area, about 65,610 km², divided by 39. Units and which gauges measure rain come from the Department's report Islandwide Water Level & Rainfall Situation in Major Rivers.
Distances from Colombo are measured from 6.9271° N, 79.8612° E, central Colombo.
Forecast. Rain forecasts are from Open-Meteo, which combines global and regional weather models.
Limits of this analysis
Distances are from the centre of each DS division, so parts of a division can be nearer to or further from a gauge. We counted only gauges in the Irrigation Department's public feed, not the Department of Meteorology's or private stations. Which gauges measure rain, and their units, come from the Department's report of 7 November 2026 and may change. The 15-day check covers a short period and one threshold.
Researchers who study rainfall or floods in Sri Lanka and want to improve or challenge these findings are welcome to get in touch.
About the author
Ranga Dayawansha is the founder of FloodSupport.org, Sri Lanka's community flood and disaster response platform. The author gathered the data, ran the analysis and is responsible for the findings. Contact: rangadayawansha.com.
Analysis and drafting were assisted by Claude, an AI model by Anthropic. The data, figures and conclusions were checked by the author.
Sources
Irrigation Department of Sri Lanka: Realtime Water Level in Major River dashboard and its gauge feature service, and its report Islandwide Water Level & Rainfall Situation in Major Rivers (published on the DMC website), also shown on our River levels page. Open-Meteo weather forecasts. FloodSupport.org Rain Watch records. DS division boundaries from nuuuwan/lk_admin_regions.