91³Ô¹ÏÍø

Watch CBS News

Ann Arbor tornado damage assessment crews collecting data for state, federal disaster relief

Ann Arbor neighborhoods are still recovering from early Wednesday morning's tornado.

Crews will be knocking door to door, assessing the damage in hopes of getting the state and federal emergency declarations for Ann Arbor, which could help residents pay for repairs.

"FEMA and state support comes in where insurance doesn't," said Ann Arbor Sustainability and Innovations director Missy Stults.

The city employees knocking on doors will be wearing high-visibility safety vests, Ann Arbor city seals, and official city credentials. Crews will be heading to homes and businesses that align with the tornado's path, and where straight-line winds continued after the tornado lifted.

"Every person going out is going to knock on the door and identify themselves and show their badge first. If you still don't feel comfortable, we're going to leave a leave-behind piece of paper that has more information, and you can still reach out to us and schedule us to come out another time," Stults said.

"We have pretty clear indication of where the storm's path was, and we're centering around that storm's path and the damage that's been reported through residents and through our own initial recovery efforts."

Residents can expect these crews to request brief access to their property to take photos and make observations, and to ask questions about damage to their property. 

They won't be entering homes, conducting code inspections or issuing citations. They'll never ask for money or a credit card.

"They won't be capturing names, any insurance claims, things like that. They're really trying to get initial information to assess the situation," Stults said.

Residents can also get ahead of crews by reporting private property damage on the .

On Friday, Gov. Gretchen Whitmer declared a state of emergency for Ann Arbor, Kalamazoo and five Michigan counties. This comes after she declared a state of emergency for 33 counties, including in Cheboygan County, where officials were monitoring rising water levels at the Cheboygan Lock and Dam Complex.

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