What is the architecture of the forest growth simulator SIBYLA?
The concept of the growth simulator SIBYLA is based on the forest growth simulator SILVA 2.2 (Pretzsch et al. 2002). SIBYLA consists of several basic models, which are linked up as shown in the flow chart below (Fig.1).
Fig.1 Model architecture of the growth simulator SIBYLA
What are the individual models of the growth simulator SIBYLA used for?
Structure generator
3D structure model
This model is used for the spatial visualisation of a forest. The spatial arrangement (configuration, organisation) is of high importance mainly for the competition relationships and thinning systems. The model visualises a forest either in the form of a static schematic plan with basic shift and rotation operations in 3-D view, or in the form of a complex virtual reality, which provides a user with an opportunity of interactive movement in the forest (using the principle of computer games of two types: "first person" and "third person"). |
Calculation model
This model calculates all important aggregated ouputs at a plot level (mean and per hectare variables): variables characterising production condition of a forest stand (e.g. mean diameter, mean height, stand volume, basal area, stand density); biomass values and the content of chemical elements in wood, bark, roots, and assimilatory organs; different forest biodiversity indices (tree species and structural); revenues arising from a forest in the form of assortment structure of growing stock (expressed both in volume and value); and at last the costs of basic cutting and yarding processes. The results are differentiated between tree species and types of a forest stand component (main, dominant, and secondary crop, mortality, future crop trees). |
Mortality model
The task of the mortality model is to select the trees which die in a particular period of the growth simulation naturally. Natural mortality depends on stand density, which should not exceed the maximum possible density, and on susceptibility of individual trees. The susceptibility of each tree is determined on the basis of its tree diameter, and tree basal area increment affected by the competition pressure, tree height-diameter ratio, and the site class, which is modified by site parameters (climate and soil). |
Disturbance model
The purpose of this model is to select the trees, which die in individual periods of growth simulations due to the influence of random injurious agents. The model simulates tree mortality caused by wind, snow, icing, bark beetles, timber borers, defoliators, wood-destroying fungi, air pollutants, drought, fire, and illegal cutting. The selection of dead trees (trees that die) is performed on the basis of the disturbance risk and the predicted damage rate. These parameters depend on the number of dead trees left in the stand, on climate anomalies, stand localisation, stand geomorphology, and stand susceptibility determined from a wide scale of stand characteristics. The selection of individual trees is driven by the type of propagation of an injurious agent in a stand (individual - scattered, spotted, local). |
Thinning model
This model simulates interventions of a forest manager in a stand. The goal of the model is to select trees for cutting during e.g. thinning treatments. At the same time, if it is required, the model can also select the trees supported by a manager, i.e. crop trees. Various treatment types can be simulated by the model: thinning from below, thinning from above, neutral thinning, method of crop trees, method of target diameter, method of target frequency curve, clear cutting method, and an interactive thinning by list. |
Competition model
This model calculates the competition pressure of the surrounding trees quantified by the competition index. The competition index is three-dimensional and distance-dependent, i.e. this index accounts for the position of individual trees in all directions around the assessed tree. The index is terrain-sensitive as it also considers the character of the terrain under and around the tree. The index is tree-species-sensitive, since it also takes into account tree species composition of the surrounding competitors. In addition, the competition index considers the symmetry or asymmetry of the position of competitors. |
Growth model
This is the main model that determines tree increments of particular variables in a certain simulation period. The model of tree diameter and height increment represents the heart of the growth model, and is based on the reduction of the growth potential. The growth potential is specified by ecological site classification, which is based on climate and soil characteristics. Next, the growth potential is modified by the competition pressure and the tree vitality determined by the tree crown dimension. The model is independent of age, and if the tree age is unknown, it can be derived from the growth potential and the real tree height at the beginning of the growth period. |
Regeneration model
This model will simulate natural and artificial forest regeneration. It is the only model that has not been finished yet, and hence, is not activated !!! |
What is the software architecture of the growth simulator SIBYLA ?
Architecture of the program code
The growth simulator SIBYLA was programmed in DELPHI 5 environment, in Object Pascal language. The source code uses the modular structure with object-oriented modules. The source code consists of 140 modules, which have in total more than 3,000 kB, more than 400,000 characters, and are written in more than 250 pages of the formatted text. The basic modules (UNITS) of the source code are following:
module name (UNIT) in source code | purpose of module |
biomass.pas | calculation of biomass amount and content of chemical elements in trees |
common.pas | basic constants and transformation functions |
competition.pas | calculation of tree competition parameters |
damage.pas | determination of trees that die due to the influence of injurious agents |
increment.pas | calculation of tree increment |
mortality.pas | determination of naturally dead trees |
site.pas | module of ecological site classification, calculation of risk, type and amount of disturbance depending on site parameters |
stav.pas | overall management of growth simulation |
strugen.pas | generating forest structure |
thinnings.pas | determination of thinning and future crop trees |
vitality.pas | calculation of tree crown parameters |
Apart from the source code, the program code contains also external program components:
component name | component type | component description |
standard Delphi VCL components | Delphi Visual Components | basic Delphi components for the creation of the application interface |
DelphiX | Delphi Visual Components | components for the utilisation of graphical functions of DirectX type |
MapLT | ActiveX Component | MapObjects LT 2 developed by ESRI company for the creation of mapping applications |
blaxxunCC3D | ActiveX Component | creation of applications based on virtual reality from Blaxxun company |
IpixX | ActiveX Component | creation of applications designed for viewing spherical photographs of iPIX company |
Application architecture
The application SIBYLA Suite is composed of several modules. The modules are independent one from another, while each fulfills a specific function. Their functionality is linked as it is shown in Figure 2. The independence of modules is ensured through the communication with the relational central database of Microsoft Access type. Every module controls specified database tables. The modules are divided as follows:
type of modules | list of modules |
internal | Generator, Medium, Localizer, Cultivator, Prophesier, Calculator, Explorer, Analyst, Expert, Lecturer |
external | Agent, Cartographer |
virtual | Aggressor |
Internal modules are direct components of the installation of SIBYLA Suite Standard released as freeware. The purpose of the individual modules is described in the manual. External modules are the components of the installation of SIBYLA Suite Professional intended for the members of the development team. The purpose of these modules is described in the section designed for users. Virtual modules are modules with virtual functionality. The module Aggressor, which sets the type, the risk, and the amount of disturbance, belongs to their components.
The modules can work in either of two forms:
in a dialogue form, which is based on the interactive assistance of a user, who controls the program by menu and dialogue boxes. The majority of common users utilise this form.
in an automated form, based on an automated initiation of modules by an external code, macro, or a "command line". In this case prior to the simulation, necessary database tables have to be prepared, necessary filters in the database have to be set up, the control file "run.ini" has to be configurated, which activates a sequence of modules. Afterwards, the simulation is performed without any assistance of a user until it stops at the end of the simulation series . This form is meant mainly for specialists and is described in more detail in this section. It is suitable e.g. for the purposes of "Parallel Computing" and "Grid Computing" processing types.
Figure 2 Software architecture of the growth simulator SIBYLA
© Copyright doc. Ing. Marek Fabrika, PhD.
© Translated by Dr. Ing. Katarína Merganičová - FORIM