...
Improvements in this release include:SubSource:
- Decouple mapping and run configuration
- Better support for single project solutions.
Performance improvements for marker routing
Add .sdb format as an option to select when auto exporting run results
...
- 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.
- 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 precious 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 a 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.
We have introduced a restriction, that this method won't work for lumped routing with weirs.
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 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 run
Documentation is available here: /wiki/spaces/SD50/pages/50136239
Order recorders
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.
...