91³Ô¹ÏÍø

Watch CBS News

Heat warnings issued for Midwest, Southeast as sweltering temperatures continue

It's always hot in the summer in the U.S. Southeast, but even by the standards of Florida and the Carolinas, the steamy heat wave on tap for the region Saturday into the coming week is a little extreme.

The National Weather Service issued heat advisories for a large swath of the East Coast from central Florida to Virginia through much of the weekend. Highs in the upper 90s F were forecast for central Florida, with heat indexes reaching 105 degrees F to 110 degrees F. The outlook was similar up through Georgia and the Carolinas into Virginia.

Extreme heat warnings were out for much of eastern North Carolina, as far inland as Raleigh, and extending into a corner of South Carolina, including Myrtle Beach. Forecasters warned of dangerously hot conditions with temperatures approaching or exceeding 100 degrees F in some areas on Sunday and heat indexes up to 115 degrees F through Sunday evening.

As of 4 p.m. ET, between heat advisories, extreme heat watches and extreme heat warnings, more than 163 million people are under heat alerts, according to CBS News meteorologist Andrew Kozak.

Temperatures on Friday were forecast to be 10 to 15 degrees above average for this time of year, with feels-like temperatures over 100 degrees expected in multiple areas as a heat dome moved across parts of the U.S. A heat dome happens when hot air is trapped over an area due to a persistent high-pressure system, said William Gallus, a professor of atmospheric science at Iowa State University. 

During extreme heat and high humidity events, heat-related illnesses increase significantly.

Climate Extreme Weather Heat
A person walks through a machine that mists to cool off after taking a break from running on a hot day, Friday, July 25, 2025, in Cincinnati. Joshua A. Bickel / AP

"Drink plenty of fluids, stay in an air-conditioned room, stay out of the sun, and check up on relatives and neighbors," the National Weather Service advised. "Take extra precautions when outside. Wear lightweight and loose fitting clothing. Try to limit strenuous activities to early morning or evening. Take action when you see symptoms of heat exhaustion and heat stroke. Stay cool, stay hydrated, stay informed."

The weather service said several major metropolitan areas in the Southeast — including Raleigh and Charlotte in North Carolina, Greenville-Spartanburg in South Carolina, and Atlanta in Georgia — were expected to face an extreme heat risk for several days, with minimal overnight relief. It said over 30 million people would likely be affected at the peak of the heat wave through midweek.

A hot, humid weekend was also in store for the Midwest. Extreme heat watches were out for eastern Nebraska, western Iowa and southern Minnesota. Heat indexes were expected to reach 96 degrees F on Saturday and go even higher on Sunday in Minnesota.

And an extreme heat warning was out for the St. Louis, Missouri, area through Tuesday evening, with highs around 99 degrees F and heat indexes around 110 degrees F forecast for Monday and Tuesday.

Parts of Iowa were hit by storms Saturday morning that dumped between 2 and 5 inches of rain in some areas and triggered flash flood warnings.

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=296763317a51cab90faa73f1bb146d5c'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });