Technical Parameters

Table: Technical Model Parameters
Parameter Unit Description
General Technical Parameters
\(w\) _ Fraction of One Year of Modeled Timesteps
\(\Delta t\) h Timestep Size
\(W\) a Weight of Last Support Timeframe
Commodity Technical Parameters
\(d_{yvct}\) MWh Demand for Commodity
\(s_{yvct}\) _ Intermittent Supply Capacity Factor
\(\overline{l}_{yvc}\) MW Maximum Stock Supply Limit Per Hour
\(\overline{L}_{yvc}\) MWh Maximum Annual Stock Supply Limit Per Vertex
\(\overline{m}_{yvc}\) t/h Maximum Environmental Output Per Hour
\(\overline{M}_{yvc}\) t Maximum Annual Environmental Output
\(\overline{g}_{yvc}\) MW Maximum Sell Limit Per Hour
\(\overline{G}_{yvc}\) MWh Maximum Annual Sell Limit
\(\overline{b}_{yvc}\) MW Maximum Buy Limit Per Hour
\(\overline{B}_{yvc}\) MWh Maximum Annual Buy Limit
\(\overline{L}_{\text{CO}_2,y}\) t Maximum Global Annual CO2 Emission Limit
\(\overline{\overline{L}}_{\text{CO}_2}\) t CO2 Emission Budget for Modeling Horizon
Process Technical Parameters
\(\underline{K}_{yvp}\) MW Process Capacity Lower Bound
\(K_{vp}\) MW Process Capacity Installed
\(\overline{K}_{yvp}\) MW Process Capacity Upper Bound
\(T_{vp}\) a Remaining Lifetime of Installed Processes
\(\overline{PG}_{yvp}\) 1/h Process Maximal Power Gradient (relative)
\(\underline{P}_{yvp}\) _ Process Minimum Part Load Fraction
\(f_{yvpt}^\text{out}\) _ Process Output Ratio Multiplier
\(r_{ypc}^\text{in}\) _ Process Input Ratio
\(\underline{r}_{ypc}^\text{in}\) _ Process Partial Input Ratio
\(\underline{r}_{ypc}^\text{out}\) _ Process Partial Output Ratio
\(r_{ypc}^\text{out}\) _ Process Output Ratio
Storage Technical Parameters
\(I_{yvs}\) _ Initial and Final State of Charge
\(e_{yvs}^\text{in}\) _ Storage Efficiency During Charge
\(e_{yvs}^\text{out}\) _ Storage Efficiency During Discharge
\(d_{yvs}\) 1/h Storage Self-discharge Per Hour
\(\underline{K}_{yvs}^\text{c}\) MWh Storage Capacity Lower Bound
\(K_{yvs}^\text{c}\) MWh Storage Capacity Installed
\(\overline{K}_{yvs}^\text{c}\) MWh Storage Capacity Upper Bound
\(\underline{K}_{yvs}^\text{p}\) MW Storage Power Lower Bound
\(K_{yvs}^\text{p}\) MW Storage Power Installed
\(\overline{K}_{yvs}^\text{p}\) MW Storage Power Upper Bound
\(T_{vs}\) a Remaining Lifetime of Installed Storages
\(k_{yvs}^\text{E/P}\) h Storage Energy to Power Ratio
Transmission Technical Parameters
\(e_{yaf}\) _ Transmission Efficiency
\(\underline{K}_{yaf}\) MW Transmission Capacity Lower Bound
\(K_{yaf}\) MW Transmission Capacity Installed
\(\overline{K}_{yaf}\) MW Transmission Capacity Upper Bound
\(T_{af}\) a Remaining Lifetime of Installed Transmission
DCPF Transmission Technical Parameters
\(X_{yaf}\) p.u Transmission Reactance
\(\overline{dl}_{yaf}\) deg. Voltage Angle Difference Limit
\(V_{yaf\text{base}}\) kV Transmission Base Voltage
Demand Side Management Parameters
\(e_{yvc}\) _ DSM Efficiency
\(y_{yvc}\) _ DSM Delay Time
\(o_{yvc}\) _ DSM Recovery Time
\(\overline{K}_{yvc}^\text{up}\) MW DSM Maximal Upshift Per Hour
\(\overline{K}_{yvc}^\text{down}\) MW DSM Maximal Downshift Per Hour

General Technical Parameters

Weight, \(w\), weight: The parameter \(w\) helps to scale variable costs and emissions from the length of simulation, that the energy system model is being observed, to an annual result. This parameter represents the fraction of a year (8760 hours) of the observed time span. The observed time span is calculated by the product of number of time steps of the set \(T\) and the time step duration. In script model.py this parameter is defined by the model parameter weight and initialized by the following code fragment:

m.weight = pyomo.Param(
    initialize=float(8760) / (len(m.tm) * dt),
    doc='Pre-factor for variable costs and emissions for an annual result')

Timestep Duration, \(\Delta t\), dt: The parameter \(\Delta t\) represents the duration between two sequential timesteps \(t_x\) and \(t_{x+1}\). This is calculated by the subtraction of smaller one from the bigger of the two sequential timesteps \(\Delta t = t_{x+1} - t_x\). This parameter is the unit of time for the optimization model and is expressed in the unit h. Its default value is set to 1. In script model.py this parameter is defined by the model parameter dt and initialized by the following code fragment:

m.dt = pyomo.Param(
    initialize=dt,
    doc='Time step duration (in hours), default: 1')

The user can set the paramteter in script runme.py in the line:

dt = 1  # length of each time step (unit: hours)

Weight of Last Modeled Support Timeframe, \(W\), m.global_prop.loc[(max(sorted_stf), 'Weight'), 'value']: This parameter specifies how long the time interval represented by the last support timeframe is. The unit of this parameter is years. By extension it also specifies the end of the modeling horizon. The parameter is set in the spreadsheet corresponding to the last support timeframe in worksheet “Global” in the line denoted “Weight” in the column titled “value”.

Commodity Technical Parameters

Demand for Commodity, \(d_{yvct}\), m.demand_dict[(sit, com)][(stf, tm)]: The parameter \(d_{yvct}\) represents the energy amount of a demand commodity tuple \(c_{yvq}\) required at a timestep \(t\) (\(\forall y \in Y, \forall v \in V, q = "Demand", \forall t \in T_m\)). The unit of this parameter is MWh. This data is to be provided by the user and to be entered in the spreadsheet corresponding to the specified support timeframe. The related section for this parameter in the spreadsheet can be found in the “Demand” sheet. Here each row represents another timestep \(t\) and each column represent a commodity tuple \(c_{yvq}\). Rows are named after the timestep number \(n\) of timesteps \(t_n\). Columns are named after the combination of site name \(v\) and commodity name \(c\) respecting the order and seperated by a period(.). For example (Mid.Elec) represents the commodity Elec in site Mid. Commodity type \(q\) is omitted in column declarations, because every commodity of this parameter has to be from commodity type Demand in any case.

Intermittent Supply Capacity Factor, \(s_{yvct}\), m.supim_dict[(sit, coin)][(stf, tm)]: The parameter \(s_{yvct}\) represents the normalized availability of a supply intermittent commodity \(c\) \((\forall c \in C_\text{sup})\) in a support timeframe \(y\) and site \(v\) at a timestep \(t\). In other words this parameter gives the ratio of current available energy amount to maximum potential energy amount of a supply intermittent commodity. This data is to be provided by the user and to be entered in the spreadsheet corresponding to the support timeframe. The related section for this parameter in the spreadsheet can be found under the “SupIm” sheet. Here each row represents another timestep \(t\) and each column represent a commodity tuple \(c_{yvq}\). Rows are named after the timestep number \(n\) of timesteps \(t_n\). Columns are named after the combination of site name \(v\) and commodity name \(c\), respectively and separated by a period(.). For example (Mid.Elec) represents the commodity Elec in site Mid. Commodity type \(q\) is omitted in column declarations, because every commodity of this parameter has to be from commodity type SupIm in any case.

Maximum Stock Supply Limit Per Hour, \(\overline{l}_{yvc}\), m.commodity_dict['maxperhour'][(stf, sit, com, com_type)]: The parameter \(\overline{l}_{yvc}\) represents the maximum energy amount of a stock commodity tuple \(c_{yvq}\) (\(\forall y\in Y, \forall v \in V , q = "Stock"\)) that energy model is allowed to use per hour. The unit of this parameter is MW. This parameter applies to every timestep and does not vary for each timestep \(t\). This parameter is to be provided by the user and to be entered in spreadsheet corresponding to the support timeframe. The related section for this parameter in the spreadsheet can be found under the “Commodity” sheet. Here each row represents another commodity tuple \(c_{yvq}\) and the column with the header label “maxperhour” represents the parameter \(\overline{l}_{yvc}\). If there is no desired restriction of a stock commodity tuple usage per timestep, the corresponding cell can be set to “inf” to ignore this parameter.

Maximum Annual Stock Supply Limit Per Vertex, \(\overline{L}_{yvc}\), m.commodity_dict['max'][(stf, sit, com, com_type)]: The parameter \(\overline{L}_{yvc}\) represents the maximum energy amount of a stock commodity tuple \(c_{yvq}\) (\(\forall y\in Y, \forall v \in V , q = "Stock"\)) that energy model is allowed to use annually. The unit of this parameter is MWh. This parameter is to be provided by the user and to be entered in spreadsheet corresponding to the support timeframe. The related section for this parameter in the spreadsheet can be found under the “Commodity” sheet. Here each row represents another commodity tuple \(c_{yvq}\) and the column with the header label “max” represents the parameter \(\overline{L}_{yvc}\). If there is no desired restriction of a stock commodity tuple usage annually, the corresponding cell can be set to “inf” to ignore this parameter.

Maximum Environmental Output Per Hour, \(\overline{m}_{yvc}\), m.commodity_dict['maxperhour'][(stf, sit, com, com_type)]: The parameter \(\overline{m}_{yvc}\) represents the maximum energy amount of an environmental commodity tuple \(c_{yvq}\) (\(\forall y\in Y, \forall v \in V , q = "Env"\)) that energy model is allowed to produce and release to environment per time step. This parameter applies to every timestep and does not vary for each timestep \(t/h\). This parameter is to be provided by the user and to be entered in spreadsheet corresponding to the support timeframe. The related section for this parameter in the spreadsheet can be found under the “Commodity” sheet. Here each row represents another commodity tuple \(c_{yvq}\) and the column with the header label “maxperhour” represents the parameter \(\overline{m}_{yvc}\). If there is no desired restriction of an environmental commodity tuple usage per timestep, the corresponding cell can be set to “inf” to ignore this parameter.

Maximum Annual Environmental Output, \(\overline{M}_{yvc}\), m.commodity_dict['max'][(stf, sit, com, com_type)]: The parameter \(\overline{M}_{yvc}\) represents the maximum energy amount of an environmental commodity tuple \(c_{yvq}\) (\(\forall y\in Y, \forall v \in V , q = "Env"\)) that energy model is allowed to produce and release to environment annually. This parameter is to be provided by the user and to be entered in spreadsheet corresponding to the support timeframe. The related section for this parameter in the spreadsheet can be found under the “Commodity” sheet. Here each row represents another commodity tuple \(c_{yvq}\) and the column with the header label “max” represents the parameter \(\overline{M}_{yvc}\). If there is no desired restriction of the annual environmental commodity tuple usage, the corresponding cell can be set to “inf” to ignore this parameter.

Maximum Sell Limit Per Hour, \(\overline{g}_{yvc}\), m.commodity_dict['maxperhour'][(stf, sit, com, com_type)]: The parameter \(\overline{g}_{yvc}\) represents the maximum energy amount of a sell commodity tuple \(c_{yvq}\) (\(\forall y\in Y, \forall v \in V , q = "Sell"\)) that energy model is allowed to sell per hour. The unit of this parameter is MW. This parameter applies to every timestep and does not vary for each timestep \(t\). This parameter is to be provided by the user and to be entered in spreadsheet. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “Commodity” sheet. Here each row represents another commodity tuple \(c_{yvq}\) and the column with the header label “maxperhour” represents the parameter \(\overline{g}_{yvc}\). If there is no desired restriction of a sell commodity tuple usage per timestep, the corresponding cell can be set to “inf” to ignore this parameter.

Maximum Annual Sell Limit, \(\overline{G}_{yvc}\), m.commodity_dict['max'][(stf, sit, com, com_type)]: The parameter \(\overline{G}_{yvc}\) represents the maximum energy amount of a sell commodity tuple \(c_{yvq}\) (\(\forall y\in Y, \forall v \in V , q = "Sell"\)) that energy model is allowed to sell annually. The unit of this parameter is MWh. This parameter is to be provided by the user and to be entered in spreadsheet corresponding to the support timeframe. The related section for this parameter in the spreadsheet can be found under the “Commodity” sheet. Here each row represents another commodity tuple \(c_{yvq}\) and the column of sell with the header label “max” represents the parameter \(\overline{G}_{yvc}\). If there is no desired restriction of a sell commodity tuple usage annually, the corresponding cell can be set to “inf” to ignore this parameter.

Maximum Buy Limit Per Hour, \(\overline{b}_{yvc}\), m.commodity_dict['maxperhour'][(stf, sit, com, com_type)]: The parameter \(\overline{b}_{yvc}\) represents the maximum energy amount of a buy commodity tuple \(c_{yvq}\) (\(\forall y\in Y, \forall v \in V , q = "Buy"\)) that energy model is allowed to buy per hour. The unit of this parameter is MW. This parameter applies to every timestep and does not vary for each timestep \(t\). This parameter is to be provided by the user and to be entered in spreadsheet corresponding to the support timeframe. The related section for this parameter in the spreadsheet can be found under the “Commodity” sheet. Here each row represents another commodity tuple \(c_{yvq}\) and the column with the header label “maxperhour” represents the parameter \(\overline{b}_{yvc}\). If there is no desired restriction of a buy commodity tuple usage per timestep, the corresponding cell can be set to “inf” to ignore this parameter.

Maximum Annual Buy Limit, \(\overline{B}_{yvc}\), m.commodity_dict['max'][(stf, sit, com, com_type)]: The parameter \(\overline{B}_{yvc}\) represents the maximum energy amount of a buy commodity tuple \(c_{yvq}\) (\(\forall y\in Y, \forall v \in V , q = "Buy"\)) that energy model is allowed to buy annually. The unit of this parameter is MWh. This parameter is to be provided by the user and to be entered in spreadsheet corresponding to the support timeframe. The related section for this parameter in the spreadsheet can be found under the “Commodity” sheet. Here each row represents another commodity tuple \(c_{yvq}\) and the column with the header label “max” represents the parameter \(\overline{B}_{yvc}\). If there is no desired restriction of a buy commodity tuple usage annually, the corresponding cell can be set to “inf” to ignore this parameter.

Maximum Global Annual CO\(_\textbf{2}\) Annual Emission Limit, \(\overline{L}_{CO_2,y}\), m.global_prop_dict['value'][stf, 'CO2 limit']: The parameter \(\overline{L}_{CO_2,y}\) represents the maximum total amount of CO2 the energy model is allowed to produce and release to the environment annually. If the user desires to set a maximum annual limit to total \(CO_2\) emission across all sites of the energy model in a given support timeframe \(y\), this can be done by entering the desired value to the spreadsheet corresponding to the support timeframe. The related section for this parameter can be found under the sheet “Global”. Here the the cell where the “CO2 limit” row and “value” column intersects stands for the parameter \(\overline{L}_{CO_2,y}\). If the user wants to disable this parameter and restriction it provides, this cell can be set to “inf” or simply be deleted.

CO\(_\textbf{2}\) Emission Budget for Modeling Horizon, \(\overline{\overline{L}}_{CO_2}\), m.global_prop_dict['value'][min(m.stf_list), 'CO2 budget']: The parameter \(\overline{\overline{L}}_{CO_2}\) represents the maximum total amount of CO2 the energy model is allowed to produce and release to the environment over the entire modeling horizon. If the user desires to set a limit to total \(CO_2\) emission across all sites and the entire modeling horizon of the energy model, this can be done by entering the desired value to the spreadsheet of the first support timeframe. The related section for this parameter can be found under the sheet “Global”. Here the the cell where the “CO2 budget” row and “value” column intersects stands for the parameter \(\overline{\overline{L}}_{CO_2}\). If the user wants to disable this parameter and restriction it provides, this cell can be set to “inf” or simply be deleted.

Process Technical Parameters

Process Capacity Lower Bound, \(\underline{K}_{yvp}\), m.process_dict['cap-lo'][stf, sit, pro]: The parameter \(\underline{K}_{yvp}\) represents the minimum amount of power output capacity of a process \(p\) at a site \(v\) in support timeframe \(y\), that energy model is required to have. The unit of this parameter is MW. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “Process” sheet. Here each row represents another process \(p\) in a site \(v\) and the column with the header label “cap-lo” represents the parameters \(\underline{K}_{yvp}\) belonging to the corresponding process \(p\) and site \(v\) combinations. If there is no desired minimum limit for the process capacities, this parameter can be simply set to “0”.

Process Capacity Installed, \(K_{vp}\), m.process_dict['inst-cap'][min(m.stf), sit, pro]: The parameter \(K_{vp}\) represents the amount of power output capacity of a process \(p\) in a site \(v\), that is already installed to the energy system at the beginning of the modeling period. The unit of this parameter is MW. The related section for this parameter can be found in the spreadsheet corresponding to the first support timeframe under the “Process” sheet. Here each row represents another process \(p\) in a site \(v\) and the column with the header label “inst-cap” represents the parameters \(K_{vp}\) belonging to the corresponding process \(p\) and site \(v\) combinations.

Process Capacity Upper Bound, \(\overline{K}_{yvp}\), m.process_dict['cap-up'][stf, sit, pro]: The parameter \(\overline{K}_{yvp}\) represents the maximum amount of power output capacity of a process \(p\) at a site \(v\) in support timeframe \(y\), that energy model is allowed to have. The unit of this parameter is MW. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “Process” sheet. Here each row represents another process \(p\) in a site \(v\) and the column with the header label “cap-up” represents the parameters \(\overline{K}_{yvp}\) of the corresponding process \(p\) and site \(v\) combinations. Alternatively, \(\overline{K}_{yvp}\) is determined by the column with the label “area-per-cap”, whenever the value in “cap-up” times the value “area-per-cap” is larger than the value in column “area” in sheet “Site” for site \(v\) in support timeframe \(y\). If there is no desired maximum limit for the process capacities, both input parameters can be simply set to “inf”.

Remaining Lifetime of Installed Processes, \(T_{vp}\), m.process_dict['lifetime'][(stf, sit, pro)]): The parameter \(T_{vp}\) represents the remaining lifetime of already installed units. It is used to determine the set m.inst_pro_tuples, i.e. to identify for which support timeframes the installed unit can still be used.

Process Maximal Gradient, \(\overline{PG}_{yvp}\), m.process_dict['max-grad'][(stf, sit, pro)]: The parameter \(\overline{PG}_{yvp}\) represents the maximal power gradient of a process \(p\) at a site \(v\) in support timeframe \(y\), that energy model is allowed to have. The unit of this parameter is 1/h. The related section for this parameter in the spreadsheet can be found under the “Process” sheet. Here each row represents another process \(p\) in a site \(v\) and the column with the header label “max-grad” represents the parameters \(\overline{PG}_{yvp}\) of the corresponding process \(p\) and site \(v\) combinations. If there is no desired maximum limit for the process power gradient, this parameter can be simply set to a value larger or equal to 1.

Process Minimum Part Load Fraction, \(\underline{P}_{yvp}\), m.process_dict['min-fraction'][(stf, sit, pro)]: The parameter \(\underline{P}_{yvp}\) represents the minimum allowable part load of a process \(p\) at a site \(v\) in support timeframe \(y\) as a fraction of the total process capacity. The related section for this parameter in the spreadsheet can be found under the “Process” sheet. Here each row represents another process \(p\) in a site \(v\) and the column with the header label “min-fraction” represents the parameters \(\underline{P}_{yvp}\) of the corresponding process \(p\) and site \(v\) combinations. The minimum part load fraction parameter constraints is only relevant when the part load behavior for the process is active, i.e., when in the process commodity sheet a value for “ratio-min” is set for at least one input commodity.

Process Output Ratio Multiplier, \(f_{yvpt}^\text{out}\), m.eff_factor_dict[(stf, sit, pro)]: The parameter time series \(f_{yvpt}^\text{out}\) allows for a time dependent modification of process outputs and consequently the efficiency of a process \(p\) in site \(v\) and support timeframe \(y\). It can be used, e.g., to model temperature dependent efficiencies of processes or to include scheduled maintenance intervals. In the spreadsheet corresponding to the support timeframe this timeseries is set in worksheet “TimeVarEff”. Here each row represents another timestep \(t\) and each column represent a process tuple \(p_{yv}\). Rows are named after the timestep number \(n\) of timesteps \(t_n\). Columns are named after the combination of site name \(v\) and commodity name and process name \(p\) respecting the order and seperated by a period(.). For example (Mid.Lignite plant) represents the process Lignite plant in site Mid. Note that the output of environmental commodity is not manipulated by this factor as it is typically linked to an input commodity as, e.g., CO2 output is linked to a fossil input.

Process Input Ratio, \(r_{ypc}^\text{in}\), m.r_in_dict[(stf, pro, co)]: The parameter \(r_{ypc}^\text{in}\) represents the ratio of the input amount of a commodity \(c\) in a process \(p\) and support timeframe \(y\), relative to the process throughput at a given timestep. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “Process-Commodity” sheet. Here each row represents another commodity \(c\) that either goes in to or comes out of a process \(p\). The column with the header label “ratio” represents the parameters \(r_{ypc}^\text{in}\) of the corresponding process \(p\) and commodity \(c\) if the latter is an input commodity.

Process Partial Input Ratio, \(\underline{r}_{ypc}^\text{in}\), m.r_in_min_fraction[stf, pro, coin]: The parameter \(\underline{r}_{ypc}^\text{in}\) represents the ratio of the amount of input commodity \(c\) a process \(p\) and support timeframe \(y\) consumes if it is at its minimum allowable partial operation. More precisely, when its throughput \(\tau_{yvpt}\) has the minimum value \(\kappa_{yvp} \underline{P}_{yvp}\). The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “Process-Commodity” sheet. Here each row represents another commodity \(c\) that either goes in to or comes out of a process \(p\). The column with the header label “ratio-min” represents the parameters \(\underline{r}_{ypc}^\text{in}\) of the corresponding process \(p\) and commodity \(c\) if the latter is an input commodity.

Process Output Ratio, \(r_{ypc}^\text{out}\), m.r_out_dict[(stf, pro, co)]: The parameter \(r_{ypc}^\text{out}\) represents the ratio of the output amount of a commodity \(c\) in a process \(p\) in support timeframe \(y\), relative to the process throughput at a given timestep. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “Process-Commodity” sheet. Here each row represents another commodity \(c\) that either goes in to or comes out of a process \(p\). The column with the header label “ratio” represents the parameters \(r_{ypc}^\text{out}\) of the corresponding process \(p\) and commodity \(c\) if the latter is an output commodity.

Process Partial Output Ratio, \(\underline{r}_{ypc}^\text{out}\), m.r_out_min_fraction[stf, pro, coo]: The parameter \(\underline{r}_{ypc}^\text{out}\) represents the ratio of the amount of output commodity \(c\) a process \(p\) and support timeframe \(y\) emits if it is at its minimum allowable partial operation. More precisely, when its throughput \(\tau_{yvpt}\) has the minimum value \(\kappa_{yvp} \underline{P}_{yvp}\). The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “Process-Commodity” sheet. Here each row represents another commodity \(c\) that either goes in to or comes out of a process \(p\). The column with the header label “ratio-min” represents the parameters \(\underline{r}_{ypc}^\text{out}\) of the corresponding process \(p\) and commodity \(c\) if the latter is an output commodity.

Process input and output ratios are, in general, used for unit conversion between the different commodities.

Since all costs and capacity constraints take the process throughput \(\tau_{yvpt}\) as the reference, it is reasonable to assign an in- or output ratio of “1” to at least one commodity. The flow of this commodity then tracks the throughput and can be used as a reference. All other values of in- and output ratios can then be adjusted by scaling them by an appropriate factor to the reference commodity flow.

Storage Technical Parameters

Initial and Final State of Charge (relative), \(I_{yvs}\), m.storage_dict['init'][(stf, sit, sto, com)]: The parameter \(I_{yvs}\) represents the initial state of charge of a storage \(s\) in a site \(v\) and support timeframe \(y\). If this value is left unspecified, the initial state of charge is variable. The initial and final value are set as identical in each modeled support timeframe to avoid windfall profits through emptying of a storage. The value of this parameter is expressed as a normalized percentage, where “1” represents a fully loaded storage and “0” represents an empty storage. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “Storage” sheet. Here each row represents a storage technology \(s\) in a site \(v\) that stores a commodity \(c\). The column with the header label “init” represents the parameters for corresponding storage \(s\), site \(v\), commodity \(c\) combinations. When no initial value is to be set this cell can be left empty.

Storage Efficiency During Charge, \(e_{yvs}^\text{in}\), m.storage_dict['eff-in'][(stf, sit, sto, com)]: The parameter \(e_{yvs}^\text{in}\) represents the charging efficiency of a storage \(s\) in a site \(v\) and support timeframe \(y\) that stores a commodity \(c\). The charging efficiency shows, how much of a desired energy and accordingly power can be successfully stored into a storage. The value of this parameter is expressed as a normalized percentage, where “1” represents a charging without energy losses. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “Storage” sheet. Here each row represents a storage technology \(s\) in a site \(v\) that stores a commodity \(c\). The column with the header label “eff-in” represents the parameters \(e_{yvs}^\text{in}\) for corresponding storage tuples.

Storage Efficiency During Discharge, \(e_{yvs}^\text{out}\), m.storage_dict['eff-out'][(stf, sit, sto, com)]: The parameter \(e_{yvs}^\text{out}\) represents the discharging efficiency of a storage \(s\) in a site \(v\) and support timeframe \(y\) that stores a commodity \(c\). The discharging efficiency shows, how much of a desired energy and accordingly power can be successfully released from a storage. The value of this parameter is expressed as a normalized percentage, where “1” represents a discharging without energy losses. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “Storage” sheet. Here each row represents a storage technology \(s\) in a site \(v\) that stores a commodity \(c\). The column with the header label “eff-out” represents the parameters \(e_{yvs}^\text{out}\) for corresponding storage tuples.

Storage Self-discharge Per Hour, \(d_{yvs}\), m.storage_dict['discharge'][(stf, sit, sto, com)]: The parameter \(d_{yvs}\) represents the fraction of the energy content within a storage which is lost due to self-discharge per hour. It introduces an exponential decay of a given storage state if no charging/discharging takes place. The unit of this parameter is 1/h. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “Storage” sheet. Here each row represents a storage technology \(s\) in a site \(v\) that stores a commodity \(c\). The column with the header label “discharge” represents the parameters \(d_{yvs}\) for corresponding storage tuples.

Storage Capacity Lower Bound, \(\underline{K}_{yvs}^\text{c}\), m.storage_dict['cap-lo-c'][(stf, sit, sto, com)]: The parameter \(\underline{K}_{yvs}^\text{c}\) represents the minimum amount of energy content capacity required for a storage \(s\) storing a commodity \(c\) in a site \(v\) in support timeframe \(y\). The unit of this parameter is MWh. The related section for this parameter in the spreadsheet can be found under the “Storage” sheet. Here each row represents a storage technology \(s\) in a site \(v\) that stores a commodity \(c\). The column with the header label “cap-lo-c” represents the parameters \(\underline{K}_{yvs}^\text{c}\) for corresponding storage tuples. If there is no desired minimum limit for the storage energy content capacities, this parameter can be simply set to “0”.

Storage Capacity Installed, \(K_{vs}^\text{c}\), m.storage_dict['inst-cap-c'][(min(m.stf), sit, sto, com)]]: The parameter \(K_{vs}^\text{c}\) represents the amount of energy content capacity of a storage \(s\) storing commodity \(c\) in a site \(v\), that is already installed to the energy system at the beginning of the modeling horizon. The unit of this parameter is MWh. The related section for this parameter in the spreadsheet corresponding to the first support timeframe can be found under the “Storage” sheet. Here each row represents a storage technology \(s\) in a site \(v\) that stores a commodity \(c\). The column with the header label “inst-cap-c” represents the parameters \(K_{vs}^\text{c}\) for corresponding storage tuples.

Storage Capacity Upper Bound, \(\overline{K}_{yvs}^\text{c}\), m.storage_dict['cap-up-c'][(stf, sit, sto, com)]: The parameter \(\overline{K}_{yvs}^\text{c}\) represents the maximum amount of energy content capacity allowed of a storage \(s\) storing a commodity \(c\) in a site \(v\) in support timeframe \(y\). The unit of this parameter is MWh. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “Storage” sheet. Here each row represents a storage technology \(s\) in a site \(v\) that stores a commodity \(c\). The column with the header label “cap-up-c” represents the parameters \(\overline{K}_{yvs}^\text{c}\) for corresponding storage tuples. If there is no desired maximum limit for the storage energy content capacities, this parameter can be simply set to “inf”.

Storage Power Lower Bound, \(\underline{K}_{yvs}^\text{p}\), m.storage_dict['cap-lo-p'][(stf, sit, sto, com)]: The parameter \(\underline{K}_{yvs}^\text{p}\) represents the minimum amount of charging/discharging power required for a storage \(s\) storing a commodity \(c\) in a site \(v\) in support timeframe \(y\). The unit of this parameter is MW. The related section for this parameter in the spreadsheet can be found under the “Storage” sheet. Here each row represents a storage technology \(s\) in a site \(v\) that stores a commodity \(c\). The column with the header label “cap-lo-p” represents the parameters \(\underline{K}_{yvs}^\text{p}\) for corresponding storage tuples. If there is no desired minimum limit for the storage charging/discharging powers, this parameter can be simply set to “0”.

Storage Power Installed, \(K_{vs}^\text{p}\), m.storage_dict['inst-cap-p'][(min(m.stf), sit, sto, com)]]: The parameter \(K_{vs}^\text{p}\) represents the amount of charging/discharging power of a storage \(s\) storing commodity \(c\) in a site \(v\), that is already installed to the energy system at the beginning of the modeling horizon. The unit of this parameter is MW. The related section for this parameter in the spreadsheet corresponding to the first support timeframe can be found under the “Storage” sheet. Here each row represents a storage technology \(s\) in a site \(v\) that stores a commodity \(c\). The column with the header label “inst-cap-p” represents the parameters \(K_{vs}^\text{p}\) for corresponding storage tuples.

Storage Power Upper Bound, \(\overline{K}_{yvs}^\text{p}\), m.storage_dict['cap-up-p'][(stf, sit, sto, com)]: The parameter \(\overline{K}_{yvs}^\text{p}\) represents the maximum amount of charging/discharging power allowed of a storage \(s\) storing a commodity \(c\) in a site \(v\) in support timeframe \(y\). The unit of this parameter is MW. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “Storage” sheet. Here each row represents a storage technology \(s\) in a site \(v\) that stores a commodity \(c\). The column with the header label “cap-up-p” represents the parameters \(\overline{K}_{yvs}^\text{p}\) for corresponding storage tuples. If there is no desired maximum limit for the storage charging/discharging powers, this parameter can be simply set to “inf”.

Remaining Lifetime of Installed Storages, \(T_{vs}\), m.storage_dict['lifetime'][(stf, sit, sto, com)]): The parameter \(T_{vs}\) represents the remaining lifetime of already installed units. It is used to determine the set m.inst_sto_tuples, i.e. to identify for which support timeframes the installed units can still be used.

Storage Energy to Power Ratio, \(k_{yvs}^\text{E/P}\), m.storage_dict['ep-ratio'][(stf, sit, sto, com)]: The parameter \(k_{yvs}^\text{E/P}\) represents the linear ratio between the energy and power capacities of a storage \(s\) storing a commodity \(c\) in a site \(v\) in support timeframe \(y\). The unit of this parameter is hours. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “Storage” sheet. Here each row represents a storage technology \(s\) in a site \(v\) that stores a commodity \(c\). The column with the header label “ep-ratio” represents the parameters \(k_{yvs}^\text{E/P}\) for corresponding storage tuples. If there is no desired set ratio for the storage energy and power capacities (which means the storage energy and power capacities can be sized independently from each other), this cell can be left empty.

Transmission Technical Parameters

Transmission Efficiency, \(e_{yaf}\), m.transmission_dict['eff'][(stf, sin, sout, tra, com)]: The parameter \(e_{yaf}\) represents the energy efficiency of a transmission \(f\) that transfers a commodity \(c\) through an arc \(a\) in support timeframe \(y\). Here an arc \(a\) defines the connection line from an origin site \(v_\text{out}\) to a destination site \({v_\text{in}}\). The ratio of the output energy amount to input energy amount, gives the energy efficiency of a transmission process. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “Transmission” sheet. Here each row represents another combination of transmission \(f\) and arc \(a\). The column with the header label “eff” represents the parameters \(e_{yaf}\) of the corresponding transmission tuples.

Transmission Capacity Lower Bound, \(\underline{K}_{yaf}\), m.transmission_dict['cap-lo'][(stf, sin, sout, tra, com)]: The parameter \(\underline{K}_{yaf}\) represents the minimum power output capacity of a transmission \(f\) transferring a commodity \(c\) through an arc \(a\) in a support timeframe \(y\), that the energy system model is required to have. Here an arc \(a\) defines the connection line from an origin site \(v_\text{out}\) to a destination site \({v_\text{in}}\). The unit of this parameter is MW. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “Transmission” sheet. Here each row represents another transmission \(f\), arc \(a\) combination. The column with the header label “cap-lo” represents the parameters \(\underline{K}_{yaf}\) of the corresponding transmission tuples.

Transmission Capacity Installed, \(K_{af}\), m.transmission_dict['inst-cap'][(min(m.stf), sin, sout, tra, com)]: The parameter \(K_{af}\) represents the amount of power output capacity of a transmission \(f\) transferring a commodity \(c\) through an arc \(a\), that is already installed to the energy system at the beginning of the modeling horizon. The unit of this parameter is MW. The related section for this parameter in the spreadsheet corresponding to the first support timeframe can be found under the “Transmission” sheet. Here each row represents another transmission \(f\), arc \(a\) combination. The column with the header label “inst-cap” represents the parameters \(K_{af}\) of the transmission tuples.

Transmission Capacity Upper Bound, \(\overline{K}_{yaf}\), m.transmission_dict['cap-up'][(stf, sin, sout, tra, com)]: The parameter \(\overline{K}_{yaf}\) represents the maximum power output capacity of a transmission \(f\) transferring a commodity \(c\) through an arc \(a\) in support timeframe \(y\), that the energy system model is allowed to have. Here an arc \(a\) defines the connection line from an origin site \(v_\text{out}\) to a destination site \({v_\text{in}}\). The unit of this parameter is MW. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “Transmission” sheet. Here each row represents another transmission \(f\), arc \(a\) combination. The column with the header label “cap-up” represents the parameters \(\overline{K}_{yaf}\) of the corresponding transmission tuples.

Remaining Lifetime of Installed Transmission, \(T_{af}\), m.transmission_dict['lifetime'][(stf, sit1, sit2, tra, com)]): The parameter \(T_{af}\) represents the remaining lifetime of already installed units. It is used to determine the set m.inst_tra_tuples, i.e. to identify for which support timeframes the installed units can still be used.

DCPF Transmission Technical Parameters

Selected transmission lines can be modelled with DC Power Flow and combined with the transport model in an energy system model. The following parameters are only required and included in the model when a transmission line should be modelled with DCPF.

Transmission Reactance, \(X_{yaf}\), m.transmission_dict['reactance'][(stf, sin, sout, tra, com)]: The parameter \(X_{yaf}\) represents the reactance of a transmission \(f\) that transfers a commodity \(c\) through an arc \(a\) in support timeframe \(y\). Here an arc \(a\) defines the connection line from an origin site \(v_\text{out}\) to a destination site \({v_\text{in}}\). Transmission reactance is used to calculate the power flow of DCPF transmission lines. This parameter is required to define a transmission line with the DCPF model and should be given in per unit system. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “Transmission” sheet. Here each row represents another combination of transmission \(f\) and arc \(a\). The column with the header label “reactance” represents the parameters \(X_{yaf}\) of the corresponding transmission tuples. If the parameter is left empty in the spreadsheet, the transmission line will be modelled with transport model as default.

Voltage Angle Difference Limit, \(\overline{dl}_{yaf}\), m.transmission_dict['difflimit'][(stf, sin, sout, tra, com)]: The parameter \(\overline{dl}_{yaf}\) represents the voltage angle difference limit of a transmission \(f\) that transfers a commodity \(c\) through an arc \(a\) in support timeframe \(y\). Here an arc \(a\) defines the connection line from an origin site \(v_\text{out}\) to a destination site \({v_\text{in}}\). The allowed maximum difference of voltage angles of sites \(v_\text{out}\) and \({v_\text{in}}\) is limited with this parameter. This parameter is expected in degrees and a value between 0 and 91 is allowed. This parameter is required to define a transmission line with the DCPF model. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “Transmission” sheet. Here each row represents another combination of transmission \(f\) and arc \(a\). The column with the header label “difflimit” represents the parameters \(\overline{dl}_{yaf}\) of the corresponding transmission tuples.

Transmission Base Voltage, \(V_{yaf\text{base}}\), m.transmission_dict['base_voltage'][(stf, sin, sout, tra, com)]: The parameter \(V_{yaf\text{base}}\) represents the base voltage of a transmission \(f\) that transfers a commodity \(c\) through an arc \(a\) in support timeframe \(y\). Here an arc \(a\) defines the connection line from an origin site \(v_\text{out}\) to a destination site \({v_\text{in}}\). This parameter is used to calculate the power flow of DCPF transmission lines. This parameter is expected in kV and a value greater than 0 is allowed. This parameter is required to define a transmission line with the DCPF model. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “Transmission” sheet. Here each row represents another combination of transmission \(f\) and arc \(a\). The column with the header label “base_voltage” represents the parameters \(V_{yaf\text{base}}\) of the corresponding transmission tuples.

Demand Side Management Technical Parameters

DSM Efficiency, \(e_{yvc}\), m.dsm_dict['eff'][(stf, sit, com)]: The parameter \(e_{yvc}\) represents the efficiency of the DSM process, i.e., the fraction of DSM upshift that is benefiting the system via the corresponding DSM downshifts of demand commodity \(c\) in site \(v\) and support timeframe \(y\). The parameter is given as a fraction with “1” meaning a perfect recovery of the DSM upshift. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “DSM” sheet. Here each row represents another DSM potential for demand commodity \(c\) in site \(v\). The column with the header label “eff” represents the parameters \(e_{yvc}\) of the corresponding DSM tuples.

DSM Delay Time, \(y_{yvc}\), m.dsm_dict['delay'][(stf, sit, com)]: The delay time \(y_{yvc}\) restricts how long the time difference between an upshift and its corresponding downshifts may be for demand commodity \(c\) in site \(v\) and support timeframe \(y\). The parameter is given in h. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “DSM” sheet. Here each row represents another DSM potential for demand commodity \(c\) in site \(v\). The column with the header label “delay” represents the parameters \(y_{yvc}\) of the corresponding DSM tuples.

DSM Recovery Time, \(o_{yvc}\), m.dsm_dict['recov'][(stf, sit, com)]: The recovery time \(o_{yvc}\) prevents the DSM system to continuously shift demand. During the recovery time, all upshifts of demand commodity \(c\) in site \(v\) and support timeframe \(y\) may not exceed the product of the delay time and the maximal upshift capacity. The parameter is given in h. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “DSM” sheet. Here each row represents another DSM potential for demand commodity \(c\) in site \(v\). The column with the header label “recov” represents the parameters \(o_{yvc}\) of the corresponding DSM tuples. If no limitation via this parameter is desired, it has to be set to values lower than the delay time \(y_{yvc}\).

DSM Maximal Upshift Per Hour, \(\overline{K}_{yvc}^\text{up}\), MW, m.dsm_dict['cap-max-up'][(stf, sit, com)]: The DSM upshift capacity \(\overline{K}_{yvc}^\text{up}\) limits the total upshift per hour for a DSM potential of demand commodity \(c\) in site \(v\) and support timeframe \(y\). The parameter is given in MW. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “DSM” sheet. Here each row represents another DSM potential for demand commodity \(c\) in site \(v\). The column with the header label “cap-max-up” represents the parameters \(\overline{K}_{yvc}^\text{up}\) of the corresponding DSM tuples.

DSM Maximal Downshift Per Hour, \(\overline{K}_{yvc}^\text{down}\), MW, m.dsm_dict['cap-max-do'][(stf, sit, com)]: The DSM downshift capacity \(\overline{K}_{yvc}^\text{down}\) limits the total downshift per hour for a DSM potential of demand commodity \(c\) in site \(v\) and support timeframe \(y\). The parameter is given in MW. The related section for this parameter in the spreadsheet corresponding to the support timeframe can be found under the “DSM” sheet. Here each row represents another DSM potential for demand commodity \(c\) in site \(v\). The column with the header label “cap-max-do” represents the parameters \(\overline{K}_{yvc}^\text{down}\) of the corresponding DSM tuples.