Problem 14.6

Problem 14.6#

Fundamentals of Solar Cells and Photovoltaic Systems Engineering

Solutions Manual

Problem 14.6

The time series included in the online data repository of this book represents the hourly capacity factor for wind energy in Spain \(g^{W,Spain}_t\) and Denmark \(g^{W,Denmark}_t\). Assuming a constant electricity demand of 1 GW in every country:

(a) Calculate the required wind power capacity in every country to cover, on average, the electricity demand.

(b) Calculate the required backup energy and backup power capacity to ensure that demand is covered every hour, assuming the capacity found in (a).

(c) If we assume that Spain and Denmark can be connected through an ideal interconnection (without any losses) and the installed capacities are those calculated in section (a), calculate the required backup energy and backup power capacity to ensure the hourly supply of electricity demand in both countries.

We will use the packages numpy to operate with arrays and matplotlib.pyplot to plot the results

import pandas as pd
import numpy as np
import matplotlib.pyplot as  plt
CF=pd.read_csv('data/onshore_wind.csv',
                      sep=';', index_col=0)
CF.index=pd.to_datetime(CF.index)

The required capacity to cover on average electricity demand in Denmark can calculated as

CF_ave_D = CF['DNK'].mean()
G_DNK = 1/CF_ave_D
print(str(round(G_DNK,1)) + ' GW of wind power needs to be installed in Denmark.' )
3.6 GW of wind power needs to be installed in Denmark.

and for Spain

CF_ave_S = CF['ESP'].mean()
G_ESP = 1/CF_ave_S
print(str(round(G_ESP,1)) + ' GW of wind power needs to be installed in Spain.' )
4.3 GW of wind power needs to be installed in Spain.

(b) Calculate the required backup energy and backup power capacity to ensure that demand is covered every hour.

We can define the mismatch as the difference between the renewable generation and electricity load.

\(\Delta_t = g^W_t- d_t\)

The total backup energy can be calculated as the sum of the negative mismatch.

Delta = np.array([x-1 for x in G_DNK*CF['DNK']])
np.sum(Delta[Delta<0])
-2954.3130287540516

Denmark requires 2,954 GWh of backup energy.

The capacity for backup generation can be calculated as the maximum of the negative mismatch values.

np.max(np.abs(Delta[Delta<0]))
0.9923385545773723

Denmark requires 0.99 GW of backup capacity, i.e., the required capacity is equal to the demand because there would be situations in which the renewable contribution will be zero.

For Spain

Delta = np.array([x-1 for x in G_ESP*CF['ESP']])
np.sum(Delta[Delta<0])
-2096.683115772022

Spain requires 2,096 GWh of backup energy.

np.max(np.abs(Delta[Delta<0]))
0.9003975309781712

Spain requires 0.9 GW of backup capacity, because there are not situations with wind capacity factor equal to zero in Spain.

min(CF['ESP'])*G_ESP
0.09960246902182877

(c) If we assume that Spain and Denmark can be connected through an ideal interconnection (without any losses) and installed capacities are those calculated in section (a). Calculate the required wind power capacity, backup energy and backup power capacity to ensure the hourly supply of demand in both countries.

The mismatch can be defined now as \(\Delta_t = g^{W,Denmark}_t + g^{W,Spain}_t - 2\)

The total backup energy can be calculated as the sum of the negative mismatch.

Delta = np.array([x+y-2 for x,y in zip(G_DNK*CF['DNK'],G_ESP*CF['ESP'])])
np.sum(Delta[Delta<0])
-3456.6942006056606

The two countries will require 3,456 GWh of backup energy, which is significantly lower than the sum of the backup energy that they would required if operated independently.

The capacity for backup generation can be calculated as the maximum of the negative mismatch values.

np.max(np.abs(Delta[Delta<0]))
1.7241951029263909

The two countries require 1.72 GW of backup capacity, which is lower than the backup capacity that they would require if operated independently.