91³Ô¹ÏÍø

Watch CBS News

See the massive rogue wave that crashed into Ventura, California, sending 8 people to the hospital

Forecasters are warning of an "exceptionally dangerous" wave event along the California coast that "has not occurred in many years" — and in Ventura on Thursday, beachgoers experienced just how dangerous it can be. Video shows a massive rogue wave slamming into a sea wall along the beach, sweeping up a truck and sending numerous people to the hospital. 

shows a crowd standing in a parking lot near the ocean before quickly scrambling to try to outrun the incoming wave, which was so large that it swept up a truck and several people, carrying them through rushing waters. 

It happened in Ventura, a coastal city roughly an hour northwest of Los Angeles. Ventura County Fire Department shared the footage, saying the "rogue wave" hit the beach at the end of Seward Avenue during a high surf advisory at high tide. The county has seen such high surf that streets were flooded with debris several blocks inland. 

"Because of this wave eight people were transported to local hospitals," the fire department said, adding that Ventura County beaches and the pier are closed. "For your safety, please avoid the area near the ocean, as it can be quite dangerous." 

The is warning that coastlines from Southern to Central California are at "extreme risk" — the highest of its warning levels — of "dangerous surf, life-threatening rip currents and coastal flooding" through the weekend.

"Tremendous wave energy across the coastal waters generating at the beach will continue through this weekend," the National Weather Service warned. "Powerful cyclones over the northern Pacific waters are sending this long-period swell towards Southern California waters, with reported outer water swell heights of 20-27 feet." 

The highest waves are expected along the central coast, where forecasters say they could reach between 15 and 20 feet through Saturday. Ventura County could see waves between 10 and 15 feet, while Santa Barbara and Los Angeles County could see waves between 7 and 12 feet, with some sets reaching 15 to 20 feet in some locations. 

"This is expected to be an exceptional high-surf and coastal flooding event that has not occurred in many years," the weather service said. "Take caution and heed the direction of local authorities and lifeguards." 

The agency has warned people in these areas to stay out of the water, prepare for "significant" flooding and to avoid rocks and jetties near the water. 

"Be wary of sneaker waves (suddenly much larger waves)," the agency said. "Never turn your back on the ocean." 

Northern California will also see its share of intense waves. 

The National Weather Service's San Francisco office said a coastal flood advisory is in effect through 2 p.m. on Friday, and a high surf warning was in effect until 6 a.m. Waves were predicted to break between 28 and 33 feet. 

"Large waves can sweep across the each without warning, pulling people into the sea from rocks, jetties and beaches," the agency warned. "These large waves can be ." 

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