Gate Pump
A pump integrated with a sluice gate, for forced drainage and flood control without a separate pump well.
Pumping and flow control in one unit
Adroit’s Gate Pump is a specialised pump integrated with a sluice gate arrangement, engineered to enable forced drainage without an additional reservoir or drainage field. It is designed for emergency overflow control or continuous water transfer, and manages water levels in channels, storm drains, rivers and flood control gates.
It is particularly useful when retrofitting an existing structure, because the pump installs into the gate itself rather than needing a separate pump well.

Where a gate pump is used
Application
Gate pumps are used where water normally flows by gravity through a gate, but must be pumped when the downstream water level rises during floods. They are used on storm drains, flood control gates, drainage and irrigation structures, and at treatment plants for overflow control.
How the gate pump works
Operation
The gate pump is installed directly within the gate structure. Under normal conditions the gate stays open and water flows freely, as through a conventional sluice gate.
During a flood, when the downstream water level is higher, the gate is closed to prevent reverse flow. The integrated pump is then started. It draws water from the upstream side and discharges it safely to the downstream side through the outlet conduit.
This dual function, working as both a gate and a pump, gives flood control and reliable drainage without separate pump wells or bypass arrangements.
Where gate pumps are installed
Application areas
Flood control and storm water pumping
Especially where sluice gates already exist.
Drainage stations
Rainwater, irrigation and agricultural drainage.
Sewage overflow mitigation
Large treatment plants.
Irrigation canals and water intakes
Water transfer at canal and intake structures.
Parks, lakes and water bodies
Water circulation in controlled water bodies.
Industrial sites
Water discharge and process overflow control.
Why choose a gate pump
Features & advantages
No separate pump well
Pump installs within existing gate structures.
Dual function
Gate and pump in one integrated unit.
Bidirectional operating concept
Normal gravity flow through the gate, and pumped discharge when required.
Built for abrasive flows
Heavy internal structure with wear liners.
Model to suit the site
Multiple models with various diameters, heads and discharge volumes.
Easier maintenance
Corrosion- and wear-resistant materials, reliable sealing and modular parts.
Design basis
Dimensions & manufacturing
Pump integrated with sluice gate structure
Configuration
Various diameters, heads and discharge volumes
Models
Wear liners; corrosion- and wear-resistant materials; modular parts
Construction
New or existing gate structures
Installation
Frequently asked questions
FAQ
What is a gate pump?
A pump integrated with a sluice gate, so the same structure handles both gravity flow and pumped drainage.
Does it need a separate pump well?
No. The pump installs into the gate itself.
Can it be fitted to an existing sluice gate structure?
Yes. Retrofitting existing structures is one of its main uses.
Where is it used?
Flood control and storm water pumping, drainage stations, sewage overflow mitigation, irrigation canals and intakes, water bodies, and industrial overflow control.
Brochures, datasheets & media
Downloads
Documents
files
Photos
photos
Videos
videos
Explore more solutions
Related technologies
Knife Gate Valve
Bonnetless, full-lug knife gate valves for water, wastewater, sludge and slurry, from DN50 to DN600.
Sluice Gate
Fabricated sluice gates designed and tested to AWWA C561 and BS 7775, in wall-mounted and open channel versions, with manual, gearbox or electric operation.
Need fine screening sized for your inlet works?
Send us your flow rate, channel dimensions and the fine-solids you need to capture — our engineers will recommend the right Stepflow configuration.
Call us
+91 70248-48383Email
[email protected]
Enquire about Gate Pump
Product enquiry
Tell us about your requirement and we’ll respond with specifications, references and pricing.
Request a quotation
Fields marked * are required. We typically respond within one business day.
(() => {
if (window.adroitEnquiryButtonsReady) return;
window.adroitEnquiryButtonsReady = true;
const rootSelector = ".adroit-contact-form";
const buttonSelector = [
"#wsf-1-field-38",
"#wsf-1-field-39",
].join(", ");
const values = {
"wsf-1-field-38": "Product Enquiry",
"wsf-1-field-39": "Service Request",
};
function getFormRoot(element) {
return element.closest(rootSelector);
}
function getHiddenField(form) {
let field = form.querySelector(
'input[data-enquiry-type-field="true"]'
);
if (!field) {
field = document.createElement("input");
field.type = "hidden";
field.name = "inquiry_type";
field.dataset.enquiryTypeField = "true";
form.appendChild(field);
}
return field;
}
function getErrorRow(formRoot) {
let errorRow = formRoot.querySelector(
'[data-enquiry-error-row="true"]'
);
if (errorRow) return errorRow;
const fieldsGrid = formRoot.querySelector(".wsf-fields");
const firstField = formRoot.querySelector(
"#wsf-1-field-wrapper-20"
);
if (!fieldsGrid || !firstField) return null;
errorRow = document.createElement("div");
errorRow.className =
"wsf-extra-small-12 wsf-tile wsf-field-wrapper";
errorRow.dataset.enquiryErrorRow = "true";
errorRow.hidden = true;
const errorMessage = document.createElement("div");
errorMessage.className = "wsf-invalid-feedback";
errorMessage.textContent = "This field is required.";
errorMessage.setAttribute("aria-live", "polite");
errorRow.appendChild(errorMessage);
fieldsGrid.insertBefore(errorRow, firstField);
return errorRow;
}
function showError(formRoot) {
const errorRow = getErrorRow(formRoot);
if (!errorRow) return;
errorRow.hidden = false;
const errorMessage = errorRow.querySelector(
".wsf-invalid-feedback"
);
if (errorMessage) {
errorMessage.style.display = "block";
}
formRoot.querySelectorAll(buttonSelector).forEach((button) => {
button.classList.add("is-invalid");
button.setAttribute("aria-invalid", "true");
});
}
function clearError(formRoot) {
const errorRow = formRoot.querySelector(
'[data-enquiry-error-row="true"]'
);
if (errorRow) {
errorRow.hidden = true;
}
formRoot.querySelectorAll(buttonSelector).forEach((button) => {
button.classList.remove("is-invalid");
button.removeAttribute("aria-invalid");
});
}
function hasSelection(formRoot) {
return Boolean(
formRoot.querySelector(
"#wsf-1-field-38.is-selected, #wsf-1-field-39.is-selected"
)
);
}
function validateEnquiry(formRoot) {
if (hasSelection(formRoot)) {
clearError(formRoot);
return true;
}
showError(formRoot);
return false;
}
function selectButton(button) {
const formRoot = getFormRoot(button);
const form = button.closest("form");
if (!formRoot || !form) return;
formRoot.querySelectorAll(buttonSelector).forEach((item) => {
const isSelected = item === button;
item.classList.toggle("is-selected", isSelected);
item.setAttribute("aria-pressed", String(isSelected));
});
getHiddenField(form).value = values[button.id] || "";
clearError(formRoot);
}
/*
* Window capture runs before WS Form's button click handler.
* This stops WS Form AJAX submission only when enquiry type is missing.
*/
window.addEventListener(
"click",
(event) => {
const enquiryButton = event.target.closest(
`${rootSelector} #wsf-1-field-38, ${rootSelector} #wsf-1-field-39`
);
if (enquiryButton) {
selectButton(enquiryButton);
return;
}
const submitButton = event.target.closest(
`${rootSelector} button[type="submit"], ${rootSelector} input[type="submit"]`
);
if (!submitButton) return;
const formRoot = getFormRoot(submitButton);
if (!formRoot) return;
if (validateEnquiry(formRoot)) return;
event.preventDefault();
event.stopImmediatePropagation();
},
true
);
/*
* Covers pressing Enter in a form field.
*/
window.addEventListener(
"submit",
(event) => {
const form = event.target;
if (!(form instanceof HTMLFormElement)) return;
const formRoot = getFormRoot(form);
if (!formRoot) return;
if (validateEnquiry(formRoot)) return;
event.preventDefault();
event.stopImmediatePropagation();
},
true
);
function initialize() {
document.querySelectorAll(rootSelector).forEach((formRoot) => {
const form = formRoot.querySelector("form");
formRoot.querySelectorAll(buttonSelector).forEach((button) => {
button.classList.remove("is-selected", "is-invalid");
button.removeAttribute("aria-invalid");
button.setAttribute("aria-pressed", "false");
});
clearError(formRoot);
if (form) {
getHiddenField(form).value = "";
}
});
}
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", initialize, {
once: true,
});
} else {
initialize();
}
})();