4.12.0 - Beta Release (December 2019)

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 the addition of the Water User and Constraint Phase, and a user interface improvement in 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.

Plugin Developers

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.

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.11.0:

(warning) 05 Project results updated

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