ADVERTISEMENT

MGen energizes Philippines' largest solar, battery storage project

MTerra Solar phase 1 switched on, linked to Luzon grid

Published Feb 14, 2026 12:09 pm

After a year of continuous development, Meralco PowerGen Corp. (MGen) announced that the large-scale solar facility, which stretches across multiple municipalities, has finally been energized and linked to the Luzon grid.

In a statement on Saturday, Feb. 14, MGen, through its affiliate Terra Solar Philippines Inc., said it has completed the grid synchronization and energization of the MTerra Solar project, with 1,288 megawatts-direct current (MWdc) of solar photovoltaic (PV) capacity installed by the end of January. MGen considers this the largest solar installation in the country to date.

It has also installed 622 battery energy storage system (BESS) units and will be the Philippines’ largest storage project once it begins full operations.

With the project synchronized to the grid and initial operations underway, MTerra Solar will have 250 megawatts-alternating current (MWac) of solar capacity and 112.5 megawatt-hours (MWh) of BESS capacity by the end of this month.

“During this period, the project is set to begin exporting 85 megawatts (MW) of constant power to the grid in close coordination with National Grid Corp. of the Philippines (NGCP), aiming to demonstrate MTerra Solar’s stability and reliability as an integrated renewable energy (RE) and energy storage system,” it stated, noting that the developments are underway in less than 15 months since the project broke ground.

These milestones follow the energization and cut-in of the 500-kilovolt (kV) substation along Nagsaag-San Jose line 2.

The second phase of development is already in progress and is expected to make the facility the world’s largest integrated solar PV and BESS project once construction is complete.

MGen President and Chief Executive Officer (CEO) Emmanuel V. Rubio said the first phase marks a significant milestone for the broader rollout of its solar facility.

“MTerra Solar proves the Philippines can build big—and build fast. Today’s energization is not the finish line; it is the start of a bigger journey that will expand our capacity, broaden our impact, and demonstrate that the Philippines can lead in delivering renewable energy at scale,” he said.

Dennis B. Jordan, MGen Renewables and MTerra Solar president and CEO, added, “After a milestone like this, the message is clear: anything is possible from hereon. We now move forward with confidencecontinuing to expand capacity, push innovation, and deliver clean energy for Filipinos.”

Present at the ceremony were representatives from the Department of Energy (DOE), NGCP, and Singapore-based Actis, the company’s project partner.

Energy Secretary Sharon Garin and Undersecretary Rowena Guevara expressed their support for the project, with Garin highlighting that the facility could produce 10 percent of Luzon’s power. The project is expected to generate 3,500 megawatts-peak (MWp) of solar power once development is fully complete.

“Once synchronization is completed, the plant can begin supplying firm and dependable capacity through the combination of solar power and battery energy storageanother first for the country. Your commitment to adapting forward-looking solutions reflects the proactive leadership needed to meet rising electricity demand, especially during summer months,” Guevara added.

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.