Dr. Kor de Jong

Vening Meineszgebouw A
Princetonlaan 8a
Kamer 5.20
3584 CB Utrecht

I am a research software engineer and focus on topics related to environmental modelling frameworks. These are used to create computer models that simulate biological and physical processes occurring in the world around us. Examples of simulated processes are soil erosion, land-use change, plant seed dispersal, and interactions between animals and their environment. I am specifically interested in modelling frameworks targeted at domain experts, like ecologists, hydrologists and soil scientists, who are typically more interested in the simulated processes rather than the technology used to simulate them. Such frameworks must hide these technicalities behind an easy to use interface that the modeller can use to define models, while still offering all required functionality and good performance. These are the topics that drive my current research.

Functionality

Traditionally, modelling frameworks are (only) good at manipulating a specific kind of data, like objects as used in agent-base modelling environments, and rasters as used in field-based modelling environments. Increasingly, modellers want to get around such functional and technical limitations. Some information, like the location and properties of migrating birds, is better represented by objects, while other information, like the spatial distribution of vegetation in the areas in which these birds live is better represented by fields.

How can we design modelling frameworks that support the development of integrated models, and that are still easy to use by domain experts?

Performance

Input datasets translated by models tend to grow in size over time, for example because more detailed datasets become available, or because the modeller wants to model larger space and time extents. More detailed input data may require the modeller to extend the model with more detailed process descriptions, enlarging the model and its complexity. These two developments increase the amount of memory required to store models and their state in memory, and the time it takes for models to translate input data to output data. Luckily, more and faster hardware becomes available all the time. But the problem is that the modelling framework may not be able to use it. Nowadays, clusters of multiple computers are becoming more accessible to modellers, but unless the modelling framework contains explicit support for them, they cannot be used easily. The same holds for graphics cards that can be used to offload some calculations of the models to. Unless the modelling framework supports them, they cannot be used by the models.

How can we design modelling frameworks that perform well on current popular hardware platforms, while still being easy to use by domain experts?