RAMP-project/RAMP

Reproducible results of the stochastic model

JW-Kraft opened this issue · 2 comments

In todays dev meeting we discussed the issue of being able to exactly reproduce RAMP's results. This has multiple motivations:

  1. Reviewers of the JOSS paper submission requested code to reproduce figure 1.
    openjournals/joss-reviews#6418 (comment)
    I'm not sure if only the raw data of the plotted load profile is requested or the complete code sample to run the displayed test in RAMP and model the plotted load profile (starting with the input file).
    If it's case 2, this will not be possible without setting the random seed, since the stochastic model will return different results on different runs.

  2. @FraSanvit mentioned this would be helpful for testing.

  3. Setting and noting random seeds of stochastic models is good practice to allow for reproducibility. We should give RAMP users the ability to do that. This way they can submit a complete code sample which exactly reproduces the results presented in their papers.

I will look into how to implement this in the next days. My first idea was to just add a optional seed argument to the UseCase class.
What do you think?

My first idea was to just add a optional seed argument to the UseCase class.
What do you think?

I think it would make sense. Now a User instance not connected to a UseCase instance gets a default one as soon as generate_single_load_profile() method is called without providing a peak_time_range argument.

We should maybe look what happens if an Appliance instance is created without being linked to a User. I think the user and usecase should be created, if not provided, only when a method to generate load profiles is used

Closed in #128