When I moved to Denmark a year ago to work at a renewable energy startup, one of the first things I heard was that the wind blows when the sun doesn’t shine in Denmark. This inverse correlation means a mix of solar and wind production could provide consistent electricity throughout the year. At the time I wrote this off as too good to be true, but now I want to revisit that bold statement (and its hidden support of Denmark’s nuclear-hostile policies) to see how accurate it is.
Wind and solar production seasonal trends
Both solar and wind energy have hourly and monthly seasonality. The wind is caused by solar heating. Shorter days in the winter and the daily rise and fall of the sun are the major factors causing seasonal variations in wind and solar. Let’s look at monthly electricity production seasonality first (data taken from ElectricityMaps):

This looks pretty inversely correlated to me! 40% of yearly solar production happens during the summer and 17% of yearly wind production happens during the summer. Solar and wind production is a pretty good match for evening out yearly seasonality. What about hourly seasonality?

This hourly graph doesn’t look inversely correlated. Between 6 AM and 6 PM, 95% of solar is produced and 51% of wind is produced. It is slightly windier when the sun is out!
Combining solar and wind production
It looks like there is some potential to take advantage of inverse correlations in solar and wind production to create a more consistent supply of renewable power. Let’s assume that we need the same amount of electricity every hour of every day of the year – a very rough approximation of Denmark’s consumption profile. Lets see if we can supply that electricity using a combination of solar and wind (and don’t forget that both underproduction and overproduction can be problematic).
I used Bayesian optimization to minimize the difference between our combined wind and solar production and our flat target profile. A standard Operations Research optimization would also have worked fine. Here is some pseudocode for what I did:
from bayes_opt import BayesianOptimization
def profile_difference(solar, wind, df):
profile_difference = sum(abs((solar*df['Solar Production']+wind*df['Wind Production'])-df['Target Profile']))
return -1 * profile_difference
optimizer = BayesianOptimization(
f=profile_difference, random_state=1)
optimizer.set_gp_params(alpha=1e-3, n_restarts_optimizer=20)
optimizer.maximize(1000, 800)
print(optimizer.max.get('params').get('solar'), optimizer.max.get('params').get('wind'))
The optimization spits out that 11.42% solar and 88.58% wind produces the flattest production profile. When I graph the average monthly production of this mix:

And the average hourly production of this mix:

I think the optimizer did OK. But how close is the optimal solar + wind mix to our desired flat profile?
Evaluating the optimal mix of solar and wind
We need to evaluate at the hour level to see how well our optimal solar + wind combination performs. I constructed a time series where each hour has the combined solar + wind production as well as our production target. From there I created a dataset where each hour contains the absolute percentage difference between the solar + wind production and the production target. Here are the resulting error metrics:
| Average Error | 50th Percentile Error | 95th Percentile Error | 99th Percentile Error |
|---|---|---|---|
| 54% | 51% | 113% | 146% |
An average of 54% error between the production target and our solar + wind production is pretty rough. And the error can jump all the way to 146%! No real surprise, solar and wind are just not consistent sources of electricity.
The verdict
I am willing to accept that solar and wind have synergistic seasonality trends that are significant and useful. I would have expected that solar would not be included when trying to construct a flat production profile using solar and wind (because wind has much more consistent hourly production than solar), but the optimizer recommended 11% solar.
Even with the synergistic seasonality trends, the combination of solar and wind is not consistent at an hourly level. The difference is so large that I do not foresee batteries fully bridging the gap and other options like nuclear, green hydrogen, or scheduled brownouts will be required to reach a carbon-free grid in Denmark.
Leave a Reply