Industry Insights
Seeing Climate Change First-Hand
I just returned from a stirring expedition to the frozen Arctic, the fastest-warming place on earth. During the trip, I witnessed first-hand what is happening in this unique ecosystem, and it is concerning. The Arctic is ground zero for the impacts of a warming climate as changes are happening faster there than anywhere else in the world. It was a great opportunity to visit this unique place, and I would like to pass along what I saw and learned.
The Journey Begins
We started our journey in Oslo, Norway, where we spent three days learning about our upcoming adventure, then we set off for Svalbard to start our expedition. Ranging from 74° to 81° north latitude, the Svalbard archipelago and Longyearbyen—the world’s northern most town—are covered in ice for most of the year. Since 1971, temperatures in Svalbard have risen on average by 4°C, which is five times faster than the global average of 0.8°C.1 To prepare for sub-zero temperatures, I brought specialized clothing, but the weather was quite mild with temperatures in the mid-30s most days. This was not quite what I was expecting from a trip to the Arctic.
I could see the impacts of this warming trend at the Global Seed Vault in Longyearbyen, a frozen storage bank designed to keep the world’s plants safe from catastrophe. The permafrost is melting around the installation and has caused the entrance to leak, as a result, the site is currently being rebuilt. I could hear the warming in the crackling of ancient glacier ice as it melted into the fjords of Svalbard. On our hikes, we examined the bones of several Svalbard reindeer that starved over the winter months due to a greater amount of rainfall in a warming climate. Unlike snow, the rain freezes to the ground, making it harder for the reindeer to paw away and get to the food underneath.
A Warming Planet
While it’s difficult to draw any conclusions from a single experience, the science record is clear – the Arctic is warming and in turn, much of the ice is melting. Robert Swan, the Founder of the 2041 Foundation and the first person to walk to both north and south poles, was one of the leaders on our expedition. Robert told me that when he first walked to the North Pole in May 1989, the team struggled because the ice melted earlier that year than it ever had before – even so, they found a path albeit a sometimes-circuitous route. He said that same unassisted expedition today is nearly impossible due to a reduction of multi-year sea ice and the speed at which the ice melts each year.
We know this general warming trend is caused by increasing levels of carbon dioxide in the atmosphere, the basic physics of which were worked out in the late 1800s with more accurate models and calculations coming in early and mid-1900s as industrialization took over and the science improved.2 Today, we have a robust world-wide measured data set and advanced future predictive models that create a more refined understanding, but the basic science is over 200 years old.
When these discoveries were first made, the global CO2 level was around 286 ppm—today we are at 413 ppm.3 The effect is cumulative. The more CO2 that enters the atmosphere, the warmer our world will get, ice will melt, sea levels will rise and global weather patterns will change. The scientific consensus believes that in order to avoid the worst trouble, we need to keep average global temperature rise well below +2°C with a target of +1.5°C as the aspirational goal.4
To hold temperatures to these levels, all countries must drastically reduce our carbon emissions over the coming years and make additional efforts to remove significant amounts of carbon out of the atmosphere itself.
Committed to Creating a More Resourceful World
Despite these changes, life persists in the Arctic. On our journey, we saw reindeer, arctic foxes, polar bears, walruses, seals, humpback whales, beluga whales, blue whales, fin whales and the critically endangered bowhead whales. The bowhead is rare and not often seen around Svalbard after having been hunted nearly to extinction in the past, so we were lucky to see them.
Protecting this interesting and important ecosystem is why I’m glad to work at a company like Itron that has a vision of creating a more resourceful world. The essence of resourcefulness for me is about finding quick and clever solutions to the problems we face in society. There are many companies offering impressive solutions for renewable generation, storage technologies and carbon decoupling solutions like electric vehicles. The solutions exist today, but society has yet to deploy them at the scale required to stay within our global carbon target.
We need to determine strategies that bring them to scale, enabling society to smoothly transition from today’s carbon-based energy systems to the renewable options of the future. I believe this is a mission that utilities and smart cities must fully embrace.
Reference Guide:
1. According to a report commissioned by the Norwegian Environment Agency.
2. The Discovery of Global Warming.
3. https://www.co2levels.org/ - Historical CO2 record from the Law Dome DE08, DE08-2, and DSS ice cores. Present day Atmospheric CO2 concentrations (ppm) derived from in situ air measurements at Mauna Loa, Observatory, Hawaii.
4. Paris Agreement
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>