Connect with us

Northeast

Window mounted heat pumps in NYC represent 'promising climate solution'

Published

on

Window mounted heat pumps in NYC represent 'promising climate solution'

For 27 years, the heat in Regina Fred’s Queens apartment building came from a noisy steam radiator that she couldn’t control and sometimes didn’t come on at all, leaving her shivering. Sometimes, the radiators ran so hot that residents had to keep their windows open in the middle of winter for relief.

That all changed a few months ago, when she got a window-mounted heat pump as part of a pilot project by the New York City Housing Authority aimed at cutting energy costs and lowering emissions. Suddenly, all Fred has to do is touch a dial to bump her temperature up or down, and she found herself enjoying “a very good silence.”

“They did a demonstration for me and I was thrilled,” Fred said. Now, her grown children call the heat pump “the best thing” she has in her apartment, and her neighbors have knocked on her door to check out the unit.

NEW YORK CITY TAKING A SLICE OUT OF ICONIC PIZZA SHOPS WITH NEW GREEN RULE

Heat pumps, a highly efficient technology that has grown in popularity in recent years to rival gas furnaces, have mainly been an option for owners of houses. But new designs are making them practical for apartments, too, which often rely on inefficient centralized steam boilers powered by oil or gas. That represents a promising climate solution for buildings, whose operations account for 26% of global energy-related carbon emissions, according to the International Energy Agency.

Advertisement

The IEA said last year that installing heat pumps in apartment buildings and commercial areas should “be a priority area” to maintain the growth necessary to meet national climate pledges worldwide. The U.S. alone has 23 million apartment units, according to the National Multifamily Housing Council, representing a huge sector of people who could use less energy with heat pumps.

New York law requires buildings to make big cuts in greenhouse gas emissions over the next decades. To comply, NYCHA is targeting heating and cooling, the largest source of emissions for the agency, which houses about 528,000 people across more than 2,400 buildings — or about one in 17 New Yorkers, said Shaan Mavani, the agency’s chief asset and capital management officer.

Centralized steam boilers powered by natural gas or oil typically provide the heat, and they are wasteful — the NYCHA’s climate mitigation roadmap calls steam heat “19th-century technology incompatible with 21st-century needs.” Mavani said between 30% and 80% of heat is lost through old and leaky infrastructure before it reaches apartments. And that doesn’t account for the waste when residents have to open their windows to dissipate excess heat from a system they can’t control.

Queens borough resident Regina Fred touches one of her window-mounted heat pumps. The installation of heat pumps is part of a New York City Housing Authority pilot project, which aims to cut costs and emissions. (AP Photo)

Eric Wilson, a senior research engineer for the Department of Energy’s National Renewable Energy Laboratory, led a team that analyzed heat pump performance in various electric grid scenarios and found even the lowest-efficiency pump would cut greenhouse gas emissions and save on operating costs in every U.S. state. That analysis didn’t include the kind of pump being tested in Queens because it wasn’t yet on the scene, but Wilson said he would expect similar results.

Advertisement

Most heat pumps require ductwork, which isn’t an option for renters in a unit they don’t own. And ductless systems typically require extensive installation that includes wiring, making a hole in a wall and a sizeable external compressor.

Gradient and Midea, the two companies making the units in the pilot project at Woodside House, downsized it all into something that looks a bit like a window air conditioner but with a much lower profile. Exterior and interior halves drape over a sill to leave the window mostly unobscured. Gradient, one of the companies, says its unit installs in 15 minutes and plugs into an ordinary wall outlet.

Wilson said the interior portion of the units “take up more space on the inside than you might be used to” but Fred called it “very beautiful.”

“Look, I even have it for decoration,” she said. Her three window units are usually topped by flowers and decorative candles. In one room on a particularly sunny day, morning light shone on a rose, a jar of rose petals, decorative boxes and a “LOVE” sign atop one of them.

Z Smith, an architect at the firm Eskew Dumez Ripple who isn’t involved in the Queens project, said such retrofitting “is the carbon-smart way to get to better comfort for occupants.” That’s because one of the most effective ways to cut emissions from buildings is to avoid putting up new ones, which result in significant emissions due to all the new concrete, steel and wood.

Advertisement

He called the low-profile heat pumps a “lightweight intervention” because they’re so easy to install.

The NYCHA will evaluate results of the pilot project, with plans to eventually install more than 4,000 heat pumps over two years in the Woodside development if all goes well. The authority expects to save money on operating and maintenance costs with the heat pumps, but is waiting to see for initial results before it projects those savings.

Gradient was founded seven years ago in San Francisco with the ambition to decarbonize buildings with a window unit heat pump that can be easily installed without technicians. Part of their goal was a solution for people just like those at Woodside, CEO Vince Romanin said — people in older multi-family buildings with complaints about their window ACs or aged radiators that don’t have a temperature setting.

“We think that if you’re not building solutions for people who need it most, if you’re not building solutions for people who have insufficient heating (and) cooling today, they’re not really solving climate change,” Romanin said.

Advertisement

Read the full article from Here

Continue Reading
Click to comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Maine

2026 Primary Election

Published

on

2026 Primary Election


Voting is the cornerstone of democracy, and in 2026 Mainers will have a lot of important decisions to make when casting their ballots — from the very top of the ticket to the bottom. On June 9, Mainers will participate in the state’s semi-open party primaries, choosing Democratic and Republican nominees for governor, as well […]



Source link

Continue Reading

Massachusetts

5 firearms seized from Massachusetts home after report of second grader bringing gun to school

Published

on

5 firearms seized from Massachusetts home after report of second grader bringing gun to school


Five firearms were seized from a Swansea, Massachusetts home after police investigated a report that a second-grade student may have brought a handgun to an elementary school.

On Monday night, Swansea police were notified that the student may have brought a gun to Mark G. Hoyle Elementary School and showed it to at least two other students on a previous day.

After an investigation, officers developed probable cause to get a search warrant for the student’s home in Swansea, which was issued by the court and executed Tuesday afternoon.

Advertisement

During the search of the home, police said they found five firearms and ammunition. The guns were not registered and were stored unsecured, police said. No one who lives in the home had a valid Firearms Identification Card, according to police. 

“The firearms were seized as part of the investigation, and Swansea Police plan to file an application for criminal complaint in Fall River District Court on Wednesday charging two residents with weapons-related offenses,” Swansea police said in a press release Tuesday night. 

The names of the residents have not been released by police. 

Police and Swansea Public Schools took additional safety precautions at the school Tuesday morning while officers investigated the report. After the firearms were discovered in the home, a police K-9 unit trained in firearms and ammunition detection swept the school Tuesday night, but nothing was found.

Swansea police do not believe there is an active threat to the school community, but there will be an increased presence at the Hoyle Elementary School on Wednesday. The investigation remains ongoing.

Advertisement



Source link

Advertisement
Continue Reading

New Hampshire

Snow totals across New Hampshire after April flakes

Published

on

Snow totals across New Hampshire after April flakes


WMUR

snow falls in manchester on april 7, 2026

Advertisement

SOURCE: WMUR

The first full week of April brought another round of snow. Here are totals throughout the state: Bedford – 1.5″Bradford – 4.0″Chichester – 2.5″Concord – 0.3″Contoocook – 2.4″Gilsum – 4.0″Hooksett – 1.5″Jaffrey – 3.5″Jefferson – 2.3″Lyndeborough – 2.5″Madison – 1.5″Manchester – 0.5″Northfield – 3.0″Peterborough – 2.0″Salisbury – 3.5″Thornton – 4.0″Washington – 3.0″Warner – 3.1″Wolfeboro – 3.9″

Advertisement

The first full week of April brought another round of snow. Here are totals throughout the state:

Bedford – 1.5″

Bradford – 4.0″

Advertisement

Chichester – 2.5″

Concord – 0.3″

Contoocook – 2.4″

Gilsum – 4.0″

Hooksett – 1.5″

Advertisement

Jaffrey – 3.5″

Jefferson – 2.3″

Lyndeborough – 2.5″

Madison – 1.5″

Manchester – 0.5″

Advertisement

Northfield – 3.0″

Peterborough – 2.0″

Salisbury – 3.5″

Thornton – 4.0″

Washington – 3.0″

Advertisement

Warner – 3.1″

Wolfeboro – 3.9″

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’;

Advertisement

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’);
});

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;
}

Advertisement

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;

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;

Advertisement

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.wmur.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.wmur.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 || ”;

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;
}

Advertisement

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);
}

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);
}
}

Advertisement

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

`;
}

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();
}
}

Advertisement

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’);
});

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

Advertisement

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;

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’);
});
}
}

Advertisement

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.wmur.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.wmur.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 || ”;

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

Advertisement

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);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

Advertisement

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

Loading more articles…

Advertisement



Source link

Continue Reading

Trending