Overview
Two new pieces of functionality have been added to the constituents system of Source.
The first extends the granularity at which a user can model constituent generation and filtering. This is achieved by permitting more than one model to be used for generation or filtering on a given functional unit for a given constituent. In the past a user could only define one model for say functional unit ‘FU2’ - constituent ‘TSS’. This is where the idea of ‘constituent sources’ come in. The user can now define multiple constituent sources, for example ‘Hilland ‘, ‘Gully’'Hill' and 'Gully'. This means they could define a model for FU2 - TSS - Hill and another for FU2 - TSS - Gully. Typically each source would contain both a generation and filter model (like the old system) which would work together, the generation model passing its constituent load to the filter model for filtering with the output from the filter models being summed across all constituent sources for the functional unit.
The second new piece of functionality allows constituent generation / filter models to contain parameters which depend on a parameter from another generation / filter model. The concept is similar to that of functions whereby a parameter can be set from elsewhere in the system. Functions cannot be used here because the function manage manager is unable to influence the running order of models in a functional unit. So instead we have the design has a simple parameter linking tool which allows a user to connect one parameter on one constituent model to another parameter on another. The model parameter which is to be written too must have been compiled with metadata indicating that its value should come from another constituent model’s parameter. The function described above is termed as “Define Constituent Model Linkage” in Source, and the linkage procedure and an example are outlined below.
...
Figure 2. Constituent Model Configuration screen
The screenshot above (Fig2Figure 2) shows the constituent generation models for all functional units and constituent sources for the constituent called “Generated Constituent0”. As can be seen in the data grid on the right, the first four columns are; Sub-catchment, Functional Unit, Source and Model. Previously this data grid contained only three primary columns, with the new system having added the column of “Source”. This new column contains cells with a drop down list populated with all of the constituent sources that were defined in Fig1Figure 1. This is one method by which the user can edit the constituent source assigned to a model. The remainder of the columns operate as before with the exception of the model linkage column which will be covered later in the document.
The user can to assign the same constituent source more than once for a given FU. However, this operation will be ignored if the same constituent is already existed for the give given FU.
To assign a new constituent source to a FU, select the constituent for which you wish to add the constituent source in the tree view on the left and the FUs corresponding row in the data grid on the right. It does not matter whether you are in the generation or filter model data grid, as any additions / removals are automatically applied to both such that every constituent source has a corresponding generation and filter model placeholder.
Figure 3. Assigning a new Constituent Source to a Constituent / FU
With the row selected, right click. Select “Add Constituent Source -> Current Constituent -> x” selecting the desired constituent source in place of x (Figure 3). This will add a new row to the data grid allowing the assignment and parameterisation of a new constituent generation or filter model for the selected Constituent / FU (Figure 4).
Figure 4. Shows two Constituent Sources for FU1. Gully with an EMC/DWC model and Hill with none
The process to un-assign a constituent source from a FU is almost identical to that of adding one; simply select the row and right click and instead of selecting “Add Constituent Source”, select “Remove Constituent Source” (Figure 3). At least one constituent source must exist at all times, so if the user attempts to remove all sources from a FU, they will all be removed and a new source (the default source) will be automatically added again.
The system also allows for bulk assignments to be made. You The user will have noticed that when right clicking on a row and nominating to either Add or Remove a constituent source, two options appear on the next menu. The first (and the one we selected above) is “Current Constituent”. This applies the Add or Remove operation just to the constituent selected on the tree view on the left. The second option is “All Constituents”. This option preforms the “Add” or “Remove” to all constituents regardless of which is selected in the tree view.
...
The NDR parameter is marked up with a special attribute tag that tells the system to create a custom column in the data grid as shown in Fig5Figure 5.
Figure 5. Shows the linkage column “quickflowSedimentIn” for the NDR filter model w/tool tip shown
By default, an undefined linkage show the text “Not Linked”. To link a parameter, click on the “…” ellipsis button in the cell. Doing so launches the “Define Constituent Model Linkage” editor (Figure 6). This editor permits the user to specify where the value which is to be set on the selected parameter comes from. They get to choose a parameter from any model, generation or filter, which exists in the same FU.
...