Notation: Sets, parameters, variables, and constraints¶
Energy System¶
Objective Name |
Symbol |
Doc String |
Unit Category |
|---|---|---|---|
|
\(NPC_y\) |
objective function to minimize total net present energy system cost |
{“money”: 1} |
|
\(E_y\) |
objective function to minimize cumulative energy system emissions |
{“emissions”: 1} |
Set Name |
Index |
Symbol |
Doc String |
|---|---|---|---|
|
– |
\(\mathcal{N}\) |
Set of nodes |
|
– |
\(\mathcal{E}\) |
Set of edges |
|
– |
\(\mathcal{P}\) |
Set of positions |
|
|
\(\mathcal{N}^\mathcal{E}_{e}\) |
Set of nodes that constitute an edge |
|
– |
\(\mathcal{A}\) |
Set of elements |
|
– |
\(\mathcal{C}\) |
Set of carriers |
|
– |
\(\mathcal{H}\) |
Set of technologies |
|
– |
\(\mathcal{T}^\mathrm{base}\) |
Set of base timesteps |
|
– |
\(\mathcal{Y}\) |
Set of yearly timesteps within the current foresight horizon. For simulations with myopic foresight, this set is a subset math:mathcal{Y}^mathrm{horizon} |
|
– |
\(\mathcal{Y}^\mathrm{horizon}\) |
All yearly timesteps, regardless of whether they are inside or outside the current foresight horizon. |
|
– |
\(\mathcal{T}\) |
Set of operational time steps |
|
– |
\(\mathcal{T}^\mathrm{storage}\) |
Set of storage level timesteps |
Parameter Name |
Time Step Type |
Symbol |
Doc String |
Unit Category |
|---|---|---|---|---|
|
temporal immutable |
\(r\) |
Parameter which specifies the discount rate of the energy system |
|
|
|
\(e_y\) |
Parameter which specifies the total limit on carbon emissions |
{“emissions”: 1} |
|
temporal immutable |
\(e^\mathrm{b}\) |
Parameter which specifies the total budget of carbon emissions until the end of the entire time horizon |
{“emissions”: 1} |
|
temporal immutable |
\(e_0^\mathrm{o}\) |
Parameter which specifies the total previous carbon emissions |
{“emissions”: 1} |
|
|
\(\mu\) |
Parameter which specifies the yearly carbon price |
{“money”: 1, “emissions”: -1} |
|
temporal immutable |
\(\mu^\mathrm{bo}\) |
Parameter which specifies the carbon price for budget overshoot |
{“money”: 1, “emissions”: -1} |
|
temporal immutable |
\(\mu^\mathrm{o}\) |
Parameter which specifies the carbon price for annual overshoot |
{“money”: 1, “emissions”: -1} |
|
temporal immutable |
\(\xi\) |
Parameter which specifies the unbounded market share |
{} |
|
temporal immutable |
\(\omega\) |
Parameter which specifies the knowledge spillover rate |
{} |
|
|
\(\tau^k_{t^k}\) |
Parameter which specifies the time step duration in operation for all technologies |
{“time”: 1} |
|
|
\(\tau_t\) |
Parameter which specifies the duration of each storage time step |
{“time”: 1} |
|
temporal immutable |
\(dy\) |
Parameter which specifies the interval between planning periods |
{“time”: 1} |
Variable Name |
Time Step Type |
Symbol |
Doc String |
Unit Category |
|---|---|---|---|---|
|
|
\(E_y\) |
annual carbon emissions of energy system |
{“emissions”: 1} |
|
|
\(E_y^\mathrm{cum}\) |
cumulative carbon emissions of energy system over time for each year |
{“emissions”: 1} |
|
|
\(E_y^\mathrm{bo}\) |
overshoot carbon emissions of energy system at the end of the time horizon |
{“emissions”: 1} |
|
|
\(E_y^\mathrm{o}\) |
overshoot of the annual carbon emissions limit of energy system |
{“emissions”: 1} |
|
|
\(OPEX_y^{e}\) |
total cost of carbon emissions of energy system |
{“money”: 1} |
|
|
\(C_y\) |
total cost of energy system |
{“money”: 1} |
|
|
\(NPC_y\) |
net_present_cost of energy system |
{“money”: 1} |
Constraint Name |
Time Step Type |
Doc String |
|---|---|---|
|
|
total annual carbon emissions of energy system |
|
|
cumulative carbon emissions of energy system over time |
|
|
limit of total annual carbon emissions of energy system |
|
|
Budget of total carbon emissions of energy system |
|
|
Disable carbon emissions budget overshoot if carbon emissions budget overshoot price is inf |
|
|
Disable annual carbon emissions overshoot if annual carbon emissions overshoot price is inf |
|
|
total carbon emissions cost of energy system |
|
|
total cost of energy system |
|
|
net_present_cost of energy system |
Carrier¶
Parameter Name |
Time Step Type |
Symbol |
Doc String |
Unit Category |
|---|---|---|---|---|
|
|
\(d_{c,n,t,y}\) |
Parameter which specifies the carrier demand |
{“energy_quantity”: 1, “time”: -1} |
|
|
\(\underline{a}_{c,n,t,y}\) |
Parameter which specifies the maximum energy that can be imported from outside the system boundaries |
{“energy_quantity”: 1, “time”: -1} |
|
|
\(\overline{a}_{c,n,t,y}\) |
Parameter which specifies the maximum energy that can be exported to outside the system boundaries |
{“energy_quantity”: 1, “time”: -1} |
|
|
\(\underline{a}^{Y}_{c,n,y}\) |
Parameter which specifies the maximum energy that can be imported from outside the system boundaries for the entire year |
{“energy_quantity”: 1} |
|
|
\(\overline{a}^{Y}_{c,n,y}\) |
Parameter which specifies the maximum energy that can be exported to outside the system boundaries for the entire year`` |
{“energy_quantity”: 1} |
|
|
\(\underline{u}_{c,n,t,y}\) |
Parameter which specifies the import carrier price |
{“money”: 1, “energy_quantity”: -1} |
|
|
\(\overline{u}_{c,n,t,y}\) |
Parameter which specifies the export carrier price |
{“money”: 1, “energy_quantity”: -1} |
|
|
\(\nu_c\) |
Parameter which specifies the price to shed demand |
{“money”: 1, “energy_quantity”: -1} |
|
|
\(\underline{\epsilon_c}\) |
Parameter which specifies the carrier carbon intensity for carrier import flows |
{“emissions”: 1, “energy_quantity”: -1} |
|
|
\(\overline{\epsilon_c}\) |
Parameter which specifies the carrier carbon intensity for carrier export flows |
{“emissions”: 1, “energy_quantity”: -1} |
Variable Name |
Time Step Type |
Symbol |
Doc String |
Unit Category |
|---|---|---|---|---|
|
|
\(\underline{U}_{c,n,t,y}\) |
node- and time-dependent carrier import from the grid |
{“energy_quantity”: 1, “time”: -1} |
|
|
\(\overline{U}_{c,n,t,y}\) |
node- and time-dependent carrier export from the grid |
{“energy_quantity”: 1, “time”: -1} |
|
|
\(O^c_{c,n,t,y}\) |
node- and time-dependent carrier cost due to import and export |
{“money”: 1, “time”: -1} |
|
|
\(OPEX_y^\mathrm{c}\) |
total carrier cost due to import and export |
{“money”: 1} |
|
|
\(\theta^\mathrm{carrier}_{c,n,t,y}\) |
carbon emissions of importing and exporting carriers |
{“emissions”: 1, “time”: -1} |
|
|
\(E^\mathrm{carrier}_y\) |
total carbon emissions of importing and exporting carriers |
{“emissions”: 1} |
|
|
\(D_{c,n,t,y}\) |
shed carrier demand |
{“energy_quantity”: 1, “time”: -1} |
|
|
\(O_{c,n,t}^{\mathrm{shed}\ \mathrm{demand}}\) |
cost shed carrier demand |
{“money”: 1, “time”: -1} |
Constraint Name |
Time Step Type |
Doc String |
|---|---|---|
|
|
node- and time-dependent limits to importing and exporting carriers from outside the system boundaries |
|
|
node- and time-dependent constraints annual limits limits to importing and exporting carriers carriers from outside the system boundaries |
|
|
cost of importing and exporting carrier |
|
|
costs and limit of shedding carrier demand |
|
|
total cost of importing and exporting carriers |
|
|
carbon emissions of importing and exporting carrier |
|
|
total carbon emissions of importing and exporting carriers |
|
|
node- and time-dependent energy balance for each carrier |
Technology¶
Set Name |
Index |
Symbol |
Doc String |
|---|---|---|---|
|
– |
\(\mathcal{I}\) |
Set of conversion technologies |
|
– |
\(\mathcal{I}^\mathrm{r}\) |
Set of retrofitting technologies |
|
– |
\(\mathcal{J}\) |
Set of transport technologies |
|
– |
\(\mathcal{K}\) |
Set of storage technologies |
|
– |
\(\mathcal{H}^\mathrm{ex}\) |
Set of existing technology capacities |
|
|
\(\mathcal{C}\mathrm{r}_h\) |
Set of reference carriers correspondent to a technology |
Parameter Name |
Symbol |
Time Step Type |
Doc String |
Unit Category |
|---|---|---|---|---|
|
\(\Delta s^\mathrm{ex}_{h,s,p,y}\) |
temporal immutable |
Parameter which specifies the existing technology size |
{“energy_quantity”: 1, “time”: -1} |
|
\(\Delta s^\mathrm{ex,invest}_{h,s,p,y}\) |
|
Parameter which specifies the size of the previously invested capacities |
{“energy_quantity”: 1, “time”: -1} |
|
\(\Delta s^\mathrm{min}_{h,s,p,y}\) |
temporal immutable |
Parameter which specifies the minimum capacity addition that can be installed |
{“energy_quantity”: 1, “time”: -1} |
|
\(\Delta s^\mathrm{max}_{h,s,p,y}\) |
temporal immutable |
Parameter which specifies the maximum capacity addition that can be installed |
{“energy_quantity”: 1, “time”: -1} |
|
\(\zeta_h\) |
temporal immutable |
Parameter which specifies the unbounded capacity addition that can be added each year (only for delayed technology deployment) |
{“energy_quantity”: 1, “time”: -1} |
|
\(l^\mathrm{ex}_h\) |
temporal immutable |
Parameter which specifies the remaining lifetime of an existing technology |
{} |
|
\(dp_h\) |
temporal immutable |
Parameter which specifies the depreciation time of invested technologies (optional, default value is the lifetime) |
{} |
|
temporal immutable |
Parameter which specifies the total capex of an existing technology which still has to be paid |
{“money”: 1, “energy_quantity”: -1} |
|
|
\(\beta_{h,y}\) |
|
Parameter which specifies the variable specific opex |
{“money”: 1, “energy_quantity”: -1} |
|
\(\gamma_{h,y}\) |
|
Parameter which specifies the fixed annual specific opex |
{“money”: 1, “energy_quantity”: -1, “time”: 1} |
|
\(l^\mathrm{ex}_h\) |
temporal immutable |
Parameter which specifies the lifetime of a newly built technology |
{} |
|
\(dy^\mathrm{construction}\) |
temporal immutable |
Parameter which specifies the construction time of a newly built technology |
{} |
|
\(\vartheta_h\) |
|
Parameter which specifies the maximum diffusion rate which is the maximum increase in capacity between investment steps |
{} |
|
\(s^\mathrm{max}_{h,p,y}\) |
temporal immutable |
Parameter which specifies the capacity limit of technologies |
{“energy_quantity”: 1, “time”: -1} |
|
\(m^\mathrm{min}_{h,n,t,y}\) |
|
Parameter which specifies the minimum load of technology relative to installed capacity |
{} |
|
\(m^\mathrm{max}_{h,n,t,y}\) |
|
Parameter which specifies the maximum load of technology relative to installed capacity |
{} |
|
\(\theta^\mathrm{tech}_{h,n,t,y}\) |
temporal immutable |
Parameter which specifies the carbon intensity of each technology |
{“emissions”: 1, “energy_quantity”: -1} |
Variable Name |
Time Step Type |
Symbol |
Doc String |
Unit Category |
|
|
\(S_{h,p,y}\) |
size of installed technology h at location p and period y |
{“energy_quantity”: 1, “time”: -1} |
|
|
\(\Delta S^\mathrm{ex}_{h,p,y}\) |
size of installed technology h at location p and before period y |
{“energy_quantity”: 1, “time”: -1} |
|
|
\(\Delta S_{h,p,y}\) |
size of built technology h (invested capacity after construction) at location p and period y |
{“energy_quantity”: 1, “time”: -1} |
|
|
\(\Delta S_{h,p,y}^\mathrm{invest}\) |
size of invested technology h at location p and period y |
{“energy_quantity”: 1, “time”: -1} |
|
|
\(I_{h,p,y}\) |
capex for building technology h at location p and period y |
{“money”: 1} |
|
|
\(A_{h,p,y}\) |
annual capex for having technology h at location p |
{“money”: 1} |
|
|
\(CAPEX_y\) |
total capex for installing all technologies in all locations at all times in period y |
{“money”: 1} |
|
|
\(OPEX_{p,y}^\mathrm{t,v}\) |
opex for operating technology at location p and period y |
{“money”: 1, “time”: -1} |
|
|
\(-\) |
yearly opex for operating technology at location p and year y |
{“money”: 1} |
|
|
\(OPEX_y^\mathrm{t}\) |
total opex all technologies and locations in year y |
{“money”: 1} |
|
|
\(\theta^\mathrm{tech}_{h,n,t,y}\) |
carbon emissions for operating technology h at location p and time t |
{“emissions”: 1, “time”: -1} |
|
|
\(E^\mathrm{tech}_y\) |
total carbon emissions for operating technology at location p and period y |
{“emissions”: 1} |
|
|
\(g_{h,p,y}\) |
binary variable which equals 1 if technology h is installed at location p and period y, else 0 |
{} |
|
|
\(B_{h,p,y}\) |
Binary variable which equals 1 when technology h is switched on at location p and period y, else 0 |
{} |
|
|
\(S^\mathrm{approx}_{h,p,t,y}\) |
Helper variable that substitutes the product of capacity and tech_on_var |
{“energy_quantity”: 1, “time”: -1} |
Constraint Name |
Time Step Type |
Doc String |
|---|---|---|
|
|
limited capacity of technology depending on loc and time |
|
|
min capacity of technology that can be installed |
|
|
max capacity of technology that can be installed |
|
|
lead time in which invested technology is constructed |
|
|
max capacity of technology that can be installed |
|
|
Limits the newly built capacity by the existing knowledge stock |
|
|
annual capex of having capacity of technology. |
|
|
total capex of all technology that can be installed. |
|
|
total opex of all technology that are operated. |
|
|
total opex of all technology that are operated. |
|
|
total carbon emissions for each technology at each location and time step |
|
|
on-off constraint for minimum load condition of for each technology at each location and time step |
Conversion Technology¶
Set Name |
Index |
Symbol |
Doc String |
|---|---|---|---|
|
|
\(\underline{\mathcal{C}}_{i}\) |
Set of carriers that are an input to a specific conversion technology |
|
|
\(\overline{\mathcal{C}}_{i}\) |
Set of carriers that are an output to a specific conversion technology |
|
|
\(\mathcal{C}_{i}^{\mathrm{dep}}\) |
Set of carriers that are dependent on the reference carrier of a specific conversion technology |
Parameter Name |
Time Step Type |
Symbol |
Doc String |
Unit Category |
|---|---|---|---|---|
|
|
\(\alpha_{i,y}\) |
Parameter which specifies the slope of the capex if approximated linearly |
{“money”: 1, “energy_quantity”: -1, “time”: 1} |
|
|
\(\eta_{i,c,t,y}\) |
Parameter which specifies the slope of the conversion efficiency if approximated linearly |
{“energy_quantity”: 1, “energy_quantity”: -1} |
|
|
\(\underline{\pi}_{i,n,y}\) |
Minimum number of full load hours, expressed as a fraction of the unaggregated time steps per year |
{} |
Variable Name |
Time Step Type |
Symbol |
Doc String |
Unit Category |
|---|---|---|---|---|
|
|
\(\underline{G}_{c,i,n,t,y}\) |
Carrier input of conversion technologies |
{“energy_quantity”: 1, “time”: -1} |
|
|
\(\overline{G}_{c,i,n,t,y}\) |
Carrier output of conversion technologies |
{“energy_quantity”: 1, “time”: -1} |
|
|
\(\Delta S_{i,n,y,m}^\mathrm{approx}\) |
pwa variable for size of installed technology on edge i and time t |
{“energy_quantity”: 1, “time”: -1} |
|
|
\(A_{h,p,y}^\mathrm{approx}\) |
pwa variable for capex for installing technology on edge i and time t |
{“money”: 1} |
Constraint Name |
Time Step Type |
Doc String |
|---|---|---|
|
|
provides a lower and upper bound to the reference flow value |
|
|
compute the opex and carbon emissions of each conversion technology |
|
|
links the reference carrier flow and the dependent carrier with a conversion factor |
|
|
piecewise affine approximation of the capex |
Retrofitting Technology
Set Name |
Index |
Symbol |
Doc String |
|---|---|---|---|
|
|
\(\mathcal{I}^\mathrm{r,base}_{i^\mathrm{r}}\) |
Set of base technologies for a specific retrofitting technology |
Parameter Name |
Time Step Type |
Symbol |
Doc String |
Unit Category |
|---|---|---|---|---|
|
|
\(\eta^\mathrm{retrofit}_{i^\mathrm{r},n,t}\) |
Parameter which specifies the flow coupling between the retrofitting technologies and its base technology |
technology,{“energy_quantity”: 1, “energy_quantity”: -1} |
Constraint Name |
Time Step Type |
Doc String |
|---|---|---|
|
|
couples the reference flow of the retrofitting technology with the reference flow of its base technology |
Storage Technology¶
Parameter Name |
Symbol |
Time Step Type |
Doc String |
Unit Category |
|---|---|---|---|---|
|
\(\rho^\mathrm{min}_{k}\) |
temporal immutable |
min power to energy ratio for storage technologies |
{} |
|
\(\rho^\mathrm{max}_{k}\) |
temporal immutable |
max power to energy ratio for storage technologies |
{} |
|
\(\tau^\mathrm{k}_{t^\mathrm{k}}\) |
|
Parameter which specifies the time step duration in StorageLevel for all technologies |
{“time”: 1} |
|
\(\underline{\eta}_k\) |
|
efficiency during charging for storage technologies |
{} |
|
\(\overline{\eta}_k\) |
|
efficiency during discharging for storage technologies |
{} |
|
\(\overline{H}_{k,n,t,y}\) |
temporal immutable |
self-discharge of storage technologies |
{} |
|
\(\alpha_{k,y}\) |
|
specific capex of storage technologies |
{“money”: 1, “energy_quantity”: -1, “time”: 1} |
|
\(\xi_{k,n,t,y}\) |
|
energy inflow for storage technology |
{“energy_quantity”: 1, “time”: -1} |
Variable Name |
Time Step Type |
Symbol |
Doc String |
Unit Category |
|---|---|---|---|---|
|
|
\(\underline{H}_{k,n,t,y}\) |
carrier flow into storage technology on node i and time t |
{“energy_quantity”: 1, “time”: -1} |
|
|
\(\overline{H}_{k,n,t,y}\) |
carrier flow out of storage technology on node i and time t |
{“energy_quantity”: 1, “time”: -1} |
|
|
\(L_{k,n,t,y}\) |
storage level of storage technology on node in each storage time step |
{“energy_quantity”: 1} |
|
|
\(Y_{k,n,t,y}\) |
energy spillage for storage technology |
{“energy_quantity”: 1, “time”: -1} |
|
|
\(B^\mathrm{charge}_{k,n,t,y}\) |
binary variable indicating whether the storage technology is in charging mode (1) or discharging mode (0) |
{} |
Constraint Name |
Time Step Type |
Doc String |
|---|---|---|
|
|
limit min and max storage charge and discharge |
|
|
storage opex and emissions |
|
|
limit maximum storage level to capacity |
|
|
couple subsequent storage levels (time coupling constraints) |
|
|
couple storage energy and power capacity |
|
|
Capital expenditures for installing storage technology |
|
|
Limit spillage for storage technologies |
|
|
Avoid simultaneous charging and discharging of the storage. NOTE: will be skipped if |
Transport Technology¶
Parameter Name |
Time Step Type |
Symbol |
Doc String |
Unit Category |
|---|---|---|---|---|
|
temporal immutable |
\(h_{j,e}\) |
distance between two nodes for transport technologies |
{“distance”: 1} |
|
|
\(\alpha^\mathrm{const}_{j,y}\) |
capex per unit for transport technologies |
{“money”: 1, “energy_quantity”: -1, “time”: 1} |
|
|
\(\alpha^\mathrm{dist}\) |
capex per distance for transport technologies |
{“money”: 1, “distance”: -1, “energy_quantity”: -1, “time”: 1} |
|
temporal immutable |
\(\rho^\mathrm{lin}_{j}\) |
carrier losses due to transport with transport technologies |
{“distance”: -1} |
|
temporal immutable |
\(\rho^\mathrm{exp}_{j}\) |
exponential carrier losses due to transport with transport technologies |
{“distance”: -1} |
Variable Name |
Time Step Type |
Symbol |
Doc String |
Unit Category |
|---|---|---|---|---|
|
|
\(F_{j,e,t,y}\) |
carrier flow through transport technology on edge i and time t |
{“energy_quantity”: 1, “time”: -1} |
|
|
\(F^\mathrm{l}_{j,e,t,y}\) |
carrier flow through transport technology on edge i and time t |
{“energy_quantity”: 1, “time”: -1} |
Constraint Name |
Time Step Type |
Doc String |
|---|---|---|
|
|
limits min and max transport flow |
|
|
transport technology opex and emissions |
|
|
loss due to transport with through transport technology |
|
|
Capital expenditures for installing transport technology |