4.13 - Beta Release (June 2020)

The changes in this beta will be available in the Source version 5 production release, due out at the end of June 2020.

Changes in this release include:

  • Order Crawler Recorder
  • Date Range changes
  • Results Streaming format utility
  • New version numbering system
  • Ownership adjustment for Storages and Weirs

Order Crawler Recorder

The order crawler recorder is a new recorder to show all the nodes and links in a network and what their orders and requirements are on a particular date.  Available under: Miscellaneous \ Ordering \ Order Crawler. The Order Crawler is a fully interactive zoomable schematic that shows:

  • order data for all nodes and links (water users show their requirements)
  • the entire network with node locations in the same location as the network
  • the minimum order time values (same value as order recorder) e.g. if order travel time is 3 (minimum) to 5 (maximum) days the orders for 3 days out will be shown.

Note: for large networks, it does record a lot of data and is primarily for problem-solving and not intended to always be turned on.

Date Range changes

We have improved Date Ranges and fixed up some issues with their implementation. This will change results for a number of users, so we have implemented a Scenario Option to turn on the new Date Ranges algorithm. 

Existing projects won't be using the new method and will have to manually swap over. This gives users a chance to test the new implementation before it becomes the only option.

In a later Beta release, we will implement a utility to convert across while keeping results consistent as much as possible along with user interface improvements to help users understand Date Ranges better.

Results Streaming format utility

Results can now be streamed to files on disk rather than stored in memory. This is to prevent memory issues with large runs.  Results streaming is off by default, however, it can be turned on in Project Options:

The format used (called Source Time Series Database .sdb) is now also available as a general timeseries format.  

Source.DataUtility.exe - eWater Source Time Series Data Utility                                                                                                                                                                                               
Usage:                                                                                                                                                                                                                                                        
        -?, --help[optional]... Show usage help                                                                                                                                                                                                               
                                                                                                                                                                                                                                                              
        -i, --input[optional]... Input file to read timeseries from. All standard TIME timeseries formats are supported.                                                                                                                                      
Example: -i "Run1.sdb" or -i "Run1.res.csv"                                                                                                                                                                                                                   
                                                                                                                                                                                                                                                              
        -o, --output[optional]... Output file to save timeseries to. The extension selects the output format based on the standard TIME I/O formats. A directory of the name specified will be created if the format only supports a single timeseries.       
Example: -o "output.res.csv" for Source Results CSV or -o "output.sdb" for SourceDB etc.                                                                                                                                                                      
                                                                                                                                                                                                                                                              
        -k, --key[optional]... Key of a timeseries to output. This can appear multiple times. If no keys are specified then all timeseries will be exported. Use the '--list' option to list timeseries in the input file. The DisplayName is used as the key.
Example: -k "someResult" -k "someOtherResult"                                                                                                                                                                                                                 
                                                                                                                                                                                                                                                              
        -q, --query[optional]... SourceDB filter query. Use the '--list' option to list timeseries in the input file together with possible MetadataKeys to filter on.                                                                                        
Example: -q "WaterFeatureType=Storage" -q "ElementName=Storage Volume"                                                                                                                                                                                        
                                                                                                                                                                                                                                                              
        --startTime, --st[optional]... Start time for extracting partial results. If not specified the start of the input timeseries is used.                                                                                                                 
Example: --st 1/1/2011                                                                                                                                                                                                                                        
                                                                                                                                                                                                                                                              
        --endTime, --et[optional]... End time for extracting partial results. If not specified the end of the input timeseries is used.                                                                                                                       
Example: --et 31/12/2011                                                                                                                                                                                                                                      
                                                                                                                                                                                                                                                              
        -l, --list[optional]... List the timeseries and metadata contained in the input timeseries file. Standard output may be redirected to a '.json' file.                                                                                                 
                                                                                                                                                                                                                                                              
        -a, --addOrReplace[optional]... Add input timeseries to an existing output SourceDb (.sdb) file. Existing timeseries with matching metadata will be replaced. Only supported for SourceDb output files.                                               
Example: --addOrReplace                                                                                                                                                                                                                                       
                                                                                                                                                                                                                                                              
        -f, --force[optional]... Don't prompt for confirmation when overwriting an existing file.  

New Version Number system

We have changed the version number system to help users understand when they need a new version of Source to open projects.  The previous database version was a letter that wasn't in the version number.

The previous system was:

OrderName
1Major Version number
2Prod/Beta identifierAll Prod numbers are even. All Beta identifiers are +1 the most recent Prod identifier
3Regular Functionality ReleaseIncremented when a new Beta is released every 1 to 2 months. Rarely updated for Prod releases.
Not included in version numberDatabase Upgrade letterNeeded when changes are made that require DB upgrades between official releases.
This is used to identify what the current database structure of the project will be. Resets to 'a' when the 'Regular Functionality Release' changes.
4Build numberEssentially a unique identifier for Source builds

New system:

OrderName
1Major Version number
2Prod/Beta identifier/Regular Functionality ReleaseReset when the Major Version number increments. Increments with every official Prod and Beta release. We may increase by more than +1 for production releases.
3Database Upgrade NumberNeeded when changes are made that require DB upgrades between official releases. This is used to identify what the current structure of the database's project will be.
4Build number

Essentially a unique identifier for Source builds

This is why this release is 4.13.1beta rather than 4.12.4beta, as it would have been in the previous system.

Ownership adjustment for Storages and Weirs

We previously had no way of adjusting the ownership mass balance on storage nodes post timestep. Often there are decisions that move ownership about as a result of management or policy decisions based on what happened that day.  We now have an option to adjust the End of day volumes in Storages and Weirs.

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 4.12.3beta:

(warning) 15 Project results updated

(minus) 01 Project results removed

(plus) 01 Project added

Details here: 4.13 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

type key status summary assignee reporter
Loading...
Refresh