Cloud Coverage Prediction to Improve Solar Power Management

Cloud movement prediction is a difficult problem that has been studied for many years. As humans, we can easily identify where the clouds are and maybe predict their movement within a couple of minutes; however, we are unable to predict beyond a short period of time as cloud size, altitude, wind velocity, and other weather conditions contribute to it being a very complicated task. But this research is important because cloud prediction gives advance notice to grid managers of coming solar energy shortage or spikes, allowing the system to prepare and buy energy from other sources as needed. In this paper, we continue the work of many researchers over the last decade, finding new ways to process the images and creating new neural networks to handle predictions.

Our Team

These are the undergraduate researchers who contributed to this research project. 

McKenna Reed

Undergraduate Researcher

McKenna Reed is a third-year software engineering student from Everett, WA. She is excited to apply her new knowledge of deep learning to new fields but still pursue her love of website development and exploring human computer interactions. In her free time, McKenna enjoys cooking, baking, and anything outdoors like surfing and hiking. 

Noah Yuen

Undergraduate Researcher

Noah Yuen is a third-year software engineering student from Palo Alto, CA. He is excited to further his knowledge of machine learning, app development, and computer animation during the remainder of his undergraduate studies at Cal Poly. In his free time, Noah enjoys playing chess, cinematography, and exploring the outdoors.

Keon Roohparvar

Undergraduate Researcher

Keon Roohparvar is a fourth-year Computer Scientist with a minor in Data Science from Los Gatos, CA. He is interested in Machine Learning, specifically Unsupervised Learning methods, and is excited to apply his knowledge to real-world problems. Outside of coursework, Keon likes to play Classical Piano, 3-D print files he makes on Solidworks, and play Soccer.

Kevin Snitter

UnderGraduate Reseracher

I Kevin Sittner is a third-year computer science student from Petaluma, CA. While he is passionate about backend web development, he also looks forward to expanding his knowledge of distributed systems as well as mobile and web security. When he’s not at the computer, Kevin enjoys film photograph, hiking, and traveling to new places.


We would like to acknowledge and thank Maria Pantoja and Jacques Belanger of Cal Poly and the SURP coordinators for offering advice and support over the course of this research.


  • As part of the efforts by the California State University (CSU) System to achieve carbon neutrality by 2050, the Gold Tree Solar Farm (GTSF) was built on the San Luis Obispo campus. GTSF is a 18.5-acre solar farm with approximately 16,000 solar panels and a capacity of 4.5 MW DC.
  • One of the challenges with integrating solar energy into the energy grid is the peak electrical demand does not coincide with peak power generation from solar fields. Solar energy is also considered an unreliable energy source because production varies significantly depending on the weather conditions. Utility providers are often required to balance solar generation to meet consumer demand, which often includes the costly process of activating/deactivating power plants. Therefore, there is considerable interest in increasing the accuracy and the granularity of solar power generation forecasting. This improved forecasting would reduce fluctuations of the electrical grid and facilitate its management.
  • In this project, we accurately forecast cloud coverage over a solar field 5 min into the future. The predictions are based on computer vision techniques which analyze total sky images deployed in the field.

Data Acquisition and Preprocessing

Figure 1

Left image is a ring centered around the sun. Right image illustrates the pixels that exceed the haze index for the same ring.


  • Solar images were taken in 5-minute intervals from a camera located in the region of the Gold Tree Solar Farm
  • Queried the wind speed and direction for each image using the Visual Crossing Weather API


  • Located the center of the sun in each image using a combination of template matching and the Pysolar Python library
  • Partitioned each image into directional rings radiating from the center of the sun, calculated cloud coverage in each ring to input to model
  • Calculated the percent cloud coverage in each image using the red-blue ratio (RBR) and a haze threshold

Cloud Prediction

  • Developed and compared two optimized neural networks that predict cloud coverage five minutes in the future
  • Implemented a recurrent neural network (RNN) using Tensorflow and Keras
    • SimpleRNN layer with 64 neurons, a GRU layer with 32 neurons, wrapped up in a dense layer
Figure 2

Loss and validation loss quickly decreases across epochs for the RNN model, demonstrating that the model is learning.

  • Tested a convolutional neural network (CNN) that takes as input the numerical data used for the RNN as well as the RGB sky images
Figure 3

Loss and validation loss gradually decreases across epochs for the CNN model, demonstrating that the model is steadily learning. 

Figure 4

In both terms of loss and validation loss our CNN slightly outperforms our RNN.

Conclusions and Future Work


  • Concluding thoughts:
    • We successfully developed a cloud prediction algorithm to improve solar power management.
    • Through computer vision and machine learning techniques, our method predicts cloud coverage in the next five minutes with very high accuracy

Future Work

  • The ultimate goal is to develop a model that can more accurately predict future cloud coverage and in larger intervals such as 30 minutes in the future. Therefore, future improvements will be needed for practical use including:
    • Gathering additional sky images from different years and weather conditions to improve prediction accuracy and prediction interval
    • Additional preprocessing steps to determine cloud thickness and color
    • More accurate weather data
    • Utilization of satellite imagery (higher quality images from a top-down perspective)
Figure 4

Image of the Gold Tree Solar Farm.


  • We would like to thank our mentor, Maria Pantoja, for guiding us throughout this project and preparing us with the necessary knowledge and resources to complete our research virtually this summer
  • We would also like to thank Professor Jacques Belanger for providing us with information from the Gold Tree Solar Farm
  • Thank you to Dean Crockett and the Computer Science and Software Engineering Department for this opportunity


Share on facebook
Share on twitter
Share on linkedin

Coronavirus Update and Resources