Connect with us

Maine

Penn State Hockey vs. UMaine Hockey Score And Live Updates – FloHockey

Published

on

Penn State Hockey vs. UMaine Hockey Score And Live Updates – FloHockey


Penn State Hockey and Maine will cap off the regional semifinals of the 2025 NCAA Hockey Tournament with a spot in the regional final for Allentown.

Maine has been a top team all season, especially in rankings. They also won the Hockey East conference to receive an automatic bid to the tournament for the 21st time in the program’s history. Taylor Makar led the team with 18 goals and 12 assists on the season.

Penn State is coming into the tournament as the hottest team after putting together an impressive second half of the season and making it to the Big Ten semifinals. Aiden Fink was a big reason for the Nittany Lions’ success, with 52 points, which is best for third in the country.

The winner will face UConn in the Allentown Regional Finals on March 30.

Advertisement

Follow along for live updates, scores, and highlights from Maine vs. Penn State, and remember to refresh for new updates.

Dowiak’s Third Goal Of The Period

Penn State 3, Maine 1

Penn State Is On Fire Right Now! – 1st 1′

Penn State 3, Maine 1

Another goal was scored in the first period for Penn State, and even after Maine’s challenge, the Nittany Lions went up 3-1.

Advertisement

Here Is A Look At The Goal

Penn State 2, Maine 1

Matt DiMarsico Gives Penn State The Lead – 1st 5′

Penn State 2, Maine 1

JJ Wiebusch goes from scoring to setting up his team with an assist to Matt DiMarsico, as Penn State is now in the lead.

Penn State With The Equalizer

Maine 1, Penn State 1

Advertisement

Goal By Taylor Makar

Maine 1, Penn State 1

Penn State Answers Right Back – 1st 14′

Maine 1, Penn State 1

Well, that didn’t take long. JJ Wiebusch quickly gets the Nittany Lions on the board and ties it up on the power play.

Advertisement

Maine Scores First – 1st 15′

Maine 1, Penn State 0

Taylor Makar scores to open things up with an early score, and the Black Bears are on top.

The Last Game Of The First Round Is Underway – 1st 20′

Maine 0, Penn State 0

Both teams are ready to get things started as the puck drops.

Penn State Fans Are Hype

Maine Is Locked In

How To Watch Maine vs. Penn State Hockey

Penn State vs. Maine hockey will be live on ESPN2 at 8:30 p.m. ET on Friday, March 28.

NCAA Hockey Tournament Bracket 2025

Here’s the NCAA Hockey Tournament regional schedule. 

Thursday, March 27

  • 2:00 p.m. ET – Boston University vs. Ohio State (ESPNU/ESPN+) – Toledo, Ohio Regional
  • 5:00 p.m. ET – No. 4 Western Michigan vs. Minnesota State (ESPNU/ESPN+) – Fargo, N.D. Regional
  • 5:30 p.m. ET – No. 2. Michigan State vs. Cornell (ESPN+) – Toledo, Ohio Regional
  • 8:30 p.m. ET – Minnesota vs. UMass (ESPN2/ESPN+) – Fargo, N.D. Regional

Friday, March 28

  • 2:00 p.m. ET – No. 1 Boston College vs. Bentley (ESPNU/ESPN+) – Manchester, N.H. Regional
  • 5:00 p.m. ET – UConn vs. Quinnipiac (ESPNU/ESPN+) – Allentown, Pa. Regional
  • 5:30 p.m. ET – Providence vs. Denver (ESPN+) – Manchester, N.H. Regional
  • 8:30 p.m. ET – No. 3 Maine vs. Penn State (ESPN2/ESPN+) – Allentown, Pa. Regional

Saturday, March 29

  • 4:00 p.m. or 6:30 p.m. ET – Fargo Regional Final (ESPNU/ESPN+)
  • 4:00 p.m. or 6:30 p.m. ET – Toledo Regional Final (ESPNU/ESPN+)

Sunday, March 30

  • 4:30 p.m. ET or 7:00 p.m. ET – Manchester Regional Final (EPN2/ESPN+)
  • 4:30 p.m. ET or 7:00 p.m. ET – Allentown Regional Final (ESPN2/ESPN+)

Frozen Four 2025 Schedule

Thursday, April 10

  • 5:00 p.m. ET – Semifinal 1 – Enterprise Center | St. Louis, Mo.
  • 8:30 p.m. ET – Semifinal 2 – Enterprise Center | St. Louis, Mo.

Frozen Four 2025 National Championship

Saturday, April 12

  • 7:30 p.m. ET – National Championship Game – Enterprise Center | St. Louis, Mo.

Penn State Hockey Roster 2025

  • 2 – Carter Schade – Jr. – D – 5′ 11” – 185 lbs
  • 3 – Casey Aman – So. – D – 6′ 0” – 185 lbs
  • 4 – Simon Mack – Sr. – D – 5′ 10” – 180 lbs
  • 6 – Jimmy Dowd Jr. – Sr. – D – 5′ 9” – 170 lbs
  • 7 – Carson Dyck – Sr. – F – 6′ 0” – 180 lbs
  • 8 – Alex Servagno – Jr. – F – 5′ 9” – 170 lbs
  • 9 – Keaton Peters – Fr. – F – 5′ 10” – 195 lbs
  • 10 – Nick Fascia – Fr. – D – 6′ 2” – 185 lbs
  • 11 – Andrew Kuzma – Fr. – F – 6′ 0” – 195 lbs
  • 12 – Ben Schoen – Sr. – F – 5′ 8” – 165 lbs
  • 13 – Danny Dzhaniyev – Sr. – F – 5′ 5” – 155 lbs
  • 14 – Matt DiMarsico – So. – F – 6′ 0” – 180 lbs
  • 15 – Charlie Cerrato – Fr. – F – 6′ 1” – 195 lbs
  • 16 – Dylan Lugris – Sr. – F – 6′ 2” – 185 lbs
  • 17 – Nicholas DeGraves – Fr. – F – 6′ 0” – 185 lbs
  • 18 – Aiden Fink – So. – F – 5′ 10” – 160 lbs
  • 19 – Dane Dowiak – So. – F – 5′ 10” – 180 lbs
  • 20 – JJ Wiebusch – Fr. – F – 6′ 1” – 180 lbs
  • 21 – Braedon Ford – Fr. – F – 5′ 10” – 175 lbs
  • 23 – Tyler Paquette – Sr. – F – 6′ 3” – 215 lbs
  • 29 – Reese Laubach – So. – F – 6′ 0” – 170 lbs
  • 30 – John Seifarth – Jr. – G – 6′ 3” – 195 lbs
  • 33 – Noah Grannan – Jr. – G – 6′ 2” – 190 lbs
  • 35 – Arsenii Sergeev – Jr. – G – 6′ 4” – 195 lbs

Maine Hockey Roster 2025

  • 3 – Luke Antonacci – Jr. – D – 5′ 8” – 172 lbs
  • 4 – Brandon Holt – Jr. – D – 5′ 11” – 181 lbs
  • 6 – Liam Lesakowski – So. – D – 6′ 5” – 225 lbs
  • 7 – Brian Morse – Fr. – D – 6′ 1” – 180 lbs
  • 11 – Charlie Russell – So. – F – 5′ 11” – 173 lbs
  • 12 – Owen Fowler – Jr. – F – 5′ 9” – 190 lbs
  • 14 – Sully Scholle – So. – F – 5′ 10” – 176 lbs
  • 15 – Brandon Chabrier – Jr. – D – 6′ 0” – 184 lbs
  • 16 – Aidan Carney – Jr. – F – 6′ 4” – 210 lbs
  • 17 – Ross Mitton – Gr. – F – 5′ 10” – 192 lbs
  • 18 – Taylor Makar – Sr. – F – 6′ 4” – 210 lbs
  • 20 – Josh Nadeau – So. – F – 5′ 8” – 170 lbs
  • 21 – Jack Dalton – So. – D – 6′ 0” – 186 lbs
  • 22 – Harrison Scott – Sr. – F – 6′ 0” – 190 lbs
  • 23 – Grayson Arnott – Jr. – D – 5′ 9” – 155 lbs
  • 24 – Nolan Renwick – Sr. – F – 6′ 3” – 215 lbs
  • 25 – Nicholas Niemo – Jr. – F – 5′ 10” – 185 lbs
  • 26 – Thomas Freel – Jr. – F – 6′ 0” – 189 lbs
  • 27 – Lynden Breen – Gr. – F – 5′ 9” – 180 lbs
  • 28 – Anthony Calafiore – So. – F – 5′ 8” – 170 lbs
  • 29 – Thomas Pichette – Fr. – F – 5′ 11” – 188 lbs
  • 30 – Albin Boija – So. – G – 6′ 1” – 195 lbs
  • 34 – Bodie Nobes – So. – D – 5′ 10” – 190 lbs
  • 35 – Gage Stewart – Fr. – G – 6′ 1” – 194 lbs
  • 37 – David Breazeale – Sr. – D – 6′ 3” – 215 lbs
  • 38 – Oskar Komarov – Fr. – F – 6′ 0” – 200 lbs
  • 39 – Patriks Berzins – Fr. – G – 6′ 1” – 170 lbs
  • 44 – Frank Djurasevic – So. – D – 6′ 2” – 201 lbs

Penn State Hockey Schedule 2025

  • Oct 5, 2024 – Penn State 4, Alaska 3 (OT)
  • Oct 6, 2024 – Penn State 5, Alaska 0
  • Oct 12, 2024 – Penn State 2, Quinnipiac 3
  • Oct 25, 2024 – Penn State 3, St. Lawrence 2
  • Oct 26, 2024 – Penn State 3, St. Lawrence 1
  • Nov 1, 2024 – Penn State 1, Minnesota 3
  • Nov 2, 2024 – Penn State 0, Minnesota 1
  • Nov 15, 2024 – Penn State 4, Wisconsin 5 (OT)
  • Nov 16, 2024 – Penn State 3, Wisconsin 6
  • Nov 22, 2024 – Penn State 5, Michigan 6
  • Nov 23, 2024 – Penn State 6, Michigan 10
  • Nov 26, 2024 – Penn State 3, Colgate 2
  • Nov 27, 2024 – Penn State 7, Colgate 1
  • Dec 5, 2024 – Penn State 0, Ohio State 4
  • Dec 6, 2024 – Penn State 2, Ohio State 4
  • Dec 12, 2024 – Penn State 4, Army 1
  • Jan 3, 2025 – Penn State 3, Notre Dame 3 (SOL)
  • Jan 5, 2025 – Penn State 3, Notre Dame 0
  • Jan 10, 2025 – Penn State 4, Michigan State 6
  • Jan 11, 2025 – Penn State 2, Michigan State 2 (SOW)
  • Jan 17, 2025 – Penn State 4, Canisius 0
  • Jan 18, 2025 – Penn State 3, Canisius 2
  • Jan 24, 2025 – Penn State 6, Ohio State 6 (SOW)
  • Jan 25, 2025 – Penn State 3, Ohio State 2 (OT)
  • Jan 31, 2025 – Penn State 5, Michigan 4
  • Feb 1, 2025 – Penn State 3, Michigan 7
  • Feb 7, 2025 – Penn State 2, Wisconsin 0
  • Feb 8, 2025 – Penn State 6, Wisconsin 2
  • Feb 14, 2025 – Penn State 5, Notre Dame 3
  • Feb 15, 2025 – Penn State 3, Notre Dame 2
  • Feb 21, 2025 – Penn State 2, Michigan State 3
  • Feb 22, 2025 – Penn State 3, Michigan State 2
  • Feb 28, 2025 – Penn State 4, Minnesota 3 (OT)
  • Mar 1, 2025 – Penn State 3, Minnesota 5
  • Mar 7, 2025 – Penn State 5, Michigan 6
  • Mar 8, 2025 – Penn State 5, Michigan 2
  • Mar 15, 2025 – Penn State 3, Ohio State 4 (OT)
  • Mar 28, 2025 – Penn State vs. Maine (Neutral, Allentown, Pa. / PPL Center)

Maine Hockey Schedule 2025

  • Oct 5, 2024 – Maine 4, Alaska 3 (OT)
  • Oct 6, 2024 – Maine 5, Alaska 0
  • Oct 12, 2024 – Maine 2, Quinnipiac 3
  • Oct 25, 2024 – Maine 3, St. Lawrence 2
  • Oct 26, 2024 – Maine 3, St. Lawrence 1
  • Nov 1, 2024 – Maine 1, Minnesota 3
  • Nov 2, 2024 – Maine 0, Minnesota 1
  • Nov 15, 2024 – Maine 4, Wisconsin 5 (OT)
  • Nov 16, 2024 – Maine 3, Wisconsin 6
  • Nov 22, 2024 – Maine 5, Michigan 6
  • Nov 23, 2024 – Maine 6, Michigan 10
  • Nov 26, 2024 – Maine 3, Colgate 2
  • Nov 27, 2024 – Maine 7, Colgate 1
  • Dec 5, 2024 – Maine 0, Ohio State 4
  • Dec 6, 2024 – Maine 2, Ohio State 4
  • Dec 12, 2024 – Maine 4, Army 1
  • Jan 3, 2025 – Maine 3, Notre Dame 3 (SOL)
  • Jan 5, 2025 – Maine 3, Notre Dame 0
  • Jan 10, 2025 – Maine 4, Michigan State 6
  • Jan 11, 2025 – Maine 2, Michigan State 2 (SOW)
  • Jan 17, 2025 – Maine 4, Canisius 0
  • Jan 18, 2025 – Maine 3, Canisius 2
  • Jan 24, 2025 – Maine 6, Ohio State 6 (SOW)
  • Jan 25, 2025 – Maine 3, Ohio State 2 (OT)
  • Jan 31, 2025 – Maine 5, Michigan 4
  • Feb 1, 2025 – Maine 3, Michigan 7
  • Feb 7, 2025 – Maine 2, Wisconsin 0
  • Feb 8, 2025 – Maine 6, Wisconsin 2
  • Feb 14, 2025 – Maine 5, Notre Dame 3
  • Feb 15, 2025 – Maine 3, Notre Dame 2
  • Feb 21, 2025 – Maine 2, Michigan State 3
  • Feb 22, 2025 – Maine 3, Michigan State 2
  • Feb 28, 2025 – Maine 4, Minnesota 3 (OT)
  • Mar 1, 2025 – Maine 3, Minnesota 5
  • Mar 7, 2025 – Maine 5, Michigan 6
  • Mar 8, 2025 – Maine 5, Michigan 2
  • Mar 15, 2025 – Maine 3, Ohio State 4 (OT)
  • Mar 28, 2025 – Maine vs. Penn State (Neutral, Allentown, Pa.)

Penn State Hockey Game Today

Penn State hockey takes on UMaine today, March 28, in the NCAA Men’s Hockey Tournament. Follow along for live updates from the game.

Where is the 2025 Men’s Frozen Four?

St. Louis will host the 2025 NCAA Men’s Frozen Four at Enterprise Center, the home of the NHL’s St. Louis Blues.

Advertisement

How Does The NCAA Hockey Tournament Work?

  • At the beginning of the tournament, teams will compete across four regional sites in single-elimination games, with four teams standing at the end.
  • There are two games in the regional semifinals between these teams for a chance at the regional finals.
  • The winners of the four sites will then advance to the Frozen Four in St. Louis, MO.
  • From there, the two winners will compete for the grand prize in a national championship.

Watch AHL, ECHL, USHL And More On FloHockey

FloHockey is the streaming home to some of the best hockey leagues in North America, including the AHL, ECHL and more. Check out the broadcast schedule to watch more hockey.

NHL Prospect Coverage On FloHockey

The best, and most complete coverage of the NHL minor league hockey and NHL Draft is found on FloHockey. Don’t miss the latest new prospect guides, rankings and more from Chris Peters and the FloHockey staff.

Join The Hockey Conversation On FloHockey Social





Source link

Maine

Program doubles enrollment, expands to more Maine schools

Published

on

Program doubles enrollment, expands to more Maine schools


Central Maine Power is expanding its Union Trade Internship Program in 2026, increasing opportunities for Maine high school students to gain hands-on experience in the electric utility industry.

Advertisement

A sign for Central Maine Power, a subsidiary of Avangrid

Advertisement

CMP expands union trade internship program for Maine students

Advertisement

Central Maine Power is expanding its Union Trade Internship Program in 2026, increasing opportunities for Maine high school students to gain hands-on experience in the electric utility industry.

WMTW logo

Updated: 11:47 AM EDT Apr 14, 2026

Editorial Standards

Advertisement

Central Maine Power is expanding its Union Trade Internship Program in 2026, increasing opportunities for Maine high school students to gain hands-on experience in the electric utility industry.Now in its second year, the 10-week paid program will double enrollment, expand to additional schools in central and southern Maine, and broaden training to include both line and substation operations. The program will serve 10 students ages 16 and older, selected through a competitive recruitment and interview process in partnership with participating schools.The internship runs from June to August and includes classroom instruction at CMP’s training center in Farmingdale, along with supervised field experience alongside union crews. Students will learn foundational skills such as pole climbing, bucket truck operation, breaker and transformer maintenance, and the safe use of tools and protective equipment. Participants will not work on live electrical wires.The program is aimed at strengthening the workforce pipeline for skilled trades while giving students early exposure to careers in the energy sector and supporting partnerships between CMP and Maine schools.

Central Maine Power is expanding its Union Trade Internship Program in 2026, increasing opportunities for Maine high school students to gain hands-on experience in the electric utility industry.

Now in its second year, the 10-week paid program will double enrollment, expand to additional schools in central and southern Maine, and broaden training to include both line and substation operations. The program will serve 10 students ages 16 and older, selected through a competitive recruitment and interview process in partnership with participating schools.

Advertisement

The internship runs from June to August and includes classroom instruction at CMP’s training center in Farmingdale, along with supervised field experience alongside union crews. Students will learn foundational skills such as pole climbing, bucket truck operation, breaker and transformer maintenance, and the safe use of tools and protective equipment. Participants will not work on live electrical wires.

The program is aimed at strengthening the workforce pipeline for skilled trades while giving students early exposure to careers in the energy sector and supporting partnerships between CMP and Maine schools.

Advertisement

`;
}

Advertisement

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

Advertisement

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

var location = { zip: window.DEFAULT_ZIPCODE };

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

Advertisement

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.wmtw.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.wmtw.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

Advertisement

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

Advertisement

updateWeatherBackground(weatherData.current.icon_name);
}
}

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

Advertisement

`;
}

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

Advertisement

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

var location = { zip: window.DEFAULT_ZIPCODE };

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

Advertisement

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.wmtw.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.wmtw.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

Advertisement

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

Advertisement

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

Advertisement

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

Loading more articles…



Source link

Continue Reading

Maine

Carbon removal project supports Maine’s blue economy, broader marine health

Published

on

Carbon removal project supports Maine’s blue economy, broader marine health


Oceans absorb roughly 25 to 30 percent of the carbon dioxide (CO2) that is released into the atmosphere. When this CO2 dissolves in seawater, it forms carbonic acid, making the water more acidic and altering its chemistry. Elevated levels of acidity are harmful to marine life like corals, oysters, and certain plankton that rely on calcium carbonate to build shells and skeletons.

“As the oceans absorb more CO2, the chemistry shifts — increasing bicarbonate while reducing carbonate ion availability — which means shellfish have less carbonate to form shells,” explains Kripa Varanasi, professor of mechanical engineering at MIT. “These changes can propagate through marine ecosystems, affecting organism health and, over time, broader food webs.”

Loss of shellfish can lead to water quality decline, coastal erosion, and other ecosystem disruptions, including significant economic consequences for coastal communities. “The U.S. has such an extensive coastline, and shellfish aquaculture is globally valued at roughly $60 billion,” says Varanasi. “With the right innovations, there is a substantial opportunity to expand domestic production.”

“One might think, ‘this [depletion] could happen in 100 years or something,’ but what we’re finding is that they are already affecting hatcheries and coastal systems today,” he adds. “Without intervention, these trends could significantly alter marine ecosystems and the coastal economies that rely on them over time.”

Advertisement

Varanasi and T. Alan Hatton, the Ralph Landau Professor of Chemical Engineering, Post-Tenure, at MIT, have been collaborating for years to develop methods for removing carbon dioxide from seawater and turn acidic water back to alkaline. In recent years, they’ve partnered with researchers at the University of Maine Darling Marine Center to deploy the method in hatcheries.

“The way we farm oysters, we spawn them in special tanks and rear them through about a two-week larval period … until they’re big enough so that they can be transferred out into the river as the water warms up,” explains Bill Mook, founder of Mook Sea Farm. Around 2009, he noticed problems with production of early-stage larvae. “It was a catastrophe. We lost several hundred thousand dollars’ worth of production,” he says.

Ultimately, the problem was identified as the low pH of the water that was being brought in: The water was too acidic. The farm’s initial strategy, a common practice in oyster farming, was to buffer the water by adding sodium bicarbonate. The new approach avoids the use of chemicals or minerals.

“A lot of researchers are studying direct air capture, but very few are working in the ocean-capture space,” explains Hatton. “Our approach is to use electricity, in an electrochemical manner, rather than add chemicals to manipulate the solution pH.”

Advertisement

The method uses reactive electrodes to release protons into seawater that is collected and fed into the cells, driving the release of the dissolved carbon dioxide from the water. The cyclic process acidifies the water to convert dissolved inorganic bicarbonates to molecular carbon dioxide, which is collected as a gas under vacuum. The water is then fed to a second set of cells with a reversed voltage to recover the protons and turn the acidic water back to alkaline before releasing it back to the sea.

Maine’s Damariscotta River Estuary, where Mook farms is located, provides about 70 percent of the state’s oyster crop. Damian Brady, a professor of oceanography based at the University of Maine and key collaborator on the project, says the Damariscotta community has “grown into an oyster-producing powerhouse … [that is] not only part of the economy, but part of the culture.” He adds, “there’s actually a huge amount that we could learn if we couple the engineering at MIT with the aquaculture science here at the University of Maine.”

“The scientific underpinning of our hypothesis was that these bivalve shellfish, including oysters, need calcium carbonate in order to form their shells,” says Simon Rufer PhD ’25, a former student in Varanasi’s lab and now CEO and co-founder of CoFlo Medical. “By alkalizing the water, we actually make it easier for the oysters to form and maintain their shells.”

In trials conducted by the team, results first showed that the approach is biocompatible and doesn’t kill the larvae, and later showed that the oysters treated by MIT’s buffer approach did better than mineral or chemical approaches. Importantly, Hatton also notes, the process creates no waste products. Ocean water goes in, CO2 comes out. This captured CO2 can potentially be used for other applications, including to grow algae to be used as food for shellfish.

Varanasi and Hatton first introduced their approach in 2023. Their most recent paper, “Thermodynamics of Electrochemical Marine Inorganic Carbon Removal,” which was published last year in journal Environmental Science & Technology, outlines the overall thermodynamics of the process and presents a design tool to compare different carbon removal processes. The team received a “plus-up award” from ARPA-E to collaborate with University of Maine and further develop and scale the technology for application in aquaculture environments.

Advertisement

Brady says the project represents another avenue for aquaculture to contribute to climate change mitigation and adaptation. “It pushes a new technology for removing carbon dioxide from ocean environments forward simultaneously,” says Brady. “If they can be coupled, aquaculture and carbon dioxide removal improve each other’s bottom line.”

Through the collaboration, the team is improving the robustness of the cells and learning about their function in real ocean environments. The project aims to scale up the technology, and to have significant impact on climate and the environment, but it includes another big focus.

“It’s also about jobs,” says Varanasi. “It’s about supporting the local economy and coastal communities who rely on aquaculture for their livelihood. We could usher in a whole new resilient blue economy. We think that this is only the beginning. What we have developed can really be scaled.”

Mook says the work is very much an applied science, “[and] because it’s applied science, it means that we benefit hugely from being connected and plugged into academic institutions that are doing research very relevant to our livelihoods. Without science, we don’t have a prayer of continuing this industry.”

Advertisement



Source link

Continue Reading

Maine

New York homicide suspect arrested in Maine

Published

on

New York  homicide suspect arrested in Maine


WATERVILLE, Maine (WGME) — A 19-year-old wanted for homicide in connection with multiple gang-related shootings in New York has been arrested in Maine.

Police say they searched a home at 439 West River Road in Waterville on Friday around 11 a.m. and found 19-year-old David McCadney of New York.

According to police, McCadney was wanted in New York for second degree homicide in connection with multiple gang-related shootings.

McCadney was arrested and charged with fugitive from justice and is being held without bail at the Kennebec County Correctional Facility.

Advertisement

McCadney is expected to be extradited back to New York at a later date.



Source link

Continue Reading

Trending