eWater is pleased to announce the latest Production Release of Source version 5.16. Key enhancements in version 5.16 include some really useful new Geographic reporting features, new built-in functions for data source and Probability of Exceedance, the addition of the Backwards Euler Method for Weirs, updates to Ordering with Storages and a new replicate runner within Source.
Table of Contents | ||
---|---|---|
|
Geographic Scenario features
Spatial data Exporter
The Spatial Data Exporter from Queensland's Derm Tools plugin has been updated and incorporated into the core application. The Spatial Data Exporter allows you to easily export a number of spatial layers from a Geographic/Catchment scenario in the Source project file. An especially useful feature is the ability to export Links. The exporter is available under the right-click menu when working in the Geographic Scenario view.
Geographic Scenario Reporting Tool
We have introduced the concept of Reporting Regions. Available under Edit \ Reporting Regions
These regions are used in the new Reporting Regions Data Collector. Available under Tools \ Analysis Windows \ Reporting Regions Data Collector….
The results are displayed in Tools \ Analysis Windows \ Map:
Detailed documentation is available here: Catchment Map Reporting Region
Merge Catchment Scenarios and Functional Unit rename
Now available under Tools \ Merge Catchments. You can now merge two catchment Scenarios into a single Scenario.
To help with using this tool, we also implemented the ability to rename Functional Units before or after a merge.
General Improvements
Functions for Data Sources and Probability Of Exceedance
There are four new built-in Functions:
- GetDataPeriod - Gets data from a Data Source between the start and end dates. Data is returned as an array.
- GetDataTimeSteps - Gets data from a Data Source using a start date and the number of time steps. Data is returned as an array.
- ProbabilityOfExceedanceFlow - Gets the percentage value for the given flow from the probability of exceedance curve.
- ProbabilityOfExceedancePercentage - Gets the flow value for the given percentage from the probability of exceedance curve.
Example usage:
Code Block |
---|
//Data Sources functions
//Arguements are: Data Source (for files, Name.ColumnName), start year, start month, start day, end year, end month, end day
GetDataPeriod("MyDataSource_csv.Column1", 2000, 1, 1, 2020, 12, 31)
//Returns an array of values in the units of MyDataSource_csv.Column1.
//Arguements are: Data Source (For files, name and column name), start year, start month, start day, number of time steps
GetDataTimeSteps("MyDataSource_csv.Column1", 2000, 1, 1, 365)
//Returns an array of values in the units of MyDataSource_csv.Column1.
//These methods can then be used with other built in functions that take an array such as sum, median, average, min, max etc. e.g:
sum(GetDataTimeSteps("MyDataSource_csv.Column1", 2000, 1, 1, 365))
//Probability Of Exceedance
//Arguements are: Array of values, flow value (in the units of Flow_res_csv.Runoff)
ProbabilityOfExceedanceFlow(GetDataTimeSteps("Flow_res_csv.Runoff", 2000, 1, 1, 365),10)
//Returns the percentage value.
//Arguements are: Array of values, percentage
ProbabilityOfExceedancePercentage(GetDataTimeSteps("Flow_res_csv.Runoff", 2000, 1, 1, 365),20)
//Returns the flow value in the units of Flow_res_csv.Runoff.
//You can also use a modelled variable to provide the array of values
ProbabilityOfExceedanceFlow($Previous30DaysFlow,10)
|
Backwards Euler Release Method now available For Weirs
Backward Euler Method is now available for Weirs! This is a significant change for Weirs. It's enabled under Edit \ Scenario options \ Storages:
Storages have had the option of using the Backward Euler Method for a while now and it's the default for new models. However, the Piecewise-linear Integral Method is still available, see Storage Node - SRG for details.
Moving the Weir over to the Backward Euler Method enables other features, including:
- Outlet Priorities can now be used,
- Weirs now include the concepts of a Safe Release capacity for Operating Constraints, and
- Ordering Priorities will now work with Weirs.
Improvements to Minimum Constraints downstream of Storages
For Rules-based ordering, we have improved the Constraint calculations downstream of Storages. This is how the Constraint Phase in Storages was previously calculated:
- The Storage Node Model calculates a Predicted Volume for the storage. This is done by taking the Current Storage Volume and adding the Ordering Minimum Constraint from upstream.
- It uses this to determine a Minimum Release and a Maximum Release for each of the Outlet Paths, by comparing the Predicted Volume against the Outlet definitions (e.g. spillways, valves, etc)
- There is a special case if the Predicted Volume exceeds the Full Supply Volume
- In this case, the Minimum Release is the Predicted Volume - Dead Storage Volume - Full Supply Volume (which looks wrong: RM-17722)
- The Minimum Release and a Maximum Release would become the Ordering Minimum Constraint and an Ordering Maximum Constraint for downstream.
We have now added a Volume Above Maximum Operating Constraints
- Volume Above Maximum Operating Constraints = Predicted Volume - Maximum Operating Constraint
- Then it is constrained so New Minimum Release = MIN( Maximum Release, MAX( Minimum Release, Volume Above Maximum Operating Constraints ) )
So that New Minimum Release becomes the Ordering Minimum Constraint.
Environmental Flow Actions are now in the Feature Table
Spell Based Actions and Translucency Actions from the Environmental Flow Node are now available to be edited in the Feature Table.
Supply Point User interface changes for Ordering
We have made some changes in the Supply Point user interface to be clearer about what different options do.
In Rules-Based Ordering:
- Add Orders To Downstream Orders remains unchanged
- Use Unregulated Flow To Satisfy Orders is now Use Min Constraint Flow To Satisfy Orders
In Net LP Ordering
- Add Orders To Downstream Orders is now NetLP 2 phase solution: Add orders in 2nd phase
- Use Unregulated Flow To Satisfy Orders is no longer selectable. It already had no effect on processing.
Background images for the Schematic network
You can now add a background image to the schematic network control.
Internal spilling to be specified by Owner
We have added an additional option when using Internal Spilling for Ownership in Storages.
You can enable a single owner to Share Airspace which allows the selected owner to store additional water in its account, providing there is enough airspace and it does not affect other owners' storage.
Replicate runner
We have implemented a replicate runner within Source for applications such as a risk of spill assessment.
There is a new Run configuration available in Scenario Options called Replicate Analysis Configuration. This can be added to the scenario.
The following example cycles the Data Sources used in the model to create 20 Replicates. Replicates are generated using the same method that's been implemented in the Run Manager: Time Series Cycle Creator.
Results can be used in custom charts and viewed in the Results Manager. .res.csv now includes metadata to identify the SubRunName that will be in the export.
- Data sources can be individually selected, and
- Annual Descriptive Statistics will work across sub-runs.
It currently runs in series and not in parallel. Running in parallel will improve performance and we plan to add this in a future beta release.
Documentation is available here: Replicate analysis simulations in Source and will be incorporated into the documentation after the production release.
Summary of minor changes
- SourcePlugin.Simhyd-Factored has been added to the Community Plugins
- Reset filter button not working in tables
- Run time Performance improvement for some project files
- The environmental flow Node's actions had a parameter that wasn't persisting: Number of season failures before forcing
- SRG and User Guide links were not working for some windows
- TimeSeries validation on the command line was fixed
- Export + import of Irrigator daily patterns now round trips correctly
- A number of issues were resolved in River Operations mode
- Units for Scenario Data Sources have been fixed
Plugin Developers
The API for Custom functions has been extended:
- You can now include strings and arrays as arguments for custom functions.
- You can now return an array from a custom function, rather than just a single double value.
This was implemented to enable the function improvements listed above, however can now be used in any custom function. For details please see: /wiki/spaces/SD516/pages/54987355
Community Plugin Changes
We have moved to Visual Studio 2022. We are planning on moving to .NET 6. The transition to .NET 6.0 won't be a quick process as some components we currently use will no longer be supported, however it does provide a potential pathway to running natively on Linux. Source can currently be run on Linux under Wine, but only natively on Windows.
Results and Configuration Changes
Some results have changed between Source 5.12 and Source 5.16. The eWater development team maintains a detailed system to track when results vary between different versions of Source.
There were two main result changes in the regression test suite.
- A large number of results changes were due to a unit issue with a recorder. Water quality constituent Total Flow Mass calculation was 86400 times too small.
- Changing Weirs to enable the Backward Euler method has changed some results.
To test your project:
- Create a regression test in Source 5.10, see 5.12 Regression testing
- Run it in Source 5.12 to test for any result changes, see 5.16 Regression testing
If you would like help with your projects or would like to have your projects included for testing, please contact support: support.ewater.org.aurelease Source 5.20, which captures improvements and enhancements from July 2022 to Jan 2023.
Enhancements and improvements in 5.20 include:
- Updates to the Storage Ownership logic.
- Addition of a filtering option that allows output data to be limited to specific recorder sets.
- Enhancements to River Operations Mode.
- Changes and improvements to Continuous Accounting.
- Range of smaller enhancements and bug fixes.
Updates to Storage Ownership logic
In Source 5.14 Beta and Source 5.16 changes were made to allow "Internal spilling to be specified by Owner". This added a new option to 'Ownership' in storage and weir nodes allowing an owner to 'Use Airspace'. Following testing and feedback from those releases, further changes have been made in this release to address a number of identified issues. These changes include:
- A new proportional loss calculation method has been introduced.
- The 'Use airspace' option can be used when internal spilling is disabled.
- The 'Use Airspace' owner can receive water internally spilled from other owners, if it is below its specified capacity share (not allowing this could cause incorrect spill calculations).
- Fixes for negative and close to zero ownership values in storage ownership.
- Improved test coverage of storage ownership.
The new proportional loss calculation method has been separated out into an independent implementation from the original storage ownership methodology to allow for a comparison of results between the old and new versions. For now, the two methods will be available to allow for results to be compared, with the expectation that the new method will ultimately be the only option.
Details of the changes are outlined in Owner Working Volume Proportion Method.
Fixes for negative and close to zero ownership values were made in common code shared by both the old and new methods, as such some very small result changes have been identified through regression tests.
Recorder Set Filtering Option
A new option has been added to the command line execution of Source that allows the output data to be limited to specific recorder sets.
--rs | Which recorder set to return. This can be specified multiple times. | --rs "recordersetname" |
This can be useful when a Source Project run (e.g. in Operations mode) has a number of standard recorders preconfigured, but specialised runs are required to limit the output data to specific recorder sets.
Operations Mode Enhancements
Several changes have been made to provide additional options when working in River Operations Mode.
These changes include:
Data Sources can now be overridden in the Tabular Editor.
- Values overridden in the Data Sources in the Tabular Editor will apply wherever the Data Source is used.
- For example, updates to model inputs such as rainfall/PET will be applied to all nodes where they are relevant. Similarly for Time Series Variables within the Function system.
Operations support for Minimum Flow Requirement nodes
- The Required Flow (previously Required Water) on Minimum Flow Requirement nodes can be overridden.
- More of the recordable values in Minimum Flow Requirement nodes can be viewed in the Operations Tabular Editor
- Operations Forecast Scenarios can be defined
The 'Recorder Set Filtering Option' described above may be of use when running Operations in Command Line mode in order to filter out the data recorded for the Tabular Editor.
Continuous Accounting
Continuous Accounting is one of the water use accounting systems provided in Source. NSW Department of Planning, Industry and Environment, with support from eWater has undertaken a major review of the continuous accounting functionality and made significant changes to improve its operation, including adding new recorders .
Continuous Accounting - SRG - Source User Guide 5.20 - eWater Wiki
Enhancements &. Bug Fixes
Smaller enhancements and bug fixes include:
- Additional parameters available in Scenario Input Sets to support Storage Operating Constraints settings.
- Additional checks when loading .RES.CSV files to identify non-contiguous data.
- Fixing bugs in the parameters of IHACRES
- Improvements to 'splitters' to give more meaningful constraint forecasts.
- Resolving issues with the Recording Manager functionality.
- Fixing a bug with scenario input sets that prevented a project from reversing back to its initial conditions.
- Improvements to allow 'Return Flow; proportion and volume for both Water User and Demand models.
- A new option for setting how Ownership is shared when Unaccounted Difference is used in Storages and Weirs