Itron News
Weathering the Storm: Utility Mitigation Tactics for Hurricane Season
In 2023, approximately 45 hurricanes took the world by storm with a total of 179 hurricane days, over 30 hurricanes above category three and 1,163 accumulated cyclone energy.1 Officially starting on June 1, hurricane season has the potential to cause significant damage to utility infrastructure, the communities they serve and everyday life, especially given the National Oceanic and Atmospheric Administration’s (NOAA) recent prediction of above-normal hurricane activity in the Atlantic basin. For utilities, the stakes are particularly high, as they play a crucial role in maintaining essential services like electricity and water.
While hurricane season is quickly approaching, it’s not too late to lay the groundwork for an effective response plan that aims to minimize impact, safeguard community wellbeing and ensure the continued delivery of critical services when disaster strikes. Here are a few steps your utility can take to prepare for and mitigate the impacts of hurricane season:
Conduct a risk assessment.
Before hurricane season officially begins, consider conducting a thorough risk assessment to identify vulnerabilities in your infrastructure. This could involve:
- Evaluating the susceptibility of power lines, substations, water distribution systems and other critical assets to wind, flooding and storm surges.
- Developing and updating emergency response plans tailored to various hurricane scenarios.
- Establishing plans with local, state and federal emergency management agencies to increase the likelihood of a unified response.
Complete needed maintenance.
Robust, durable and functioning infrastructure is essential to weathering a storm. To ensure infrastructure is functioning as intended, start with these steps:
- Inspect and reinforce critical infrastructure, ensuring it can withstand extreme weather conditions.
- Regularly trim trees and vegetation around power lines to reduce the risk of outages caused by misplaced branches.
- Upgrade outdated infrastructure with modern, resilient materials designed to endure the harshest of conditions.
Take inventory of your resources.
Having the right resources on hand is crucial for a quick response time. To make sure you have the resources you need when you need them, consider:
- Stockpiling essential supplies such as transformers, poles and other repair materials.
- Ensuring backup generators and other emergency equipment are readily available and working properly.
- Pre-positioning resources in strategic locations to enable quick deployment to affected areas.
Leverage cutting-edge technologies and systems.
Advanced technologies can enhance your utility’s ability to effectively monitor and respond to hurricane impacts. A few examples include:
- Smart endpoints, like teaming reclosers, provide real-time assessment of the grid, which can quickly identify outages and reroute power automatically when damage occurs following a hurricane. This grid-edge approach can restore power to many households while crews roll to fix the damage.
- Itron’s distributed intelligence platform enables grid edge computing, allowing devices on the grid to process data and make decisions locally. This enhances the grid’s ability to autonomously monitor itself and recover from disruptions – quickly.
- Smart streetlights are a sure way to increase public safety, especially when a hurricane strikes. With the right Networked Lighting Controller (NLC), utilities can measure and manage energy consumption, sense pole tilt and turn your utility’s streetlight into a connected endpoint.
Practice regular training and drills.
Preparedness is only as good as the people implementing it. To make sure your teams are ready to go when the time comes, consider implementing:
- Regular training sessions for teams to keep skills sharp and updated.
- Simulation exercises to practice response procedures and identify gaps in the plans. Itron customer, Florida Power & Light, is a great example.
- Mutual aid agreements with neighboring utilities for additional support during major events.
Proactively communicate with consumers (as much as possible).
Keeping the public informed enables them to make more intentional decisions, increases community safety and significantly reduces the impacts of a hurricane. Ways to keep customers in the loop include:
- Annual distribution of materials that provide customers with guidelines for hurricane preparedness and response.
- Encourage customers to maintain updated contact information for receiving emergency notifications.
- Provide clear, timely instructions during a storm, including safety tips and evacuation procedures if necessary.
By taking these proactive steps, utilities can better prepare for severe weather, mitigate the impacts of storms and reliably deliver electricity and water services when it matters most. Utility preparedness is key to navigating the challenges of hurricane season while keeping our communities safe.
Kesalahan terjadi ketika Memproses Template.
The following has evaluated to null or missing:
==> authorContent.contentFields [in template "44616#44647#114455" at line 9, column 17]
----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: contentFields = authorContent.content... [in template "44616#44647#114455" at line 9, column 1]
----
1<#assign
2 webContentData = jsonFactoryUtil.createJSONObject(author.getData())
3 classPK = webContentData.classPK
4/>
5
6<#assign
7authorContent = restClient.get("/headless-delivery/v1.0/structured-contents/" + classPK + "?fields=contentFields%2CfriendlyUrlPath%2CtaxonomyCategoryBriefs")
8contentFields = authorContent.contentFields
9categories=authorContent.taxonomyCategoryBriefs
10authorContentData = jsonFactoryUtil.createJSONObject(authorContent)
11friendlyURL = authorContentData.friendlyUrlPath
12authorCategoryId = "0"
13/>
14
15<#list contentFields as contentField >
16 <#assign
17 contentFieldData = jsonFactoryUtil.createJSONObject(contentField)
18 name = contentField.name
19 />
20 <#if name == 'authorImage'>
21 <#if (contentField.contentFieldValue.image)??>
22 <#assign authorImageURL = contentField.contentFieldValue.image.contentUrl />
23 </#if>
24 </#if>
25 <#if name == 'authorName'>
26 <#assign authorName = contentField.contentFieldValue.data />
27 <#list categories as category >
28 <#if authorName == category.taxonomyCategoryName>
29 <#assign authorCategoryId = category.taxonomyCategoryId />
30 </#if>
31 </#list>
32 </#if>
33 <#if name == 'authorDescription'>
34 <#assign authorDescription = contentField.contentFieldValue.data />
35
36 </#if>
37
38 <#if name == 'authorJobTitle'>
39 <#assign authorJobTitle = contentField.contentFieldValue.data />
40
41 </#if>
42
43</#list>
44
45<div class="blog-author-info">
46 <#if authorImageURL??>
47 <img class="blog-author-img" id="author-image" src="${authorImageURL}" alt="" />
48 </#if>
49 <#if authorName??>
50 <#if authorName != "">
51 <p class="blog-author-name">By <a id="author-detail-page" href="/w/${friendlyURL}?filter_category_552298=${authorCategoryId}"><span id="author-full-name">${authorName}</span></a></p>
52 <hr />
53 </#if>
54 </#if>
55 <#if authorJobTitle??>
56 <#if authorJobTitle != "">
57 <p class="blog-author-title" id="author-job-title" >${authorJobTitle}</p>
58 <hr />
59 </#if>
60 </#if>
61 <#if authorDescription??>
62 <#if authorDescription != "" && authorDescription != "null" >
63 <p class="blog-author-desc" id="author-job-desc">${authorDescription}</p>
64 <hr />
65 </#if>
66 </#if>
67</div>
The following has evaluated to null or missing: ==> authorContent.contentFields [in template "44616#44647#114455" at line 9, column 17] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: contentFields = authorContent.content... [in template "44616#44647#114455" at line 9, column 1] ----
1<#assign
2 webContentData = jsonFactoryUtil.createJSONObject(author.getData())
3 classPK = webContentData.classPK
4/>
5
6<#assign
7authorContent = restClient.get("/headless-delivery/v1.0/structured-contents/" + classPK + "?fields=contentFields%2CfriendlyUrlPath%2CtaxonomyCategoryBriefs")
8contentFields = authorContent.contentFields
9categories=authorContent.taxonomyCategoryBriefs
10authorContentData = jsonFactoryUtil.createJSONObject(authorContent)
11friendlyURL = authorContentData.friendlyUrlPath
12authorCategoryId = "0"
13/>
14
15<#list contentFields as contentField >
16 <#assign
17 contentFieldData = jsonFactoryUtil.createJSONObject(contentField)
18 name = contentField.name
19 />
20 <#if name == 'authorImage'>
21 <#if (contentField.contentFieldValue.image)??>
22 <#assign authorImageURL = contentField.contentFieldValue.image.contentUrl />
23 </#if>
24 </#if>
25 <#if name == 'authorName'>
26 <#assign authorName = contentField.contentFieldValue.data />
27 <#list categories as category >
28 <#if authorName == category.taxonomyCategoryName>
29 <#assign authorCategoryId = category.taxonomyCategoryId />
30 </#if>
31 </#list>
32 </#if>
33 <#if name == 'authorDescription'>
34 <#assign authorDescription = contentField.contentFieldValue.data />
35
36 </#if>
37
38 <#if name == 'authorJobTitle'>
39 <#assign authorJobTitle = contentField.contentFieldValue.data />
40
41 </#if>
42
43</#list>
44
45<div class="blog-author-info">
46 <#if authorImageURL??>
47 <img class="blog-author-img" id="author-image" src="${authorImageURL}" alt="" />
48 </#if>
49 <#if authorName??>
50 <#if authorName != "">
51 <p class="blog-author-name">By <a id="author-detail-page" href="/w/${friendlyURL}?filter_category_552298=${authorCategoryId}"><span id="author-full-name">${authorName}</span></a></p>
52 <hr />
53 </#if>
54 </#if>
55 <#if authorJobTitle??>
56 <#if authorJobTitle != "">
57 <p class="blog-author-title" id="author-job-title" >${authorJobTitle}</p>
58 <hr />
59 </#if>
60 </#if>
61 <#if authorDescription??>
62 <#if authorDescription != "" && authorDescription != "null" >
63 <p class="blog-author-desc" id="author-job-desc">${authorDescription}</p>
64 <hr />
65 </#if>
66 </#if>
67</div>