Iowa Gov. Kim Reynolds vetoed a bill Wednesday that would have made it more difficult for companies to use eminent domain to build carbon capture pipelines and other energy infrastructure.
In her veto message, Reynolds said the bill is not just about eminent domain.
“It goes much further — and in doing so, sets a troubling precedent that threatens Iowa’s energy reliability, economy and reputation as a place where businesses can invest with confidence,” she said.
Reynolds said the bill’s insurance mandates and 25-year permit limit would even block pipeline projects that use only voluntary agreements with landowners.
Advertisement
“I understand this was not the intent,” she said. “Those who crafted the bill said they don’t want to stop CO2 pipelines that rely entirely on voluntary agreements. But that is exactly what the bill does. For that reason alone, I cannot sign it.”
Reynolds also raised concerns about the bill’s changes to permitting rules for other types of pipelines, including those that transport oil, gas and fertilizer. She also said the bill would put Iowa at a competitive disadvantage for biofuels production as other Midwestern states move forward with carbon capture projects.
She said she is “committed to working with the Legislature to strengthen landowner protections, modernize permitting, and respect private property.” In the meantime, Reynolds said she is asking Iowa Utilities Commission members to be present for live testimony and informational meetings, which would have been required by the bill she vetoed.
“Those who crafted the bill said they don’t want to stop CO2 pipelines that rely entirely on voluntary agreements. But that is exactly what the bill does. For that reason alone, I cannot sign it.”
Gov. Kim Reynolds
Advertisement
House Speaker Pat Grassley, R-New Hartford, said he has asked House members to sign a petition to hold a special session to override the governor’s veto.
“This veto is a major setback for Iowa,” Grassley said in a statement. “It is a setback not only for landowners who have been fighting across Iowa, but for the work the House of Representatives has put in for four years to get legislation like HF639 passed. We will not stop fighting and stand firm on our commitment until landowners in Iowa are protected against eminent domain for private gain.”
Lawmakers can override a veto if two-thirds of the members of each chamber vote to pass the bill again.
Senate Majority Leader Jack Whitver, R-Grimes, said he supports Reynolds’ decision.
“Based on the votes on that bill in the Iowa Senate, a significant majority of our caucus supports a better policy to protect landowner rights,” he said. “I expect that majority of our caucus would not be interested in any attempt to override her veto.”
Advertisement
Katarina Sostaric
/
Iowa Public Radio
Eminent domain bill supporters in red shirts and opponents in blue shirts watched as the Iowa Senate debated a bill to limit eminent domain for carbon pipelines May 12, 2025.
Iowans who oppose the use of eminent domain for the Summit Carbon Solutions carbon capture pipeline have fought for years to get a bill passed that would prevent the company from acquiring land from unwilling landowners in its path. State utility regulators gave Summit Carbon Solutions conditional approval last year to use eminent domain for the project.
Advertisement
This year, 12 Republican senators defied their leaders and forced a vote on a bill aimed at further restricting eminent domain and pipeline projects. After a contentious, late night debate in which GOP senators publicly argued with each other about the potential impact of the bill, 13 Republicans joined with 14 Democrats to pass it.
Senate Democratic Leader Janice Weiner of Iowa City said she was disappointed by the veto but not surprised.
“There is simply no amount of political posturing or legislative stonewalling that can deny the fact that Iowans’ right to private property should never be infringed upon for private gain,” she said.
House Minority Leader Brian Meyer, D-Des Moines, said Reynolds sided with her political donors rather than Iowa landowners.
“Iowa House Democrats and Republicans worked together to protect property rights,” he said. “At the end of the day, there is only one group to blame for the failure of the eminent domain bill: Iowa Republican lawmakers.”
Advertisement
Summit Carbon Solutions thanked the governor for her “thoughtful and thorough review of the bill.”
“We look forward to continued discussions with state leaders as we advance this important project,” Summit’s statement reads. “At a time when farmers are facing increasing pressures, this project opens the door to new markets and helps strengthen America’s energy dominance for the long term.”
Supporters and opponents of the bill have disagreed about its impact
The Summit Carbon Solutions pipeline would transport carbon dioxide emissions from ethanol plants in Iowa, Nebraska, South Dakota and Minnesota to be sequestered underground in North Dakota. Biofuels producers have said the project is needed to create new markets for low-carbon fuels, which they said would increase demand for corn and boost Iowa’s economy.
Monte Shaw, executive director of the Iowa Renewable Fuels Association (IRFA), thanked Reynolds for vetoing the bill.
“Any thoughtful review of this bill would determine that it would lead to higher energy prices for Iowans, hamper future economic development, hold back job creation and stifle new markets for Iowa farmers,” he said. “IRFA thanks Gov. Reynolds for listening to Iowans, studying the actual legislation and ignoring the rhetoric that was as inaccurate as it was loud.”
Advertisement
Shaw said the bill would not have enhanced property owner rights, and that it simply sought to kill carbon capture pipelines.
Madeleine Charis King
/
Iowa Public Radio
Advertisement
Iowans living in or near the path of proposed carbon pipelines rallied at the Statehouse in support of a bill that would have restricted the use of eminent domain for such projects.
Landowners facing the use of eminent domain have said the bill wouldn’t stop any pipelines — but it would have leveled the playing field for affected landowners and their neighbors.
Mary Powell, an affected landowner from Shelby County, said last month the bill was a reasonable, common sense measure to help protect Iowans’ rights to have control over their land.
“The issue at hand is not a partisan issue,” she said. “It’s not about Democrats or Republicans or who has the most money to push through their private agenda for private gain. It’s about taking a stand and protecting the rights of Iowans. It’s about holding the pipeline companies and those in public office accountable.”
Rep. Charley Thomson, R-Charles City, said he wrote the bill. He recently wrote on Facebook that the bill is “a relatively tepid first step toward fixing Iowa’s broken pipeline permitting system.”
“The entire CO2 pipeline project is based on lies, so I’m not the least surprised that the CO2 pipeline crowd launched a blizzard of lies in their attacks on HF639,” he wrote.
Advertisement
What would the bill have done?
The bill says a hazardous liquid pipeline can only use eminent domain if it is a common carrier, which is defined as transporting a commodity for entities not affiliated with the pipeline company.
A company seeking to use eminent domain would have to establish “by clear and convincing evidence that the proposed use meets the definition of a public use, public purpose, or public improvement.”
The bill would have established insurance requirements for hazardous liquid pipelines that would’ve included coverage for landowners who couldn’t get insurance or whose premiums rose as a result of the pipeline.
Pipelines transporting carbon dioxide would have also been prohibited from operating for longer than 25 years, and the Iowa Utilities Commission (IUC) would’ve not be allowed to renew a permit granted to a carbon pipeline.
The bill would have put in place requirements for IUC members to attend hearings and informational meetings regarding the proposed use of eminent domain — something Reynolds said she is asking ICU members to do. It would’ve specified who could intervene in IUC proceedings, and limited the situations in which the IUC could impose sanctions on interveners.
National Weather Service tornado safety guidelines
What is the difference between a tornado watch and a tornado warning?
Severe storms are expected to hit Iowa again Tuesday, bringing the possibility of tornadoes, large hail, and damaging winds.
The National Weather Service has issued an Enhanced Risk for parts of Iowa, indicating a higher chance of organized severe thunderstorms.
Forecasters warn that strong tornadoes and giant hail are possible with the most intense storms.
The severe weather threat is expected to continue through the week, with another strong system anticipated on Friday.
Severe storms are expected to sweep across Iowa again in the afternoon of Tuesday, April 14, with forecasters warning of all severe weather hazards possible — including tornadoes, large hail and damaging winds — as multiple rounds of storms move through the region through midweek.
The National Weather Service Storm Prediction Center has placed parts of Iowa under an Enhanced Risk (Level 3 of 5) for Tuesday, signaling a higher likelihood of organized severe thunderstorms, including supercells capable of producing strong tornadoes and very large hail.
Advertisement
What is the weather today in Iowa?
Forecasters expect storms to develop late Tuesday afternoon into the evening as a stalled frontal boundary sits across eastern Iowa into Wisconsin. A surge of warm, moisture-rich air moving north from the Missouri Valley will collide with steep mid-level lapse rates and strong wind shear, creating an environment supportive of severe storms.
If storms can form, they are expected to quickly become supercells.
“Large to giant hail and an intense tornado will be possible with the strongest storms,” the Storm Prediction Center noted, especially where wind shear is maximized near surface boundaries.
More: Tornadoes, thunderstorms threaten central US amid back-to-back storms
Are tornadoes in Iowa possible?
Yes — tornadoes are possible across Iowa Tuesday afternoon and evening, though forecasters say the setup is still uncertain and depends on how storms evolve during the day, according to the National Weather Service.
Advertisement
A key factor is a “cap” in the atmosphere that could delay or limit storm development, making the exact timing and placement of storms difficult to pin down early.
Even if afternoon storms remain scattered, activity is expected to increase later Tuesday night as a low-level jet strengthens over the Plains and Midwest. That pattern should help trigger more widespread thunderstorms, especially across southern and central Iowa.
More: NWS investigating possible tornadoes in Webb, Palo Alto County on Monday
Some of these storms may become elevated above the surface overnight, which could slightly reduce the tornado threat at that point. However, that setup would still support hazards such as heavy rainfall, frequent lightning and hail, particularly in stronger storm clusters.
Advertisement
Still, forecasters say all severe weather hazards remain on the table.
Tornadoes are possible, and a few could be strong if storms stay isolated and develop into discrete supercells.
Large to giant hail is also a concern within the strongest rotating storms that form along boundaries in the warm sector.
Damaging wind gusts may become more widespread later in the evening if storms organize into larger clusters or storm complexes moving across the state.
Advertisement
Storms continue through Friday
Additional severe weather is possible on Wednesday as another upper-level disturbance moves into the region. The exact risk will depend on how Tuesday’s storms evolve and how much instability remains in place.
If conditions recover, supercells with all hazards — including tornadoes — could redevelop across parts of Iowa during peak daytime heating. For now, forecasters have maintained a Slight Risk (Level 2 of 5) for Wednesday.
The active pattern does not end midweek. Another strong system is expected on Friday, bringing a new round of severe storms across much of Iowa ahead of a fast-moving cold front.
Behind it, temperatures will drop sharply over the weekend, with highs falling into the 40s and 50s and a hard freeze possible in northern areas by Saturday night.
Advertisement
Iowa weather radar
Iowa weather watches and warnings
Here are the watches and warnings for the area.
Stay informed. Get weather alerts via text.
Brandi D. Addison covers weather across the United States as the Weather Connect Reporter for the USA TODAY Network. She can be reached at baddison@gannett.com.
Tornadoes and hail reported across northern Iowa counties
Advertisement
KCCI EIGHT NEWS AT TEN STARTS NOW. GOOD EVENING. IT HAS BEEN AN ACTIVE EVENING IN NORTHERN IOWA. ACTIVE WEATHER EVENING. THIS PICTURE SENT TO US BY STEVE FITCHETT SHOWS A TORNADO ON THE GROUND NEAR GILLETT GROVE. YOU CAN SEE THE DEBRIS KICK UP THERE. THIS WAS IN CLAY COUNTY. THIS WAS A TORNADO WARNED STORM NEAR THAT AREA. TONIGHT. A TORNADO WARNED STORM ALSO MOVED THROUGH KOSSUTH COUNTY THIS EVENING. THAT’S A LIVE LOOK RIGHT NOW FROM ALGONA. THANKFULLY THE TORNADO WATCH FOR THE COUNTY JUST EXPIRED AT THE TOP OF THE HOUR, SO IT SHOULD BE A MUCH CALMER NIGHT AHEAD. THE STORM ROLLED THROUGH SANBORN THIS AFTERNOON. TAKE A LOOK AT THIS. ALYSSA BECKER SENT US THESE PICTURES OF THE HAIL THAT FELL THERE TODAY. THAT’S A BIG HAIL AND DOES SOME DAMAGE. ABSOLUTELY. WE SAW EVEN THE LIVE LOOK FROM ALGONA. YOU SAW SOME LIGHTNING THERE. SO EVEN FOR THESE AREAS THAT ARE OUT OF KIND OF THE ROUGH STUFF THERE, JASON, STILL A LITTLE BIT OF A, YOU KNOW, I DON’T KNOW, THINGS THAT CATCHES THEIR EYE TONIGHT. ABSOLUTELY. THERE’S
Advertisement
Tornadoes and hail reported across northern Iowa counties
Updated: 11:16 PM CDT Apr 13, 2026
Editorial Standards ⓘ
Advertisement
Severe storms swept through northern Iowa Monday evening, bringing tornadoes and hail to several counties.A tornado was spotted on the ground near Gillett Grove in Clay County, as shown in a photo sent by Steve Fitchett. The area experienced a tornado-warned storm Monday night. A tornado-warned storm also moved through Kossuth County this evening. A live view from Algona showed the conditions, and the tornado watch for the county expired at 10 p.m.Earlier in the day, the storm rolled through Sandborn, bringing hail to the area. Alyssa Becker shared pictures of the hail from the scene.
ALGONA, Iowa —
Severe storms swept through northern Iowa Monday evening, bringing tornadoes and hail to several counties.
Advertisement
A tornado was spotted on the ground near Gillett Grove in Clay County, as shown in a photo sent by Steve Fitchett. The area experienced a tornado-warned storm Monday night.
A tornado-warned storm also moved through Kossuth County this evening. A live view from Algona showed the conditions, and the tornado watch for the county expired at 10 p.m.
Earlier in the day, the storm rolled through Sandborn, bringing hail to the area. Alyssa Becker shared pictures of the hail from the scene.
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’);
});
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.kcci.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.kcci.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);
}
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
`;
}
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’);
});
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 };
Advertisement
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;
var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);
Advertisement
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.kcci.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.kcci.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;
}
var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}
Advertisement
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;
Advertisement
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
How Detroit Pistons secured 1-seed and best season in 20 years
Detroit Pistons defeated the Philadelphia 76ers on April 4, 2026, to move to 57-21 on the season with four games left. How’d they get here?
The Iowa State volleyball program recently received an unexpected endorsement from an NBA All‑Star.
Golden State Warriors forward Jimmy Butler hit the court wearing a gray Nike Iowa State Volleyball T‑shirt before his team’s regular‑season finale against the Los Angeles Clippers on Sunday, April 12.
Advertisement
So why did Butler, a Marquette alum and Texas native with no obvious Iowa State ties at first glance, sport an Iowa State volleyball shirt? Here’s what we know.
Jimmy Butler’s Iowa State volleyball connection
Butler’s decision to wear the shirt wasn’t the result of a lost bet with a former Iowa State coach or player, or an unrelated thrift-store pickup, but rather tied to a longstanding personal connection with a member of the Iowa State volleyball coaching staff.
Butler has been friends with Ciara Jones, Iowa State volleyball’s associate head coach and recruiting coordinator, since their time together as student‑athletes at Marquette in the late 2000s. The connection was first pointed out on social media by Iowa State women’s basketball radio play‑by‑play announcer Noah Wolf, who noted that the six‑time All-Star selection attended Iowa State’s match at Houston during the 2025 season to support Jones and the team.
Jones, who has been with the Cyclones Volleyball team since 2023, reposted a photo of Butler from Sunday in the Cyclones gear with the star eye emojis and “you love to see it” in her caption. Butler attended Marquette from 2008 to 2011 and Jones from 2008 to 2012.
Jones helped lead the program to its first NCAA Tournament appearance in 2011, a season in which she was also named a Big East First Team All‑American, according to her Iowa State coaching profile. The two Golden Eagles alums appear together in several posts on Jones’ Instagram.
Advertisement
When did Jimmy Butler tear his ACL?
Butler, 36, has been sidelined since Jan. 19, 2026, after suffering a torn right ACL, an injury that ended his 2025–26 season.
He appeared in 38 games, averaging 20.0 points, 5.6 rebounds and 4.9 assists per game while shooting 51.9% from the field. After losing Sunday’s matchup 115–110, the Warriors (37–45) are set to rematch the Clippers (42–40) on Wednesday, April 15, in the NBA Play‑In Tournament.
The Cyclones volleyball program capped a strong 2025 season with a 23–8 overall record, their highest win total since 2011, and finished third in the Big 12 at 12–6 in conference play.
Advertisement
Cooper Worth is a service/trending reporter for the Des Moines Register. Reach him at cworth@gannett.com or follow him on X @CooperAWorth.