Model architecture - GLOBIO4/GlobioModelPublic GitHub Wiki

The concept

Conceptually GLOBIO 4 consists of two parts: a framework and the model. The framework deals with defining runs and running the model. The model self performs the calculations to compute the changes in biodiversity.

From version 4.0.5 separate (pre-processing) modules like the Discrete Land-use Allocation module, are added.

From version 4.0.12 additional (pre-processing) modules are added for calculating Aquatic MSA indicators.

Python, GRASS and TauDEM

Framework and model are programmed in Python. For performing specific geographical calculations several Python libraries are used, see Appendix 2 for the versions and installation guide. These libraries include:

  • Numpy library for very fast raster calculations
  • Pandas library for data analysis
  • SciPy library with additional scientific (raster) algorithms
  • Shapely library for dealing with vector data
  • GDAL/OGR library for accessing vector and raster data, and geospatial algorithms
  • geographiclib library for calculating geodetic distances and areas
  • NetCDF library for reading and writing NetCDF files
  • TauDEM library for extracting and analyzing hydrologic info from topography

Additional GRASS GIS is used for raster algorithms which are not available in the Python libraries.

All software used to realize GLOBIO 4 is free available and open source software.

The framework

For running the model the model needs to know which model parameters have to be used to perform the calculation. These parameters include input and output data sets, resolution, regional extent, buffer distances etc. All these parameters are not hard coded in the source code but can be specified in configuration files.

A configuration file has a specified syntax which is designed:

  • to be flexible;
  • to make it easy to extend;
  • to make it possible to run with different resolutions;
  • to make it possible to run on global or regional scale;
  • to perform multiple runs with different parameters (scenarios);
  • to perform validity checks on the parameters;
  • to make the results reproducible;
  • to be easy to read;
  • to be used without Python knowledge.

When a configuration file is run several checks are done to see if all input data is available and the parameters are valid. These checks are done before the actual calculation starts.

Every run is logged. A logfile with information about all model parameters is saved in the output directory.

The model

Modules

In GLOBIO 4 several modules are implemented: terrestrial, aquatic and land-use allocation. Future plans include extending GLOBIO with environmental modules.

Scale and resolution

In GLOBIO 4 the impact is calculated raster based and on global scale, although calculating on regional scale is possible too.

In GLOBIO 4 calculations are done separately for each impact module. The resolution (i.e. cellsize) which is used for a module calculation is determined by taking the smallest cellsize of the input rasters. For the final result all other rasters are resampled to this resolution.

When combining individual impacts to an overall impact a user specified resolution is used. During this calculation all rasters are resampled to this resolution.

Pre-processing calculations

From version 4.0.5 pre-processing modules are included and can be run from the framework. Conceptually they are not part of the model.