Commit 5b02f941 authored by sp2668's avatar sp2668

Initial commit

parents
\documentclass[11pt,a4paper,fleqn]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[colorlinks=true, citecolor=blue, linkcolor=blue, filecolor=blue,urlcolor=blue]{hyperref}
\hypersetup{
colorlinks = true,
citecolor = gray
}
\usepackage{wrapfig}
\usepackage{caption}
\captionsetup{format=plain, indent=5pt, font=footnotesize, labelfont=bf}
\setkomafont{disposition}{\scshape\bfseries}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{bbm}
\usepackage{mathtools}
% \usepackage{epsfig}
% \usepackage{grffile}
%\usepackage{times}
\usepackage{palatino}
\usepackage{mathpazo}
\setlength\parindent{0pt}
%\usepackage{babel}
\usepackage{tikz}
\usepackage{paralist}
\usepackage{color}
\usepackage[top=3cm, bottom=2.5cm, left=2.5cm, right=3cm]{geometry}
%\setlength{\mathindent}{1ex}
% PGF
\usepackage{pgfplots}
\pgfplotsset{
compat=newest,
every axis/.append style={small, minor tick num=3}
}
%\usepackage[backend=biber,style=alphabetic,url=false,doi=false]{biblatex}
%\addbibresource{sheet01_biber.bib}
% \addbibresource{/home/coroa/papers/refs.bib}
\newcommand{\id}{\mathbbm{1}}
\newcommand{\NN}{{\mathbbm{N}}}
\newcommand{\ZZ}{{\mathbbm{Z}}}
\newcommand{\RR}{{\mathbbm{R}}}
\newcommand{\CC}{{\mathbbm{C}}}
\renewcommand{\vec}[1]{{\boldsymbol{#1}}}
\renewcommand{\i}{\mathrm{i}}
\newcommand{\expect}[1]{\langle\,#1\,\rangle}
\newcommand{\e}[1]{\ensuremath{\,\mathrm{#1}}}
\renewcommand{\O}{\mc{O}}
\newcommand{\veps}{\varepsilon}
\newcommand{\ud}[1]{\textup{d}#1\,}
\newcommand{\unclear}[1]{\color{green}#1}
\newcommand{\problem}[1]{\color{red}#1}
%=====================================================================
%=====================================================================
\begin{document}
\begin{center}
\textbf{\Large Energy System Modelling }\\
{SS 2018, Karlsruhe Institute of Technology}\\
{Institute of 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]
\end{center}
\vspace{1em}
%=============== ======================================================
\paragraph{Problem I.1 \normalsize (data analysis).}~\\
%=====================================================================
The following data are made available to you on the course home
page\footnote{\url{https://nworbmot.org/courses/complex_renewable_energy_networks/}}:
\begin{verbatim}
de_data.csv, gb_data.csv, eu_data.csv, (wind.csv, solar.csv, load.csv).
\end{verbatim}
They describe (quasi-real) time series for wind power generation \(W(t)\), solar power generation \(S(t)\) and load \(L(t)\) in Great Britain (GB), Germany (DE) and Europe (EU). The time step is \(1\e{h}\) and the time series are several years long.
\begin{enumerate}[(a)]
\item Check that the wind and solar time series are normalized to 'per-unit of installed \mbox{capacity}', and that the load time series is normalized to MW.
\item For all three regions, calculate the maximum, mean, and variance of the time series.
\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 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)$:
\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{\Delta}(\omega) \right|^2$ as a function of
$\omega$. Discuss the relationship of these results with the
findings obtained in (b)-(e).
\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*}
\Delta(t) = \gamma \alpha W(t) + \gamma (1 - \alpha) S(t) - L(t)
\end{equation*}
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.
\end{enumerate}
\pagebreak
%=====================================================================
\paragraph{Problem I.2 \normalsize (analytical).}~\\
%=====================================================================
\begin{wrapfigure}[11]{r}{0pt}
\begin{tikzpicture}
\begin{axis}[
domain=0:1, no markers, samples=200
% xlabel = $x$, ylabel = $f(x)$
]
\addplot+[dashed] {1 + 0.4 * cos(deg(2*pi*x))}; \label{figref:w}
\addplot+[densely dotted] {1 - 0.75 * cos(deg(2*pi*x))}; \label{figref:s}
\addplot+[solid] {1 + 0.1 * cos(deg(2*pi*x))}; \label{figref:l}
\addplot+[dotted] {1}; \label{figref:1}
\end{axis}
\end{tikzpicture}
\caption{Seasonal variations of wind and solar power generation
\(W(t)\)
\autoref{figref:w} and \(S(t)\)
\autoref{figref:s}, and load \(L(t)\)
\autoref{figref:l} around the mean \(1\) \ref{figref:1}.}
\label{fig:seasonalvariations}
\end{wrapfigure}
Figure \ref{fig:seasonalvariations} shows approximations to the
seasonal variations of wind and solar power generation \(W(t)\)
and \(S(t)\) and load \(L(t)\):
\begin{align*}
W(t) & = 1 + A_W \cos \omega t \\
S(t) & = 1 - A_S \cos \omega t \\
L(t) & = 1 + A_L \cos \omega t
\end{align*}
The time series are normalized to
\(\expect{W} = \expect{S} = \expect{L} := \frac{1}{T} \int_0^T L(t)
\ud t = 1\), and the constants have the values
\begin{align*}
\omega & = \frac{2\pi}{T} & T & = 1 \e{year} \\
A_W & = 0.4 & A_S & = 0.75 & A_L & = 0.1
\end{align*}
~\\
\begin{enumerate}[(a)]
\item What is the seasonal optimal mix \(\alpha\), which minimizes
\begin{equation*}
\expect{\left[ \alpha W(\cdot) + (1-\alpha) S(\cdot) - L(\cdot) \right]^2} = \frac1T \int_0^T \left[ \alpha W(t) + (1-\alpha) S(t) - L(t) \right]^2 \,\mathrm d t
,
\end{equation*}
\item How does the optimal mix change if we replace \(A_L \to -A_L\)?
\item Now assume that there is a seasonal shift in the wind signal
\begin{equation*}
W(t) = 1 + A_W \cos \left( \omega t - \phi \right)
.
\end{equation*}
Express the optimal mix \(\alpha\) as a function of \(\phi\).
\item A constant conventional power source \(C(t) = 1 - \gamma\) is now introduced. The mismatch then becomes
\begin{equation}
\Delta(t) = \gamma \left[ \alpha W(t) + (1-\alpha) S(t) \right] + C(t) - L(t)
.
\end{equation}
Analogously to (a), find the optimal mix \(\alpha\) as a function of \(0 \leq \gamma \leq 1\), which minimizes \(\expect{\Delta^2}\).
\end{enumerate}
\pagebreak
%=============== ======================================================
\paragraph{Remarks (Python pointers or where to start).}~\\
%=====================================================================
I found the python notebook based notes of Robert Johansson to be a
comprehensive kick starter\footnote{\url{http://nbviewer.jupyter.org/github/jrjohansson/scientific-python-lectures/tree/master/}}.
\begin{itemize}
\item
\href{http://nbviewer.jupyter.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-0-Scientific-Computing-with-Python.ipynb}{Lecture~0} covers installation and getting ready.
\item
\href{http://nbviewer.jupyter.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-1-Introduction-to-Python-Programming.ipynb}{Lecture~1}
zooms through most basic general python control structures (only
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{http://www.python-course.eu/course.php}{python2 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/2/tutorial/}} available in \href{https://docs.python.org/2/tutorial/}{english} and \href{https://py-tutorial-de.readthedocs.org/de/python-3.3/index.html}{german}; which will NOT introduce you to numpy or scipy.
\end{itemize}
%\printbibliography
\end{document}
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Energy System Modelling - Solutions to Tutorial II.1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Imports"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import scipy.integrate as integrate\n",
"from scipy.optimize import minimize\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Parameters"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [],
"source": [
"A_w = 0.4\n",
"A_s = 0.75\n",
"A_l = 0.1\n",
"T = 1\n",
"phi = 0"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Functions"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"def w(t, phi=0):\n",
" return 1 + A_w * np.cos(2*t*np.pi/T-phi)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"def s(t):\n",
" return 1 - A_s * np.cos(2*t*np.pi/T)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"def l(t):\n",
" return 1 + A_l * np.cos(2*t*np.pi/T)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"def c(gamma):\n",
" return 1 - gamma"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [],
"source": [
"def mismatch_a(alpha, t, phi=phi):\n",
" return alpha*w(t, phi) + (1-alpha)*s(t)-l(t)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"def mismatch_c(alpha, gamma, t):\n",
" return gamma*(alpha*w(t) + (1-alpha)*s(t))+c(t)-l(t)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [],
"source": [
"def objective_a(alpha):\n",
" return 1/T * integrate.quad(lambda t: mismatch_a(alpha,t,phi=phi)**2, 0, T)[0]"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"def objective_c(alpha):\n",
" return 1/T * integrate.quad(lambda t: mismatch_c(alpha,gamma,t)**2, 0, T)[0]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plots"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"x = np.arange(0,1,0.01)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Availability time series"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"wind = plt.plot(x, w(x), label='wind')\n",
"solar = plt.plot(x, s(x), label='solar')\n",
"load = plt.plot(x, l(x), label='load')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Mismatch"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"alphas = [0, 0.25, 0.5, 0.75, 1]\n",
"for a in alphas:\n",
" plt.plot(x, mismatch_a(a,x),label='wind share = '+str(a))\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Solution"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"***\n",
"**(a) What is the seasonal optimal mix $\\alpha$, which minimizes**\n",
"$$\\langle\\left[ \\alpha W(\\cdot) + (1-\\alpha) S(\\cdot) - L(\\cdot) \\right]^2 \\rangle = \\frac1T \\int_0^T \\left[ \\alpha W(t) + (1-\\alpha) S(t) - L(t) \\right]^2 \\,\\mathrm d t$$"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Optimization terminated successfully.\n",
" Current function value: 0.000000\n",
" Iterations: 37\n",
" Function evaluations: 74\n"
]
},
{
"data": {
"text/plain": [
"0.739130432128907"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"alpha = minimize(objective_a, x0=0, method='nelder-mead', options={'xtol': 1e-8, 'disp': True}).x[0]\n",
"alpha"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"***\n",
"**(b) How does the optimal mix change if we replace $A_L \\to -A_L$?**"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"A_l *= (-1)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Optimization terminated successfully.\n",
" Current function value: 0.000000\n",
" Iterations: 36\n",
" Function evaluations: 72\n"
]
},
{
"data": {
"text/plain": [
"0.5652173919677739"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"alpha = minimize(objective_a, x0=0, method='nelder-mead', options={'xtol': 1e-8, 'disp': True}).x[0]\n",
"alpha"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"A_l *= (-1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"***\n",
"**(c) Now assume that there is a seasonal shift in the wind signal\n",
"$$ W(t) = 1 + A_W \\cos \\left( \\omega t - \\phi \\right).$$\n",
"Express the optimal mix $\\alpha$ as a function of $\\phi$.**"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f6a03f0f5c0>]"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"phis = np.arange(0,2*np.pi,np.pi/100)\n",
"alphas = []\n",
"for p in phis:\n",
" phi = p\n",
" bnds = [(0, 1)]\n",
" alpha = minimize(objective_a, x0=0, method='TNC', bounds=bnds, options={'xtol': 1e-8}).x[0]\n",
" alphas.append(alpha)\n",
" \n",
"plt.plot(phis, alphas)"
]
},
{
"cell_type": "markdown",
"metadata": {},