KUALA LUMPUR, Dec 5 — Ever wondered why, even during heavy rains, Kuala Lumpur does not flood as badly as you might expect?
Before we get into the details, here’s a glimpse at some of the country’s most extraordinary rainfall records.
Malaysia’s highest daily rainfall was recorded in Kota Bharu, Kelantan, on January 6, 1967 — a staggering 608.1 mm, equivalent to roughly 60cm of water depth.
Meanwhile, the highest monthly rainfall occurred in Kuantan, Pahang, in December 2014, at 1,806 mm.
In Mulu, Sarawak, a total of 289 rainy days were recorded in 2022, with the highest annual rainfall ever reaching 6,173.1 mm the same year.
To put this into perspective, Kuala Lumpur has recorded a total of 1,863 mm of rainfall up to September this year, according to the latest figures from the Department of Irrigation and Drainage (JPS) WPKL.
Over the past five years, the city’s average annual rainfall has stood at about 3,247 mm.
Looking ahead, the Malaysian Meteorological Department’s (MetMalaysia) National Climate Centre Long-Range Weather Outlook predicts that KL is expected to receive between 170 mm and 470 mm of monthly rainfall from December to May 2026, which falls within the normal range.
While pockets of flood retention ponds are scattered across the city to safeguard residents, businesses and critical urban infrastructure from the effects of severe floods, there may come a time when these facilities exceed their capacity during periods of heavy downpour.
Despite being located in a valley and facing year-round rainstorms, the city has generally managed to avoid severe flooding in many heavy rainfall events, thanks in part to its flood mitigation infrastructure.
Preparing for the worst
According to JPS KL, Kuala Lumpur’s flood mitigation strategy (KLFM) revolves around three primary infrastructure components, each designed to address different aspects of the city’s flood risk and enhance its overall resilience.
KLFM- A: Stormwater Management and Road Tunnel (SMART Tunnel)
The 9.7 km-long SMART Tunnel handles both motorway traffic and floodwaters, with a capacity of up to three million cubic meters of water.
Completed in January 2003 as a dual-function tunnel, four kilometres of the SMART Tunnel serves both as a motorway and a waterway, while also diverting excess flood runoff from the upper catchment at the confluences of Sungai Klang/Sungai Ampang and Sungai Gombak/Sungai Klang (near Masjid Jamek).
The tunnel’s integrated system forms a critical part of Kuala Lumpur’s flood mitigation and detection infrastructure by retaining flood water until it subsides before discharging the water into the downstream Klang River via Kerayong River.
In fact, the SMART Tunnel consists of several integrated key structures, including the diversion structure, the Kampung Berembang holding pond (capacity of 600,000 m³), the tunnel itself (capacity of one million m³), and the Taman Desa attenuation pond (capacity of 1.4 million m³).
One of the most crucial components of the SMART Tunnel is its Flood Detection System, which continuously collects and analyses real-time hydrological data — including rainfall, water levels, and river flow — to forecast potential flooding based on storm characteristics and determine the appropriate operational mode for the tunnel.
In Mode 1, the SMART Tunnel operates under normal flow conditions in the Klang River, with no flood diversion required and the motorway fully open to traffic.
In Mode 2, when water flow exceeds 70 cubic metres per second (m³/s), the tunnel’s diversion process is activated, utilising only the lower drain section to manage excess floodwater.
In Mode 3, when water flow exceeds more than 150 m³/s, the motorway compartments are cleared of traffic to prepare the tunnel for full flood diversion.
In Mode 4, if heavy rainfall persists, the tunnel operates at full capacity with the motorway fully utilised to flow the flood water.
Since commencing operations in July 2007, the SMART Tunnel has helped prevent severe flash floods in Kuala Lumpur during hundreds of rainfall events, including several major thunderstorms.
KLFM-B: Sungai Klang Basin Office (PLSK) — Overseer of key reservoirs and water flow diversion system
During heavy rainfall, JPS WPKL’s PLSK is responsible for diverting excess water from two rivers: the Gombak River via the Gombak Diversion and the Keroh River via the Keroh Diversion, particularly when the Gombak and Keroh catchment areas experience significant runoff.
According to JPS WPKL, during peak flood conditions, an estimated 275 m³/s of excess water from the Gombak River is diverted through the 3.375 kilometre-long Gombak Diversion to a regulating pond.
Additionally, 150 m³/s of excess water from the Batu River is directed to the same regulating pond before entering the Batu Reservoir — capable of holding up to 4.5 million cubic metres (MCM) from entering directly into the city centre.
Under the same peak flood conditions, the Jinjang Reservoir — which originally comprised the Nanyang, Wahyu, and Delima Reservoirs — also receives excess water via two rivers.
The Keroh River contributes an estimated 100 m³/s of flow over a distance of 2.2 kilometres, while the Jinjang River adds approximately 80 m³/s to the Jinjang Reservoir, which has a capacity of up to 2.5 MCM.
During peak flooding conditions, KLFM-B has successfully reduced excess water flow from 600 m³/s to 400 m³/s.
KLFM-C: Sungai Bunus Flood Retention Project (RTB)
Comprising six flood retention ponds and one flood diversion, RTB Sungai Bunus is designed to accommodate 750,000 m³ of flood water, helping to mitigate flooding along Jalan Tun Razak, Jalan Gurney, Jalan Semarak, as well as in Kampung Baru and its surrounding areas.
The largest is the Setapak Jaya retention pond, with a capacity of 228,490 m³, followed by the Sri Rampai retention pond at 141,000 m³, the Kg Boyan retention pond at 131,000 m³, and the Pulapol underground retention pond at 109,000 m³.
The remaining facilities are the Titiwangsa retention pond at 79,000 m³, the Air Panas retention pond at 33,000 m³ and the Sungai Bunus flood diversion with a capacity of 21,600 m³.