Calliope 0.7x enhancements on technologies operation and reserve margins #853
Replies: 1 comment 2 replies
-
|
Hi @mkarmellos - we do have examples of implementing up/downtime mathematics: https://calliope.readthedocs.io/en/v0.7.0.dev7/user_defined_math/examples/uptime_downtime_limits/ We haven't considered re-implementing reserve margins yet. That's because the concept of a "reserve" becomes much more complex when you have systems with limited/no dispatchable generation. How do you set a margin for renewables linked to storage? You could enforce a +X% capacity for storage but the availability of that depends on how that storage is operated in other timesteps. Saying that, setting storage discharge depth can be one way to effectively set a reserve margin via storage devices. It would be very easy to add a reserve margin as a +X% capacity requirement: parameters:
reserve_margin:
description: Fractional margin above nominal technology capacity requirements that must be invested in, to provide reserve capacity
unit: unitless
default: 0
reserve_margin_nodal:
description: Fractional margin above combined nominal technology capacity requirements that must be invested in, to provide reserve capacity for a given carrier at each node
unit: unitless
default: 0
constraints:
set_reserve_margin:
foreach: [nodes, techs, carriers, timesteps]
where: reserve_margin
equations: [{expression: "flow_out * (1 + reserve_margin) <= flow_cap * timestep_resolution * flow_out_parasitic_eff"}]
set_reserve_margin_nodal:
foreach: [nodes, carriers, timesteps]
where: reserve_margin_nodal
equations: [{expression: "sum(flow_in, over=techs) * (1 + reserve_margin_nodal) <= sum(flow_cap * timestep_resolution * flow_out_parasitic_eff, over=techs)"}]This could be easily set to absolute reserve requirements easily, too. Or indeed to the FlexTool implementation. If you are interested in examples of reserve margin constraints then I would recommend contributing examples to our list of user-defined math. Hopefully you can see that it's quite straightforward to add your own math without needing to rely on it being available in the core Calliope math. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I noticed there are some related open issues on these topics but I would like to discuss about their implementation in Calliope 0.7x. Specifically, I'd suggest that Calliope should have minimum uptime and downtime parameters and associated startup costs to reflect the operation of an electricity system more accurately. Also, I wanted to ask if there are updates on the implementation of reserve margins in Calliope 0.7x since there is an open issue but it is not clear what the plans are. Moreover, I'd suggest to follow an approach similar to FlexTool on that aspect, which is relatively simple.
Beta Was this translation helpful? Give feedback.
All reactions