<p>... more <p>The heterogeneous nature of environmental systems poses a challenge to researchers constructing environmental models. Many simulation models of integrated systems need to incorporate phenomena that are represented as spatially and temporally continuous fields as well as phenomena that are modelled as spatially and temporally bounded agents. Examples include moving animals (agents) interacting with vegetation (fields) or static water reservoirs (agents) as components of hydrological catchments (fields). However, phenomena bounded in space and time have particular properties mainly because they require representation of multiple (sometimes mobile) objects that each exist in a small subdomain of the space-time domain of interest. Moreover, these subdomains of objects may overlap in space and time such as interleaving branches due to tree crown growth. Efficient storage and access of different types of phenomena requires an approach that integrates representation of fields and objects in a single data model.</p><p>We develop the open-source LUE data model that explicitly stores and separates domain information, i.e. where phenomena exist in the space-time domain, and property information, i.e. what attribute value the phenomenon has at a particular space-time location, for a particular object. Notable functionalities are support for multiple spatio-temporal objects, time domains, objects linked to multiple space and time domains, and relations between objects. The design of LUE is based on the conceptual data model of de Bakker (2017) and implemented as a physical data model using HDF5 and C++ (de Jong, 2019). Our LUE data model is part of a new modelling language implemented in Python, allowing for operations accepting both fields and agents as arguments, and therefore resembling and extending the map algebra approach to field-agent modelling.</p><p>We present the conceptual and physical data models and illustrate the usage by implementing a spatial agent-based model simulating changes in human nutrition. We thereby consider the interaction between personal demand and supply of healthy food of nearby stores as well as the influence of agent's social network.</p><p><br>References:</p><p>de Bakker, M. P., de Jong, K., Schmitz, O., & Karssenberg, D. (2017). Design and demonstration of a data model to integrate agent-based and field-based modelling. Environmental Modelling & Software, 89, 172–189. https://doi.org/10.1016/j.envsoft.2016.11.016</p><p>de Jong, K., & Karssenberg, D. (2019). A physical data model for spatio-temporal objects. Environmental Modelling & Software. https://doi.org/10.1016/j.envsoft.2019.104553</p><p>LUE source code repository: https://github.com/pcraster/lue/</p>
<p>Computer models are built with a specific purpose (or scope) and runtime platfor... more <p>Computer models are built with a specific purpose (or scope) and runtime platform in mind. The purpose of an earth science simulation model might be to be able to predict the spatio-temporal distribution of fresh water resources at a continental scale, and the runtime platform might be a single CPU core in a single desktop computer running one of the popular operating systems. Model size and complexity tend to increase over time, for example due to the availability of more detailed input data. At some point, such models need to be ported to more powerful runtime platforms, containing more cores or nodes that can be used in parallel. This complicates the model code and requires additional skills of the model developer.</p> <p>Designing models requires the knowledge of domain experts, while developing models requires software engineering skills. By providing facilities for representing state variables and a set of generic modelling algorithms, a modelling framework makes it possible for domain experts without a background in software engineering to create and maintain models. An example of such a modelling framework is PCRaster [3], and examples of models created with it are the PCRGLOB-WB global hydrological and water resources model [2], and the PLUC high resolution continental scale land use change model [4].</p> <p>Models built using a modelling framework are portable to all runtime platforms on which the framework is available. Ideally, this includes all popular runtime platforms, ranging from shared memory laptops and desktop computers to clusters of distributed memory nodes. In this work we look at an approach for designing a mod elling framework for the development of earth science models using asynchronous many-tasks (AMT). AMT is a programming model that can be used to write software in terms of relatively small tasks, with dependencies between them. During the execution of the tasks, new tasks can be added to the set. An advantage of this approach is that it allows for a clear separation of concerns between the model code and the code for executing work. This allows models to be expressed using traditional procedural code, while the work is performed asynchronously, possibly in parallel and distributed.</p> <p>We designed and implemented a distributed array data structure and an initial set of modelling algorithms, on top of an implementation of the AMT programming model, called HPX [1]. HPX provides a single C++ API for defining asynchronous tasks and their dependencies, that execute locally or on remote nodes. We performed experiments to gain insights in the scalability of the individual algorithms and simple models in which these algorithms are combined.</p> <p>In the presentation we will explain key aspects of the AMT programming model, as implemented in HPX, how we used the programming model in our framework, and the results of our scalability experiments of models built with the framework.</p> <p><strong>References</strong><br />[1] HPX V1.3.0. http://doi.acm.org/10.1145/2676870.2676883, 5 2019.</p> <p>[2] E. H. Sutanudjaja et al. PCR-GLOBWB 2: a 5 arc-minute global hydrological and water resources model. Geoscientific Model Development Discussions, pages 1–41, dec 2017.</p> <p>[3] The PCRaster environmental modelling framework. https://www.pcraster.eu</p> <p>[4] PLUC model. https://github.com/JudithVerstegen/PLUC_Mozambique</p>
We present PCR-GLOBWB 2, a global hydrology and water resources model. Compared to previous versi... more We present PCR-GLOBWB 2, a global hydrology and water resources model. Compared to previous versions of PCR-GLOBWB, this version fully integrates water use. Sector-specific water demand, groundwater and surface water withdrawal, water consumption and return flows are dynamically calculated at every time step and interact directly with the simulated hydrology. PCR-GLOBWB 2 has been fully rewritten in Python and PCRaster-Python and has a modular structure, allowing easier replacement, maintenance, and development of model components. PCR-GLOBWB 2 has been implemented at 5 arc-minute resolution, but a version parameterized at 30 arc-minute resolution is also available. Both versions are available as open source codes on <a href="https://github.com/UU-Hydro/PCR-GLOBWB_model">https://github.com/UU-Hydro/PCR-GLOBWB_model</a>. PCR-GLOBWB 2 has its own routines for groundwater dynamics and surface water routing. These relatively simple routines can alternatively be rep...
Abstract Both climate change and river rehabilitation projects induce changes in floodplain sedim... more Abstract Both climate change and river rehabilitation projects induce changes in floodplain sedimentation. Notably along the lower River Rhine, the sediment deposition patterns and rates are subject to change. To assess the magnitude of these changes, we developed the ...
Agriculture is still the dominant land use in the Netherlands, but it is expected that several so... more Agriculture is still the dominant land use in the Netherlands, but it is expected that several socio-economic developments may change this in the near future. The increasing globalisation of economic relations in agriculture and the possible reduction of European price support to farmers due to the extension of the European Community are examples of such developments. These may lead to less favourable conditions for subsidised sectors as arable and dairy farming and possibly to a decline in the cultivated area. At the same time ...
A seamless construction, coupling and modification of model components is important for the devel... more A seamless construction, coupling and modification of model components is important for the development and assessment of integrated models. However, present software frameworks are either tailored to component construction or to component coupling, whereas a consolidated environment is desired. The frameworks also require profound knowledge in system programming languages, and offer limited generic support for model assessment. We present a software framework for a straightforward construction, coupling, execution and analysis of model components. In this paper, we focus on the treatment of temporal dependencies between components of fixed and variable time step lengths as well as components with confined lifetime. By utilising the high-level scripting language Python, non-software developers are able to conduct exploratory model construction and analysis.
ABSTRACT Computer models are important tools for the assessment of environmental systems. A seaml... more ABSTRACT Computer models are important tools for the assessment of environmental systems. A seamless workflow of construction and coupling of model components is essential for environmental scientists. However, currently available software packages are often tailored either to the construction of model components, or to the coupling of existing components. Combining both objectives is not straightforward, because it requires merging concepts for model component building and model component coupling. Also, software packages should be usable for domain experts such as hydrologists or ecologists who do not necessarily have expert knowledge in programming. We propose an integrated modelling framework that provides descriptive means to specify (1) model components with conventional map algebra, and (2) interactions between model components with model algebra. A prototype implementation in a high-level scripting language supports the building of integrated spatio-temporal models. For a seamless coupling of model components with different temporal and spatial discretisation, we introduce the use of accumulators. These handle the temporal aggregation of model component outputs. The framework provides templates for the custom construction of model components and accumulators, and a management layer arranges the schedule for the execution of the integrated model. We use the prototype implementation of the framework in an illustrative case study to build an integrated model that couples model components simulating the interaction between biomass growth, wildfire, and human impacts with different temporal discretisations. The high-level Python language is used as model building environment to allow domain experts without in-depth knowledge of software development practices to conduct exploratory model construction and analysis.
&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;... more &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;The heterogeneous nature of environmental systems poses a challenge to researchers constructing environmental models. Many simulation models of integrated systems need to incorporate phenomena that are represented as spatially and temporally continuous fields as well as phenomena that are modelled as spatially and temporally bounded agents. Examples include moving animals (agents) interacting with vegetation (fields) or static water reservoirs (agents) as components of hydrological catchments (fields). However, phenomena bounded in space and time have particular properties mainly because they require representation of multiple (sometimes mobile) objects that each exist in a small subdomain of the space-time domain of interest. Moreover, these subdomains of objects may overlap in space and time such as interleaving branches due to tree crown growth. Efficient storage and access of different types of phenomena requires an approach that integrates representation of fields and objects in a single data model.&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;We develop the open-source LUE data model that explicitly stores and separates domain information, i.e. where phenomena exist in the space-time domain, and property information, i.e. what attribute value the phenomenon has at a particular space-time location, for a particular object. Notable functionalities are support for multiple spatio-temporal objects, time domains, objects linked to multiple space and time domains, and relations between objects. The design of LUE is based on the conceptual data model of de Bakker (2017) and implemented as a physical data model using HDF5 and C++ (de Jong, 2019). Our LUE data model is part of a new modelling language implemented in Python, allowing for operations accepting both fields and agents as arguments, and therefore resembling and extending the map algebra approach to field-agent modelling.&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;We present the conceptual and physical data models and illustrate the usage by implementing a spatial agent-based model simulating changes in human nutrition. We thereby consider the interaction between personal demand and supply of healthy food of nearby stores as well as the influence of agent&amp;amp;amp;amp;amp;amp;amp;amp;amp;#39;s social network.&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;br&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;References:&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;de Bakker, M. P., de Jong, K., Schmitz, O., &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; Karssenberg, D. (2017). Design and demonstration of a data model to integrate agent-based and field-based modelling. Environmental Modelling &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; Software, 89, 172&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;#8211;189. https://doi.org/10.1016/j.envsoft.2016.11.016&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;de Jong, K., &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; Karssenberg, D. (2019). A physical data model for spatio-temporal objects. Environmental Modelling &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; Software. https://doi.org/10.1016/j.envsoft.2019.104553&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;LUE source code repository: https://github.com/pcraster/lue/&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;/p&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;
&lt;p&gt;Computer models are built with a specific purpose (or scope) and runtime platfor... more &lt;p&gt;Computer models are built with a specific purpose (or scope) and runtime platform in mind. The purpose of an earth science simulation model might be to be able to predict the spatio-temporal distribution of fresh water resources at a continental scale, and the runtime platform might be a single CPU core in a single desktop computer running one of the popular operating systems. Model size and complexity tend to increase over time, for example due to the availability of more detailed input data. At some point, such models need to be ported to more powerful runtime platforms, containing more cores or nodes that can be used in parallel. This complicates the model code and requires additional skills of the model developer.&lt;/p&gt; &lt;p&gt;Designing models requires the knowledge of domain experts, while developing models requires software engineering skills. By providing facilities for representing state variables and a set of generic modelling algorithms, a modelling framework makes it possible for domain experts without a background in software engineering to create and maintain models. An example of such a modelling framework is PCRaster [3], and examples of models created with it are the PCRGLOB-WB global hydrological and water resources model [2], and the PLUC high resolution continental scale land use change model [4].&lt;/p&gt; &lt;p&gt;Models built using a modelling framework are portable to all runtime platforms on which the framework is available. Ideally, this includes all popular runtime platforms, ranging from shared memory laptops and desktop computers to clusters of distributed memory nodes. In this work we look at an approach for designing a mod elling framework for the development of earth science models using asynchronous many-tasks (AMT). AMT is a programming model that can be used to write software in terms of relatively small tasks, with dependencies between them. During the execution of the tasks, new tasks can be added to the set. An advantage of this approach is that it allows for a clear separation of concerns between the model code and the code for executing work. This allows models to be expressed using traditional procedural code, while the work is performed asynchronously, possibly in parallel and distributed.&lt;/p&gt; &lt;p&gt;We designed and implemented a distributed array data structure and an initial set of modelling algorithms, on top of an implementation of the AMT programming model, called HPX [1]. HPX provides a single C++ API for defining asynchronous tasks and their dependencies, that execute locally or on remote nodes. We performed experiments to gain insights in the scalability of the individual algorithms and simple models in which these algorithms are combined.&lt;/p&gt; &lt;p&gt;In the presentation we will explain key aspects of the AMT programming model, as implemented in HPX, how we used the programming model in our framework, and the results of our scalability experiments of models built with the framework.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;br /&gt;[1] HPX V1.3.0. http://doi.acm.org/10.1145/2676870.2676883, 5 2019.&lt;/p&gt; &lt;p&gt;[2] E. H. Sutanudjaja et al. PCR-GLOBWB 2: a 5 arc-minute global hydrological and water resources model. Geoscientific Model Development Discussions, pages 1&amp;#8211;41, dec 2017.&lt;/p&gt; &lt;p&gt;[3] The PCRaster environmental modelling framework. https://www.pcraster.eu&lt;/p&gt; &lt;p&gt;[4] PLUC model. https://github.com/JudithVerstegen/PLUC_Mozambique&lt;/p&gt;
We present PCR-GLOBWB 2, a global hydrology and water resources model. Compared to previous versi... more We present PCR-GLOBWB 2, a global hydrology and water resources model. Compared to previous versions of PCR-GLOBWB, this version fully integrates water use. Sector-specific water demand, groundwater and surface water withdrawal, water consumption and return flows are dynamically calculated at every time step and interact directly with the simulated hydrology. PCR-GLOBWB 2 has been fully rewritten in Python and PCRaster-Python and has a modular structure, allowing easier replacement, maintenance, and development of model components. PCR-GLOBWB 2 has been implemented at 5 arc-minute resolution, but a version parameterized at 30 arc-minute resolution is also available. Both versions are available as open source codes on <a href="https://github.com/UU-Hydro/PCR-GLOBWB_model">https://github.com/UU-Hydro/PCR-GLOBWB_model</a>. PCR-GLOBWB 2 has its own routines for groundwater dynamics and surface water routing. These relatively simple routines can alternatively be rep...
Abstract Both climate change and river rehabilitation projects induce changes in floodplain sedim... more Abstract Both climate change and river rehabilitation projects induce changes in floodplain sedimentation. Notably along the lower River Rhine, the sediment deposition patterns and rates are subject to change. To assess the magnitude of these changes, we developed the ...
Agriculture is still the dominant land use in the Netherlands, but it is expected that several so... more Agriculture is still the dominant land use in the Netherlands, but it is expected that several socio-economic developments may change this in the near future. The increasing globalisation of economic relations in agriculture and the possible reduction of European price support to farmers due to the extension of the European Community are examples of such developments. These may lead to less favourable conditions for subsidised sectors as arable and dairy farming and possibly to a decline in the cultivated area. At the same time ...
A seamless construction, coupling and modification of model components is important for the devel... more A seamless construction, coupling and modification of model components is important for the development and assessment of integrated models. However, present software frameworks are either tailored to component construction or to component coupling, whereas a consolidated environment is desired. The frameworks also require profound knowledge in system programming languages, and offer limited generic support for model assessment. We present a software framework for a straightforward construction, coupling, execution and analysis of model components. In this paper, we focus on the treatment of temporal dependencies between components of fixed and variable time step lengths as well as components with confined lifetime. By utilising the high-level scripting language Python, non-software developers are able to conduct exploratory model construction and analysis.
ABSTRACT Computer models are important tools for the assessment of environmental systems. A seaml... more ABSTRACT Computer models are important tools for the assessment of environmental systems. A seamless workflow of construction and coupling of model components is essential for environmental scientists. However, currently available software packages are often tailored either to the construction of model components, or to the coupling of existing components. Combining both objectives is not straightforward, because it requires merging concepts for model component building and model component coupling. Also, software packages should be usable for domain experts such as hydrologists or ecologists who do not necessarily have expert knowledge in programming. We propose an integrated modelling framework that provides descriptive means to specify (1) model components with conventional map algebra, and (2) interactions between model components with model algebra. A prototype implementation in a high-level scripting language supports the building of integrated spatio-temporal models. For a seamless coupling of model components with different temporal and spatial discretisation, we introduce the use of accumulators. These handle the temporal aggregation of model component outputs. The framework provides templates for the custom construction of model components and accumulators, and a management layer arranges the schedule for the execution of the integrated model. We use the prototype implementation of the framework in an illustrative case study to build an integrated model that couples model components simulating the interaction between biomass growth, wildfire, and human impacts with different temporal discretisations. The high-level Python language is used as model building environment to allow domain experts without in-depth knowledge of software development practices to conduct exploratory model construction and analysis.
Uploads
Papers