Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

eWater is pleased to announce the latest Production Release of Source version 5.0.   

Version 5 includes the release of Urban Developer and MUSICX as plugins to Source. This is a significant step forward for the platform. By using these three tools together, water managers have the ability to assess and plan for truly  integrated water management solutions, that consider water quality and quantity, at the catchment and local scale.   

MUSIC and Urban Developer were originally designed to complement each other, to draw together information on urban water quantity (Urban Developer) and water quality (MUSIC) to develop integrated water management solutions in urban areas. These models can now be linked to eWater Source catchment and river system models. Allowing you to explore possible interactions between different components of the water cycle and evaluate demand and water supply options together, to understand the best balance of traditional water supply, demand management and alternative water supplies, such as the use and recycling of stormwater, wastewater and groundwater.

Question - should we acknowledge the investment by Melbourne Water and us?

Source 5.0 also contains a broad range of other upgrades and enhancements to the platform, including changes to support river operations, custom charts, improvements in run-time performance and a new version numbering system.

Urban Developer

eWater’s Urban Developer Tool gives water managers the ability to undertake a detailed analysis of household demand, taking into account the range of dwelling types, how water is used and the water efficiency of different appliances and fittings. As a plugin to Source, Urban Developer allows for a sophisticated assessment of urban water demands to be undertaken as part of the Source modelling framework.

With Urban Developer you can assess the full range of indoor and outdoor water uses for four types of dwellings, detached house, detached house with a rainwater tank, semi-attached house and apartments. It generates a database of average water demand for every combination of household type, occupancy and end-use, for the given climate. Urban Developer takes into account the full range of water efficiency End-uses include showers, hand taps, toilets, washing machines, dishwashers, pools and outdoor use.

image2019-2-1_9-19-58.png

Urban Developer helps water managers understand things like:

  • the potential demand savings from different water-efficiency measures
  • the impact on demand when dwelling types change, for example, detached housing is replaced by apartments
  • the volume of non-potable household demand that could be replaced by alternative water supplies
  • the effect of potable water substitution on water storages and distribution networks

MUSICX

MUSIC - Model for Urban Stormwater Improvement Conceptualisation) is Australia’s leading tool for water sensitive urban design. MUSIC is used by urban developers, planners, engineers, local government and development approval agencies to manage the impact of urban development and other land-use changes on waterways.

eWater has recently released MUSICX, the most significant upgrade to the tool in a decade. MUSICX will soon be available as a plugin to Source. 

With MUSIC you can:

  • simulate urban stormwater systems from the individual lot to suburb scale
  • estimate the potential for stormwater harvesting and reuse and understand the effects on downstream flows and water quality
  • model pollutants, including suspended solids, total phosphorus and total nitrogen
  • compare the water-quantity, quality and cost/benefit objectives of different treatment options, such as swales, bio-retention system, rainwater tanks, wetlands etc
  • design urban development proposals that meet WSUD standards.

Improvements to Source

Source 5.0 also includes a range of upgrades and enhancements, as described below.

Date Range changes

Could this be under minor?

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

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.

Performance improvements for the command line and Service interface

We have improved the performance of the command line so that less memory (RAM) is now used during a run.  Run times have been reduced in the command line.

The command line now has additional options for results saving:

--resultsOutputMode

There are three modes currently available:

  1. NoOutput - Does not save results anywhere, hence does not fetch results either. Can be used where the result data files are ignored. E.g. in tests, or where a plugin gives a different pathway to results. This improves performance when using automatic exporting tools such as Scenario Options: Simulation results or Simulation Log which automatically exports results after each run to a specific location. 
  2. ClientNamedFormat- Results fetched to client, saved to output file from there, in a format based on output file extension. The data is transferred back to the client and saved (current behaviour).
  3. ServerNamedFormat - Results saved to output file directly from server, in a format based on output file extension. Does not fetch results to client. This "server side" save is more efficient. Default for InProcess mode, since "server side" is local here. Can be used in Client mode, assuming the end user has access to the path provided to the server e.g. a network drive.

River Operations 

The Operations tabular editor is now independent of the recording selection.  You no longer get all recorders in the tabular editor. Recorders are now selected using the new column editor:

The tree on the left has also had major changes.

Resource Assessment Allocation table interface improvements 

Could this be under minor?

You can now freeze columns and drag columns to reorder the columns in the Allocation table within resource assessment:

A new Water User and Constraint Phase

There has been a change to allow modellers finer control over function execution during the ordering process.

Phase logic has changed from:

10. Ordering phase:
  1. Evaluate functions and modelled variables - where Time of Evaluation equals Order Phase and where the function is not used at a network element.
  2. Process Water Users: 
    1. Water User order calculations can be run in Parallel at this point in the ordering phase with the option enabled: "Process Water User Orders in Parallel": Scenario Options \ Performance
    2. For each Water User:
      1. Evaluate functions and modelled variables - where Time of Evaluation equals Order Phase, and where the function is used at this Water User.
      2. Calculate and distribute the demands of each Water user.
  3. Constraint Phase:
    1. For each Network Element:
      1. Calculate minimum and maximum constraints at each element and pass the constraints downstream.
  4. Ordering Phase:
    1. For each Network Element:
      1. Evaluate functions and modelled variables - where Time of Evaluation equals Order Phase, and where the function is used at this network element.
      2. Calculate regulated orders and pass upstream.
      3. Calculate off allocation orders and pass upstream.

To:

10. Water User and Constraint Phase

  1. Evaluate functions and modelled variables - where Time of Evaluation equals Water User & Constraint Phase and where the function is not used at a network element.
  2. Process Water Users: 
    1. Water User order calculations can be run in Parallel at this point in the ordering phase with the option enabled: "Process Water User Orders in Parallel": Scenario Options \ Performance
    2. For each Water User:
      1. Evaluate functions and modelled variables - where Time of Evaluation equals Water User and Constraints Phase, and where the function is used at this Water User.
      2. Calculate and distribute the demands of each Water user.
  3. Constraint Phase:
    1. For each Network Element:
      1. Evaluate functions and modelled variables - where Time of Evaluation equals Order Phase, and where the function is used at this network element.
      2. Calculate minimum and maximum constraints at each element and pass the constraints downstream.

11. Ordering phase:

  1. Evaluate functions and modelled variables - where Time of Evaluation equals Order Phase and where the function is not used at a network element or is used at a Water User.
  2. Ordering Phase:
    1. For each Network Element:
      1. Evaluate functions and modelled variables - where Time of Evaluation equals Order Phase, and where the function is used at this network element.
      2. Calculate regulated orders and pass upstream.
      3. Calculate off allocation orders and pass upstream.

The important thing to note is that the timing has changed.

Example: A function assigned to a Water User, that says it evaluates in the Ordering Phase, will now happen later than it previously did. To evaluate it at the same time as it did in v4.11, the time of evaluation needs to be moved to the Water User & Constraint Phase.

Migration Code

So to minimise the effect in splitting this phase in two, we've written some migration code.

The logic is:

  • IF a function or modelled variable has a time of evaluation of 'Ordering Phase' (in v4.10.1)
  • AND it is used on a model that is either:
    • a Non-Network Element (e.g. Resource Assessment, Env Flow Manager)
    • a Water User
  • THEN move its time of evaluation to 'Water User & Constraint Phase'

also

  • IF a function or modelled variable has a time of evaluation of 'Ordering Phase' (in v4.10.1)
  • AND it is not used anywhere
  • AND it has Force Evaluate set to On
  • THEN move its time of evaluation to 'Water User & Constraint Phase'

otherwise, we leave it as 'Ordering Phase'

Limitations

We know our migration codes is not perfect:

  • We don't cater for Functions activated via input sets. 
  • Functions not used on a model, but only used by other Functions will not be moved

Recommended steps

We recommend you review any functions that are evaluated in the ordering phase and ensure they are configured correctly using: Edit \ Feature Table.. \ Functions.

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:

Order

Name


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:

Order

Name


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

For example, under the previous system the last beta release would have been 4.12.4beta, but under the new system it was 4.13.1beta

Summary of minor changes

  • We have introduced the concept of Locking to the Function Modelled Variables, selected variables can now be locked, making it less likely for mistakes to occur. 

  • Ordering for the Irrigator demand model now includes an option to make the Flow phase and Order phase identical.

  • Data Sources can now find data based on the column name rather than the index. Being able to match by name is important when using Reload on RunMatch data items by Name is now the default option.
    It will validate and fail to run if you are matching based on name and reload a file with duplicate names.

  • The Operations Tabular Editor now allows you to copy-paste into multiple cells and view charts directly in the Results Manager. 

  • We have made changes to significantly improve performance for editing and saving in some large models, for one project this reduced the time to save from 12 minutes to 45 seconds.
  • Constituent Trend and % removal model. Links and Storages decay models have been extended to include a decay to a background concentration rather than to 0 and a % removal that can occur after the decay.

  • Annual Accounting recorder changes. Some annual accounting recorders at RAS system level were giving incorrect values. The recorded values of "Total account spill reduction", "Total usage water year" and "Total Account Adjustments" at RAS system level values will change. See RM-18149 for details.
  • 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. Note that for large networks, it does record a lot of data and is primarily for problem-solving and not intended to always be turned on.
  • Ownership adjustment for storages and weirs - End of day volumes in Storages and Weirs can now be adjusted.
  • Custom charts now include a search bar and more menu items under right-click. Customs charts are also no longer saved by default. All automatically generated charts are created under Temporary and only saved when moved into Saved. Users can also create folders and subfolders for organising custom charts.
  • Urban Developer Recorders have all been converted to the new more stable recording framework. Allowing the inclusion of long descriptions for the recorders in Urban Developer and the Urban Developer Demand Model that is used in Source.

Community Plugin Changes

We have moved to .net 4.8.0 which requires Visual Studio 2019. We are planning on moving to .NET 5. The transition to .NET 5.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 4.11 and Source 5.0. Result changes are mostly around the Pipe Junction node, Weir infiltration, and Constituents in wetlands. Details are available here: 5.0 Result Changes from 4.11



  • No labels