Using linkage to reduce simulation duplication

The APSIM user interface has the ability to create shortcuts to simulation components in much the same way as Windows Explorer can create shortcuts. Whole simulations, parts of simulations or individual components can be linked to another comoponent. When a component is modified in one place, it is automatically updated in all linked copies.

Take the example were a base simulation has been created for a given scenario. If the intention is to then take this simulation and apply different fertiliser applications or sowing dates or soils to it, the tendancy would be to take a copy of the simulation and change the one attribute (e.g. fertiliser amount), doing this many times for each permutation. A problem then arises when the original simulation needs to be changed (e.g. a new variable added). This change then needs to be propogated through all the permutation simulations.

Instead of creating a copy of the base simulation and changing the copy, the user can create a link to the base simulation. Drag the simulation using the right mouse button and drop it on the parent node in the simulation tree and then select Create link here. This linked simulation is 'linked' to the base simulation. Changing the base simulation will change the linked version and vise versa.

Once a linked copy has been created, the user can unlink the specific node that needs to be different to the base simulation. This can be done by right clicking on the linked node and selecting Unlink.

This unlinked node can then be changed independently from the base node.

There is no limit to the number of links that can be created, nor what can be linked. As another example, a folder could be added to the top level "Simulations" node where multiple soils could be dropped into a soil folder. These soils could then be linked into the simulations that needs them. e.g.