Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RTS test system to SpineOpt #732

Open
jkiviluo opened this issue Aug 16, 2023 · 1 comment
Open

RTS test system to SpineOpt #732

jkiviluo opened this issue Aug 16, 2023 · 1 comment
Labels
Type: epic A larger goal that encompasses multiple issues

Comments

@jkiviluo
Copy link
Member

jkiviluo commented Aug 16, 2023

In order to test SpineOpt against the RTS test system and also to increase SpineOpt's visibility, we should make it possible to run RTS test system in SpineOpt and include SpineOpt in https://github.com/gridmod/rts-gmlc

@jkiviluo jkiviluo changed the title RT RTS test system to SpineOpt Aug 16, 2023
@LouisFliche
Copy link
Contributor

LouisFliche commented Aug 17, 2023

  • An initial partial translation of the RTS GMLC database has been carried out here. A good part of the database has been translated, but there are problems in the translated database (some due to version problems, others due to errors). SpineOpt does not run on this database. It is difficult to try and complete or repair this database, as it has been translated by hand, so the calculations made and the order and manner in which the database was translated are not easily retrieved.

  • I tried to translate this RTS database, this time using a script, so that the process would be automated and reproducible. To do this, I've tried to develop a basic database modification tool in Spine-Toolbox. In a way, it's a rough outline of the data transformer we'd like to develop (see this issue). The operation of this workflow is more precisely described in the other issue.

  • I was able to translate part of the database thanks to this. Everything that consisted of systematic operations on parameters (rename, multiply by a constant factor), and between parameters: creation of a parameter equal to the sum of two others, multiplication, division, maximum between two parameters etc. could be carried out.
    The Spine-Toolbox project RTS_To_SpineOpt_Basis presents this part of the workflow.

  • However, translating RTS into a SpineOpt format database also required operations on the different values of the same parameter: finding maximum of the values taken by this parameter, selection of parameters corresponding only to certain objects (i.e. selection of a parameter as a function of the value of another parameter), and so on. For example, we want to be able to select only one type of units, to then create some parameters or make specific operations. To do this, I added a "Filters and operations on columns" section to the previous workflow, upstream of the operations between/on the parameters described above.
    The Spine-Toolbox project RTS_To_SpineOpt_with_filters presents this part of the workflow.

  • However, this is only a very limited example. In fact, we would like to be able to perform all the basic operations on databases: joins, selections, etc. (see the issue mentioned above). The question then arose of how to proceed and how to take account of current changes in database management. It seemed better to wait until we had a dedicated tool before finalising the translation of RTS into a SpineOpt data format.

@clizbe clizbe added the Type: epic A larger goal that encompasses multiple issues label Jan 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: epic A larger goal that encompasses multiple issues
Projects
None yet
Development

No branches or pull requests

3 participants