ADVERTISEMENT

'Kiyapo' gains strength as it moves toward extreme Northern Luzon

Published Jul 23, 2026 09:25 pm

At A Glance

  • As of the 8 p.m. bulletin, Kiyapo had maximum sustained winds of 55 kilometers per hour (kph) near the center and gustiness of up to 70 kph.
Satellite image showing Tropical Depression Kiyapo (PAGASA)
Satellite image showing Tropical Depression Kiyapo (PAGASA)
Tropical Depression Kiyapo slightly intensified as it moved west-northwestward over the sea east of Cagayan province, the Philippine Atmospheric, Geophysical and Astronomical Services Administration (PAGASA) said on Thursday evening, July 23.
As of the 8 p.m. bulletin, Kiyapo had maximum sustained winds of 55 kilometers per hour (kph) near the center and gustiness of up to 70 kph.
PAGASA said Kiyapo will gradually intensify while moving over the Philippine Sea and may reach tropical storm category by Friday morning, July 24.
It is expected to continue strengthening while traversing extreme Northern Luzon and may intensify into a severe tropical storm after passing the Babuyan Islands.
A weakening trend is expected once Kiyapo makes landfall in the vicinity of southern mainland China and moves further inland.
Forecast track
The tropical cyclone was moving west-northwestward at 30 kph, with its center located 555 kilometers east of Tuguegarao City, Cagayan.
PAGASA said Kiyapo will continue moving west-northwestward until Saturday, July 25, toward the Luzon Strait before turning northwestward for the remainder of the forecast period.
On the forecast track, the center of Kiyapo may pass very close to the northeastern portion of mainland Cagayan between Friday morning and afternoon.
It may then pass very close to or make landfall in the vicinity of the Babuyan Islands between Friday afternoon and evening.
Kiyapo is forecast to exit the Philippine Area of Responsibility by Saturday morning.
Strong winds
PAGASA said minimal to minor impacts from strong winds are possible in areas under Tropical Cyclone Wind Signal No. 1.
Signal No. 1 is currently raised over Batanes, Cagayan including the Babuyan Islands, Isabela, Apayao, Abra, Kalinga, Mountain Province, Ifugao, Ilocos Norte, Ilocos Sur, northern Aurora (Dilasag, Casiguran, and Dinalungan), northern Nueva Vizcaya (Bagabag, Diadi, Bayombong, Ambaguio, Villaverde, Quezon, and Solano), northern Quirino (Maddela, Cabarroguis, Saguday, Diffun, and Aglipay), and northern Benguet (Buguias, Mankayan, Bakun, and Kibungan).
PAGASA said the highest wind signal that may be raised throughout Kiyapo's passage is Signal No. 2.
However, Signal No. 3 cannot be ruled out if Kiyapo intensifies into a severe tropical storm while traversing the Batanes and Babuyan Islands.
Rainfall outlook
Meanwhile, Kiyapo or the enhanced southwest monsoon or “habagat” will bring moderate to heavy rainfall of 50 to 100 millimeters over Cagayan, Apayao, Batanes, Ilocos Norte, Kalinga, Benguet, La Union, Palawan, Occidental Mindoro, Antique, Iloilo, Guimaras, and Negros Occidental on Friday.
Kiyapo may also bring heavy to intense rainfall of 100 to 200 millimeters over Abra and Ilocos Sur.
Moreover, the weather disturbance may cause scattered rains and thunderstorms over Metro Manila, Pangasinan, the rest of Central Luzon, Calabarzon, Bicol Region, Eastern Visayas, and Romblon.

Related Tags

PAGASA TROPICAL DEPRESSION KIYAPO SIGNAL NO. 1 SIGNAL NO. 2 HABAGAT
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; } }

{{ static_articles_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.