-
Notifications
You must be signed in to change notification settings - Fork 134
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
Adding time series aggregation with the tsam repository #973
Comments
I'm very interested in this, as we need this in our project. My first idea would have been to only implement new storage behavior depending on TSAM config and neglect automatic timeseries aggregation within solph and leave this part to the user, as there are tricky parts:
Instead, user has to do aggregation for each period and adaption of variables up front, but inter-period (period in the sense of TSAM-periods, not multi-periods) storage levels are handled by solph. In order to implement new storage behavior, followinging code lines would have to be adapted (IMO):
|
After having a discussion with developer of FINE, I learned that adapting summed energies, full_load_hours etc. is not as simple as dividing it by reduction factor, but instead they have to be weighted according to TSAM clustering of typical periods (aka multiply full_load_hours of a given period by "occurrences" of that typical period in original timeseries - sum of all weighted full_load_hours should meet original full_load_hours given by user). Therefore, oemof rules for setting up summed energies or full_load_hours, etc. have to be adapted.
For now, I would neglect |
The group around SESMG seems to have implement some time series aggregation methods in context of oemof-solph models, maybe worth a look: https://spreadsheet-energy-system-model-generator.readthedocs.io/en/latest/01.03.00_model_simplification.html |
Thanks for the hint! As far as I can see, the timeseries reduction mentioned there seems to be a simple reduction or aggregation of timesteps with no attention to resulting effects on storage behaviour etc.
Ideally, quality of results and "real" storage behaviour and investment are preserved by the second step. |
Just to draw your attention to it, there is also some interest from the user community side, see: https://forum.openmod.org/t/oemof-in-combination-with-time-series-aggregation-module-tsam/4157/6 |
I am adding a pipeline to the tsam repository for time series aggregation. Tsam includes several aggregation algorithms. The quality of different algorithms are explained in the paper linked.
Tsam will be integrated into a function into _helpers, called aggregate_time_series(). (The rigth place to integrate tsam is a point to discuss)
The idea is:
In the first draft all time steps of a series have to have the same resolution. This is based on the workflow of tsam. So it's not possible to have non euidistant time steps like in: non_equidistant_time_step_example.py
Two main advantages of the aggregation:
tsam:
The text was updated successfully, but these errors were encountered: