Franco Giustozzi
email: franco.giustozzi@insa-rouen.fr

Julien Saunier

Cecilia Zanni-Merk

23rd International Conference on Knowledge-Based and Intelligent Information & Engineering Systems Abnormal Situations Interpretation in Industry 4.0 using Stream Reasoning

Keywords: Industry 4.0, Stream Reasoning, Condition Monitoring, Ontology

With the coming era of Industry 4.0, more assets and machines in plants are equipped with sensors which collect big amount of data for effective on-line equipment condition monitoring. Monitoring equipment conditions can not only reduce unplanned downtime by early detection of relevant situations like anomalies but also avoid unnecessary routine maintenance. For the detection of these situations it is necessary to integrate distributed, heterogeneous data sources and data streams. In this context, semantic web technologies are increasingly considered as key technologies to improve data integration. However, they are mainly used for data that is assumed not to change very often in time. In order to tackle this issue, stream reasoning combines reasoning and stream processing methods. Such a combination enables the processing of dynamic and heterogeneous data continuously produced from a large number of sources and implementing real-time services. This paper presents an approach that uses stream reasoning to identify in real time certain situations that lead to potential failures. Early detection enables to choose the most appropriate decision to avoid the interruption of manufacturing processes. In order to achieve this, data collected from sensors are enriched with contextual information. The use of stream reasoning allows the integration of data from different data sources, with different underlying meanings, different temporal resolutions as well as the processing of these data in real time.

Introduction

In recent years, a new trend called Industry 4.0 has emerged. Also known as the fourth industrial revolution, its main objective is to improve the production and associated services through the digitalization and automation of manufacturing processes. Several fields and technologies, such as Cyber Physical Systems (CPS), Internet of Things (IoT), etc., are fundamental to this vision in order to build intelligent machines, storage systems and production facilities capable of exchanging information autonomously and intelligently.

According to lean manufacturing metrics [12], as measured by Overall Equipment Effectiveness (OEE), worldclass manufacturing factories are working at 85% of their theoretical capacity, while medium-sized ones are at around 60%. Some of the reasons for these deficiencies are detailed in [START_REF] Hashemian | State-of-the-Art Predictive Maintenance Techniques[END_REF]. The main ones are unnecessary maintenance tasks and the breakdown of several critical types of equipment (such as compressors, fans, pumps, motors, and generators, etc.). This leads to increased maintenance costs and production stoppages. Furthermore, in some cases it may lead to severe safety and environmental incidents. In order to tackle these issues, factories rely on condition monitoring. It is the task of monitoring all the equipment involved in a manufacturing process for early detection of anomalies.

In this context, a large number of machines and plant resources are equipped with sensors that collect data continuously and make them available for analysis. In this article, our focus is on the real time use of this data to detect situations that may lead to failures disrupting production processes. A situation is a combination of one or several sensor measurements linked through spatial, temporal and/or spatio-temporal relationships. The detection of these situations requires the interpretation of observations considering their context (other spatially or temporally related observations). In other words, it involves distributed and heterogeneous data sources. Therefore, data integration is a key point to consider. Semantic web technologies are increasingly used to improve the interoperability in heterogeneous scenarios. The Semantic Web is an extension of the current World Wide Web, where the semantics of information is encoded as a set of statements such as RDF statements [START_REF]W3C Recommendation[END_REF]. The choice of RDF as a data model, in combination with ontological languages (e.g., OWL [START_REF] Owl-Workinggroup | OWL2 -OWL document overview[END_REF]), enables reasoning on data to infer new knowledge. However, current solutions for reasoning on RDF or OWL data are not appropriate for the dynamic nature of the streams in the industrial scenario where the manufacturing processes are executed over time and under different contexts. To bridge this gap, a number of recent works propose to unify reasoning and stream processing, giving rise to the research field of stream reasoning. Stream reasoning supports decision systems based on the continuous processing of data streams together with rich background knowledge [START_REF] Stuckenschmidt | Towards expressive stream reasoning[END_REF].

This paper presents an approach that uses stream reasoning to identify certain situations that lead to potential failures in order to choose the most appropriate decision to avoid the interruption of manufacturing processes. The proposed approach enriches the data collected from sensors with contextual information to allow real-time situations detection.

The remainder of the paper is structured as follows: section 2 presents the related work. In section 3, the general approach is presented, from data acquisition to situation representation and detection. An illustrative case study is detailed in section 4. Finally in section 5 some conclusions and perspective of future work are presented.

Related Work

In this section, we review related work on the most commonly used approaches for condition monitoring and the application of stream reasoning over other domains that have similar requirements to the Industry 4.0 scenario.

There are different methods to diagnose single machine defects occurring during the machine operation: vibration monitoring, ultrasonic analysis, and many others [START_REF] Gómez | Automatic condition monitoring system for crack detection in rotating machinery[END_REF][START_REF] Rmili | Tool Wear Monitoring in Turning Processes Using Vibratory Analysis[END_REF]. They monitor the behaviour of different properties of a machine. Most of them use data mining that allows the extraction of knowledge from large amounts of data. They are suitable and acceptably efficient when consuming data streams to detect abnormal patterns in the values of a machine's property (e.g. temperature, vibration, etc.). However, they have two drawbacks: (i) the need, in advance, for labeled data for model training; and (ii) the lack of explicit model to explain decisions. This make it difficult to interpret the data and it also complicates the interoperability and re-usability of the models.

To deal with this issue, the Semantic Sensor Web (SSW) approach provides tools that allow the integration of data from multiple data sources [START_REF] Sheth | Semantic Sensor Web[END_REF]. It introduces semantic annotations for describing: (i) the data produced by the sensors, introducing spatial, temporal, or situation/context semantics; and (ii) the sensors and the sensor networks that provide such data. Furthermore, there are also works on defining suitable ontologies for data and sensors to enable both the integration of data from multiple sensor networks and external sources, and reasoning on such data. As an example, the W3C Semantic Sensor Network Incubator Group [START_REF] Haller | The modular SSN ontology: A joint W3C and OGC standard specifying the semantics of sensors, observations, sampling, and actuation[END_REF] developed an ontology to describe sensors and sensor networks, the Semantic Sensor Network Ontology (SSN). However, as mentioned in the introduction current solutions to perform reasoning on ontologies are limited to work on rather static scenarios. They are not appropriate for the dynamic nature of the streams on the Industry 4.0 scenario.

Stream reasoning appeared as an initiative to tackle this problem. It has been applied in many fields, such as smart cities, to process and understand the information relevant for the life of a city and use it to make the city services run better and faster [START_REF] Tallevi-Diotallevi | Real-Time Urban Monitoring in Dublin Using Semantic and Stream Technologies[END_REF][START_REF] Lécué | Capturing the Pulse of Cities: Opportunity and Research Challenges for Robust Stream Data Reasoning[END_REF], remote health monitoring, to generate automated and personalized systems for remote patient monitoring [START_REF] Shojanoori | Semantic Remote Patient Monitoring System[END_REF][START_REF] Calbimonte | Semantic representation and processing of hypoglycemic events derived from wearable sensor data[END_REF], maritime safety and security, to represent and to perform reasoning over ship trajectories [START_REF] Santipantakis | A Stream Reasoning System for Maritime Monitoring[END_REF], semantic analysis of social media, to extend traditional analysis based on graphs enriching the connections between people and concepts with semantic annotations [START_REF] Mika | Flink: Semantic Web technology for the extraction and analysis of social networks[END_REF][START_REF] Erétéo | Analysis of a real online social network using semantic web frameworks[END_REF], among others.

However, although the Industry 4.0 domain could be considered as a particular application field for the Semantic Sensor Web to the best of our knowledge stream reasoning approaches are so far unexplored in it. Sensor data in the manufacturing domain represents an ideal scenario for stream reasoning mainly for two reasons. Firstly, the amount of data collected from sensors is considerable, and it is produced at high (and low) frequencies. Secondly, integrating data coming from different sensors (and from different sensor networks) that measure different properties of the manufacturing processes and machines involved in them is necessary in many settings for deriving useful information such as the detection of abnormal behaviour of machines or processes.

Stream Reasoning engines. There are various existing approaches aiming to perform reasoning over data streams. Two of those are C-SPARQL and CQELS.

C-SPARQL (Continuous SPARQL) [START_REF] Barbieri | C-SPARQL: a continuous query language for RDF data streams[END_REF] proposes a query language to process RDF streams. It provides continuous query capabilities in SPARQL query language [START_REF] Seaborne | SPARQL query language for RDF[END_REF]. It supports timestamped RDF triples as input and uses periodic execution strategy to continuously execute queries over these RDF streams. It has the capability of integrating both RDF streams and static background knowledge represented as RDF triples. Given that streams are intrinsically infinite, data are usually read through time windows using the CQL window concept [START_REF] Arasu | CQL: A Language for Continuous Queries over Streams and Relations[END_REF]. Queries are executed on all the triples which happen during a given time interval.

CQELS [START_REF] Phuoc | A native and adaptive approach for unified processing of linked streams and linked data[END_REF] is another system that combines static and streaming data in RDF format. Similar to C-SPARQL, it provides windowing and relational operators together with ad-hoc operators for generating new streams from the obtained results. CQELS queries deal with triples in element-based window (a given number of triples). The main difference with C-SPARQL is that CQELS offers a processing model in which query evaluation is not periodic, but triggered by the arrival of new triples. These different execution methods lead to the possibility of having different query results produced for the same query and input data. These approaches do not perform complex reasoning tasks because (1) they do not manage incomplete information and (2) they only consider a snapshot of the stream. Therefore, classical reasoning approaches can be used as complements to stream reasoning.

As mentioned in the introduction, early detection of situations that may lead to failures in the Industry 4.0 scenario requires the integration of data from different data sources, with different underlying meanings, different temporal resolutions as well as the need to process these data in real time. Thus, we propose to use stream reasoning to face these issues but also considering the application of classical reasoning approaches to overcome the limitations of the stream reasoning method. In other words, our proposal uses a combination of these approaches to meet the requirements of Industry 4.0 for the detection of relevant situations.

System Overview

The idea driving the proposed approach is that certain situations that may lead to machine failures can be detected by interpreting observations in their contexts, i.e. if an observation has an abnormal value it may be because another parameter is having abnormal values too. For example, consider the case where the temperature of a machine and the temperature of one of its components are being monitored. It is known that an increase in the temperature of the machine may be due to an increase in the temperature of the component, or vice versa. This allows the exploitation or use of expert knowledge about relationships between the values of certain parameters from the machines, processes and their context for interpreting observations. Therefore, through the early detection of the aforementioned situations types, operators have enough time to adapt the maintenance schedule or take further measures to prevent unexpected downtime.

General framework

In [START_REF] Toro | A Perspective on Knowledge Based and Intelligent Systems Implementation in Industrie 4.0[END_REF] the authors focus on the conceptual model, architecture and key elements needed for the support and enhancement of Industry 4.0 with knowledge based and intelligent systems. They emphasize that contextual knowledge, user experience and semantics involved in manufacturing and production processes should be taken into consideration if a company aims to improve equipment and production systems safety, availability, to reduce the number of unnecessary maintenance tasks and to optimize production costs.

In order to interpret raw sensor readings combined with contextual knowledge for the detection of certain situations that may lead to failures, our proposal relies on an adaptation of this framework. This adaptation is depicted in Figure1 and is described below.

• The Sensors and Actuators layer contains the sensors and actuators that are deployed in the machines or the environment. A sensor is a device that detects and responds to some type of input from the physical environment. Some examples are pressure sensors, accelerometers for measuring vibration, acoustic sensors for detecting leaks, temperature detectors, etc.. The output is generally a signal that can be converted to human-readable format or transmitted electronically over a network for reading or further processing. An actuator is a component of a machine that is responsible for moving and controlling a mechanism or system, for example by opening a valve. It can be activated by electric voltage or current, pneumatic or hydraulic pressure, or even human power. When it is activated the actuator converts the signal's energy into mechanical movement.

• The Communication layer is in charge of pre-processing the data coming from the Sensors and Actuators layer through processes such as filling missing values, smoothing the noisy data, etc. Furthermore, the data can be normalized, aggregated and/or generalized as required. This layer is also able to divide and distribute information and must ensure security and anonymity where necessary.

• The Semantic Enhanced CPS Representation layer contains the reasoning process and modules that allow the semantic enrichment of the raw data coming from sensors. The Reasoner module makes use of First Order Logic (FOL) under the Open World Assumption (OWA). In this layer, we propose to add a module named Stream Reasoner to process data in real time. It executes continuous queries over the streams of data. The Reasoner and the Stream Reasoner are not only fed with data but also with rules provided by domain experts. The Expert Knowledge module is in charge of storing such rules. It also embraces data from other external sources like Business Information Systems (BIS) and Enterprise Resource Planning (ERP).

• The Application layer comprises different applications that exploit the semantic enriched information, for example a human to machine interaction module.

Our proposal is part of the Semantic Enhanced CPS Representation layer. It makes use of all its components to go from raw sensor readings combined with background knowledge to the detection of relevant situations to support decision making tasks at the Application layer.

Relevant Situations Detection and Identification

The main components of our proposal are shown in Figure 2. The workflow starts from raw sensor readings to the detection of relevant situations to support decision making tasks. The modules to detect situations in real time are (1) Translation, (2) Temporal relations, (3) Cause determination, while the (4) Update/Create situations module manages classical reasoning. All these modules rely on a context ontology to semantically enrich the data representation and treatment.

Semantic representation: The Context Ontology

The Context ontology is an essential component in our approach. Firstly, it provides the formal representation of the manufacturing domain. It enables to represent a production line: the machines that compose it, the tasks they perform and the observations made by the sensors on certain properties of interest about the machines, processes, products and the environment. Secondly, it allows to represent the context in which an observation is measured. This is a key point to consider because that information is useful to interpret the observation not just as a single value allowing to determine the causes and what actions can be taken in a more informed way.

The ontology is an adaptation from a previous work [START_REF] Giustozzi | Context Modeling for Industry 4.0: an Ontology-Based Proposal[END_REF] based on the definition of context given by [START_REF] Dey | Towards a better understanding of context and context-awareness[END_REF]. This ontology-based context model for industry is built upon the following head concepts: resources, processes, sensors, time, location and situations. It reuses different ontologies in order to obtain a model that satisfies the Industry 4.0 requirements and facilitates context representation of the resources and processes.

The main concepts of the ontology and their relationships are presented in Figure 3. Among the reused ontologies it is worth mentioning the use of the Time Ontology [START_REF] Cox | Time ontology in OWL[END_REF] (used as a temporal model to guarantee a consistent representation of temporal content and properties), the GeoSPARQL Ontology [START_REF] Perry | Ogc geosparql -a geographic query language for rdf data[END_REF] (for representing the abstraction of physical spatial places and relations among them), the SSN Ontology [START_REF] Haller | The modular SSN ontology: A joint W3C and OGC standard specifying the semantics of sensors, observations, sampling, and actuation[END_REF] (for annotating heterogeneous sensor data with formalized semantics), the ontologies to describe the resources of a factory and the manufacturing processes, and the ontology to represent the relevant situations. For condition monitoring, a crucial concept is the concept of situation. A situation defines an abstract state of affairs that represents a particular scenario of interest and involves observations, resources and processes. In other words, a situation is a combination of one or several sensor measurements linked through spatial, temporal and/or spatio-temporal relationships.

The data models and ontology languages used in this approach are RDF [START_REF]W3C Recommendation[END_REF], RDFS [START_REF] Rdf-Workinggroup | RDF Semantics. W3C Recommendation[END_REF] and OWL [15] [11]. These languages are used to infer implicit knowledge through inference process. This is also known as reasoning and can be Fig. 3. The Context Ontology (adapted from [START_REF] Giustozzi | Context Modeling for Industry 4.0: an Ontology-Based Proposal[END_REF]) performed for several purposes. For example, it can be used to execute automatic consistency check when integrating multiple sources of knowledge, or to classify new information, or enrich query answers with new knowledge.

RDF Stream Reasoning for Situation Detection

The three modules of processing involved in our approach for situation and cause detection are Translation, Temporal Relations, and Cause Determination. The Decision Making module is not part of the task of detecting situations, but it exploits this information to support decision making tasks.

Translation. This module is mainly responsible for acquiring data from sensors and (i) converting it to RDF streams, and (ii) inserting it as instances into the ontology. Both tasks are performed by the Stream Generator and the Instance creator sub-modules respectively. The Stream Generator component performs semantic annotation of the acquired data, using the concepts and relations among them as defined in the ontology. This allows the module to stream out semantic annotated data streams that are then consumed by the Stream Reasoner. The output streams are RDF streams. An RDF stream is defined as an ordered sequence of pairs, where each pair is constituted by an RDF triple and its timestamp t: (<Subject,Predicate,Object>,t). An RDF triple is defined as <Subject,Predicate,Object> ∈ (I ∪ B) x I x (I ∪ B ∪ L) where I is a set of IRIs (Internationalized Resource Identifiers), B is a set of blank nodes and L is a set of literals. The Instance creator component creates instances from the received data and inserts them in the ontology, i.e. it is in charge of populating the ontology with observations and their corresponding metadata, such as the sensors which made the observation, the observed property, the time, etc.

Temporal Relations. Once the data from the distributed and heterogeneous data sources is available in a homogeneous, contextualized and ordered representation, the streams can be explored to generate new information. A set of queries, which combine background knowledge extracted from the ontology and some parts of the streams that are relevant, are registered and executed by the Stream Reasoner over the data streams. These queries represent particular situations to be identified and they include mainly temporal dependencies between observations and/or anomalies. The Stream Reasoner represents queries as query graphs, with query evaluation performed through graph pattern matching over graphs formed by the incoming data streams. It offers two types of processing models: either the query evaluation is periodic through windows of time, or the query evaluation is not periodic but triggered by the arrival of new triples.

For this component, C-SPARQL was chosen over CQELS because although both have similar characteristics C-SPARQL is open source and handles continuous queries. Therefore, C-SPARQL [START_REF] Barbieri | C-SPARQL: a continuous query language for RDF data streams[END_REF] is used to execute queries against the streaming data. This module produces situations streams as output. This output feeds another stream reasoner in the cause determination module and the situations detected are stored in the ontology. In this way, the Stream Reasoner itself can be seen as an advanced sensor able to produce high level data.

Cause/s Determination. The purpose of this module is to identify the possible causes that generated a situation detected by the previous module. For this, two components are used separately. In the case where situations are generated at high frequency, the Stream Reasoner identifies the causes. Otherwise, the Reasoner is used over the ontology to infer the causes. This last option has some advantages over the previous one. For example, it is possible that some situations do not have identified causes in a real scenario, in which case the system notifies that the causes are unknown. Therefore, it is necessary to consider the Open World Assumption, which states that the absence of a statement alone cannot be used to infer that the statement is false. If the cause is identified later, it can be added to the knowledge base and linked to the situation for future use. In both cases, the module provides the Decision Making module with the identified situation together with the possible causes in case they are known. The association between the situation and the causes is also added to the Ontology. Decision Making. Considering the situations and its causes, it is possible to support decision making tasks to determine what actions to launch to correct the behaviour of machines or avoid breakdowns. The actions to be triggered are diverse and depend on other external factors. For example, certain maintenance tasks can be launched remotely and performed by the machines themselves or the application can issue an alert to notify the operator closest to the machine to inspect it, if human action is needed. Each application can perform more advanced reasoning and processing on the received data.

Static Reasoning for Situation Identification or Refinement

The Translation module, in addition to generating the data streams, populates the ontology with semantically enriched data. The data models and the ontology languages used in this approach are RDF [START_REF]W3C Recommendation[END_REF], RDFS [START_REF] Rdf-Workinggroup | RDF Semantics. W3C Recommendation[END_REF] and OWL [START_REF] Owl-Workinggroup | OWL2 -OWL document overview[END_REF], because they facilitate the execution of automatic consistency checking when integrating multiple sources of knowledge, or the classification of new information, or the enrichment of query answers with new knowledge after an inference process.

Compared to the processing performed by stream reasoning, reasoning is more computationally expensive. Depending on the complexity of the ontology language adopted, reasoning can even become undecidable. To alleviate these problems, the W3C has defined several profiles [START_REF] Owl-Workinggroup | OWL2 -OWL profiles URL[END_REF] of OWL that reduce the complexity of reasoning making it more tractable and scalable. Despite these efforts, reasoning remains a complex task. Because of this, it is mainly applied to static data that is assumed not to change, or to not change very often in time.

Thus, the main purpose of the Update/Create situations module is to exploit the historical data stored in the knowledge base (ontology) to refine the already defined situations or even to find new ones. This can be accomplished by, (i) reasoning over the ontology to derive implicit information, and (ii) interacting with the ontology by issuing one-time queries, expressed in the SPARQL [START_REF] Seaborne | SPARQL query language for RDF[END_REF] language.

Case study

In this section, a case study is presented to illustrate the application and the advantages of detecting abnormal situations by interpreting anomalies or observations in their contexts. Firstly, a sample case of two properties which values have a causal relationship correlated in time is described formally. Secondly, an illustrative case in an industrial scenario with two sensors deployed in a machine is presented.

The formal definition, illustrated in Figure 4, is the following: Consider two properties P X and P Y . At time t r the property P X exceeds its threshold T X indicating a positive deviation from their normal values. At time t j the property P Y exceeds its threshold T Y also indicating a positive deviation from their normal values. This effect is a consequence resulting from the increased of P X . At time t a an action is triggered to correct the behaviour of P X and at time t n the property P X is under T X . Then at t m the property P Y is also under T Y . In this case, the value sensed of P Y at t j is interpreted in the context that since t r the property P X exceeds its threshold. The action launched at t a is decided considering this interpretation.

In the industrial scenario, consider a machine M 1 that is part of a production line in a company. This machine has a component M 2 , that is a main component on which the operation of the machine depends. Both the machine and its component have sensors, called SensorTM 1 and SensorTM 2 , which measure respectively the temperatures of the machine and its component. The focus of the example is to monitor the temperature of the machine and of its component. We note P Y and P X the temperature properties of the machine and its component.

As shown in Figure 4, during the execution of the task performed by the machine, an increase in M 2 temperature is observed. Let us assume this is due to dirty filters in the cooling system. The M 2 temperature deviates from normal behavior at t r , while P Y is normal. The observation made by SensorTM 2 at time t r is represented in RDF format using the structure of our ontology in Listing 1. Afterwards, at time t j the M 1 temperature also leaves normal behavior and indicates a positive deviation.

This effect is a consequence of the increased M 2 temperature, as M 2 is the main heat source in M 1 . Consequentially a higher M 2 temperature leads to a higher M 1 temperature. Our approach allows to exploit this knowledge about the link between the values of the two temperatures. Through this interpretation of the anomaly in P Y it is possible to detect that situation, named AbnormalT-M1M2. The C-SPARQL query shown in Listing 2 detects this situation and selects the observations and the resources involved. Once the situation is detected an instance (AbnormalT-M1M2) is added to the ontology, as are the relations with the corresponding observations (obsTempM1 and obsTempM2). The representation of the described scenario is visualized using our model in Figure 5. Although the case study presented in this section involves only two properties, it shows the advantages of interpreting an observation in its context and the exploitation of background knowledge. In real cases, more complex situations can be detected using the proposed approach: for example, as an extension to the previous case, it is possible to interpret the anomaly of the temperature P Y regarding the average of the values of the temperature P X measured during the time window w instead of only considering if one of these values is greater than the threshold T X . The corresponding C-SPARQL query is displayed in Listing 3.

Conclusions & Future Work

This paper presents an approach that uses stream reasoning to detect certain situations that could lead to failures in order to make the most appropriate decision to avoid the interruption of manufacturing processes. Data collected from sensors are enriched with contextual information to allow real-time situations detection. The use of stream reasoning allows the integration of data from different data sources, with different underlying meanings, different temporal resolutions as well as the processing of these data in real time. Furthermore, our proposal also uses classical reasoning approaches to compensate for possible non-detections of causes by the stream reasoning method.

In future work the following lines will be addressed. Firstly, a broader case study with more complex situations, involving more properties measurements that are temporal and spatially related, will be explored. This raises scalability and complexity issues to detect situations in real time. Therefore, tests will be performed with different variants of stream reasoning engines to evaluate their efficiency and scalability. Secondly, a complete study on how to update and refine the situations (queries) will be inspected as well as how to register and deregister queries as appropriate in each case. For example, in case a particular situation is detected, it would be necessary to deregister that query until the problem(s) are solved, to avoid detecting it continuously. Finally, the identification of causality patterns could enable to define generic queries for certain types of anomalies. These generic queries could be reused in different cases and would perform more complex operations among the sensed values than those presented in the previous case study, such as the comparison between two measurements or the average of a set of measurements in a given time interval.

Fig. 1 .

 1 Fig. 1. General Framework Architecture.

Fig. 2 .

 2 Fig. 2. Main components and work flow.

Fig. 5 .

 5 Fig.5. Representation of the scenario presented in the case study using our model.

  Fig. 4. Example of a relevant situation involving two properties and an action triggered to correct the values.

	P X , P Y	situation
	T Y
	T X
	t 0	t r	t j	t a	t n t m	T ime
		w

Acknowledgements

These PhD works are funded by the Normandy Region (France) in the framework of the STEaMINg (Semantic Time Evolving Models for Industry 4.0) project.

: obsTempM2 a sosa : Observation ; sosa : observedProp e r t y Px ; sosa : madeBySensor : SensorTM2 ; sosa : hasSimpleRes ul t Tx ^^xsd : float ; : hasTimeObs tr ; : isInSituation AbnormalT -M1M2 .

Listing 1. Example of an observation in RDF using the structure of our ontology.

The detection of this situation and its interpretation avoids a general inspection of M 1 due to its high temperature. Only the state of its component M 2 has to be verified. This allows to take action to correct the behavior of P Y considering its context. At time t a an action is taken about M 2 (cleaning or replacement of the cooling system filters) that solves the problem, which enables the temperature of M 2 to decrease. After some time, this leads to a decrease in the temperature of M 1 .


Etienne Muller
email: etienne.muller@coria.fr

Simone Gremmo

Félix Houtin-Mongrolle

Pierre Benard

A MASSIVELY-PARALLEL IMPLEMENTATION OF THE ACTUATOR LINE METHOD FOR HIGH-FIDELITY LARGE EDDY SIMULATION

Keywords: CFD methodology, Parallel methodology, Wind energy, ALM, LES

This paper presents a parallel implementation of the Actuator Line Method (ALM), designed for massively parallel large eddy simulations (LES) of wind farms. The performance obtained with this implementation shows to be close to ideal, based on both Wall Clock Times (WCTs) and Reduced Computation Times (RCTs) measurements.

INTRODUCTION

In the recent years, the wind energy sector has known a rapid growth, sustained by the democratization of numerous numerical tools. Mostly, those rely on low order engineering models, as their computational cost is low. However, the development, tuning and validation of such models often require to use high fidelity tools to first get a deep knowledge of the multiphysics phenomena involved. For instance, the Large Eddy Simulation (LES) can be profitable to better understand the flow crossing a wind farm. This approach may prove to be costly, so efficient massively parallel CFD codes are usually necessary to make it computationally achievable. State-of-the-art turbine modeling approach consists in the Actuator Line Method (ALM) [START_REF] Bénard | Large-eddy simulation of wind turbines wakes including geometrical effects[END_REF]. Still, for multi-turbine configurations, a proper parallel implementation of the method is required to avoid workload imbalances. Such an implementation is reported in [START_REF] Stanly | Large-eddy simulation of a wind turbine using a filtered actuator line model[END_REF]. In the Section 2 of this paper, we present an alternative implementation of the ALM in YALES2 [START_REF] Moureau | Design of a massively parallel CFD code for complex geometries[END_REF], also designed to be computationally efficient. The performance obtained with our approach is then evaluated in Section 3.

IMPLEMENTATION OF THE ACTUATOR LINE METHOD

2.1 The aerodynamic solver YALES2 [START_REF] Moureau | Design of a massively parallel CFD code for complex geometries[END_REF] is a low-Mach, massively-parallel finite volume solver, able to solve the incompressible Navier-Stokes equations on unstructured grids with up to several billions cells. The solver high performance is mainly obtained thanks to an in-house two-level grid partitioning. The first level consists in splitting the computational domain into Figure 1: LES simulation of a wind turbine operating in the wake of another, featuring the ALM. An iso-contour of the Q-criterion, colored by the streamwise velocity, is used to depict the vortical structures in the wake up to a distance of 15 diameters. partitions, one per MPI rank. Each partition is then further decomposed into a collection of cell groups, whose size is limited to avoid any cache-memory miss.

The actuator line method

The ALM allows to model the forces applied by a wind turbine blades on an incident flow and thus to simulate the development of the wake (see Figure 1). Each blade geometry is replaced by a virtual line discretized into 1D elements. All elements have the same width w and their center point, also called particle, is associated with airfoil-specific tabulated polars. The aerodynamic force F , assumed constant on each 1D element, is computed at the particle locations as F = 0.5 ρv 2 rel c(r)wC F (α, r), where c is the airfoil chord, v rel is the magnitude of the fluid velocity seen by the airfoil and ρ is the density. The force coefficient (lift or drag), denoted C F here, is tabulated for each airfoil profile as function of the angle of attack α.

The resulting body force distribution is singular and must then be smoothed before being added as a source term in the Navier-Stokes equations. In the ALM framework, this projection operation is known as mollification process and it acts as a spatial filtering operation, typically based on a Gaussian-like kernel η [START_REF] Sørensen | Numerical Modeling of Wind Turbine Wakes[END_REF]:

η(d) = 1 ϵ 3 π 3/2 exp - d ϵ 2 , ( 1
)
where d is the distance to the kernel center, and ϵ is the kernel radius. The latter is usually chosen as twice the maximum cell-size encountered in the rotor region.

Implementation details

To help the ALM implementation in YALES2, dedicated structures are created. Each rotor blade is registered as an actuator object. A whole rotor is represented by an actuatorset object, which is a collection of actuator objects.

At solver initialization, all the actuator-set objects and their respective bounding boxes are registered. For each actuator-set, a specific MPI sub-communicator is then created, which contains all the cores having at least one cell group whose bounding box intersects the one of the rotor. The MPI rank registering the largest number of intersections is finally selected as the master rank of the communicator. In multiple-rotor configurations, this choice will tend to prevent two rotors from sharing the same master rank.

During the temporal loop, the ALM process follows several steps: interpolation of the fluid velocity at the particle position, angle of attack evaluation, computation of the aerodynamic forces, and forces mollification. To help balance the computation, the steps for a particular actuator-set are handled only by the MPI ranks belonging to the corresponding MPI sub-communicator. In addition, to minimize the number of idle cores, a loop over the actuator-set objects is implemented for each step of the process. We also take advantage of the two-level grid partitioning for as many steps as possible.

For instance, to interpolate the fluid velocity at the actuator particle position, a multistep search of the cell containing the particle is performed in each relevant MPI partition. First, we loop over the cell groups, and we check if their bounding box is intersecting the one of the actuator-set. Only if it does, we loop over the cell-group cells. This strategy, which dramatically reduces the number of tests, continues until the cell containing the particle is found. Similarly, additional bounding boxes, computed around each actuator line, are exploited during the mollification process to accelerate it. Indeed, a grid node will be in range of a Gaussian kernel only if: 1) the cell group containing the node is in the rotor bounding box; 2) the node lies within an actuator bounding box.

As an additional optimization, the ALM can also count on a sub-stepping feature. This mechanism is triggered when the ALM time-step, limited by the particle CFL condition, is lower than the fluid time-step based on the flow CFL. The actuator lines are then progressively advanced on several sub-iterations, allowing a larger fluid time-step and so a decreased return time.

ASSESSMENT OF THE RESULTING PERFORMANCE

We here consider several configurations with a growing number of rotors: 1, 5, 10, 20, and 30. The domain size and the 5-million tetrahedron mesh remain the same for all configurations, and the wall clock time (WCT) and reduced computation time (RCT) are measured to assess the computational performance. A RCT is defined as:

RCT = W CT • N c N ∆t • N n , (2)
where N c is the number of cores, N ∆t is the number of completed time steps, and N n is the number of vertices in the mesh. The results are compared to those obtained with a serial implementation of the ALM, where all the MPI ranks have to handle serially all the actuator-set objects at each time-step.

The results are depicted in Figure 2. The grey lines refer to what an ideal parallel implementation of the ALM would lead to. In such an implementation, the ALM-related cost would be the same regardless of the number of rotors. Our parallel implementation of the ALM, when compared to the serial one, results in a significantly better performance, close to the ideal one. The saving obtained on the total WCTs and global RCTs appear however lower. This indicates that a serial implementation of the ALM can quickly act as a cost bottleneck. Figure 2: WCT (left) and RCT (right) obtained for a growing number of wind turbines in the computational domain. The results given by the serial and parallel implementations of the ALM appear as black and red lines, respectively.

CONCLUSION

In this paper, we outlined an implementation of the actuator line method in a massively parallel LES code prioritizing optimal workload balancing and minimal return time. The simulation of an arbitrary number of wind turbines is made parallel and efficient by means of an object-oriented programming, relying on rotor-specific MPI communicators, a two-level grid partitioning and an extensive use of bounding boxes. Preliminary tests, performed on a fairly coarse mesh, showed promising results and the reported trends will be confirmed on more demanding cases in a near future.


Andrew N French

Thomas J Schmugge

Frederic Jacob

Kenta Ogawa

Two surface temperature retrieval methods compared over agricultural lands

Keywords: ASTER, emissivity, thermal infrared, MASTER, temperature-emissivity separation, TES, NEM

Accurate, spatially distributed surface temperatures are required for modeling evapotranspiration (ET) over agricultural fields under wide ranging conditions, including stressed and unstressed vegetation. Modeling approaches that use surface temperature observations, however, have the burden of estimating surface e1ni.ssivities. Emissivity estimation, the subject of much recent research, is facilitated by observations in multiple thermal infrared bands. But it is nevertheless a difficult task. Using observations from multiband thermal sensors, ASTER and MASTER, estimated surface emissivities and tem peratures are retrieved in two different ways: the temperature emissivity separation approach (TES), and the normalized emissivity approach (NEM). Both rely upon empirical relationships, but the assumed relationships are different. TES relies upon a relationship between the lIDI'imum spectral emissivity and the range of observed emissivities. NEM relies upon an assumption that at least one thermal band has a predetermined emissivity (dose to 1.0). Experiments corn.paring TES and NEM were performed using simulated observations from spectral library data, and with actual data from two different landscapes--one in central Oklahoma, USA, and another in southern New Mexico, USA. The simulation re sults suggest that TES's empirical relationship is more re<'-' listic than NEM's assumed maximum emissivity, and therefore TES temperature estimates are more accurate than NEM estimates. But when using remote sensing data, TES estimates of maximum emissivities are lower than expected, thus causing overestimated temperatures. Work in progress will determine the significance of u'lis overestimation by comparing ground level measurements against the remote sensing observations.

TEMPERATURE-EMISSIVITY SEPARATION

The best land surface temperatures from remote sensing observations are obtained from multiban,fth;rmal infrared (TIR) instruments. The reason multiband TIR observations are superior to single ai,d dual band observations is that they help resolve spectral variations in surface emissivity. Since accurate emissivity determination over land surfaces is crncial to the retrieval of surface temperatures, 1 the use of multiband instruments is important for applications such as surface energy balance modeling. [START_REF] French | Estimating evapotranspiration over El Reno, Oklahoma with ASTER imagery[END_REF] Neither single band observations from instruments such as E1M7, nor observations from dual band instn1ments such as AVHRR satellites, can. resolve the important spectral variations of common land surfaces between 8 and 12µm.

Wide availability of multiband TIR data is relatively new, since most instruments have been in aircraft, but not satel lites. Currently the most prominent satellite sensor is ASTER, 3 a five band instrument on board the Terra satellite. ASTER collects 90m TIR resolution images, each 60x60km, spanning the 8-12µm wavelengths. A similar sensor for aircraft is t he Modis-ASTER simulator 4 (MASTER), with 10 TIR bands over the same wavelengths.

Production of temperature and emissivities from multiband data, for the most part, is a non-unique problem. Except for multiple observations, 5 there will always be one more unknown than observations available. Only the spectral shape of surface emissivities can be uniquely determined" Consequently, at least one a ssumption is needed to determine absolute emissivities. [START_REF] Li | Evaluation of six methods for extracting relative emissivity spectra from thermal infrared images[END_REF] For ASTER, standard temperature and emissivity products are obtained from an algorithm known as Temperature-Emissivity Separation (TES), [START_REF] Gillespie | A temperature and emissivity separa tion algorithm for advanced spacebome thermal emission and reflection radiometer (ASTER) in1ages[END_REF] which is an iterative approach that resolves the non-uniqueness problem by relying upon an empirical relationship. Determined from laboratory samples, and constrained by the sensor's spectral response functions, this relationship estimates the minimum emissivity of a surface from the observed range of apparent emissivities. TES has been tested under actual conditions However, use of the TES approach, though carefully considered and based on aircraft and field experiments, rright not be the optimum approach for all applications. In particular, when viewing agricultural lands, typical emissivities are high, and are not well constrained by laboratory scale calibrations. To determine how well TES performs, an alternative procedure needs to be considered.

A suitable one is the Normalized Emissivity Method (NEM). 9 • 10 Unlike TES, NEM does not rely upon baird differ ences, nor does it require calibration against a spectral library. It is simple to apply and requires n o iteration. NEM is in fact used as an initializer for TES, but its assumption is significantly different from TES. NEM assumes that there exists at least one TIR band with a pre-established, maximum emissivity, identified as the one with the largest apparent surface temperature. Although the precise value of the maximum emissivity is unknown, the assumption is usually made that it is between 0.97 and 0.99. This is reasonable for common land surfaces, particularly where ample vegetation is present, since the resulting multiple scattering causes emissivities to approach 1.0.

To assess the merits of the TES and NEM techniques, two sets of comparison tests are performed to determine which technique is most accurate and best follows assumptions. One set uses spectral library data to simulate remote sensing observations under controlled conditions. The other set uses actaal multiband TIR observations over two different landscapes: a sub-humid central Oklahoma scene and a semi-arid southern New Mexico scene.

ASTER SPECTRAL LIBRARY TESTS

Using simulated, but realistic surfaces derived from data in the ASTER spectral library,11 a fundamental question can be addressed. Which approach, TES or NEM, is likely to be the most accurate estimator of surface temperature and emissivity? To help answer this question for agricultural land cover conditions, tests were made using simulated ASTER observations. The simulations were based on 54 samples from the ASTER spectral library, representing soil, vegetation and water spectra. Examples of spectral library data (Fig. 1) show that the greatest variability occurs within the 8-9µm spectral region, equivalent to ASTER bands 10, 11 and 12. Maximum emissivities, typically >0.965, occur at~ llµm and correspond to ASTER bands 13 and 14. Two simulation sets were performed: one set checked the assumptions required by TES and NEM, the other checked temperature retrieval accuracy. To check the assumptions of NEM and TES, the spectral library selection was used to model radiances received by ASTER. Sensor radiances were modeled by using a common summertime surface temperature, 37 °C, and an atmospheric profile derived from radiosonde data from central Oklahoma (collected from the CART-ARM site on 10 June 2001, pre cipitable water= 2.7cm). After filtering the original spectral library data by ASTER spectral response functions, the NEM assumption could be immediately tested. Is there a well defined maximum emissivity for all sa..-rnples? The distribution of the maximum band averaged emissivities (Fig. 2) indicates that the answer is no. Maximum emissivities from the spectral library subset range between 0.96 and 0.995, with no best value. Using a pre-selected maximum emissivity at the mid-point, ~0.98, would lead to frequent emissivity e1Tors up to 2%, or equivalently a temperature prediction error of ~ 1.5 °C . On the other hand, modeling sensor radiances ( atmospheric estimation error not considered) and then estimating surface emissivities from TES, leads to typical emissivity errors less than 1 %. Using the TES procedure and a 'standard' coefficient set 7 for predicting minimum emissivities ( Emin = 0. 994 -0.687MMD 0 • 737 , where MMD is a range of relative emissivities), most emissivity errors are small (Fig. 3).

Co mparing TES and NEM predicted surface temperatures against the original modeled temperature shows the effect of the resulting emissivity errors (Fig. 4). The dashed and solid histogram respectively represent TES and NEM temperature estimate errors. For TES most estimates were less than 1 °C, with negligible bias. For NEM, temperature estimates errors ranged up to 1 °C, with significant (~4 °C) bias. Tne source.of larger temperature estimate errors for J\IBM is its greater inaccuracy across all ASTER TIR bands (Fig. 5), with frequent occurrences of emissivity errors exceeding 2%.

REMOTE SENSING TESTS: OKLAHOMA & NEW MEXICO

Using spectral library data to model with TES and NEM is good for controlled surface conditions, and.theoretical accu racies can be determined. But the dimensions of emissivity spectral library reference samples are significantly different from the pixel dimensions of remote sensing imagery, and test results from them might not be representative. For remote sensing data, samples are typically no less than 10m, frequently >lOOm, and would be expected to have high emissivi ties due to multiple scattering. Therefore, two remote sensing scenes have been selected to examine the TES and NEM approaches under more practica l condi t ions. The scenes are taken from active study sites 2 • 8, 12 in•fentral Oklahoma and southern New Mexico (Fig. 6). One is a 10 June 2001 ASTER scene near El Reno, Oklahoma, the other is 27 September 1999 MASTER scene over mesquite lands in the USDA Jomada Experimental Range, New Mexico.

There are pr imarily f our surface types for the ASTER Oklahoma scene: bare soil fields, senenscent winter wheat fields, grazing lands, and water bodies. Previous investigation using 12m resolution remote sensing data collected in 1997 [START_REF] French | Discrimination of senescent vegetation using thermal emissivity contrast[END_REF] showed that emissivi t ies in this region were mos t ly high, 0.96-0.99, for vegetated fields and water bodies. Bare soil fields commonly showed emissivities <0.9, a characteristic verified by laboratory emissivity spectra. 14 Using the 2001 ASTER scene, the qualitative emissivity variation between vegetation and bare soil was largely confirmed by both TES and NEM approaches, but predicted magnitudes were different. For TES, the empirical coefficients used were the same as noted previously. For NEM, the maximum emissivity was chosen to be 0.98. A sequence of histograms (Fig. 7) generated from NEM and TES ana lyses (surface temperature at upper left, f ollowed by bands 10-14 emissivities) illustrates the differences. TES and NEM results are respectively shown by dashed and solid lines. TES emissivities are lower than NEM emissivities, sometimes by as much as 5%. Consequently TES temperatures are higher than NEM temperatures, typically by 1-2 ° C . Both methods agree that the maximum emissivity is usually found in ASTER band 13 (10.6µm).

The TES-NEM compa rison was repeated over the Mesquite site, Jomada, New Mexico using MASTER aircraft TIR imagery at 3m resolution. The Mesquite site has abundant dry, coarse soil, and interspersed Mesquite bush. MASTER bands 42-50 were used, spanning 7 .8-13.3µm wavelengths. Because the Mesquite data were acquired at higher resolution than the Oklahoma data, and because of greater expanses of exposed soil, the specified maximum emissivity f or NEM was lowered slightly, to 0.975. Results from TES and NEM were as before. TES produced uniformly lower emissivities than NEM throughout the 8-12µm band. Hence surface temperature estimates from TES were typically 2 °C greater than NEM estimates (Fig. 8). The cause for the relatively high TES temperature estimates is due to its lower emissivity estimates.

The NEM approach, on the other hand, produces cooler temperatures because its constrained maximum emissivity of 0.975 is higher than most TES estimates. An illustration of the resulting emissivities for MASTER band 49 (12.µm) is shown in Fig. 9, where NEM emissivities typically are higher and span a narrower range than do TES emissivities.

DISCUSSION

Testing the accuracy of temperature retrieval using two techniques, TES and NEM, against simulated and actual remote sensing data sets shows that neither technique is cl e arly super ior to the other. TES does appear to produce more accurate temperature estimates when viewing simulated surfaces derived from spectral library data, but TES tends to produce low maximum emissivity estimates. Low emissivity estimates will cause overestimated surface temperatures, and is undesirable when modeling the surface energy balance over agricultural regions. The NEM approach, because of its artificial constraint on the maximum emissivity, will not develop this overestimate bias. TES has previously been shown to be potentially precise to 0.3 °C, vs. an NEM precision of l.7 °C. [START_REF] Gillespie | A temperature and emissivity separa tion algorithm for advanced spacebome thermal emission and reflection radiometer (ASTER) in1ages[END_REF] But based upon comparison of temperature distributions over vegetated terrain (Figs. 7 and8), both TES and NEM appear to have similar precision. A more definitive comparison, using multiple scenes over the Jornada area, along with ground-based temperature observations is underway.

Figure 1 .

 1 Figure 1. Emissivity spectra examples for bare soil, grass a.,d water. ASTER bands are shown at the bottom.

Figure 2 ,

 2 Figure 2, ASTER band erriissivities for selected JHU spectral library samples. Minimum Emissivity 1.00 t��• �.,...,., 0.95

2 Figure 4 .Figure 5 .

 245 Figure 4. Surface temperature prediction error from NEM tmd TES techniques. Solid histogran1 from NEM, dashed from TES.

Figure 6 .

 6 Figure 6. ASIBR view of El Reno, Oklahoma region from 10 June 2001 (left), and MASIBR view of Mesquite site at Jomada Experimental Range, New Mexico from 27 September 1999 (right). Both display surface temperatures, ranging between 30 and 50 °C (black to white). The Oklahoma scene is 60x60km at 90m resolution. The Jornada scene is ~3xl.5km at 3m resolution.

Figure 7 ,Figure 8 .Figure 9 .

 789 Figure 7, Surface temperature and ASTER band emissivities over central Oklahoma, 10 June 2001. Solid histograms for NEJ.\-I. Dashed for TES.

ACKNOWLEDGMENTS

This work was supported by NASA's ASTER EOS Project The most recent work was performed while the lead author held a National Research Council Research Associateship Award at the Hydrological Sciences Branch, NASA Goddard.