Jakobi DavisJakobi Davis

CEE 4800

Pumped storage against wind intermittency in Chicago

Result in one line

Sized and dispatched pumped storage that cuts unmet demand by up to 51% against wind alone.

Context

Course
CEE 4800
Semester
Spring 2025
Team
Jakobi Davis, Ali Shabazz, Max Jensen
My part
Project lead. I collected and scraped all of the wind and demand data, helped build the model predictive control, and delivered most of the final presentation. Teammates led the forecasting model and the graphing.

Cornell academic work.

The problem

Wind doesn't blow on demand's schedule. In Chicago, that mismatch leaves people short on power even in years when total wind output looks like plenty.

Pumped storage can cover the gap, but you have to get two things right: how big to build it, and when to pump and release.

What we built

Three pieces. An autoregressive model forecasts the wind. A genetic algorithm (NSGA-II, run for 1,000 generations) sizes the pumping rate, release rate, and reservoir to minimize unmet demand. Then model predictive control decides hour by hour when to pump and when to release, using the forecast.

I pulled and scraped all the wind and demand data and worked on the model predictive control.

  • Python (autoregressive forecasting, NSGA-II, model predictive control)

What we found

  • Maximum reduction in unmet demand51%
  • Multi-objective sizing methodNSGA-II
  • Dispatch against rolling forecastMPC

The system cuts unmet demand by up to 51% compared with wind alone. Re-running the optimization more often made it even better.

The catch is cost. The levelized cost of storage came out to $498.87 per MWh, higher than typical pumped storage.

Where it stops working

Everything depends on the wind forecast. When the forecast is off, the dispatch gets worse. The genetic algorithm also has some randomness in it, so the exact numbers shift a little run to run.

We also didn't do a real site study. Pumped storage needs elevation and water, and the Chicago area doesn't have much of either.

Downloads

All projects