I am continuing the discussion from Github Issue #7 here (https://github.com/OpenEMS/openems/issues/7). Since we started the issue in 2017 a lot of development in this direction happened.
Following this API definition the development is currently two-folded. On one side we (@venu-sagar) are working on a Self-consumption-optimization algorithm using the prediction. On the other side there is work being done in implementing a production prediction service using statistical or machine learning techniques which is eventually also going to integrate weather forecasts. This is part of our scientific research project EMSIG (https://openems.github.io/openems.io/openems/latest/randd.html#_emsig), led by @pooran.c in collaboration with University Passau.
There’s been quite a bit of statistical research at my Uni (Nelson Mandela University) regarding PV output, but most of it has been around aggregate seasonal output vs PV panel type. There may be some interest in using advanced statistical methods to predict PV output for a given period given weather data and other affecting factors. Would EMSIG possibly have grants available for such research?
Ok, interesting. Unfortunately, as an already approved and ongoing research project funded by the German state of Bavaria, there are no grants available in EMSIG. Generally there is the possibility to apply for such scientific public+private funding projects. I don’t know if there are such projects that would cover African + European projects.
I’ll point our colleagues at University Passau to this thread. Maybe they are able to add some facts about the current state of research.
As far as I know, there are no projects involving non-european partners right now. All the “bigger” projects in which we are enrolled are funded by the EU comission
At the current state of our research we’ve analyzed multiple APIs for weather forecasting. The main limitation of these is their rather international bias, making them unusable for our needs and/or the lack of solar radiation values. We are currently focusing on https://www.weatherbit.io/
It may be possible to create a crude prediction of PV output for a given time period by considering the following factors:
Sky occlusion: one could create a flat polygon that maps out the area of the sky that is visible from the plant site, perhaps pulling geographical data to get the horizon and satellite or survey data to map the occlusion created by surrounding buildings and other objects. This is probably the most difficult part, from a programming perspective.
Sun position: this is obviously just astronomical data, but vital in calculating the nominal solar radiation per square meter, as well as approximately when the PV panels are in direct/indirect sunlight using the sky occlusion data and hourly cloud cover predictions. If the panels do not track the sun, refraction comes into play as well.
Cloud cover and air quality predictions: used to approximate actual solar radiation per square meter as a function of nominal solar radiation per square meter. Air quality data may not be available in some areas though, and different types of air particulates have different effects on ground-level solar radiation levels. Obviously this falls away if actual irradiance levels can be accurately predicted by other means.
PV panel efficiency envelope: used to calculate nominal PV output given the approximate actual solar radiation, temperature and base panel performance. It may be beneficial to build a mathematical or statistical model for the relationship between ambient temperature, precipitation, wind and panel temperature, if none yet exist. Given such a model, one can input the predicted wind, rain and ambient temperature to predict panel efficiency for a given time period
If it is possible to install a mini weather station at the site, it may be possible to train a machine learning model to improve results using predicted vs. actual values
I realise I’m probably not the first to think of these things, and I’m by no means a PV panel expert, but if anyone has any thoughts or feedback, I’m all ears.
As we are currently developing forecasting models here at the chair for predicting the PV output, I can give some remarks on our experience so far. The accuracy of the model stands and falls with the accuracy of the underlying data. We are currently using historic weather data (solar radiance, UV-index, and temperature) together with a part-of-day classifier (night, vs. day) as input parameters for our model. These weather parameters had the highest correlation with the PV output in our analysis. The data is obtained via the weatherbit.io API. This API is one of the few ones that provides solar radiance values. Although the API offers several more parameters (wind speed, wind direction, clouds, precipiation, dhi, dni, ghi, dewpoint, snow, …) we could not determine an accuracy improvement in the forecast.
We are still facing the difficulty that the weather data we have only partially reflects the PV output at the customer premise. We don’t have further data regarding potential temporal shadow at the panel, panel type, orientation and efficiency.
I had a telco with SteadySun (https://www.steady-sun.com/de/) on Thursday. They offer actually two products for PV forecasting:
Real PV forecasting (customer must share technical information of its PV installation, otherwise a default system is assumed)
Solar irradiance forecasting (if customer has a local pyranometer installed the results are better, but it is not mandatory)
So they are actually doing the same as we, but in large scale. On their website, a trial version of one of their products is listed. However, during the telco I was told that this demo version is only provided directly to customers or - our case - research projects if a respective budget is already stated. As I’m not doing the financial issues at the chair, I could not give any details here.