Kostenfreie Photovoltaik Leistungsprognose für 10 Tageszeitfenster mit kostenfreien Wetterdaten des DWD sowie Berücksichtigung von Ausrichtung, Neigung, Temperatur & Windgeschwindigkeit am Anlagestandort mit Kennlinien von Panels und Wechselrichter

Wie der Titel schon sagt geht es hier um die Fragestellung wie man ohne Zusatzkosten sich selbst eine genauere Kurzzeitprognose erstellen kann.

Die Kurzvariante: 1+1 = 3:

  • Strahlungsdaten des DWD, der circa 5500 Stationen Weltweit anbietet
  • Kombiniert mit der Umrechnung der Strahlungswerte in anlagenspezifische Ertragsdaten mit pvlib (will mich nicht mit fremden Federn schmücken - das Ding macht die Hauptarbeit)

Ich habe das Ganze dann in ein Skript zusammengefasst, dass man auf die jeweilige Anlage adaptieren kann.

In diesem Artikel geht es zuerst an die theoretische Herangehensweise die ich gewählt habe - die Resultate - und dann die Adaption des Skripts für die jeweiligen Bedürfnisse. Wer gleich in die Software abtauchen will - einfach ganz nach unten scrollen.

Der DWD liefert Strahlungswerte in stündlicher Auflösung für ein 10-Tages Vorhersagefenster. Der Wert ist Rad1h in [Kj/m²]. Rad1h wird als Globalstrahlung bezeichnet. Nach Rückfrage beim DWD ist dies die auftreffende Globalstrahlung auf eine virtuelle horizontale Fläche von 1m². Die PV Anlagen sind aber meistens geneigt - und haben auch noch eine vorgegebene Ausrichtung. Ein genaues Simulationsmodell würde idealerweise auf verschiedene Strahlungswerte zugreifen.

Um die Korrelation zu pvlib besser zu verstehen verwende ich jetzt die weitere Terminologie:

GHI (Global horizontal irradance) = Rad1h

GHI ist vereinfacht DHI + DNI * cos(alpha)

DHI (Direct Normal Irradance) = Direkte Normalstrahlung

DHI (Diffuse horizontal irradance) = Difuser Strahlungsanteil

https://pvpmc.sandia.gov/model…al-horizontal-irradiance/

GHI haben wir also vom DWD. Aber eine Gleichung mit 2 Unbekannten löst man noch immer nicht so einfach. Deshalb verwende ich da das Schätzungsmodell von disc und haben dann DHI und DNI.

https://pvlib-python.readthedo…isc#pvlib.irradiance.disc

Danach müssen wir nur noch sagen, wo die Anlage steht, welchen Neigungswinkel - welche Ausrichtung, welche Höhe über Grund, welche Panels, welche Inverter..

Dann kann man mit der modelchain Funktion von pvlib das Ganze genauer durchrechnen.

Dabei verwende ich folgende weiteren Vorhersagewerte des DWD um die Genauigkeit der Simulation zu erhöhen

  • PPPP = Luftdruck
  • TTT = Temperatur
  • FF = Windgeschwindigkeit

Und schon ... "Habe fertig"

Als Output erhält man:

  • ACSim: den AC seitigen simulierten Ertrag
  • DCSim: den DC seitigen simulierten Ertrag
  • CellTempSim: Die simulierte Temperatur der Zelle
  • Rad1Energy: Den vereinfacht berechneten Ertrag ohne Verwendung der detailierten Simulation

Das Resultat sieht man exemplarisch für einen Tag hier:


Funkion & Adaption des Skriptes:

Das Skript läuft eigenständig und kann entweder einmalig die Wetterdaten abholen und für die nächsten 10 Tage in stündlicher Auflösung die Vorhersagewerte liefern - oder in einer Endlosschleife laufen.

Das Skript kann 3 Ausgaben erstellen:

  • Printoutput
  • Ausgabe in csv Datei
  • Upload in ne mariaDB

Man kann alle 3 Ausgabeoptionen - oder auch nur eine verwenden. Bei mir pumpe ich die Werte in die Datenbank. Aber ich denke, wenn man sich vertraut machen will, ist die csv Ausgabe der beste Startpunkt.

Hier die Vorgehensweise um die Wetterdaten zu ermitteln:

die Relevanten Links des DWD (Hintergrundinfo´s):

Beschreibung der bereitgestellten Daten (Stichwort ist Mosmix):

https://www.dwd.de/DE/leistung…_blob=publicationFile&v=3

Liste der Stationen:

https://www.dwd.de/DE/leistung…=nasPublication&nn=495490

Als Erstes kann man über diese Webseite:

https://wettwarn.de/mosmix/mosmix.html

herausfinden, welche Station für den jeweiligen Standort in der Nähe liegen.

Danach kann man in dem Skript die entsprechenden Einstellungen ändern (also Stationsnummer / bzw. Abfrage URL). Weitere Info´s was das Skript so treibt inline im Skript.

Konfiguration der Analgenparameter - auch hier steht alles inline im Skript als Kommentar. Auf einen Punkt will ich aber hinweisen, der für mich ein Stolperstein war...

Die pvlib Bibliothek liefert auch eine Liste von Modulen und Invertern mit den jeweiligen Parametern mit aus. Allerdings ist die Korrelation von internem Namen zu der csv Datei nicht gut dokumentiert - und noch schlimmer - wenn man sein Modul in der CSV Datei gefunden hat, muss man trotzdem im Skript Sonderzeichen mit Unterstrichen ersetzen "_" sonst findet die Bibliothek das Modul nicht.

Hier ein Beispiel:

"LG Electronics Inc. LG335E1C-A5" in sam-library-cec-modules-2019-03-05.csv muss in der Software als 'LG_Electronics_Inc__LG335E1C_A5' angegeben werden

Die CSV Dateien findet man (nach Installation von pvlib) z.B bei mir unter:

/usr/local/lib/python3.5/dist-packages/pvlib/data


So.... Hier der Link zum Skript:

https://github.com/kilianknoll/DWDForecast

Hier der Link zum Thread, den ich schon für die vereinfachte Variante des Skripts gestartet hatte:

Kostenlose Wetterprognose /PV Prognose /Ertragsprogonse mit stündlicher Auflösung vom DWD für Deutschland, Europa

Wenn es Fragen hierzu gibt bitte den Thread verwenden.

Viel Spass !

Kommentare 4

  • Sehr cool!


    Gibt es eine Beziehung zu pysolar? Die Berechnung von Sonneneintrahlung etc. kam mir bekannt vor.


    Darf ich einen merge request/PR stellen? Ich hätte ein paar kleinere Korrekturen (Formatierung, Rechtschreibung).


    Wie kann ich meine Micro-Inverter und Moduke hinzufügen? Die ganzen Spalten-Bezeichnungen in den CSVs sagen mir nichts, und wie ich die Kennfelder erstelle ist mir auch nicht klar.


    Es gibt zwar eine Einstellung für Anzahl der Strings und Azimuth, aber kann man auch O-W Anlagen als 2 Strings simulieren, oder sind dazu zwei Konfigurationen und Simulationsläufe nötig?


    Kann ich statt einer Datenbank nach CSV rausschreiben?

    • Ich habe pvlib verwendet. Ob die Authoren von pysolar - oder pvlib voneinenander abreschrieben haben - da muss ich passen

      Merge/Pull request - ja kein Problem

      Hinzufügen anderer WR: Ich bin sinngemäß auch nur "User" der pvlib. Aber vielleicht hilft das weiter ?

      https://pvpmc.sandia.gov/model…c-inverter-test-protocol/

      Ost- Westanlagen: Zur Zeit über 2 Configs

      Output in CSV statt Datenbank: Ja geht schon jetzt - im Config file CSVOutput = 1 setzen

  • Sehr feines Skript. Danke!

    Gefällt mir 1
    • Da hast aber schnell gelesen - Bitte ;-) - Erfahrungsberichte / eigene Adaptionen würden mich freuen !