Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Highlights eWater is pleased to announce the latest production release of Source Version version 4.9 include:

  • fixing the problem of different machines giving different results (for two models)
  • 'removal' script for plugins
  • improvements to the Geographic Map tool,
  • Lascam plugin
  • calibration performance improvements
  • filter on data sources
  • timeseries flux for on-farm storages
  • calculation of total distribution losses
  • run period of the model should not be limited by observed data
  • recorder sets
  • ownership recorders in weirs and off allocation
  • saved run information in the Results Manager
  • changes to stop Modelled Variables breaking when the Function they point at is moved
  • improving the handling of distribution system loss with travel time
  • improvements to Weirs, including mass balance for constituents with lumped routing
  • charting improvements

Geoff

This is most but not all of the things listed in the beta release notes, I don't really know what's important! All of the stuff that had content is copied below.

The table of contents seems to automatically generate, not sure how I get all the above into it.

which is full of new and updated features developed over the past 6 months since v4.7.  
 
Highlights of Source Version 4.9 include:

Table of Contents
maxLevel3

The problem of different results on different machines has been fixed!

Technical Details:

Source uses the Microsoft .NET framework, the problem was caused by 2 functions in the System.Math library. Both System.Math.Pow() and System.Math.Exp() can give different results for some number combinations on different machines. For individual function calls, different results occurred at 0.09% of the time with our randomly generated test data. We believe the issue is from different CPU’s implementing different optimisations to perform the operations as efficiently as possible. The functions are not implemented directly within the Microsoft .NET framework, instead, they are implemented in the Microsoft C run-time libraries which are used by the .NET framework, as well as by a number of other languages including C++. So the nature of the .NET framework, which is an interpreted language, wasn’t part of the issue and the same results would have been obtained if implemented in C++. We have since tested all available System.Math functions and these are the only two we have found that can produce different results on different machines. The vast majority of models don’t see the issue since the differences are very minor and for an individual operation, the difference is only at the last decimal place. However, for very large models with lots of feedback in the model, when the issue occurs it can snowball into meaningful result differences.

...

This was a really difficult problem to isolate and fix. We are VERY happy that we worked it out!!

Plugin removal

Plugins that need persistence can now include a removal script so plugins can remove themselves from a project when they are not needed or have been added accidentally. 

The tool is available in: Tools \ Remove Plugin from Project File.

...

There is an example provided in the Example Node model plugin.

Map tool improvements

The tool is available under Tools > Analysis Windows > Map... It now works better for constituents and comparing multiple runs.


Lascam Plugin

The Lascam plugin now includes better value ranges to help determine appropriate ranges to use when calibrating.

Calibration performance improvements

Geoff - is there anything to put here?The calibration tool is now faster for all models, in particular, models with a large number of parameters will see the greatest benefit. 

Data Sources Filter

There is now a filter for when looking for a data source or its usage:

Lascam Plugin improvements

The Lascam plugin now includes better value ranges to help determine appropriate ranges to use when calibrating.

TimeSeries Flux for On-Farm Storages

On-Farm storages at a water user node now have a"Timeseries Flux". Water added to the On-Farm Storage by the Timeseries Flux functionality only occurs during the Flow Phase. This is in addition to any other Water User Ordering and extractions.  The water delivered by the timeseries flux is not actually extracted from the Supply Point”.

...


  • Projects that modify Annual Accounting carryover rules need to be updated when we introduced the ability to modify carryover rules over time. See: Annual accounting - Carryover

Calculation of Total Distribution Losses

We have modified how distribution losses are calculated. 

Model changes to carryover over time

Carryover configuration in Resource Assessment can now change over time to assist with calibration. 

Image Added


Charting tool changes

CHart settings have been redone to improve their stability 

Minor changes

  • Run period of the model should not be limited by observed data 

    The run period was constrained when some observed data had been included.  We have removed this restriction to allow the model run period to be longer than observed data in the model.

...

Model changes to carryover over time.

...

  • 'removal' script for plugins

  • Changes to "Safe Release" functionality for storages with multiple outlets. See: Storage node - OperatingConstraints 
  • The run period is no longer limited by observed data
  • improvements to recorder sets
  • ownership recorders in weirs and off allocation
  • saved run information in the Results Manager
  • changes to stop Modelled Variables breaking when the Function they point at is moved
  • improving the handling of distribution system loss with travel time
  • improvements to Weirs, including mass balance for constituents with lumped routing
  • charting improvements

Community Plugins

Arrange Nodes plugin

You can now use the arrange Nodes community plugin to rearrange all the schematic nodes of a network. This could be handy if you have built a model starting with a Geographic Scenario.

CommunityPlugins \ SourcePlugin.ArrangeNodes.dll

NetLPMonthly Optimiser

A number of changes to the NetLP Monthly Optimiser have been implemented:

  • An option to allow an export of the model input settings to excel has been added
  • Allow adjustment of forecast inflows for 2nd and third replicates only .
  • New recorder "Requirement" for look ahead period in Arc Flows

Plugin Developers 

We are currently on .net 4.6.2, which hasn't changed from Source 4.7. We are planning on moving to C# 7, Visual Studio 2019 and .NET 4.8.0 soon, so you will need to make sure you have updated Visual Studio to continue developing plugins in the beta versions. We also intend to move to .NET 5 in 2020, with .NET 5 which will  will enable the Source command line and service interface to run on Linux.

...