The changes in this beta will be available in the 4.13 production release, due out at the end of June 2020.
Changes in this release include:
- Results streaming to files,
- Changes to DataSources to default to identify data columns with the name rather than the index with reload on run,
- Performance improvements for the command line and Service interface,
- Changes to some Annual Accounting recorders, and
- Improvements to Urban Developer recorders.
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:
Please have a go and let us know if you have any issues.
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 Run. Match 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.
Performance improvements for the command line and Service interface
We have done some work to improve the performance of the command line, 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:
- 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.
- 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).
- 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.
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.
Urban Developer Recorder improvements
Urban Developer recorders have all been converted to the new more stable recording framework.
This change has enabled us to include long descriptions for the recorders in Urban Developer and the Urban Developer Demand Model that is used in Source.
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.12.2beta: 03 Project results updated 01 Project had function timings modified to give consistant results
Details here: 4.12.3 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