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

Each Day is an Island - We should let the model see that the days are concatenated and so are midnight windows #20

Open
Stevogallo opened this issue Jun 28, 2021 · 2 comments
Labels
bug Something isn't working enhancement New feature or request

Comments

@Stevogallo
Copy link
Collaborator

At this moment, if a window finishes at midnight, and another one starts at midnight, they are seen as two different windows.
For example: [1200,1400],[0,30] would represent an appliance that can be used from 20:00 to 00:30. But the code see them as separate windows, and switches off every appliance before midnight, and turns them on again after midnight.
Any idea on how to solve this?

Attached an example of the phenomon.
Figure_1

@Stevogallo Stevogallo added bug Something isn't working enhancement New feature or request labels Jun 28, 2021
@PasquinoFI
Copy link
Contributor

We noticed it too.

I think this bug is realy difficult to solve. The stocastic process is structured to generate one day at time for every app and then go to the next day. So, I've no idea on how to solve this discontinuity at 24.00. To create a dictionary that record the daily loads of every app could help?

I'm following, I'm curious to see what others will say.

@FLomb
Copy link
Contributor

FLomb commented Jun 29, 2021

I think this falls into a broader question of whether we should move towards a "time series" approach for our demand simulation, which would also facilitate the coupling with, e.g., temperature timeseries.

It is not an easy fix, for sure, but a major one that would lead to a version 0.4.0. I think it would be possible to have a sort of double-scale approach in which we have:

  • A longer time series (e.g. the whole year, or the concatenated set of days the user needs to simulate) in which we store the results of the stochastic approach iteratively after each day-long simulation
  • A day-long array, just as we have now, which gets along well with the stochastic process logic.

With this kind of set up, I imagine that we could easily do something like:

if duration-of-event-x > last-timestep-of-the-day:
    trim-that-and-paste-it-to-the-next-day

In addition to this, though, we would also need to keep trace of how many minutes that given appliance has been used by the given user already in the upcoming day, because that impacts the "total time of use" which is the termination condition of the stochastic process.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants