Understanding Drainage Flow Rate Calculations in the UK
Proper drainage design is a critical aspect of construction and civil engineering in the United Kingdom. Whether designing a rainwater harvesting system, sizing gutters for a conservatory, or planning soakaways in accordance with Building Regulations Part H, calculating the correct flow rate is essential to prevent flooding and structural damage.
This calculator uses the standard Rational Method adapted for UK metric units, helping architects, builders, and homeowners estimate the volume of water generated during rainfall events.
The Formula
The core calculation used for determining surface water runoff is based on the relationship between area and rainfall intensity:
Q = (A × i × C) / 3600
Where:
Q = Flow rate in litres per second (l/s)
A = Catchment Area in square metres (m²)
i = Rainfall Intensity in millimetres per hour (mm/hr)
C = Runoff Coefficient (dimensionless factor usually between 0.0 and 1.0)
3600 = Conversion factor (seconds in an hour) to convert the result into l/s
Key UK Standards and Variables
1. Catchment Area (m²)
This is the plan area of the surface collecting rain. For pitched roofs, you should use the plan area (the horizontal footprint), not the sloped surface area, as rain falls vertically.
2. Rainfall Intensity (mm/hr)
In the UK, the choice of rainfall intensity depends on the level of risk acceptable for the structure:
50mm/hr: Common standard for eaves gutters and general surface drainage (BS EN 12056-3).
75mm/hr: Used for valley gutters or areas where overflow would cause significant damage inside a building.
100mm/hr+: Considered for high-risk areas or flash-flood scenarios in specific geographic locations.
3. Runoff Coefficient (C)
Not all rain that hits the ground enters the drain. Some is absorbed or evaporates. The runoff coefficient accounts for this:
1.0 (100% Runoff): Watertight surfaces like metal roofs, slate, or synthetic membranes.
0.90 – 0.95: Asphalt roads, concrete driveways, and paved patios.
0.25 – 0.35: Grass, gardens, and soft landscaping (permeable surfaces).
Why is this calculation important?
Under-sizing drainage pipes or soakaways can lead to backlogs during heavy storms. Conversely, over-engineering systems is costly. By accurately calculating the litres per second (l/s) flow rate, you can select the correct pipe diameters (e.g., 110mm vs 160mm) and ensure compliance with BS EN 752 and The Building Regulations 2010 Part H (Drainage and Waste Disposal).
// Handle dropdown change for custom coefficient
var dropdown = document.getElementById('runoffCoefficient');
var customGroup = document.getElementById('customCoeffGroup');
dropdown.onchange = function() {
if (this.value === 'custom') {
customGroup.style.display = 'block';
} else {
customGroup.style.display = 'none';
}
};
function calculateFlowRate() {
// 1. Get input values
var area = parseFloat(document.getElementById('catchmentArea').value);
var intensity = parseFloat(document.getElementById('rainfallIntensity').value);
var coeffSelect = document.getElementById('runoffCoefficient').value;
var coefficient = 1.0;
// 2. Validate Area and Intensity
if (isNaN(area) || area <= 0) {
alert("Please enter a valid Catchment Area greater than 0.");
return;
}
if (isNaN(intensity) || intensity <= 0) {
alert("Please enter a valid Rainfall Intensity.");
return;
}
// 3. Determine Coefficient
if (coeffSelect === 'custom') {
var customVal = parseFloat(document.getElementById('customCoefficient').value);
if (isNaN(customVal) || customVal 1) {
alert("Please enter a valid Custom Coefficient between 0.0 and 1.0.");
return;
}
coefficient = customVal;
} else {
coefficient = parseFloat(coeffSelect);
}
// 4. Calculate Logic
// Logic: 1 mm of rain on 1 m² = 1 litre.
// Total Litres per Hour = Area (m²) * Intensity (mm/hr) * Coefficient
// Litres per Second = Total Litres per Hour / 3600 seconds
var totalLitresPerHour = area * intensity * coefficient;
var flowRateLPS = totalLitresPerHour / 3600;
// Cubic metres per hour = Litres per hour / 1000
var flowRateM3H = totalLitresPerHour / 1000;
// 5. Display Results
var resultBox = document.getElementById('results');
var lpsOutput = document.getElementById('flowRateLps');
var m3Output = document.getElementById('flowRateM3');
// Show result box
resultBox.style.display = 'block';
// Format outputs
lpsOutput.innerHTML = flowRateLPS.toFixed(3) + " l/s";
m3Output.innerHTML = flowRateM3H.toFixed(3) + " m³/hr";
// Scroll to results for mobile users
resultBox.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}