Commit 379abd90 authored by Fabian Neumann's avatar Fabian Neumann
Browse files

update sheets

parent b9ddcf9e
No preview for this file type
......@@ -67,18 +67,29 @@
%=====================================================================
\begin{document}
\begin{flushright}
\textbf{Energy System Modelling }\\
{\small Karlsruhe Institute of Technology}\\
{\small Institute for Automation and Applied Informatics}\\
{\small Summer Term 2019}\\
\end{flushright}
\vspace{-0.5em}
\hrulefill
\vspace{0.3em}
\begin{center}
\textbf{\Large Energy System Modelling }\\
{SS 2018, Karlsruhe Institute of Technology}\\
{Institute for Automation and Applied Informatics}\\ [1em]
\textbf{\textsc{\Large Tutorial I: Time Series Analysis}}\\
\small Will be worked on in the exercise session on Wednesday, 11 July 2018.\\[1.5em]
\small Will be worked on in the exercise session on Thursday, 6 June 2019.\\[1.5em]
\end{center}
\vspace{1em}
\vspace{-0.8em}
\hrulefill
\vspace{0.8em}
%=============== ======================================================
\paragraph{Problem I.1 \normalsize (data analysis).}~\\
\paragraph{Problem I.1 (programming) -- Data Analysis}~\\
%=====================================================================
The following data are made available to you on the course home
......@@ -94,16 +105,17 @@ They describe (quasi-real) time series for wind power generation \(W(t)\), solar
\item For all three regions, plot the time series \(W(t)\),
\(S(t)\),
\(L(t)\) for a winter month (January) and a summer month (July).
\item Resample the time series to daily, weekly and monthly data points and visualise them in plots. Can you identify some recurring patterns?
\item For all three regions, plot the duration curve for \(W(t)\), \(S(t)\), \(L(t)\).
\item For all three regions, plot the probability density function of \(W(t)\), \(S(t)\), \(L(t)\).
\item Apply a (Fast) Fourier Transform to the the three time series $X \in W(t), S(t), L(t)$:
\item Recurring patterns of time series can also be visualised more rigorously by applying a Fourier Transform. Apply a (Fast) Fourier Transform to the the three time series $X \in W(t), S(t), L(t)$:
\begin{equation*}
\tilde{X}(\omega) = \int_0^T X(t) e^{\i \omega t} \,\ud t \, .
\end{equation*}
For all three regions, plot the energy spectrum
$\left| \tilde{X}(\omega) \right|^2$ as a function of
$\omega$. Discuss the relationship of these results with the
findings obtained in (b)-(e).
findings obtained in (b)-(f).
\item Normalize the time series to one, so that \(\expect{W} = \expect{S} = \expect{L} = 1\).
Now, for all three regions, plot the mismatch time series
\begin{equation*}
......@@ -112,12 +124,15 @@ They describe (quasi-real) time series for wind power generation \(W(t)\), solar
for the same winter and summer months as in (c). Choose
\(\alpha \in \{0.0, 0.5, 0.75, 1.0\}\) with \(\gamma = 1\),
and $\gamma \in \{0.5, 0.75, 1.0, 1.25, 1.5\} $ with $\alpha = 0.75$.
\item For all three regions, repeat (b)-(f) for the mismatch time series.
Which configuration entails the lowest mismatch on average and in extremes?
\item For all three regions, repeat (b)-(g) for the mismatch time series.
\end{enumerate}
\pagebreak
%=====================================================================
\paragraph{Problem I.2 \normalsize (analytical).}~\\
\paragraph{Problem I.2 (analytical) -- Effect of Seasonality}~\\
%=====================================================================
\begin{wrapfigure}[11]{r}{0pt}
......@@ -181,10 +196,12 @@ The time series are normalized to
\pagebreak
%=============== ======================================================
\paragraph{Remarks (Python pointers or where to start).}~\\
\paragraph{Remarks -- Introductions to Python}~\\
%=====================================================================
I found the python notebook based notes of Robert Johansson to be a
In the tutorials we will repeatedly work with the programming language Python. If you are unfamiliar with the language, you might find the following tutorials useful.\\
The Python notebook based notes of Robert Johansson are a
comprehensive kick starter\footnote{\url{http://nbviewer.jupyter.org/github/jrjohansson/scientific-python-lectures/tree/master/}}.
\begin{itemize}
\item
......@@ -195,14 +212,9 @@ comprehensive kick starter\footnote{\url{http://nbviewer.jupyter.org/github/jrjo
brush over it and stop reading early, i.e. if you read the word
\verb+classes+ you already know too much).
\item \href{http://nbviewer.jupyter.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-2-Numpy.ipynb}{Lecture~2} is the most important and closely connected to the exercises.
\item You might as well stop now, but if you \emph{are} hooked, I recommend \href{http://nbviewer.jupyter.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-3-Scipy.ipynb}{Lecture~3} for more physics and \href{http://nbviewer.jupyter.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-4-Matplotlib.ipynb}{Lecture~4} for prettier graphs.
\end{itemize}
Further reference material of help is:
\begin{itemize}
\item The website-books \url{http://python-course.eu/} (english), \url{http://python-kurs.eu/} (german); especially if you only \emph{very} quickly skim over the \href{https://www.python-course.eu/python3_course.php}{python3 tutorial} and switch over to the \href{http://www.python-course.eu/numerical_programming.php}{numerical python} stuff early; especially of interest might be the \href{http://www.python-course.eu/pandas.php}{pandas} bit in the end, which will make the exercises a breeze at the expense of yet another package to learn.
\item the exhaustive (overly so) official python tutorial\footnote{\url{https://docs.python.org/3.6/tutorial/}} available in \href{https://docs.python.org/3.6/tutorial/}{english} and \href{https://py-tutorial-de.readthedocs.org/}{german}; which will NOT introduce you to numpy or scipy.
\item You might as well stop now, but if you \emph{are} hooked, have a look at \href{http://nbviewer.jupyter.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-3-Scipy.ipynb}{Lecture~3} for more physics and \href{http://nbviewer.jupyter.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-4-Matplotlib.ipynb}{Lecture~4} for prettier graphs.
\end{itemize}
Further reference material of help is are the website-books \url{http://python-course.eu/} (english), \url{http://python-kurs.eu/} (german); especially of interest might be the \href{http://www.python-course.eu/pandas.php}{pandas} bit in the end, which will make the exercises a breeze at the expense of yet another package to learn.
\end{document}
This diff is collapsed.
This diff is collapsed.
......@@ -14,10 +14,11 @@
``` python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.style.use('bmh')
%matplotlib inline
```
%% Cell type:markdown id: tags:
......@@ -185,35 +186,56 @@
Extra: Show the first 5 lines (header) of the German data:
%% Cell type:code id: tags:
``` python
de.head()
```
%%%% Output: execute_result
wind solar load
time
2011-01-01 00:00:00 0.535144 0.0 46209.0
2011-01-01 01:00:00 0.580456 0.0 44236.0
2011-01-01 02:00:00 0.603605 0.0 42502.0
2011-01-01 03:00:00 0.614114 0.0 41479.0
2011-01-01 04:00:00 0.627257 0.0 39923.0
%% Cell type:markdown id: tags:
Extra: Check that wind, solar and load files are just differently organized datasets and it's the same data:
%% Cell type:code id: tags:
``` python
(wind['DE'] == de['wind']).all()
```
%%%% Output: execute_result
True
%% Cell type:markdown id: tags:
***
**(a) Check that the wind and solar time series are normalized to ’per-unit of installed capacity’,
and that the load time series is normalized to MW.**
%% Cell type:code id: tags:
``` python
wind.max()
```
%%%% Output: execute_result
DE 0.994588
GB 0.999998
EU 0.719222
dtype: float64
%% Cell type:markdown id: tags:
***
**(b) Calculate the maximum, mean, and variance of the time series. **
......
No preview for this file type
......@@ -70,19 +70,29 @@
%=====================================================================
\begin{document}
\begin{flushright}
\textbf{Energy System Modelling }\\
{\small Karlsruhe Institute of Technology}\\
{\small Institute for Automation and Applied Informatics}\\
{\small Summer Term 2019}\\
\end{flushright}
\vspace{-0.5em}
\hrulefill
\vspace{0.3em}
\begin{center}
\textbf{\Large Energy System Modelling }\\
{SS 2018, Karlsruhe Institute of Technology}\\
{Institute for Automation and Applied Informatics}\\ [1em]
\textbf{\textsc{\Large Tutorial II: Network Theory and Power Flow}}\\
\small Will be worked on in the exercise session on Friday, 13 July 2018.\\[1.5em]
\small Will be worked on in the exercise session on Friday, 7 June 2019.\\[1.5em]
\end{center}
\vspace{1em}
\vspace{-0.5em}
\hrulefill
\vspace{0.8em}
%=====================================================================
\paragraph{Problem II.1 \normalsize (network theory basics).}~\\
\paragraph{Problem II.1 (programming) -- network theory basics}~\\
%=====================================================================
\begin{wrapfigure}[10]{r}{0pt}
......@@ -119,7 +129,7 @@ Consider the simple network shown ins Figure \ref{fig:network}. Calculate in Pyt
\pagebreak
%=====================================================================
\paragraph{Problem II.2 \normalsize (linear power flow).}~\\
\paragraph{Problem II.2 (programming) -- linear power flow}~\\
%=====================================================================
......
......@@ -11,10 +11,11 @@
``` python
import numpy as np
import numpy.linalg
import pandas as pd
import matplotlib.pyplot as plt
plt.style.use('bmh')
%matplotlib inline
```
%% Cell type:markdown id: tags:
......
No preview for this file type
......@@ -86,18 +86,29 @@
%=====================================================================
\begin{document}
\begin{flushright}
\textbf{Energy System Modelling }\\
{\small Karlsruhe Institute of Technology}\\
{\small Institute for Automation and Applied Informatics}\\
{\small Summer Term 2019}\\
\end{flushright}
\vspace{-0.5em}
\hrulefill
\vspace{0.3em}
\begin{center}
\textbf{\Large Energy System Modelling }\\
{SS 2018, Karlsruhe Institute of Technology}\\
{Institute for Automation and Applied Informatics}\\ [1em]
\textbf{\textsc{\Large Tutorial III: Storage Optimisation}}\\
\small Will be worked on in the exercise session on Monday, 16 July 2018.\\[1.5em]
\small Will be worked on in the exercise session on Thursday, 13 June 2019.\\[1.5em]
\end{center}
\vspace{.5em}
\vspace{-0.5em}
\hrulefill
\vspace{0.8em}
%=============== ======================================================
\paragraph{Problem III.1 \normalsize (storage adequacy without losses).}~\\
\paragraph{Problem III.1 (analytical) -- storage optimisation without losses}~\\
%=====================================================================
\begin{wrapfigure}[11]{r}{0pt}
......@@ -119,34 +130,34 @@
\label{fig:variations}
\end{wrapfigure}
Imagine a two-node Germany. The South can install solar panels with a capacity factor $Cf_s$ to cover its load $L^S$, while the North uses wind turbines that have a capacity factor $Cf_w$
Imagine a two-node Germany. The South can install solar panels with a capacity factor $c_s$ to cover its load $L^S$, while the North uses wind turbines that have a capacity factor $c_w$
to feed their load $L^N$. Figure \ref{fig:variations} shows approximations to the daily and synoptic variations of per-unit wind and solar power generation \(G^{N}_{w}(t)\) and \(G^{S}_{s}(t)\) and a constant load \(L^{N/S}(t)\):
\vspace{-0.5em}
\begin{align*}
G_{w}^N(t) & = Cf_w(1+A_w \sin \omega_w t), \\
G_{s}^S(t) & = Cf_s(1+A_s \sin \omega_s t), \\
g_{w}^N(t) & = c_w(1+A_w \sin \omega_w t), \\
g_{s}^S(t) & = c_s(1+A_s \sin \omega_s t), \\
L^{N/S}(t) & = A_{l}^{N/S}.
\end{align*}
The capacity factors and constants are
\vspace{-0.25em}
\begin{align*}
A_{l}^{N} & = 20 \si{\giga\watt}, & A_{l}^{S} & = 30 \si{\giga\watt}, \\
Cf_w & = 0.3, & A_w & = 0.9, & \omega_w & = \frac{2\pi}{7 \text{d}}, \\
Cf_s & = 0.12, & A_s & = 1.0, & \omega_s & = \frac{2\pi}{1 \text{d}}. \\
c_w & = 0.3, & A_w & = 0.9, & \omega_w & = \frac{2\pi}{7 \text{d}}, \\
c_s & = 0.12, & A_s & = 1.0, & \omega_s & = \frac{2\pi}{1 \text{d}}.
\end{align*}
\vspace{-0.3em}
For now, assume the stores are lossless. Losses will be considered in Problem III.2.
For now, assume no power exchange between the regions and that the stores are lossless.
\begin{enumerate}[(a)]
% (a)
\item How much wind capacity $G^{N}_{w}$ must be installed in the North and solar capacity $G_s^S$ in the South?
\item How much wind capacity $G^{N}_{w}$ must be installed in the North and solar capacity $G_s^S$ in the South so that on average generation matches demand?
% (b)
\item What is the amount of store and dispatch power capacity $G_{st,store}=\max(-\Delta(t))$ and $G_{st,dispatch} = \max \Delta(t)$ the storage units must have in the North and in the South to account for the mismatch $\Delta(t)=L(t)-G_{w/s}\cdot G_{w/s}(t)$?
\item For a system to work, generation must match demand not on average but at each location and each point in time. Storages are one way of ensuring this constraint with variable renewable generation. What is the amount of store and dispatch power capacity $G_{st,store}=\max(-\Delta(t))$ and $G_{st,dispatch} = \max \Delta(t)$ the storage units must have in the North and in the South to account for the mismatch $\Delta(t)=L(t)-G_{w/s}\cdot g_{w/s}(t)$?
\newpage
% (c)
\item What is the amount of energy capacity one needs in the North and in the South?
......@@ -158,7 +169,7 @@ For now, assume the stores are lossless. Losses will be considered in Problem II
\item Should they choose hydrogen or battery storage? And how much would it cost them with the prices in Table 1? Is the South or the North paying more for their energy?
% (e)
\item What do you imagine would change if you considered the storage losses given in Table 1 in your results (a)-(d)? Support your statement with a graphical illustration.
\item What do you imagine would change if you considered the storage losses given in Table 1 in your results (a)-(d)?
\end{enumerate}
Now we lift the restriction against transmission and allow them to bridge their 500 km separation with a transmission line.
......@@ -168,33 +179,36 @@ Now we lift the restriction against transmission and allow them to bridge their
\item Estimate the cost-optimal technology mix by assuming wind energy in the North is only stored in the North and solar energy in the South is likewise only stored in the South! What would happen if you dropped that assumption?
\end{enumerate}
\begin{table}[]
\begin{table}[h]
\centering
\label{tab:prices}
\begin{tabular}{@{}lrrrr@{}}
\begin{tabular}{@{}lrrrrr@{}}
\toprule
& \eur per kW & \eur per kWh & $\eta_{store}$ & $\eta_{dispatch}$ \\ \midrule
Battery & 300 & 200 & 0.9 & 0.9 \\
Hydrogen & 750 & 10 & 0.75 & 0.58 \\
Solar & 600 & & & \\
Wind & 1200 & & & \\
Transmission line (500 km) & 200 & & & \\ \bottomrule
& \eur / kW & \eur / kWkm & \eur / kWh & $\eta_{store}$ & $\eta_{dispatch}$ \\ \midrule
Battery & 300 & & 200 & 0.9 & 0.9 \\
Hydrogen & 750 & & 10 & 0.75 & 0.58 \\
Solar & 600 & & & & \\
Wind & 1200 & & & & \\
Transmission line & & 0.4 & & & \\ \bottomrule
\end{tabular}
\caption{Investment costs of renewable energy infrastructure.}
\end{table}
\newpage
%=============== ======================================================
\paragraph{Problem III.2 \normalsize (storage optimization with PyPSA and losses).}~\\
\paragraph{Problem III.2 (programming) -- storage optimization with PyPSA and losses}~\\
%=====================================================================
Python for Power System Analysis (PyPSA) is a free software toolbox for optimising modern power systems that include features such as variable wind and solar generation, storage units, etc\.. Use the toolbox to extend on your findings in Problem III.1.
To get started, you should have a look at the minimal LOPF example\footnote{\url{https://www.pypsa.org/examples/minimal_example_lopf.html}}, understand the components documentation\footnote{\url{https://pypsa.org/doc/components.html}} of PyPSA as well as the underlying objective function and constraints in the LOPF documentation\footnote{\url{https://pypsa.org/doc/optimal_power_flow.html\#linear-optimal-power-flow}}.
\begin{enumerate}[(a)]
\item Build a network in PyPSA with the two buses North and South and attach the load at each bus and attach the wind and solar generators with availability according to $G^{N}_{w}(t) = Cf_w(1+A_w\sin \omega_w t)$ and $G^{S}_{s}(t) = Cf_s(1+A_s\sin \omega_s t)$ for a year (you have to call \texttt{set\_snapshots} for the year) and with \texttt{p\_nom\_extendable} set to True. As help you should have a look at the minimal LOPF example\footnote{\url{https://www.pypsa.org/examples/minimal_example_lopf.html}}, understand what the components documentation\footnote{\url{https://pypsa.org/doc/components.html}} of PyPSA gives you and that you can find the underlying objective function and constraints in the LOPF documentation\footnote{\url{https://pypsa.org/doc/optimal_power_flow.html\#linear-optimal-power-flow}}.
\item Attach extendable storage units at the North and the South! The storage units have to be modelled as a \texttt{H2-bus} (a bus with \texttt{carrier='H2'}) linked to the \texttt{AC-bus} North with a \texttt{Link} where \texttt{p\_nom\_extendable=True} with the \texttt{capital\_cost} of the power capacity and an also extendable \texttt{Store} with the \texttt{capital\_cost} of the energy capacity, for instance. The losses can be set on the links as \texttt{efficiency}.
\item Build a network in PyPSA with the two buses North and South and attach the load at each bus and attach the wind and solar generators with availability according to $$g^{N}_{w}(t) = c_w(1+A_w\sin \omega_w t)$$ $$g^{S}_{s}(t) = c_s(1+A_s\sin \omega_s t)$$ for a year and with \texttt{p\_nom\_extendable=True}.
\item Attach extendable storage units at the North and the South. The storage units have to be modelled as a \texttt{H2-bus} (a bus with \texttt{carrier='H2'}) linked to the \texttt{AC-bus} North via a \texttt{Link} where \texttt{p\_nom\_extendable=True} with the \texttt{capital\_cost} of the power capacity and an also extendable \texttt{Store} with the \texttt{capital\_cost} of the energy capacity, for instance. The losses can be set on the links as \texttt{efficiency}.
\item Run an investment optimization by calling the \texttt{lopf} function.
\item How do your results \texttt{objective} and \texttt{{generators,stores,links}.p\_nom\_opt} compare with the results of III.1(d)?
\item Now lift the restriction against transmission and allow North and South to bridge their 500 km separation with a transmission line. How does the cost optimal technology mix change compared to III.1(f)?
\item Replace the approximated availability time-series of the wind and the solar generators with the ones from \texttt{availability.csv} computed from reanalysis weather data and re-run the LOPF. Compare the results! Explain the differences by looking at the cumulative variations relative to the mean of the availability time-series!
\item How do your results \texttt{objective} and \texttt{{generators,stores,links}.p\_nom\_opt} compare with the results of III.1(d) in terms of the total system costs and the capacities of the generators, stores and links?
\item Now again lift the restriction against transmission and allow North and South to bridge their 500 km separation by adding a transmission line to the network. How does the cost optimal technology mix change compared to III.1(f)?
\item Replace the approximated availability time-series of the wind and the solar generators with more realistic data provided in \texttt{availability.csv} computed from reanalysis weather data and re-run the linear optimal power flow. Compare the results! Explain the differences by looking at the cumulative variations relative to the mean of the availability time-series!
\end{enumerate}
\end{document}
No preview for this file type
......@@ -101,23 +101,34 @@
%=====================================================================
\begin{document}
\begin{flushright}
\textbf{Energy System Modelling }\\
{\small Karlsruhe Institute of Technology}\\
{\small Institute for Automation and Applied Informatics}\\
{\small Summer Term 2019}\\
\end{flushright}
\vspace{-0.5em}
\hrulefill
\vspace{0.3em}
\begin{center}
\textbf{\Large Energy System Modelling }\\
{SS 2018, Karlsruhe Institute of Technology}\\
{Institute for Automation and Applied Informatics}\\ [1em]
\textbf{\textsc{\Large Tutorial IV: Electricity Markets}}\\
\small Will be worked on in the exercise session on Tuesday, 17 July 2018.\\[1.5em]
\small Will be worked on in the exercise session on Friday, 14 June 2019.\\[1.5em]
\end{center}
\vspace{1em}
\vspace{-0.5em}
\hrulefill
\vspace{0.8em}
%=============== ======================================================
\paragraph{Problem IV.1 \normalsize (Shadow prices of limits on consumption).}~\\
\paragraph{Problem IV.1 (analytical) -- shadow prices}~\\
%=====================================================================
Suppose that the utility for the electricity consumption of an industrial company is given by
\[
U(d) = 70d - 3d^2 ~[\textrm{\euro}/\si{\mega\watt\hour}] \quad , \quad d_{min}=2\leq d \leq d_{max}=10,
U(d) = 70d - 3d^2 ~[\textrm{\euro}/\si{\mega\watt\hour}] \quad , \quad d\in [d_{min},d_{max}]=[2,10],
\]
where $d$ is the demand in MW and $d_{min}, d_{max}$ are the minimum and maximum demand. \\
[1em]
......@@ -133,10 +144,10 @@ Assume that the company is maximising its net surplus for a given electricity pr
\end{enumerate}
%=============== ======================================================
\paragraph{Problem IV.2 \normalsize (Economic dispatch in a single bidding zone).}~\\
\paragraph{Problem IV.2 (analytical) -- Economic dispatch in a single bidding zone}~\\
%=====================================================================
Consider an electricity market with two generator types, one with the cost function $C_1(G_1)=c_1G_1$ with variable cost $c_1 = 20\emwh$, capacity $K_1 = 300\mw$ and a dispatch rate of $G_1$~[MW], and another with the cost function $C_2(G_2)=c_2G_2$ with variable cost $c_2=50\emwh$, capacity $K_2=400\mw$ and a dispatch rate of $G_2$~[MW]. The demand has utility function $U(D) = 8000D - 5D^2$~[\euro/h] for a consumption rate of $D$~[MW].
Consider an electricity market with two generator types, one with the cost function $C_1(g_1)=c_1g_1$ with variable cost $c_1 = 20\emwh$, capacity $G_1 = 300\mw$ and a dispatch rate of $g_1$~[MW], and another with the cost function $C_2(g_2)=c_2g_2$ with variable cost $c_2=50\emwh$, capacity $G_2=400\mw$ and a dispatch rate of $g_2$~[MW]. The demand-side has utility function $U(d) = 8000d - 5d^2$~[\euro/h] for a consumption rate of $d$~[MW].
\begin{enumerate}[(a)]
\item What are the objective function and constraints required for an optimisation problem to maximise short-run social welfare in this market?
\item Write down the Karush-Kuhn-Tucker (KKT) conditions for this problem.
......@@ -145,7 +156,7 @@ Consider an electricity market with two generator types, one with the cost funct
\newpage
%=============== ======================================================
\paragraph{Problem IV.3 \normalsize (efficient dispatch in a two-bus power system).}~\\
\paragraph{Problem IV.3 (analytical) -- efficient dispatch in a two-bus power system}~\\
%=====================================================================
\begin{figure}[h]
......@@ -158,8 +169,8 @@ Consider an electricity market with two generator types, one with the cost funct
Consider the two-bus power system shown in Figure \ref{test}, where the two nodes represent two markets, each with different total demand, and one generator at each node. At node A the demand is $D_A = 2000 \si{\mega\watt}$, whereas at node B the demand is $D_B = 1000 \si{\mega\watt}$. Furthermore, there is a transmission line with a capacity denoted by $F_{AB}$. The marginal cost of production of the generators connected to buses A and B are given respectively by the following expressions:
\begin{align*}
MC_A & = 20 + 0.02 G_A \hspace{1cm}\eur/\si{\mega\watt\hour} \\
MC_B & = 15 + 0.03 G_B \hspace{1cm} \eur/\si{\mega\watt\hour}
MC_A & = 20 + 0.03 G_A \hspace{1cm}\eur/\si{\mega\watt\hour} \\
MC_B & = 15 + 0.02 G_B \hspace{1cm} \eur/\si{\mega\watt\hour}
\end{align*}
Assume that the demands $D_A$ and $D_B$ are constant and insensitive to price, that energy is sold at its marginal cost of production and that there are no limits on the output of the generators.
......@@ -179,10 +190,4 @@ Assume that the demands $D_A$ and $D_B$ are constant and insensitive to price, t
\item Calculate the congestion surplus for case (v). For what values of the flow on the line between buses A and B is the congestion surplus equal to zero?
\end{enumerate}
%=============== ======================================================
% d\paragraph{Problem IV.4 \normalsize (bidding in africa with pypsa).}~\\
%=====================================================================
\end{document}
......@@ -17,8 +17,8 @@
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{bbm}
\usepackage{mathtools}
%\usepackage{bbm}
% \usepackage{mathtools}
% \usepackage{epsfig}
% \usepackage{grffile}
%\usepackage{times}
......@@ -104,12 +104,14 @@
\begin{center}
\textbf{\Large Energy System Modelling }\\
{SS 2018, Karlsruhe Institute of Technology}\\
{SS 2019, Karlsruhe Institute of Technology}\\
{Institute for Automation and Applied Informatics}\\ [1em]
\textbf{\textsc{\Large Solution IV: Electricity Markets}}\\
\small Will be worked on in the exercise session on Tuesday, 17 July 2018.\\[1.5em]
\end{center}
\blackrule[width=\hsize, height=1pt, depth=0.5ex]
\vspace{1em}
%=============== ======================================================
......@@ -296,10 +298,5 @@ Assume that the demands $D_A$ and $D_B$ are constant and insensitive to price, t
Congestion surplus is equal to zero when the flow $F_{AB}=0$, or when it is equal to the unconstrained value $F_{AB}=-900\mw$ (then $\l_A = \l_B$).
\end{enumerate}
%=============== ======================================================
%\paragraph{Solution IV.4 \normalsize (bidding in africa with pypsa).}~\\
%=====================================================================
\end{document}
No preview for this file type
......@@ -86,18 +86,31 @@
%=====================================================================
\begin{document}
\begin{flushright}
\textbf{Energy System Modelling }\\
{\small Karlsruhe Institute of Technology}\\
{\small Institute for Automation and Applied Informatics}\\
{\small Summer Term 2019}\\
\end{flushright}
\vspace{-0.5em}
\hrulefill
\vspace{0.3em}
\begin{center}
\textbf{\Large Energy System Modelling }\\
{SS 2018, Karlsruhe Institute of Technology}\\
{Institute for Automation and Applied Informatics}\\ [1em]
\textbf{\textsc{\Large Tutorial V: Investment and Large Power Systems\\}}
\small Will be worked on in the exercise session on Wednesday, 18 July 2018.\\[1.5em]
\textbf{\textsc{\Large Tutorial V: Investment and Large Power Systems}}\\
\small Will be worked on in the exercise session on Thursday, 27 June 2019.\\[1.5em]
\end{center}
\vspace{-0.5em}
\hrulefill
\vspace{0.8em}
\vspace{1em}
%=============== ======================================================
\paragraph{Problem V.1 \normalsize (investment, generator and transmission constraints).}~\\
\paragraph{Problem V.1 (analytical) -- investment in generators and transmission lines}~\\
%=====================================================================
Two generators are connected to the grid by a single transmission
......@@ -116,8 +129,9 @@ electricity $\pi$ is never below 15 \euro/MWh and averages 20
\item A new high temperature conductor technology can increase the capacity of the transmission line by 200~MW. At what annualised capital cost would it be efficient to invest in this new technology?
\end{enumerate}
\newpage
%=============== ======================================================
\paragraph{Problem V.2 \normalsize (duration curves and generation investment).}~\\
\paragraph{Problem V.2 (anal./prog.) -- duration curves and generation investment}~\\
%=====================================================================
Let us suppose that demand is inelastic. The demand-duration curve is given by $D=1000-1000z$. Suppose that there is a choice between coal and gas generation plants with a variable cost of 2 and 12~\euro/MWh, together with load-shedding at 1012\euro/MWh. The fixed costs of coal and gas generation are 15 and 10~\euro/MWh, respectively.
......@@ -131,11 +145,12 @@ Let us suppose that demand is inelastic. The demand-duration curve is given by $
\item While it can be shown that generators recover their cost in theory, name reasons why this might not be the case in reality.
\end{enumerate}
\newpage
%=============== ======================================================
\paragraph{Problem V.3 \normalsize (generator dispatch with SciGRID).}~\\
\paragraph{Problem V.3 (programming) -- generator dispatch with SciGRID}~\\
%=====================================================================
SciGRID\footnote{\url{https://www.scigrid.de/pages/general-information.html}} is a project that provides an open source reference model of the European transmission networks. In this tutorial, other than previous simple examples, you will examine the economic dispatch of many generators all over Germany and its effect on the power system. The data files for this example and a populated Jupyter notebook are provided on the course homepage\footnote{\url{https://nworbmot.org/courses/esm-2018/}} or in your tutorial package. The dataset comprises time series for loads and the availability of renewable generation at an hourly resolution for the year 2011. Feel free to choose a day to your liking; we will later discuss your different outcomes in groups. A few days might be of particular interest: \texttt{2011-01-31} was the least windy day of 2011, \texttt{2011-02-05} was a stormy day with lots of wind energy production, \texttt{2011-07-12} the weather 7 years ago was a very sunny day, and \texttt{2011-09-06} was a windy and sunny autumn day.
SciGRID\footnote{\url{https://www.scigrid.de/pages/general-information.html}} is a project that provides an open source reference model of the European transmission networks. In this tutorial, other than previous simple examples, you will examine the economic dispatch of many generators all over Germany and its effect on the power system. The data files for this example and a populated Jupyter notebook are provided on the course homepage\footnote{\url{https://nworbmot.org/courses/esm-2018/}} or in your tutorial package. The dataset comprises time series for loads and the availability of renewable generation at an hourly resolution for the year 2011. Feel free to choose a day to your liking: \texttt{2011-01-31} was the least windy day of 2011, \texttt{2011-02-05} was a stormy day with lots of wind energy production, \texttt{2011-07-12} was a very sunny day, and \texttt{2011-09-06} was a windy and sunny autumn day.
\begin{enumerate}[(a)]
\item Describe the network as well as its regional and temporal characteristics.
......
This diff is collapsed.
This diff is collapsed.
No preview for this file type
......@@ -86,25 +86,36 @@
%=====================================================================
\begin{document}
\begin{flushright}
\textbf{Energy System Modelling }\\
{\small Karlsruhe Institute of Technology}\\
{\small Institute for Automation and Applied Informatics}\\
{\small Summer Term 2019}\\
\end{flushright}
\vspace{-0.5em}
\hrulefill
\vspace{0.3em}
\begin{center}
\textbf{\Large Energy System Modelling }\\
{SS 2018, Karlsruhe Institute of Technology}\\
{Institute for Automation and Applied Informatics}\\ [1em]
\textbf{\textsc{\Large Tutorial VI: Clustering Large Power Systems\\}}
\small Will be worked on in the exercise session on Wednesday, 18 July 2018.\\[1.5em]
\textbf{\textsc{\Large Tutorial VI (Bonus): Clustering Large Power Systems}}\\
\small This is a bonus tutorial and will not be covered by any exercise session.\\[1.5em]
\end{center}