Energy Parameters
SLiDE.partition_seds
— Functionpartition_seds(dataset::Dataset, d::Dict, set::Dict)
This function prepares SEDS energy and electricity data for the Energy-Environment Module
Arguments
dataset::Dataset
identifierd::Dict
of model parametersset::Dict
of Arrays describing parameter indices (years, regions, goods, sectors, etc.)
Returns
d::Dict
of SEDS energy and electricity dataset::Dict
of Arrays describing parameter indices (years, regions, goods, sectors, etc.)maps::Dict
of default mapping schematics and constants
SLiDE.partition_elegen!
— FunctionElectricity generation by source.
\[\bar{ele}_{yr,r,src,sec} = \left\{seds\left( yr,r,src,sec \right) \;\vert\; yr, \, r, \, (ff,re) \in src, \, sec = ele \right\}\]
For fossil fuels, use heatrate to convert as follows:
\[\bar{ele}_{yr,r,ff\in src,sec} \text{ [billion kWh]} = 10^3 \cdot \dfrac{\bar{ele}_{yr,r,ff\in src,sec} \text{ [trillion btu]}} {\bar{heatrate}_{yr,src} \text{ [btu/kWh]}}\]
SLiDE.partition_energy!
— Function\[\bar{energy}_{yr,r,src,sec} = \left\{seds\left( yr,r,src,sec \right) \;\vert\; yr, \, r, \, e \in src, \, ed \in sec \right\}\]
SLiDE._partition_energy_supply
adds supply information from the electricity generation dataset output by SLiDE.partition_elegen!
. The following functions are used to calculate values or make adjustments to values in the energy dataset. These operations must occur in the following order:
SLiDE._partition_energy_supply
— Function\[\bar{supply}_{yr,r,src=ele} = \sum_{src} \bar{ele}_{yr,r,src}\]
SLiDE._partition_energy_ref
— Function\[\bar{ref}_{yr,r,src=ele} \text{ [billion kWh]} = \bar{ref}_{yr,r,src=ele} \text{ [trillion btu]} \cdot \dfrac{\bar{ind}_{yr,r,src=ele} \text{ [billion kWh]}} {\bar{ind}_{yr,r,src=ele} \text{ [trillion btu]}}\]
SLiDE._partition_energy_ind
— Function\[\bar{ind}_{yr,r,src=(ff,ele)} = \bar{ind}_{yr,r,src=(ff,ele)} - \bar{ref}_{yr,r,src=(ff,ele)}\]
SLiDE._partition_energy_price
— Function\[\begin{aligned} \bar{ff}_{yr,r,sec=ele} \text{ [USD/million btu]} &= 10^3 \cdot \dfrac{\bar{ff}_{yr,r,sec=ele} \text{ [billion USD]}} {\bar{ff}_{yr,r,sec=ele} \text{ [trillion btu]}} \\ \bar{ele}_{yr,r,sec} \text{ [USD/thousand kWh]} &= 10^3 \cdot \dfrac{\bar{ele}_{yr,r,sec} \text{ [billion USD]}} {\bar{ele}_{yr,r,sec} \text{ [billion kWh]}} \end{aligned}\]
SLiDE._partition_cprice!
— Functioncprice(yr,r)
[USD per million btu], crude oil price
\[\begin{aligned} \tilde{k}_{yr,r,src} \text{ [million btu/barrel]} &= \left\{ seds \left( yr, r, src, sec \right) \;\vert\; yr,\, r,\, src=cru,\, sec=supply \right\} \\ \tilde{p}_{yr,r,src,sec} \text{ [USD/million btu]} &= \dfrac {\bar{crude oil}_{yr} \text{ [USD/barrel]}} {\tilde{k}_{yr,r,src} \text{ [million btu/barrel]}} \circ \vec{1}_{demsec\in sec} \end{aligned}\]
Fill zero (yr,r,src=cru,sec)
values using $\bar{p}_{yr,src=cru,sec}$ as computed by SLiDE.impute_mean
, under the condition that crude oil quantity is defined:
\[\tilde{q}^\star_{yr,r,src=cru,sec} \text{ [trillion btu]} = \left\{ seds \left( yr, r, src, sec \right) \;\vert\; yr,\, r,\, src=cru,\, demsec\in sec,\ \right\}\]
\[\tilde{p}_{yr,r,src,sec} \text{ [USD/million btu]} = \begin{cases} \tilde{p}_{yr,r,src=cru,sec} & \tilde{p}_{yr,r,src,sec} \\ \bar{p}_{yr,src=cru,sec} \circ \vec{1}_{r} & \tilde{p}_{yr,r,src,sec}, \tilde{q}^\star_{yr,r,src=cru,sec} > 0 \end{cases}\]
SLiDE._partition_pedef!
— Functionpedef(yr,r,src)
, average energy demand price. This parameter can be calculated from prices $\tilde{p}_{yr,r,src,sec}$ and quantities $\tilde{q}_{yr,r,src,sec}$ for the following ($src$,$sec$).
\[\left(\tilde{p}, \tilde{q}\right)_{yr,r,src,sec} = \left\{ seds \left( yr, r, src, sec \right) \;\vert\; yr,\, r,\, (ff,ele)\in src,\, demsec\in sec \right\}\]
Average energy demand price $\hat{p}_{yr,r,src}$ is calculated as its $\tilde{q}_{yr,r,src,sec}$-weighted sectoral aggregate:
\[\hat{p}_{yr,r,src} = \dfrac {\sum_{sec} \left( \tilde{p}_{yr,r,src,sec} \cdot \tilde{q}_{yr,r,src,sec} \right)} {\sum_{sec} \tilde{q}_{yr,r,src,sec}}\]
Fill missing (yr,r,src)
values using $\bar{p}_{yr,src}$, as computed by SLiDE.impute_mean
, weighted by $\sum_{sec} q_{yr,r,src,sec}$.
\[\tilde{pedef}_{yr,r,src} = \begin{cases} \tilde{pedef}_{yr,r,src} & \sum_{sec} q_{yr,r,src,sec} \neq 0 \\ \bar{pedef}_{yr,src} & \sum_{sec} q_{yr,r,src,sec} = 0 \end{cases}\]
SLiDE._partition_pe0!
— Functionpe0(yr,r,src,sec)
, energy demand prices
\[\begin{aligned} \tilde{p}_{yr,r,src\neq cru,sec} &= \left\{ energy \left( yr, r, src, sec \right) \;\vert\; yr,\, r,\, src,\, demsec\in sec \right\} \\&\\ \tilde{p}_{yr,r,src,sec} &= \begin{cases} \tilde{p}_{yr,r,src\neq cru,sec} & src\neq cru, \tilde{p}_{yr,r,src\neq cru,sec}\neq 0 \\ \hat{p}_{yr,r,src\neq cru} \circ \vec{1}_{sec} & src\neq cru, \tilde{p}_{yr,r,src\neq cru} = 0 \\&\\ \tilde{p}_{yr,r,src=cru,sec} & src=cru \end{cases} \end{aligned}\]
with $\tilde{p}_{yr,r,src=cru,sec}$ calculated by SLiDE._partition_cprice!
and $\hat{p}_{yr,r,src=cru}$ calculated by SLiDE._partition_pedef!
SLiDE._partition_ps0!
— Functionps0(yr,src)
, crude oil and natural gas supply prices
\[\begin{aligned} \bar{ps}_{yr,src} &= \min_{r,sec} \tilde{p}_{yr,r,src,sec} \\ \bar{ps}_{r,src=cru} &= \frac{1}{2}\bar{ps}_{r,src=oil} \end{aligned}\]
with $\tilde{pe}_{yr,r,src,sec}$ calculated by SLiDE._partition_pe0!
.
SLiDE._partition_prodval!
— Functionprodval(yr,r,src)
, production value (using supply prices)
\[\begin{aligned} p_{yr,src} \text{ [USD/million btu]} &= \left\{ \bar{ps}_{yr,src} \;\vert\; [cru,gas] \in src \right\} \\ \tilde{q}_{yr,r,src} \text{ [trillion btu]} &= \left\{ seds \left( yr, r, src, sec \right) \;\vert\; yr,\, r,\, [cru,gas]\in src,\, sec=supply \right\} \\ prodval_{yr,r,src} \text{ [billion USD]} &= \frac{1}{10^3} \cdot p_{yr,src} \text{ [USD/million btu]} \cdot prodbtu_{yr,r,src} \text{ [trillion btu]} \end{aligned}\]
with $\bar{ps}_{yr,src}$ calculated by SLiDE._partition_ps0!
.
SLiDE._partition_shrgas!
— Functionshrgas(yr,r,src)
, regional share of production for gas extraction
\[\delta_{yr,r,src} = \dfrac{prodval_{yr,r,src}}{\sum_{src} prodval_{yr,r,src}}\]
Fill missing (yr,src)
values using $\bar{\delta}_{yr,src}$ as computed by SLiDE.impute_mean
, under the condition that there is some non-zero supply of goods from the cng
sector:
\[ys0^\star_{yr,r,src} = \sum_{g} ys_{yr,r,s=cng,g} \circ \vec{1}_{demsec \in sec} > 0\]
\[\delta_{yr,r,src} = \begin{cases} \delta_{yr,r,src} & \sum_{src}prodval_{yr,r,src} \neq 0 \\ \bar{\delta}_{yr,r,src} & \sum_{src}prodval_{yr,r,src}=0,\, ys0^\star_{yr,r,src} > 0 \end{cases}\]
Ensure all sectoral shares sum to 1.
\[\delta_{yr,r,src} = \dfrac{\delta_{yr,r,src}}{\sum_{src}\delta_{yr,r,src}}\]
SLiDE._partition_netgen!
— Functionnetgen(yr,r), net interstate electricity flow
This can be computed using both SEDS data and regional parameters. Using SEDS data:
\[\begin{aligned} p \text{ [USD/thousand kWh]} &= \left\{ \bar{ps}_{yr,src} \;\vert\; src=ele \right\} \\ q \text{ [billion kWh]} &= \left\{ seds(yr,r,src,sec) \;\vert\; src=ele,\, sec=netgen \right\} \end{aligned}\]
with $\bar{ps}_{yr,src}$ calculated by SLiDE._partition_ps0!
.
\[v_{yr,r} \text{ [billion USD]} = \dfrac{1}{10^3} \cdot \dfrac {p \text{ [USD/thousand kWh]}} {q \text{ [billion kWh]}}\]
Using regional parameters:
\[v_{yr,r} = nd_{yr,r,g=ele} - xn_{yr,r,g=ele}\]
SLiDE._partition_trdele!
— Functiontrdele(yr,r,g=ele,t)
, electricity imports-exports to/from U.S.
\[\tilde{trdele}_{yr,r,t} \text{ [billion usd]} = \left\{ seds \left( yr, r, src, sec \right) \;\vert\; yr,\, r,\, src=ele,\, [imports,exports]\in sec \right\}\]
SLiDE._partition_pctgen!
— Functionpctgen(yr,r,src,sec)
, percent of electricity generation
\[pctgen_{yr,r,src} = \left\{ \dfrac{elegen_{yr,r,src}}{\sum_{src} elegen_{yr,r,src}} \;\vert\; ff \in src \right\} \circ \vec{1}_{sec=ele}\]
SLiDE._partition_eq0!
— Functioneq0(yr,r,src,sec)
, energy demand
\[\tilde{eq}_{yr,r,src,sec} = \left\{ energy \left( yr, r, src, sec \right) \;\vert\; yr,\, r,\, e\in src,\, demsec\in sec \right\}\]
SLiDE._partition_ed0!
— Functioned0(yr,r,src,sec)
, energy demand
\[\tilde{ed}_{yr,r,src,sec} = \dfrac {\tilde{pe}_{yr,r,src,sec}} {\tilde{eq}_{yr,r,src,sec}}\]
SLiDE._partition_emarg0!
— Functionemarg0(yr,r,src,sec)
, margin demand for energy markups
\[\tilde{emarg}_{yr,r,src,sec} = \dfrac {\tilde{pe}_{yr,r,src,sec} - \tilde{ps}_{yr,src}} {\tilde{eq}_{yr,r,src,sec}}\]
SLiDE._partition_ned0!
— Functionned0(yr,r,src,sec)
, net energy demand
\[\tilde{ned}_{yr,r,src,sec} = \tilde{ed}_{yr,r,src,sec} - \tilde{emarg}_{yr,r,src,sec}\]