NewTech Challenge: Inspecting and cleaning of large pipes

An error occurred while processing the template.
The following has evaluated to null or missing:
==> mostrarTituloH2  [in template "20102#20129#105831" at line 4, column 40]

----
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: #assign hayH2 = getterUtil.getBoolean...  [in template "20102#20129#105831" at line 4, column 1]
----
1<#assign title = .vars['reserved-article-title'].getData()> 
2<div class="containerInterior"> 
3<#assign hayH1 = getterUtil.getBoolean(MostrarTituloH1.getData())> 
4<#assign hayH2 = getterUtil.getBoolean(mostrarTituloH2.getData())> 
5 
6<#if hayH1> 
7    <h1 aria-level="1" role="heading" id="titulo">${layout.getName(locale)}</h1> 
8</#if> 
9<#if hayH2> 
10 
11    <#if TituloContenido.getData()?? && TituloContenido.getData() != ""> 
12        <#assign contenido = TituloContenido.getData()> 
13    <#else> 
14        <#assign contenido = title> 
15    </#if> 
16 
17    <#if hayH1> 
18        <p  id="subtitulo"  
19            aria-level="2"  
20            role="heading"  
21            style=" 
22                color: #007f33 !important; 
23                font-size: 45px; 
24                font-family: 'IberPangea Medium', sans-serif; 
25                line-height: 45px; 
26                margin-top: .75em; 
27                margin-bottom: .9em;"> 
28            ${contenido} 
29        </p> 
30    <#else> 
31        <p  id="subtitulo" 
32            style=" 
33                color: #007f33 !important; 
34                font-size: 45px; 
35                font-family: 'IberPangea Medium', sans-serif; 
36                line-height: 45px; 
37                margin-top: .75em; 
38                margin-bottom: .9em;"> 
39            ${contenido} 
40        </p> 
41    </#if> 
42 
43</#if> 
44 
45<#if getterUtil.getBoolean(MostrarCategorias.getData())> 
46 
47 
48 
49    <#assign journalArticleId = .vars['reserved-article-id'].data> 
50    <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
51 
52    <#assign assetCategoryPropertyLocalService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") /> 
53 
54    <#assign article = journalArticleLocalService.getArticle(groupId, .vars['reserved-article-id'].data) /> 
55    <#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")> 
56    <#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) > 
57    <#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") /> 
58 
59    <p class="tag-categorias"> 
60 
61    <#list asset.getCategories() as category> 
62 
63 
64 
65    <#if assetCategoryPropertyLocalService.fetchCategoryProperty(category.getCategoryId(), "friendlyURL")??> 
66 
67        <#assign categoryFriendly = '/tag/' + assetCategoryPropertyLocalService.fetchCategoryProperty(category.getCategoryId(), "friendlyURL").getValue() /> 
68 
69        <#if layoutLocalService.fetchLayoutByFriendlyURL(groupId, false, categoryFriendly)??> 
70            <#assign  categoryLayout = layoutLocalService.fetchLayoutByFriendlyURL(groupId, false, categoryFriendly) /> 
71            <#assign categoryLayoutURL = portalUtil.getLayoutFullURL(categoryLayout, themeDisplay) /> 
72 
73            <a class="tag-categoria" href="${categoryLayoutURL}">${category.getTitle(locale)?cap_first}</a> 
74 
75        <#else> 
76        <a class="tag-categoria" href="/tag/#">${category.getTitle(locale)?cap_first}</a> 
77 
78        </#if> 
79    </#if> 
80 
81 
82 
83 
84    </#list> 
85 
86    </p> 
87 
88</#if> 
89<div id="contenidoEntradilla">${DescripcionDetalleContenido.getData()}</div> 
90 
91 
92<#if ContenidoWebcofl.getSiblings()?has_content> 
93	<#list ContenidoWebcofl.getSiblings() as cur_ContenidoWebcofl> 
94		<#assign 
95			webContentData = jsonFactoryUtil.createJSONObject(cur_ContenidoWebcofl.getData()) 
96		/> 
97 
98			<#if webContentData?length gt 5> 
99					<@liferay_asset["asset-display"] 
100                                className = webContentData.className 
101                                classPK = webContentData.classPK?number 
102                        /> 
103 
104			</#if> 
105 
106 
107	</#list> 
108</#if> 
109</div> 
110<@liferay_util["html-top"]> 
111<style> 
112    #decPagination div.containerInterior p#subtitulo { 
113        font-family: "Iberpangea Medium"; 
114        font-size: 45px; 
115        line-height: 45px; 
116        color: #007F33; 
117        margin-bottom: 20px; 
118
119 
120 
121    div.contenidoCentrado div.contenidoInterior div.containerInterior p.tag-categorias a.tag-categoria:focus{ 
122        outline: 2px solid rgba(0, 0, 0, 0.7) !important; 
123
124    p.tag-categorias > .tag-categoria { 
125        width: auto !important; 
126        max-width: inherit !important; 
127
128     
129    div.faldon h2 { 
130        width: 100%; 
131        float: left; 
132        font-size: 1.26em; 
133        font-family: IberPangeaText Light, sans-serif; 
134        margin-bottom: 2em; 
135        border-bottom: 1px solid #e0e0e0; 
136        padding-bottom: .8em; 
137        color: #427314 !important; 
138 
139        line-height: 1.35em; 
140        margin-top: .75em; 
141
142    .contenidoInterior div.faldon h2+ul li:before { 
143        margin: .15em 0 0 -1.75em; 
144        font-size: 1em; 
145
146    .cursiva_texto { 
147        font-style: italic; 
148
149    .contenidoInterior h1 { 
150		font-family: 'IberPangea', sans-serif !important; 
151		font-size: 32px !important; 
152		border: none !important; 
153		line-height: 36px !important; 
154		letter-spacing: 0px !important; 
155		color: #00402A !important; 
156		padding-left: 0em !important; 
157		margin-bottom: 14px !important; 
158
159    p span.table a.enlace-actualidad[href*="/tag/"], 
160    p span.table a.enlace-actualidad[href*="/label/"], 
161    p.tag-categorias a.tag-categoria[href*="/tag/"], 
162    p.tag-categorias a.tag-categoria[href*="/label/"]{ 
163        line-height: 23px !important; 
164
165    .contenidoInterior #contenidoEntradilla p.entradilla { 
166        font-family: IberPangeaText, sans-serif !important; 
167        font-size: 17px !important; 
168        line-height: 23px !important; 
169        font-weight: 700; 
170        color: #615D5A !important; 
171        margin-top: 2em; 
172
173       
174    .contenidoInterior h2#subtitulo{ 
175        font-family: 'IberPangea  Medium', sans-serif !important; 
176        margin-bottom: 0.4em; 
177
178   #decPagination div.containerInterior{ 
179        max-width:980px; 
180        margin:0 auto 25px; 
181
182    #decPagination div.containerInterior h1#titulo{ 
183        font-family:"Iberpangea Medium"; 
184        font-size:32px; 
185        line-height:36px; 
186        color:#00402A; 
187        text-transform:none; 
188        border-left:none; 
189        margin-top:20px; 
190
191    #decPagination div.containerInterior h2#subtitulo{ 
192        font-family:"Iberpangea Medium"; 
193        font-size:45px; 
194        line-height:45px; 
195        color:#007F33; 
196        margin-bottom:20px; 
197
198    #decPagination div.containerInterior p.tag-categorias{ 
199        margin-bottom:30px !important; 
200
201    #decPagination div.containerInterior p.tag-categorias a.tag-categoria{ 
202        margin-right:20px; 
203        color:#00402A; 
204
205    #decPagination div.containerInterior div#contenidoEntradilla p.entradilla{ 
206        font-family:"IberpangeaText"; 
207        font-size:20px ; 
208        line-height:26px; 
209        color:#615D5A; 
210
211    @media all and (max-width:500px){ 
212        #decPagination div.containerInterior h1#titulo{ 
213            font-size:26px; 
214            line-height:36px; 
215
216        #decPagination div.containerInterior h2#subtitulo{ 
217            font-size:35px; 
218            line-height:35px; 
219            margin-bottom:20px; 
220
221        #decPagination div.containerInterior div#contenidoEntradilla p.entradilla{ 
222            font-family:"IberpangeaText Bold"; 
223            font-size:16px ; 
224            line-height:24px; 
225
226
227    @media screen and (max-width: 47.95em) { 
228        .contenidoInterior h1 { 
229            font-size: 26px !important; 
230
231        .contenidoInterior h2#subtitulo{ 
232            font-size: 35px; 
233            line-height: 35px; 
234            color: #007F33 !important; 
235            margin-bottom: 1em; 
236
237        .contenidoInterior #contenidoEntradilla p.entradilla { 
238            margin-top: 0.8em; 
239
240        .contenidoInterior #contenidoEntradilla p.entradilla { 
241            line-height: 24px !important; 
242
243
244 
245 
246</style> 
247</@> 
Startup_Challenge_Limpieza_Tuberias
The winner signs a collaboration agreement and is able to try out its project.

Winning start-up

SubSea Mechatronics (SSM) has been selected in the PERSEO NewTech Challenge: Inspection and cleaning of large pipelines, a challenge that sought new solutions and technologies to help clean the large pipelines of thermal power plants, favouring their sustainability.

The company has developed an underwater ROV (Remotely Operated Vehicle) called PIPEYE that will allow Iberdrola's team to inspect and clean the large pipelines of our power plants, under the highest standards of quality and safety. This equipment replaces the traditional way of carrying out these operations, which to date have been carried out by divers, with the limitations that this entails. The use of PIPEYE will make it possible to inspect and clean a larger section of pipe, as well as to gather new data related to the state of the infrastructure and the amount of accumulated waste that must be extracted for the correct operation of the installation.

Context

Iberdrola group is present in more than 40 countries, including Spain, the United Kingdom, the United States, Brazil, Mexico, and Australia, where the company has generation, network and energy retail operations.

Within the group, the Generation area focuses on energy protection by building, operating and maintaining thermal power plants, and purchasing and selling the energy on the wholesale markets.

Iberdrola has more than 12 GW of installed capacity in this type of power plant, mainly in Spain and Mexico. In light of Iberdrola's commitment to sustainability and respect for the environment, it is searching for and implementing new solutions and technologies to improve the sustainability of these assets.

One basic hallmark of this type of power plant is that their refrigeration circuits use water, which in most cases consists of recirculating water from natural sources such as rivers, seas and oceans. The plant maintenance tasks include the inspection and cleaning of the large pipes through which the water flows around the plant.

Sometimes, these large pipes carrying fresh or saltwater, which can be hundreds of metres long and between one and four metres in diameter, require periodic inspections. Furthermore, they can be made of several types of material, although generally they are manufactured in steel or glass fibre.

If, during the inspection, the pipe walls are found to be dirty, usually with organic material, they must be cleaned to prevent blockages that may reduce performance, lead to outages in the plant or harm the environment, by interfering, for example, with the thermal gap between the inlet and outlet water.

Challenge description

This is the context in which Iberdrola — through its PERSEO International Startup Programme — has launched a new challenge to find innovative solutions for inspecting and cleaning large water supply pipes in electricity power plants.

The innovative solutions sought have two objectives:

 On the one hand, be able to perform underwater inspections more efficiently while the system is operating, or at least maximise the availability of the system. For the inspections, the aim is:

a) To gain comprehensive information about the depth of deposits in specific areas along the pipeline

b) Estimate the amount of dirt adhered to the pipes

c) Know what type of dirt this is: tubularia, sludge, mussels, etc.

 On the other hand, solutions for cleaning the pipe as efficiently as possible, including the several tonnes of accumulated dirt.

Among others, the following value propositions will be considered, which will be analysed by the Generation team at Iberdrola:

  • The maturity and reliability of the solution
  • Ease of installation and operation
  • Cost of investment and operation
  • Scalability of the solution for this and other applications in power plants, such as hydraulic and nuclear facilities
  • Improvements to safety at work
  • The solutions must be environmentally friendly
  • Possible processing and recovery of the waste obtained

It will also be considered whether the solutions:

 Ensure safety during the inspection and cleaning process

 Optimise the cost and duration of current operations

 Maximise the continuity and availability of the system during inspection and cleaning operations

The prize

The prize will consist of a collaboration and test agreement with PERSEO or any other group company, which will support the cost of those activities and provide the winner with all the necessary technical support, as well as a site and real data to test the solution, giving access to equipment, teams, infrastructure, high technology sites and shared work areas. The project will be undertaken in collaboration with technical specialists from the Iberdrola Generation area.

If the assay or test of the concept is satisfactory, Iberdrola may offer the winner the opportunity to scale up the solution adapting it by means of commercial agreements.

What's more, PERSEO will consider investing in the participating company and/or the winner of the challenge.