What would a perfect UK energy storage system look like?

Introduction

The UK’s energy grid needs help. Sometimes we generate too much renewable energy, and we have nowhere to put it, or we can’t move it to somewhere where it needs to go.

This doesn’t sound like a problem, except having “extra electricity” flowing around the grid is bad. There a few ways to fix this, and one of them is called curtailment. This is the official term for saying “let’s turn the renewables off for a bit”.

In 2021, we lost around £500m of electricity from windfarms due to curtailment. I’ve seen (unpublished) estimates that the problem in 2022 was significantly worse.

The grid works really hard to maintain balance between energy demand and energy supply. Sometimes, this results in curtailment. But what could we do differently?

I want to understand how energy storage could simplify the grid and prevent curtailing. In this post, I build a toy model to simulate an energy storage system, and then see what that implies for the ideal UK system.

Sections

  1. Toy Model
  2. Real world scenario
  3. Takeaways

Toy Model

We know that UK energy demand on an hourly basis is variable. We can also assume that the grid is perfectly balanced (generation = demand). In our toy model, we assume the demand/generation curve has a morning peak and then decreases.

A simple example showing variable hourly energy generation and demand.

A simple example showing variable hourly energy generation and demand.

This demand variability is met by flexing our generation and ensuring the two are aligned as closely as possible. IE, if demand drops the grid will work to decrease generation (curtailment). If the demand increases the grid will try to increase generation by getting power providers to up their production.

Alternatively, we could have a constant energy generation (our baseline) alongside a perfect storage system. We could store the energy when demand is less than the baseline, and use that stored energy when demand outstrips the generation. This could stop curtailment entirely.

With our simulated system, let’s now add a baseline generation.

The baseline generation is found by finding the total daily energy demand, and then averaging it out. We can then show the daily behaviour of this energy storage system - it charges itself up at night, and discharges at the day time.

Our generation and storage behaviour, using the assumed demand curve from above

Our generation and storage behaviour, using the assumed demand curve from above

Again, this is with fake data - we may see different behaviour when we start to use real data for this. The red colour extends beyond the intersection point at ~16.00. This is a temporal aliasing issue as I’m using a low granularity timeframe.

Now, we can take a look at the behaviour of our storage system in more detail. This toy model consumes ~830 GWh of energy each day, which is comparable to the UK’s average daily consumption.

We get a baseline capacity of about 35 GWh.

We can find the total storage required (how much energy do we need in the red region), and that comes to 95 GWh.

These numbers form the physical constraints behind this system. The other values that matter are the charge and discharge rates. These show how quickly we need to add or remove energy from our storage system. A real world analogy would be storing energy by pumping water into a higher reservoir. There is a maximum amount of water we can pump each second, and that would be our charge rate. If the charge rate in the theoretical system exceeds the charge rate of a pumped water storage system, we know we need a better way of storing energy.

The storage capacity of our battery system as a percentage, overlaid with the charge/discharge per hour.

The storage capacity of our battery system as a percentage, overlaid with the charge/discharge per hour.

The storage curve above shows the percentage charged (in the storage system) throughout the day. I have given it a headstart, so it starts each day with enough energy to last. The maximum charge rate/ discharge rate are where the blue line is steepest, and also corresponds to the turning points of the bar chart.

From this toy model, we have max charge/ discharge rates of 16 GW and -10 GW.

So we have 4 key values which drive the model specification - baseline generation, storage capacity, maximum charge rate and maximum discharge rate.

Real world scenarios

In my toy model, I took a vaguely sinusoidal function as our demand and worked from there. Now, I’m going to use real UK demand data and run the exact same process to see what I get.

Using the National Grid’s Balance Mechanism Reporting System, I can get the half hourly demand forecast for the next 48 hours. Taking an average gives me a realistic picture of the UK’s usage (albeit in January, and therefore higher than our average 830 GWh from above).

It looks like:

Actual UK energy demand (per hour), in January

Actual UK energy demand (per hour), in January

Now let’s apply the same logic to it as before. We analyse the UK generation curve, understand what the baseline should be and show how it should look:

Generation and storage behaviour in the actual model

Generation and storage behaviour in the actual model

The peak demand for the UK happens during the afternoon, evening and pre-midnight hours. This is when we are discharging as much as possible. Midnight to early noon is when we charge the storage system.

Storage capacity of our “real-world” system overtime

Storage capacity of our “real-world” system overtime

Our storage curve above shows us how this would look

Now we can analyse this and understand the specs for a UK wide energy storage system.

In January, the UK demand is ~1,500 GWh. Our storage capacity is 150 GWh, so about 10% of the total demand. The max charge rate is 8 GW, and the max discharge rate is -10 GW. Armed with these, we can now configure a storage system which could work for the UK.

Takeaways

The toy model works, and we can apply it to real data to understand the requirements for a proper storage system. We now know that a UK wide storage system should store 150 GWh of energy. It also needs to discharge this at a rate of 10 GW per hour.

However, I wanted to end this analysis by adding some randomness to test the robustness of the process.

Using the actual data, I made a quick 7 days forecast, with a random 10% data smear:

https://embed.deepnote.com/be06a880-88c8-42bb-9bbf-faa97fb8fcb1/cec7cffb450d4d79abd51515813db4f8/1fe9e96d6d3645bfa3ba422a7caac27c?height=530

We then apply the same analysis, and can see how the system does:

https://embed.deepnote.com/be06a880-88c8-42bb-9bbf-faa97fb8fcb1/cec7cffb450d4d79abd51515813db4f8/dd7590899de148c4a20c644ceacafd9e?height=491

At this level, it falls apart. This can be seen by the storage system going into negative charge after the second discharge cycle. Our predicted baseline was based on the actual data from one day, and doesn’t have a sufficient margin of safety to cover the randomness. A real world system would have more data to drive it and find the right values. However, the exercise is useful in testing the constraints of the model.

From a modelling perspective, this analysis was done using a vectorised approach. This is computationally trivial, but has a few weaknesses. Mainly, a “grid breakdown” just appears as a zero in an array, and isn’t propagated down the system. The behaviour of the system at time t is independent of its behaviour at time t-1. A better way to model this would be an agent based approach, creating a grid agent and seeing how it performs. This approach would also enable us to optimise for certain criteria (carbon intensity, uptime, curtailment rate etc.).

The next posts in this series will cover the different technologies we have for energy storage, the feasibility of building a system which could address the UK’s needs, and an exploration into building an agent-based model to better understand grid dynamics.

If you’d like to subscribe for updates on when the next post is released, subscribe here:

https://tally.so/r/mYjB2d