Skip to main content

Posts

Balancing a Renewables Grid across multiple Timescales

For a hypothetical future power grid where production is dominated by variable renewable sources like PV and wind, the challenge of balancing supply and demand at all times is well know. Using again the ENTSO-E open-source data and Python linear programming solver , we extrapolate the grid level solar and wind forecast data to cover the entire yearly electricity demand while minimizing the sum of the absolute errors between supply and demand for all hours in a year. In order to turn the problem of minimizing the sum of absolute values into a linear programming problem, we use the bounding technique presented in this tutorial . Using for example the data for the German power grid from Spring 2022 to Spring 2023, the optimal generation mix according to the above criteria is about 75% wind and 25% PV (blue line).  With this configuration about 80% of the annual supply & demand of 475 TWh would be matched at the hourly level, leaving a discrepancy of 20% or 107TWh to be equalized s...

Electrify all the Things!

While there is no technological silver-bullet to combat climate change, electrification is about as good as it gets - maybe at least a silver spoon to help keep the monsters at bay... Today about 80% of the world-wide energy consumption is still based on fossil fuels. The good news is that as part of a net zero transformation of the energy system, we do not need  to replace all the fossil fuel inputs, but only their useful outputs. According to this Sankey energy flow diagram for the US in 2022 (source: LLNL ), about 20% of the system input is based on low CO2e energy sources. However this would correspond to 65% of the actually useful energy services provided by the system. Some of the most significant sources of loss are from the use of petroleum in the transport sector or from the electricity generation using natural gas or coal.  While generating more electrical power from modern renewable sources like wind and solar reduces the need for gas & coal by at least 2 times,...

Energy Storage and Flexible Demand - Two Sides of the Same Coin

 For this  previous post, we have built a very simplistic LP model to determine the optimal resource allocation for a power grid that is based on wind, solar and storage. This model has shown an obvious, significant need for storage to balance variable and non-dispatchable wind and solar generation to a fixed demand on timescales ranging from hourly to seasonal. The key to decarbonizing high emission sectors like transport, buildings and industry is going to be aggressive electrification of these sectors, which is going to increase electricity demand significantly and put a strain on aging power distribution infrastructure. The good news is that the vast majority of this new demand is going to be somewhat elastic and flexible in time - potentially at no extract cost  and without loss in comfort or quality of service. Instead of using storage to match variable supply to a rigid load, we can exploit demand flexibility to match  adaptive loads to existing supply and ...

Linear Programming with Energy Data

In the previous post , we made some back of the envelope estimation of what an optimal solar, wind & storage based power grid could look like. For the analysis we were using a standard linear programming model using open-data from the ENTSO-E transparency platform as well as a Python based linear programming (LP) framework. For the LP framework we chose PuLP for its beginner friendly fluent and natural sounding model definition. See this tutorial for a more detailed introduction into LP with PuLP or this this  comparison of some popular Python LP frameworks . Understanding and debugging the output of an LP solver is non-obvious for casual users. Hence, being able to translate the mathematical model into what looks like natural python code can help to prevent mistakes during model setup. The PuLP framework can interface with different external solver backends out of which the CBC solver is packaged with the PuLP distribution. As input data, we can get time-series data with ...

Solar, Wind & Storage - optimal resource allocation

As wind and solar are reaching a double-digit share of production in many power grids, the focus is increasingly shifting towards adding storage. Large consumers like Google are pushing their suppliers towards   providing low carbon energy 24/7 all year round . The same goal is also captured well by the catchy new term of " GrĂ¼ne Grundlast " (green baseload) , despite being slightly misleading as the goal should not be constant production when nobody needs it, but production which matches the load at all times. Using national power grid data from the ENTSO-E transparency platform , some very rough and hand-wavy cost assumptions and a standard  Python LP solver , we can do a back of the envelope estimation of what it would take to satisfy todays electricity needs of some European countries using an extrapolation of their current solar and wind production in combination with a fictitious storage pool.   Linear Programming is a very common optimisation technique used i...