ISO 9001 · 14001 · 45001

An Advanced Water Treatment Equipment Company

J-Type Manual Screen

Lift-out coarse screen for large debris in deep channels and sumps. Raised by hoist, emptied and lowered back, with no one entering the channel.

Screening for large waste and debris

Adroit’s J-Type Manual Screen catches large waste such as logs, rags, branches and other bulky debris before it reaches mechanical screens and pumps. Large objects like these can bend the rakes of a mechanical screen or pull its chain off the sprockets. A J-Type screen installed upstream takes that risk away.
It is especially useful in deep channels and pumping station sumps, where cleaning a fixed screen by hand is difficult or dangerous. The whole screen is lifted out by a hoist, emptied at ground level and lowered back.

Where a J-Type screen is used

Application

A J-Type screen is a coarse protection screen. It is placed at the entry to a wet well, sump or deep inlet channel to stop the largest debris. Its wide bar spacing lets the flow through freely while holding back the objects that would damage pumps or mechanical screens.

How the J-Type screen works

Operation

The screen is a frame of vertical bars with a perforated tray at the bottom, which gives it its J shape when seen from the side. It slides down into guide channels fixed to the walls, with rollers to keep it running smoothly.

Water flows through the bars. Debris is held against the bars and settles into the bottom tray. When the screen needs cleaning, it is lifted out of the guides by a manual or electric hoist, emptied at the top and lowered back into place. The tray keeps the debris from dropping back into the channel as the screen comes up.

Where J-Type screens are installed

Application areas

Sewage treatment plants

Coarse protection ahead of mechanical screens.

Sewage pumping stations

Protects pumps in wet wells and sumps from bulky debris.

Intake pumping stations

Stops logs, branches and large floating material at raw water intakes.

Storm water drains

Coarse screening under storm flows.

Industrial treatment plants, ETPs and CETPs

First-stage protection where large debris may arrive.

Why choose Adroit's J-Type screen

Features & advantages

Removes the largest debris

Catches logs, rags and bulky objects, with less downtime and maintenance for the equipment behind it.

Safe cleaning in deep channels

The screen comes to the operator, not the other way round.

Stainless steel construction

SS 304 or SS 316 for durability and corrosion resistance.

Made to your channel

Bar spacing, width and depth made to suit flow conditions and site.

Low cost, proven design

Operated by a manual or electric hoist; no drives or controls on the screen itself.

J-Type screen dimensions and construction

Dimensions & manufacturing

Bar spacing 50 mm to 100 mm

Bar spacing

500 mm to 3000 mm

Channel width

1000 mm to 20,000 mm

Channel depth

Stainless Steel 304 / 316

Material of construction

Manual or electric hoist

Lifting

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

Belt Conveyor

Screening & Conveying

Troughed belt conveyors that carry screenings, grit and sludge over long distances with low power and minimal spillage.

View product

Screw Conveyor

Screening & Conveying

Enclosed shafted and shaftless screw conveyors that move screenings, grit and dewatered sludge without spillage and with minimal odour.

View product

Manual Bar Screen

Screening & Conveying

Simple, rugged stainless steel coarse bar screen for STPs, ETPs and drains, with bar spacing from 6 mm upwards.

View product

Automatic Grab Screen

Screening & Conveying

Heavy-duty grab cleaner for coarse bar racks at intakes, pumping stations and treatment plants, built for logs, vegetation and bulky debris.

View product

Rotary Drum Screen

Screening & Conveying

Compact fine screen with a slowly rotating drum, continuous spray or brush cleaning and apertures from 1 mm to 6 mm.

View product

Rakeflow® Multi-Rake Mechanical Bar Screen

Screening & Conveying

Heavy-duty mechanical bar screen for STP inlets, pumping stations and storm water drains, with several rakes cleaning the screen at once.

View product

Stepflow® Step Screen

Screening & Conveying

A high-performance, reliable fine-screening solution for municipal and industrial water and wastewater primary treatment. Overlapping fixed and moving lamellae remove fine solids and waste — self-cleaning, with low head-loss.

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 J-Type Manual Screen

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