ADVERTISEMENT

'Kiyapo' intensifies into a tropical storm, Signal No. 2 up over 3 areas

Published Jul 24, 2026 07:45 am

At A Glance

  • Tropical Storm Kiyapo has maximum sustained winds of 65 kilometers per hour near the center and gustiness of up to 80 kph.
  • Tropical Cyclone Wind Signal No. 2 was raised over Batanes, the northern portion of mainland Cagayan (Santa Ana, Gonzaga, Santa Teresita, Buguey, Camalaniugan, Aparri, Ballesteros, Abulug, Pamplona, Sanchez-Mira, Claveria, Santa Praxedes), including Babuyan Islands, and northern Ilocos Norte (Pagudpud).
Satellite image showing Tropical Storm Kiyapo, internationally called “Noul” (PAGASA)
Satellite image showing Tropical Storm Kiyapo, internationally called “Noul” (PAGASA)
Tropical Depression Kiyapo has further intensified into a tropical storm and was given the international name “Noul,” the Philippine Atmospheric, Geophysical and Astronomical Services Administration (PAGASA) said early Friday, July 24.
Following its intensification, PAGASA raised Signal No. 2 over three areas as Kiyapo moved west-northwestward toward Northern Luzon, PAGASA said in its 5 a.m. tropical cyclone bulletin.
Tropical Cyclone Wind Signal No. 2 was raised over Batanes, the northern portion of mainland Cagayan (Santa Ana, Gonzaga, Santa Teresita, Buguey, Camalaniugan, Aparri, Ballesteros, Abulug, Pamplona, Sanchez-Mira, Claveria, Santa Praxedes), including Babuyan Islands, and northern Ilocos Norte (Pagudpud).
Signal No. 1 was hoisted over the rest of mainland Cagayan, Isabela, Nueva Vizcaya, Quirino, Apayao, Abra, Kalinga, Mountain Province, Ifugao, Benguet, the rest of Ilocos Norte, Ilocos Sur, La Union, and the northern and central portions of Aurora (Dilasag, Casiguran, Dinalungan, Dipaculao).
The center of Tropical Storm Kiyapo was located 820 kilometers east of Northern Luzon.
It had maximum sustained winds of 65 kilometers per hour (kph) and gustiness of up to 80 kph.
It was moving west-northwestward at 30 kph.
PAGASA said minor-to-moderate impacts from gale-force winds are possible within any of the areas under Signal No. 2, while minimal-to-minor impacts from strong winds are possible within any of the areas under Signal No. 1.
PAGASA said the hoisting of Signal No. 3 is not ruled out should Kiyapo intensify into a severe tropical storm while traversing the Batanes-Babuyan Islands area.
Forecast track
Kiyapo will continue moving west-northwestward toward the Luzon Strait until Saturday, July 25, before turning northwestward to northward for the remaining forecast period.
On the forecast track, the center of Kiyapo may pass close to the northeastern portion of mainland Cagayan between Friday morning and afternoon, then pass very close to or make landfall in the vicinity of the Babuyan Islands between Friday afternoon and evening.
It is expected to exit the Philippine Area of Responsibility by Saturday morning.
PAGASA also said Kiyapo will continue to intensify while traversing extreme Northern Luzon and may be upgraded into a severe tropical storm after passing the Babuyan Islands.
While moving over the West Philippine Sea, it may undergo rapid intensification and reach typhoon category before making landfall over southern mainland China.
Afterwards, Kiyapo is expected to weaken as it moves inland and interacts with the surrounding terrain.

Related Tags

PAGASA TROPICAL STORM KIYAPO NOUL SIGNAL NO. 2
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.