ADVERTISEMENT

DPWH: Marikina flood-control project on track for completion by 2028

Published Aug 11, 2025 05:54 pm

At A Glance

  • Marikina flood-control works under the Pasig-Marikina River Channel Improvement Project remain on track for completion by 2028.
  • Widening and revetment expected to finish by 2028; Manggahan and Marikina gate control structures may extend to 2029.
  • President Marcos Jr. inspected the project site near Marikina Bridge and met with officials.
  • Manggahan Control Gate will divert floodwaters from Sierra Madre Mountains to Laguna Lake.
  • Delays caused by local government's lack of counterpart funding for JICA-assisted project.
  • Project combines structural and non-structural measures to protect communities from river overflow.
Aerial view of the Pasig-Marikina River Channel Improvement Project in Barangay Manggahan, Pasig City. The Department of Public Works and Highways (DPWH) said the critical flood-control works remain on track for completion by 2028 despite funding delays, aiming to reduce flooding risks in Metro Manila. (Photo by Santi San Juan/MB)
Aerial view of the Pasig-Marikina River Channel Improvement Project in Barangay Manggahan, Pasig City. The Department of Public Works and Highways (DPWH) said the critical flood-control works remain on track for completion by 2028 despite funding delays, aiming to reduce flooding risks in Metro Manila. (Photo by Santi San Juan/MB)
Critical flood-control works in Marikina under the Pasig-Marikina River Channel Improvement Project remain on track for completion by 2028 despite funding delays, the Department of Public Works and Highways (DPWH) said on Monday, Aug. 11.
“We anticipate finishing the widening and revetment works by 2028, while the Manggahan and Marikina gate control structures may extend to 2029, as these are vital in minimizing flooding in Metro Manila,” DPWH Secretary Manuel Bonoan said.
President Ferdinand “Bongbong” R. Marcos Jr. inspected the project site near Marikina Bridge on Monday and met with local officials, the Metropolitan Manila Development Authority, and DPWH representatives to review progress and discuss next steps.
Bonoan explained that the Manggahan Control Gate will prevent floodwaters from the Sierra Madre Mountains from inundating Metro Manila by diverting excess water to Laguna Lake once the water level in Manila Bay recedes.
He added that this structure serves as a crucial defense mechanism against flooding in the capital region.
Marikina City Mayor Maan Teodoro acknowledged delays caused by the local government’s inability to provide the required counterpart funding for the Japan International Cooperation Agency (JICA)-assisted project.
“The project was initially slated for completion this December but was delayed due to contract variations and funding shortfalls,” Teodoro said, adding that President Marcos has directed officials to maintain steady project momentum.
The DPWH said the initiative combines structural improvements and non-structural measures to protect communities in Pasig, Marikina, Cainta, Taytay, and Quezon City from river overflow during heavy rains.
In a recent podcast, Marcos criticized the lack of local counterpart funding for foreign-assisted projects, calling it “an embarrassment that stains the Philippines’ reputation.”

Related Tags

Pasig-Marikina River Channel Improvement Project DPWH flood control Metro Manila Flood Risk
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.