-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Currently, all addto! functions which formulate the equations per device, call
T = axis(m, :snapshots)effectively requesting the snapshots coordinate from the NetCDF dataset as an AxisArrays.Axis.
In this scheme, we can only support a single time-dimension and rolling horizon is effectively not possible without intercepting this axis call in the Data layer.
Wishlist
- Special handling of time dimensions as functions on a separate -- probably mutable -- object, which is either passed as an argument to
addto!calls, or kept and updated on theEnergyModelobject (i'm favoring the latter). - We want to be able to model several investment periods, snapshots, different durations for snapshots (was called weights in PyPSA), maybe several groups of continuous snapshots with different weights per group.
Plan (WIP)
Snapshots
Typically hourly.
Works as in PyPSA. Would be good for time clustering methods if the duration of a single snapshots is variable. There was an argument that there should be weights separately from durations (?) in the context of storageunits. Can you still remember, @fneum ?
Investment periods
For instance each year every five years.
Represented by a separate time coordinate :periods on which capacity values and capital costs can depend.
If that coordinate :periods is managed orthogonally, it's easy to represent changing costs, at the same time with weather for just a single year, ie per snapshot. On the other hand it's not possible to change the snapshot representation for later investment periods (for instance, PLEXOS allows to reduce the amount of representative days for later periods, on the other hand representative days is a difficult concept with seasonal storage units).
@lisazeyen @FabianHofmann Can you elaborate how investment periods are represented in the PSA.jl pathway_optimization branch? What worked, what was the difficulty?
Groups of continuous snapshots (maybe later?)
Modeling seasonal storage by Leander suggests it's possible to use a typical day approach even with seasonal storage to represent an energy system with a small error margin if the selected days are adequately linked. I do not understand how everything fits together but it effectively boils down to being able to group the operational time-coordinate :snapshots into multiple continuous groups and link them together.
Can someone read that paper or similar descriptions and try to distill how to model this? @fneum , you were playing with Leander's tsam library before! Care to comment?