Hi all,
as we discussed in today's meeting, I would like to explicitly model the curtailment of RES in an islanded system. With fixed capacities, I was able to achieve that by fixing the units_on variable by setting fix_units_on to the values I previously had in the unit_availability_factor. When I invest in units, I cannot do that anymore, because that would fix the investments.
We discussed today that it might be possible to add a variable for the curtailed energy, which is calculated during post-processing. (For now, I might actually just add a very small incentive to bring my model to use the curtailment unit.)
In addition, the curtailment costs are calculated as the difference between units_on and (unit_capacity * units_available) for each hour. But since the model can just choose for the
1) PPA/investment RES:units_available <= unit_availability_factor * (num_units + units_invested_available) and unit_capacity = 1, it reduces units_available and no costs are induced.
2) Fixed capacity on-site RES: Here the problem is that with unit_online_variable_type_linear, I would define a unit_capacity, so units_available <= unit_availability_factor * (num_units + units_invested_available) reduces to units_available <= unit_availability_factor. So the RHS needs to be multiplied by the unit_capacity.
The renewable_curtailment_costs calculation does not account for investments - I think the calculation can easily be updated to fix this. For this I have created issue https://github.com/spine-tools/SpineOpt.jl/issues/525
The actual curtailed energy is not reported. I believe the solution to this is a calculated output parameter that mirrors the calculation of renewable_curtailment_costs. I have created issue https://github.com/spine-tools/SpineOpt.jl/issues/526 for this.
Hi all, as we discussed in today's meeting, I would like to explicitly model the curtailment of RES in an islanded system. With fixed capacities, I was able to achieve that by fixing the
units_on
variable by settingfix_units_on
to the values I previously had in theunit_availability_factor
. When I invest in units, I cannot do that anymore, because that would fix the investments.We discussed today that it might be possible to add a variable for the curtailed energy, which is calculated during post-processing. (For now, I might actually just add a very small incentive to bring my model to use the curtailment unit.)
In addition, the curtailment costs are calculated as the difference between
units_on
and (unit_capacity * units_available
) for each hour. But since the model can just choose for the 1) PPA/investment RES:units_available <= unit_availability_factor * (num_units + units_invested_available)
andunit_capacity
= 1, it reducesunits_available
and no costs are induced.2) Fixed capacity on-site RES: Here the problem is that with
unit_online_variable_type_linear
, I would define aunit_capacity
, sounits_available <= unit_availability_factor * (num_units + units_invested_available)
reduces tounits_available <= unit_availability_factor
. So the RHS needs to be multiplied by theunit_capacity
.Maybe it would make sense to reverse this commit https://github.com/spine-tools/SpineOpt.jl/commit/22bff298fda7230a554a4985515e29e14e336874 ? It might be more transparent and prevent "hidden" curtailment.
Thanks for the discussion today!