There is a lot of software currently available that can help build and run models. Between the qualitative conceptual model and the computer code, we may place a variety of software tools that can help convert conceptual ideas into a running model. Usually there is a tradeoff between universality and user friendliness. On the one extreme we see computer languages that can be used to translate any concepts and any knowledge into working computer code. At the other end we find realizations of particular models that are good only for the particular systems and conditions that they were designed for. In between there are a variety of more or less universal tools (Figure 1).
One can distinguish between 'modeling languages', which are computer languages designed specifically for model development, and 'extendable modeling systems', which are modeling packages that allow specific code to be added by the user if the existing methods are not sufficient for their purposes. In contrast, there are also 'modeling systems', which are completely prepackaged and do not allow any additions to the methods provided. There is a remarkable gap between closed and extendable systems in terms of their user friendliness. The less power the user has to modify the system, the fancier the graphic user interface and the easier is the system to learn. From modeling systems we go to 'extendable models', which are actually individual models that can be adjusted for different locations and case studies. In these the model structure is much less flexible, the user can make choices from a limited list of options, and it is usually just the parameters and some spatial and temporal characteristics that can be changed.
Was this article helpful?