Itron News

Beneath the Surface: A Deep Dive into the World of Water

September 19, 2022

Water shortages are happening across the globe. Now more than ever before, it is critical to conserve water and use it efficiently. At Itron, we know that water is the most precious resource of all. That’s why we’re thrilled to announce the release of Beneath the Surface – the International Water Association’s new online video series that explores the challenges, opportunities and unknowns facing the water industry.

Produced by BBC StoryWorks for the International Water Association (IWA), Beneath the Surface explores today’s most pressing water challenges, while showcasing key innovations and solutions emerging within the sector. In a series of human-centric stories, the film profiles the innovations and innovators who are advancing positive change and striving for a world where water, the world’s most precious resource, is wisely, sustainably and equitably managed. Itron and our customer, Provo Water, are featured in the series in a film produced for us, telling the story of how the utility used Itron’s water Advanced Metering Infrastructure (AMI) solution to more quickly recover water service after Hurricane Irma.

After the hurricane, Provo Water lost nearly 3 million gallons of water and all access to water was cut off to the surrounding community’s schools, homes, hospitals and airports. With Itron’s AMI solution in place, Provo Water was able to detect the leaks, restore full services and re-pressurize the network. What previously would’ve taken between two-to-three months was completely resolved within two-and-a-half weeks.

Itron’s mission to create a more resourceful world includes delivering the right outcomes for utilities and cities by connecting every drop of water. As our water systems continue to face challenges such as worsening extreme and devastating weather, aging infrastructure, inefficient operations, increased consumer expectations and more, utilities must adjust accordingly while maintaining the integrity of their pipeline infrastructure. Provo Water experienced firsthand the benefits of Itron’s smart water solutions with improved operational visibility and efficiency as well as real-time insights after enduring one of the world’s most detrimental natural disasters to date.

Watch Itron’s segment, After the Storm, to hear the story of Provo Water’s recovery after Hurricane Irma and visit the Beneath the Surface landing page to learn more about the innovations and solutions that are taking the water industry by storm.

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>