Now, it’s up to staff at the New Hampshire Society for the Prevention of Cruelty to Animals in Stratham to figure out how to care for the critters and what happens to them next. And no one expects that to happen overnight.
“It’s going to be a very long haul,” said Sheila Ryan, director of development and marketing at the NHSPCA,where shelter staff already have converted at least two rooms into rodent quarters, moving other animals to different wings to make room for the newcomers.
More mice were still en route to the shelter as of Monday, Ryan said, adding that shelter staff were making extra trips back to the man’s house to collect more of them.
Get N.H. Morning Report
Advertisement
A weekday newsletter delivering the N.H. news you need to know right to your inbox.
“We do get cases sometimes where people have, you know, 40 cats or 60 dogs,” Ryan said. They also take in mice “on a regular basis.” But the sheer numbers in this instance are different than anything the Stratham shelter has seen before.
Grady McKinnon, 2, of Nottingham, N.H., watches fancy mice inside the glass tanks. Some rodents already have found new homes.Charles Krupa/Associated Press
“My understanding is that they started off with a group of same-sex mice, and then added mice [of the opposite sex] to the mix, and breeding began,” said Ryan. The mice in the home were cohabitating and breeding in an uncontrolled way, she said.
Once mice start breeding, they can reproduce at a very fast pace, experts said.
Advertisement
In fact, even allowing just a few pet mice to reproduce, it would only take around seven months to end up with 800, according to Matthew MacManes, a professor of genome enabled biology at the University of New Hampshire, whose research includes mice.
MacManes said he had never heard of anything like this happening before. “Usually people would understand and stop this far before,” he said.
Mice can reproduce from the time they’re about 6 weeks old, and pregnancy lasts around 20 days, so it would only take about eight or nine weeks to create a new generation, given litter sizes ranging from six to eight pups and no mortality, according to MacManes.
He said without predators, their growth can quickly become exponential.
“I assume that this is a man or a family that just loved these animals, and whatever happened, this just sort of got out of control,” he said. “Maybe they didn’t realize the speed with which these animals could reproduce.”
Advertisement
Adoption coordinator Lexi Giannopoulos cradles one of the over 800 mice that were surrendered at the New Hampshire SPCA in Stratham, N.H.Charles Krupa/Associated Press
Ryan Calsbeek, a professor of biological sciences at Dartmouth College, agreed: In the wild, predators keep rodents in check and can restore balance even if a population swells in a particular year.
But when mice are allowed to reproduce freely in the safety of captivity, “Your world can be overrun by rodents in very little time,” he said.
“I don’t know what this guy’s backstory is, if he was an enthusiast, or if he just accidentally had a breeding pair together and then didn’t know what to do with them, and things got out of hand,” said Calsbeek. “But either of those scenarios, if left unchecked, you can be overwhelmed readily.”
By Tuesday afternoon, Ryan estimated they had received at least 650 mice, and shelter staff had discovered a second species, taking in an additional 185 smooth-haired rats, which are only slightly larger than the fancy mice surrendered.Fancy mice — which come in a variety of colors — are a domesticated form of the house mouse that are sometimes raised to compete in shows.
She said given the right conditions, mice can make great, low-maintenance pets.
Advertisement
“They’re really entertaining to have in your home, and they’re adorable,” she said.
Some of the rodents already have found newhomes. As of Monday, about 18 had been adopted, 50 had been placed on pregnancy watch in foster homes, and around 100 had been transferred to other animal shelters around the region from Connecticut, to Maine, and around New Hampshire, according to Ryan, who noted that more than 10 mice had to be euthanized because they were sick.
She said the community has responded with an outpouring of donations: tanks, food, treats, and wheels on which the rodents to play.
Still, Ryan said the process of adopting the rodents could take several months.
“It’s a niche market,” Ryan said. “Not everybody sees the joy in mice.”
Advertisement
Some of the rodents are up for adoption by the NHSPCA. The organization also publishes a wish list online of needed items, and they accept donations to an SOS Fund for neglected animals.
Lexi Giannopoulos, adoption coordinator for the New Hampshire SPCA, loads four mice into a cardboard box. The mice were headed to a new home after being adopted from the shelter.Charles Krupa/Associated Press
Amanda Gokee can be reached at amanda.gokee@globe.com. Follow her @amanda_gokee.
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″
MANCHESTER, N.H. —
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’);
});
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);
}
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’);
});
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);
}
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
Two people have died following separate law enforcement-involved shootings in New Hampshire over the past three days, marking the first such fatalities in the state this year.
The most recent incident occurred in the early hours of Monday morning, when officers responding to a domestic disturbance call at a private residence in Northfield, N.H., shot and killed an adult woman.
According to the New Hampshire attorney general’s office, the woman died at the scene. The victim’s name will be released after the next of kin have been notified.
Advertisement
No additional details have been released, as the investigation remains active.
Another shooting took place on Saturday night, which was the culmination of an hours-long manhunt in Raymond, N.H.
Matthew J. Masse (NH State Police photograph)
Law enforcement responded to a call shortly after 1:30 p.m. that reported Matthew Masse, 38, was shooting a rifle at his family members at a home on Ham Road, according to a news release from the attorney general’s office.
During the initial response, Masse shot and wounded a Nottingham, N.H., police officer, who is being treated for non-life-threatening injuries.
Masse then fled into the surrounding woods.
Advertisement
After an hours-long search and shelter-in-place advisory, officers made contact with Masse around 10:06 p.m. and attempted to arrest him, which resulted in a shootout.
Law enforcement then approached Masse and found him dead, authorities said.
Warrants had been issued for Masse’s arrest following an incident two days earlier, according to reporting by NHPR. But, police hadn’t located him until they responded to the call on Saturday.
Family members told WMUR that Masse struggled with his mental health.
In both incidents, autopsies are yet to be conducted.
Advertisement
The attorney general’s office has opened an investigation into both incidents, as it does for all shootings that involve police officers. The officers involved have not been publicly identified.
Last year, the state recorded nine officer-involved shootings, only one of which involved a female victim, making Monday’s incident in Northfield a particularly rare occurrence.
After a long wait, the Portland Sea Dogs are set to open their home schedule Tuesday afternoon at Delta Dental Park, welcoming New Hampshire for the home opener.
The team’s newly installed field at Hadlock is already in great shape, with the Sea Dogs grounds crew putting the final touches on it Monday.
First pitch is scheduled for 4 p.m. Tuesday, and kids will be admitted free. Fans may want to bundle up, though, as conditions are expected to be chilly, with temperatures in the low 40s after the team recently played in the mid-80s.