ISO 9001 · 14001 · 45001

An Advanced Water Treatment Equipment Company

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

Brochures, datasheets & media

Downloads

Documents

files

No documents are available for this product.

Photos

photos

No media available for this product.

Videos

videos

No videos are available for this product.

Explore more solutions

Related technologies

Knife Gate Valve

Flow Control

Bonnetless, full-lug knife gate valves for water, wastewater, sludge and slurry, from DN50 to DN600.

View product

Sluice Gate

Flow Control

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.

View product

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.

    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();
  }
})();