General variable

A general variable acts as substitute for another object and is used when the model creator wants to present users with different options for a certain calculation.

Creating a general variable

From the Projects window

  • Expand the Project to which you wish to add the general variable by clicking the + symbol next to it. Right-click on ‘Blocks’, or a sub-system in ‘Blocks’, and select General Variable from the pop-up menu.

From the Model window?

  • Right click an empty diagonal cell of the matrix and select Other | General Variable from the the pop-up menu.

From the Blocks window

  • Place the mouse cursor over the table and right-click on it. Select Create | General Variable from the pop-up menu, or

  • In the title bar, select General Variable from the Type drop-down list and click on the New button.

Editing a general variable

The block editor is shown by right-clicking the block in a window and selecting Edit. In the Blocks window, you can also show the block editor by selecting the block and clicking the Edit button, or by double-clicking the right-most “validation” column of the block.

The block editor has three tabs:


This page lets you edit basic properties such as name, sub-system and base unit. See editing properties for more information.


This page lets you edit the visual properties of the block in the matrix window and graph window. See editing appearance for more information.


Note Most block properties can be edited directly in the Blocks window.

Dimension - You can specify the dimension of the block by using the Type drop down list. Depending on the dimension the index drop down lists are activated. See editing values for more information.


  • Indices - For blocks that are non-scalar, the first columns will specify indices from the index lists. This allows you to specify different targets for different indices. The top row is named “default” and can be used when the same target should be set for all indices.

  • Expression - Select the target object that this general variable should delegate to.

  • Information - By using the Table control button you can display more columns that will help you document your model.

  • Available objects - Specify which objects that should be available options for the general variable.


The deposition of a contaminant onto soil can be specified in different ways depending on the scenario. In one scenario, the user might have time dependent measurements for deposition. In another the deposition is constant. In a third the deposition is calculated as a function of temperature, the concentration in air etc.

Rather than building three different models, the modeller creates one object for each scenario: a lookup table, a parameter and an expression. He then creates a general variable and calls it “deposition strategy”. Finally the modeller adds the three objects to the general variable and selects one of them. The general variable can now be used in equations, and will delegate to the selected object.

A user can easily change the strategy simply by editing the general variable and select the apropriate object.

See also