• No results found

The LUE data model

N/A
N/A
Protected

Academic year: 2022

Share "The LUE data model"

Copied!
1
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Kor de Jong (k.dejong1@uu.nl), Oliver Schmitz, and Derek Karssenberg - Department of Physical Geography, Faculty of Geosciences, Utrecht University, Utrecht, The Netherlands

The LUE data model makes it convenient to write efficient environmental modeling

software in which both agents and fields are manipulated

Data models are used in software to describe how information is organized.

Popular used data models in environmental modeling software include the raster data model for representing continuous varying spatial information, and the

vector data model for representing discrete objects located in space. In agent- based modeling, agents are often represented by a general object data model, where the modeler has to define which properties make up a certain class of agents.

We work on the LUE conceptual data model for representing agent- and field- based data, and its current implementation in a physical data model (a dataset format). The intended audience of LUE is developers of environmental modeling software.

Requirements

 Capable of representing all kinds of data used in environmental modeling, e.g.:

 Data located in time and/or (3D) space

 Data that varies continuously through time and/or space

 Data that varies spatial location through time

 Linked data: networks, relations

 Allow for an efficient implementation (locality of reference, support for parallel I/O)

Conceptual data model

Phenomenon : Collection of related property-sets, e.g.:

properties of individual birds

Property-set : Collection of properties sharing a time/space domain

Domain : Information about when and where something 'is', e.g.: location through time of individual birds

Property : Location and variation of a characteristic through time and space

Value : Magnitude of a property, e.g.: speed of individual birds

Item : Identifies an individual/object/agent

The domain and value contain information for all items in the property-set.

Physical data model

Implementation of concrete conceptual data models in HDF5. Some characteristics:

 All model data in a single, portable file

 Support parallel I/O

 C++ API (C++1 4) and Python API (with support for Numpy arrays)

 Open source software (code available on Github)

Example: Elevation of terrains

To represent one or more elevation fields we can store the same information traditionally

stored in rasters, but in a slightly different way.

The extent of the fields is stored in the domain. This domain can be shared by multiple properties. The cell values of each field are stored in the

value. The property

aggregates the domain and value. Information about the

discretization of each field's values is stored in a separate property. This

discretization property is referenced by the raster property.

Example: GPS tracks of birds

A GPS track is a point in space that changes location through time. For example, birds

carrying a GPS can record such points, along with properties like speed and

temperature. In LUE, the location in time and space is stored in the

domain. All properties that are recorded by the same GPS device share the same domain, so are stored in the same

property-set.

Current status

The implementation of the LUE dataset format is work in progress. We are focusing on the following initial set of concrete conceptual data models:

 Constant size of item collection

 Scalars

 Rasters

 Stationary temporal rasters

 Mobile points (space-time paths, GPS tracks)

Opportunities

Given the LUE data model the following becomes possible (examples):

 Representing temporal varying discretization. The change in discretization can happen at different time points than the change in property value.

 Storing fields of different resolution in the same property-set. This can be convenient to speed up certain parts of the model.

 Storing and accessing field and agent data in a uniform way.

 For the same phenomenon (with the same set of items), we can now store properties with very different domains.

 A single high level API for data that is organized very differently internally. The details are stored where they belong: in the lower levels of the software stack.

More info

de Bakker, M.P., de Jong, K., Schmitz, O., Karssenberg, D., 201 6. Design and demonstration ofa data model to integrate agent-based and field-based

modeling. Environmental Modelling and Software.

http://dx.doi.org/1 0.1 01 6/j.envsoft.201 6.1 1 .01 6

de Jong, K., 201 7. LUE source code. https://github.com/pcraster/lue

PCRaster R&D Team, 2000-201 7. PCRasterEnvironmental Modelling Software ,

http://www.pcraster.eu

The HDF Group, 2000-201 7. Hierarchical data format version 5 ,

http://www.hdfgroup.org/HDF5

The LUE data model

for agents and fields

# Create a new dataset and w r i t e a number of f i e l d s as r a s t e r s with random

# d i s c r e t i z a t i o n s and random c e l l values . import numpy

import lue

# Shortcut to sub−module

omnipresent = lue . c o n s t a n t s i z e . time . omnipresent

# Create dataset

dataset = lue . c r e a t e d a t a s e t ( ” some project . lue ” ) areas = dataset . add phenomenon ( ” areas ” )

extents = omnipresent . c r e a t e p r o p e r t y s e t ( areas , ” extents ” ) nr items = 100

# Add a d i s c r e t i z a t i o n property containing nr rows / n r c o l s f o r each r a s t e r value shape = ( 2 , )

value type = numpy . uint32

d i s c r e t i z a t i o n = omnipresent . same shape . c r e a t e p r o p e r t y ( extents , ” d i s c r e t i z a t i o n ” , value type , value shape )

raster shapes = numpy . arange ( s t a r t =1 , stop= nr items ∗ 2 + 1 , dtype= value type ) \ . reshape ( ( nr items , 2 ) )

n r c e l l s = d i s c r e t i z a t i o n . reserve ( nr items ) n r c e l l s [ : ] = raster shapes

# Add a property containing the r a s t e r c e l l values f o r each r a s t e r rank = 2

value type = numpy . i n t 3 2

e l e v a t i o n = omnipresent . d i f f e r e n t s h a p e . c r e a t e p r o p e r t y ( extents , ” e l e v a t i o n ” , value type , rank )

values = e l e v a t i o n . reserve ( nr items ) f o r i i n range ( nr items ) :

values [ i ] [ : ] = (10 ∗ numpy . random . rand ( ∗ raster shapes [ i ] ) ) . astype ( value type )

# Link d i s c r e t i z a t i o n to property

e l e v a t i o n . d i s c r e t i z e s p a c e ( d i s c r e t i z a t i o n )

Referenties

GERELATEERDE DOCUMENTEN

Then, a start place and initializing transition are added and connected to the input place of all transitions producing leaf elements (STEP 3).. The initializing transition is

As both operations and data elements are represented by transactions in models generated with algorithm Delta, deleting a data element, will result in removing the

match id match id Unique match id for every match, given by Date PlayerA PlayerB prob 365A prob 365A Winning probability of player A as implied by B365A and B365B diffrank

Leaching EAFD with sulphuric acid allows a significant portion of the highly reactive zinc species (up to 78% of the total zinc in the fumes) to be leached, while limiting

usefulness. After this hint, the subjects with the IPO interface all use the temporary memory, those with the Philips interface do not yet. Also, with the Philips interface, a

De radioloog beoordeelt uw bloedvat door middel van een echo en verdooft de lies voor het onderzoek.. Na de verdoving wordt de slagader onder echo aangeprikt en plaatst de

Fur- ther research is needed to support learning the costs of query evaluation in noisy WANs; query evaluation with delayed, bursty or completely unavailable sources; cost based

To illustrate the properties of various evaluation graphs in different situation where the model may or may not be appropriate for describing the data, we fitted several