Methodology and Validation¶
(last updated on 10th Oct, 2024)
Methodology:¶
Our solar power forecast consists of 5 parts:
Clear Sky Forecast:
We use the Pvlib python package to generate clear sky irradiance data for any particular location72-hour weather predictions collected from several weather channels:
We collect weather data from several weather channels, including OpenWeatherMap, WeatherAPI, OpenMeteo, etc… We modify our solar irradiance for different weather parameters using our ML model. Then we calculate the solar power forecast for a specific system depending on its orientation, tilt and capacity. Our ML model is fitted with solar panel output data from 461 locations around the globe.
[insert map] (Locations of the PV systems based on which our model parameters are fitted)
Short-term forecast adjustment with live weather data:
Weather forecasts collected from different weather channels sometimes differ from the live weather data collected from weather stations or satellite imageries. Our ML model adjusts the next 2 hours of weather forecast with live weather data.Location-specific forecast inconsistency correction:
Some weather parameters of long-term NWP-based forecasts do not match consistently with live data at some locations due to local effects. When a user registers in our system, we start tracking the live weather and keep a log of long-term forecasts. We train customer-specific ML models for that particular location after 3 days of registration and any significant inconsistency between the live weather data and long-term forecast, if present, is adjusted. Therefore, our prediction at a particular location keeps on improving over time.System-specific forecast adjustment:
Even after all of these the forecast can differ from actual output due to various factors like:- Temporary shadow
- Inaccurate Orientation and Tilt
- Defective Panel
We adjust the power forecast of every hour with the data of your panel collected over last 50 days. When you register in our system and start sending the actual energy generation data, our model starts improving the forecast.
In [ ]: