Location

Session A2: Interoperability, Reusability, and Integrated Systems

Start Date

11-7-2016 11:50 AM

End Date

11-7-2016 12:10 PM

Description

The modelling of natural phenomena to solve a wide range of problems has increased in popularity in the last three decades. However, as the size and complexity of the source code of environmental models has grown, issues related to maintainability and further development have arisen. In this work, we show an innovative way to simplify the reuse and development of new models, decoupling the physics of the processes from the schematization of information flow and feedback. Each physical process (for instance, evapotranspiration or runoff production) might be implemented as a stand alone component for a framework like OMS v3, which encapsulates the computation of the problem and can be connected with other components to realize a modelling solution. The information flow among the physical parts of the control volume might be represented as a network or a simple tree, which is implemented as a data structure inside the OMS v3 framework as well. The structure of the network allows for simultaneous execution of modelling solution at each independent node, following the graph structure of the interactions. The parallelization is handled intrinsically by the data structure itself. The implementation has been designed mainly around the Decorator Pattern, to add more features to the plain tree during the phase of interconnections-building, and the Observer Pattern, basically to enable multi-threading parsing of the graph structure. In this paper, we give examples of these concepts applied to modelling the Adige River, which is the second largest basin in Italy. The Java code is available on https://github.com/geoframecomponents/RiverNe3.

 
Jul 11th, 11:50 AM Jul 11th, 12:10 PM

A Java binary tree data structure for environmental modelling

Session A2: Interoperability, Reusability, and Integrated Systems

The modelling of natural phenomena to solve a wide range of problems has increased in popularity in the last three decades. However, as the size and complexity of the source code of environmental models has grown, issues related to maintainability and further development have arisen. In this work, we show an innovative way to simplify the reuse and development of new models, decoupling the physics of the processes from the schematization of information flow and feedback. Each physical process (for instance, evapotranspiration or runoff production) might be implemented as a stand alone component for a framework like OMS v3, which encapsulates the computation of the problem and can be connected with other components to realize a modelling solution. The information flow among the physical parts of the control volume might be represented as a network or a simple tree, which is implemented as a data structure inside the OMS v3 framework as well. The structure of the network allows for simultaneous execution of modelling solution at each independent node, following the graph structure of the interactions. The parallelization is handled intrinsically by the data structure itself. The implementation has been designed mainly around the Decorator Pattern, to add more features to the plain tree during the phase of interconnections-building, and the Observer Pattern, basically to enable multi-threading parsing of the graph structure. In this paper, we give examples of these concepts applied to modelling the Adige River, which is the second largest basin in Italy. The Java code is available on https://github.com/geoframecomponents/RiverNe3.