[an error occurred while processing this directive]

Design Documents

These diagramatic design documents are provided here to visually highlight some of the main features in the modelling software modules, particularly spatial data structures.

Spatial Design

The SimSAGS modelling software consists of modules for each major component of the model giving adaptability of the programming code and reducing the size (footprint) of the resulting executable application. The spatial interface between each module and the program hub was based on the same spatial class specification spatial inherited from an implementation of a grid-based data storage template, spGrid. This implementation can be seen in the Technical Documentation with a further description in this section from Derry (2004).

Spatial data structure

This spatial version of the modelling software was born out of the previous nonspatial version (which can still be used by turning off the spatial processes in the Spatial parameter category of the Parameter View window.

Because of the modelling software's development history the spatial data structure within each module (one for Climate, one for Soil, and one for each Plant and Animal component, e.g., annual_grass_1, herbivore_1, etc.) consists of distinct grids of nonspatial objects, i.e., spatial grids are amalgamations of individual cells with no inherent spatial elements. Plus it was thought that this was a prudent method to represent the "real" spatial world.

As an aside, and just so you know of an alternative that was considered, the software engineering antithesis of this would be to construct just the single grid across which would be spread the spatial properties for all modules (soil depth, topography, plant height, standing plant biomass, etc.). It really all boils down to a question of packaging; data is either stored within cells within objects (packages of associated data), or within objects within cells.
The programming solution to implement this data structure would be unwieldy by contravening the modelling software's object-oriented design principles, particularly encapsulation of 'like' data within objects.

Although the following diagrams are from a previous version of the modelling software, they should go some way towards explaining the principle.