TulipaEnergyModel.jl
TulipaEnergyModel.jl copied to clipboard
Create new variables and constraints to have a max/min energy incoming/outgoing flow for assets, using the base periods
Description
This epic issue is part of the different levels of detail in the operation module for M3.
The base periods allow for inter-representative period constraints since they recover chronological information, e.g., having maximum/minimum total energy flow for other types of assets (e.g., producers).
Example: A gas contract with a max/min monthly limit: if we have base periods 1...365, i.e., for each day of the year, then with a partition that represents a monthly time block (i.e., 1x31+1x28+1x31+1x30...), then we can set maximum/minimum limits for the monthly gas flow.
For this issue you can use as a reference the existing storage_level_inter_rp
variable, constraints, and dataframes, since their temporal structure should be similar.
Sub issues
- [ ] Create the necessary input data, for example, create data in the Norse case for producers following the storage data as a reference.
- [ ] Create the dataframe from the partition definitions for the variables and constraints. If there is no defined profile, there should be no constraints. We should apply this type of constraint if we have the data; otherwise, they are superfluous.
- [ ] Create the energy variables e.g,.
asset_outgoing_energy_flow_inter_rp
(or a better name, and also maybe for the incoming energy flow, depending on the asset) - [ ] Create the constraints for the maximum and minimum energy limit
- [ ] Update the outputs of the model (and maybe also in TulipaPlots)
- [ ] Include either an example, tutorial or how-to in the documentation
- [ ] Update the mathematical formulation in the documentation
Add anything else that you can think of during the development of the epic...happy coding! 😄
For my own clarification, this is for operational considerations in the investment decision. For instance, setting a min production of green hydrogen for the total year.