You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Constraints for the variable var_rem and var_rem_b:
Although we have reduced the number of variables through the reimplementation, the removal variables and constraints are still present. In most cases, we do not allow then for early retirement of capacities.
In reality, we would prefer to have an option to show whether early retirement is allowed, or not. In the case it is not allowed, removal variables should not be declared.
Filtering for investment options:
In the variables creation, we currently filter for investments of all nodes that are not Storage nodes through the functionality 𝒩ᴵⁿᵛ = filter(has_investment, filter(!EMB.is_storage, 𝒩))
This is a bit unsatisfactory as it results in problems if we create new abstract types with multiple investment options.
In this situation, it would be wisest to filter based on SingleInvData as introduced in PR 24 to identify nodes with only a single capacity.
Alternatively, it would be possible to introduce a filtering function in EnergyModelsBase as it also affects variable creation there.
Storage capacity identification:
We currently still use the functionality isa(stor_par, EMB.UnionCapacity) within EnergyModelsInvestments.
It would be better to include a function has_capacity (and equivalently has_opex_var and has_opex_fixed on AbstractStorageParameters to identify whether we have the corresponding field in a Storage node.
These functions should be introduced in EnergyModelsBase.
Better description for SemiContinuousOffsetInvestment:
The docstring for SemiContinuousOffsetInvestment does not nicely represent the concept, while the documentation include them.
Documenter and REPL output treat LaTeX equations differently. Hence, it is difficult to find a version that looks both good in the help function of the REPL and the documentation.
One approach would be to introduce an example in which we apply it.
The following topics are still open after the pull requests 21 (Adjustment of storage investments) and 24(modification of investment mode) were merged into main.
Pull request 21:
var_remandvar_rem_b:Storagenodes through the functionality𝒩ᴵⁿᵛ = filter(has_investment, filter(!EMB.is_storage, 𝒩))abstract types with multiple investment options.SingleInvDataas introduced in PR 24 to identify nodes with only a single capacity.EnergyModelsBaseas it also affects variable creation there.isa(stor_par, EMB.UnionCapacity)withinEnergyModelsInvestments.has_capacity(and equivalentlyhas_opex_varandhas_opex_fixedonAbstractStorageParametersto identify whether we have the corresponding field in aStoragenode.EnergyModelsBase.Pull request 24:
SemiContinuousOffsetInvestment:SemiContinuousOffsetInvestmentdoes not nicely represent the concept, while the documentation include them.