Topic 1

Local weather forecast for a PV plant using sky image processing



Even a minor shading of a PV panel significantly reduces its power output. Accurate prediction of panel shading is needed for accurate prediction of PV plant output. Local weather forecast based on forecasting models such as ALADIN may be obtained freely from a number of online services, however, such forecast has a time base of 1 hour or more. The goal of this project is to build an all-sky camera, identify clouds on the sky image, compute cloud movement and use this data to obtain a local panel shading forecast.


  1. Connect a wide-angle camera to the Raspberry Pi, build a weather-resistant housing and mount it to a suitable location on the FER building roof. Write a Python program which periodically takes an image using the RPi camera, taking care of automatic exposure.
  2. Using the OpenCV library, recognize clouds on the sky image and find the border between clouds and clear skies. Write a subroutine that transforms coordinates from the image pixels to celestial coordinates, and a subroutine that computes panel shading for given celestial coordinates of Sun and clouds.
  3. Write a program that generates a short-term (up to 1 hour) forecast of cloud movement, and consequentially, panel shading. Inputs to the program are historical measurements of cloud position. Historic measurements of wind speed and direction may also be used.
  4. Using the daily weather forecast, Sun position and panel shading forecast, make a PV panel power output forecast with a time base of 1 min. The forecast may be used for DC microgrid control with the goal of ensuring that the building microgrid exchanges exactly the desired energy with the grid.

Additional information:

  • Number of students: up to 3
  • Keywords: image processing, OpenCV, weather forecast, IoT, photovoltaics, predictions, neural networks
  • Teamwork desirable: possible to split work into image processing, geometrical computations and predictions
  • For graduate students