The changes in this beta will be available in the next Source production release, due out at the end of December 2020.
Improvements in this release include:
- how weirs process constituents,
- the Sub Source plugin,
- expanded Order recorders,
- performance improvements for constituent marker routing, and
- the Source Data Base (.sdb) can now be used when auto exporting run results.
Weirs and Constituents
The previous logic for running Constituent Instream Processing for Weirs was based on the logic for Storages.
- The Instream Processing model was given the entire body of water associated with the feature. I don't really get this, is this correct: The Instream Processing model uses the entire body of water...
- The processing model would run once per time step for each constituent.
This was different from how these models behave for Storage Routing Links. Which is:
- given access only to a single division, and
- run once for each division and constituent in a Link.
The previous logic wouldn't work when the model included hard limits e.g. in this model, the average concentration is not meant to exceed 9mg/L. When the Model runs for the entire Weir, we can see this is true on average:
But when we look per division, we can see that some divisions drop to 0 while others can reach double the cap 18.
Changing the logic for weirs to be consistent with storage routing resolves this issue since the cap is applied in each division rather than across the entire link.
Constituent Instream Processing for Weirs is restricted to Marker routing, i.e., it is not implemented for Lumped routing. (If Lumped routing is being used storages would make a more sensible model for the infrastructure than weirs.) This kind of suggests that it would be more sensible to use Lumped routing
Sub Source plugin improvements
Previously mappings between main and sub-models were tied to a single run configuration. If you make a new run configuration then the mapping has to be redone. Sub Source mappings have now been moved into a manager function? so that the same mapping can be used by multiple run configurations.
We have also improved how Sub Source works with single projects. For single projects, the plugin will now:
- get meta data from the loaded project rather than starting the service when doing configuration, and
- Run the current project without needing to manually save before the run
Documentation is available here: /wiki/spaces/SD50/pages/50136239
Order recorders
Additional recorders were requested to better understand the water that has been ordered for use in functions. could it be simplified to 'the water ordered for use in functions'
We have added recorders with the following names under rules-based-ordering:
Orders > Arriving Current Timestep (expected)
Orders > Minimum Travel Time
Orders > Maximum Travel Time
Note Arriving Current Timestep (expected) is equivalent to the original Orders recorder.
Plugin Developers
We have moved to .NET 4.8 and are looking at moving to the new .csproj format on our journey to .net core. Once we complete this, we will require plugin developers to upgrade to Visual Studio 2019.
Regression Testing
We have removed the tolerance in our regression tests to help find issues earlier if we get different results on different machines or versions of operating systems.
Regression test repository changes since the first Source 5.0:
03 Project results updated
35 Projects have results files mapped to new recorder names
02 Project updated results
Details here: 5.2 Regression Test Changes
Insight
To run Insight, you also need to install the 32bit version of Microsoft Visual C++ 2010 Redistributable Package.
This installer is for both 32bit machines and 64bit machines since the library we use is 32bit: Microsoft Visual C++ 2010 Redistributable Package (x86).
Full Release Documentation