bluemodel / BlueM.Opt

BlueM.Opt is an optimization framework that can be coupled with an arbitrary simulation software.
https://wiki.bluemodel.org/index.php/BlueM.Opt
GNU General Public License v3.0
2 stars 1 forks source link

709: Add TALSIM as a simulation engine to BlueM.Opt #29

Closed bluemodel-bot closed 2 years ago

bluemodel-bot commented 2 years ago
Original bug ID 709
Reported by froehlich on 2017-11-22
Affects version 1.5
Component Anw_Sim
Severity normal
Priority P1
Milestone 1.6
Assigned to froehlich
Status RESOLVED FIXED

Comments:

froehlich on 2017-11-22:

SYDRO is interested in using BlueM.Opt to optimize TALSIM datasets. Adding TALSIM to the supported simulation engines should be easy, as it is very similar to BlueM.Sim. I will start working on this.

froehlich on 2017-11-22:

added support for TALSIM in r1734-1735. talsimw.exe has to be provided by the user. Single-threading only supported for now. Multithreading requires an alternative method to starting the simulation (currently, the talsim.run file is edited to point to the dataset before each simulation).

froehlich on 2017-11-23:

Multithreading support added in r1737. The talsimw32.exe still has to be provided by the user.

froehlich on 2019-09-05:

talsimw64.exe is included in the distribution since r1758 and has also been updated since then.

The user setting for specifying a custom path to the talsim.exe added in r1764 is not really useful, because its almost impossible to find the location of the user.config file where the value needs to be changed.

Switching to an application setting doesnt work either, because the setting needs to be accessible within the BlueM.Opt.Apps assembly, and application settings do not apply for Class Library projects.

One solution could be to make it an application setting of the BlueM.Opt main assembly and then make it accessible to the TALSIM instance somehow, but that seems messy.

Alternatively, we could establish a custom settings file with our own reading (and writing) routines, but that seems like a lot of overhead for such a simple thing.