Sub-systems are containers for blocks and are used to make large models more manageable and understandable. The sub-system also acts as a name space for the [[block|blocks]] that it contains, which means that it will determine the ID of the blocks and guarantee that there are never two blocks inside the same sub-system with the same name. Finally, sub-systems can communicate with other sub-systems through the use of [[connector|connectors]]. As sub-system can contain other sub-systems hierarchies of sub-systems can be created. The top level sub-system is called the //root// sub-system. When a sub-system contains another sub-system, it is said to be the //parent// of that sub-system. ====Group==== A group is a simplified form of sub-systems, used only for organising blocks. A group does not influence the [[ID]] of a [[block]]. ====Inputs and outputs==== A sub-system is considered an (in most cases) independant model component. However, it can communicate with other sub-systems. Blocks in a sub-system can be marked as outputs, which make them available to other sub-system. Likewise, blocks can be marked as inputs, which means that they can be calculated by other sub-systems. Example: * A sub-system for contaminated soil might have a [[lookup table]] which represents contaminant concentrations in air. By specifying that the lookup table is an //input//, the concentration in air can be calculated by another sub-system. * Another sub-system, called atmosphere, calculates a concentration in air. It is marked as an output, which makes it possible to use it as an input the soil sub-system. Sub-systems are connected by using [[connector]] blocks. In the [[model screen#graph]], connectors are represented as arrows, in the [[model screen#interaction matrix]] connectors are put in off-diagonal cells. A connector lists all the available //outputs// of the source sub-system and to which //inputs// in the target sub-system they are paired with. When an output has been connected to an input, it "disappears" from the [[user interface#data input screens|input screens]]. In some cases, an input allows connections from more than one output. The input then receives the sum of the connected outputs. ====Matrix and graph==== A sub-system in the [[model screen#interaction matrix]] is put in the diagonal. In the both the [[[[model screen#interaction matrix]] and in the [[model screen#graph]] a sub-system can be expanded (opened) by clicking the **+** button located in the upper corner of the box. ====See also==== * [[Library]]