MOSMIX: Wettervorhersage mit Open Data des DWD

Stand: 2021-05-18


Worum geht es?

Der Deutsche Wetterdienst (DWD) stellt seit einigen Jahren Vorhersagedaten als Open Data zur VerfĂŒgung. Es handelt sich dabei um MOS-Daten (Model Output Statistics) fĂŒr 5000 Orte weltweit, die allermeisten davon in Deutschland. Vom DWD werden diese Daten MOSMIX genannt und bieten eine Kurzfristvorhersage, die stĂŒndlich aktualisiert wird und eine 10-Tages-Vorhersage mit sechsstĂŒndigem Aktualisierungsintervall. Aufgrund eines Urteils bereitet der DWD diese Daten jedoch nicht grafisch und ansprechend auf. Die Rohdaten mĂŒssen also selbst verarbeitet werden. Informationen zu Dateiformaten und eine Liste mit Stationen hĂ€lt der DWD am rechten Rand dieser Seite bereit. Im Stationskatalog bezeichnet der Wert in der Spalte id die ID der jeweiligen Station, unter der die Daten auf dem Open-Data-Server unter weather/local_forecasts/mos/MOSMIX_L/single_stations heruntergeladen werden können. Hier empfiehlt es sich, die Datei MOSMIX_L_LATEST_ID.kmz zu nutzen.

Es existieren bereits Initiativen, diese Daten ansprechend aufzuarbeiten. Beispiele sind die Website morgendwirdes.de und die Android-Anwendung Kleine Wettervorschau Deutschland, die im F-Droid heruntergeladen werden kann.


Das Programm mosmixparser

Aus persönlicher Neugier und weil ich mit diesen Lösungen noch nicht ganz zufrieden war, habe ich selbst eine Software geschrieben, die die MOSMIX-Daten aufbereitet und als HTML5 ausgibt. Sie kommt gĂ€nzlich ohne Grafiken aus, da sie zur Visualisierung des Wetters auf Text, Farben und Emojis setzt und Graphen mittels HTML5-Canvas-Elementen und etwas Javascript erzeugt. Die komplette Vorhersageseite ist daher nur ca. 35 kB groß und damit ein großer Kontrast zu kommerziellen Plattformen.

Diese Darstellung entspricht nur bedingt den Designvorstellungen der Gegenwart. Mein Ziel war es, zwischen einer möglichst kompakten Darstellung aller relevanten Werte ohne aufgeblĂ€hte Effekte und der Notwendigkeit der Einbindung großer Bibliotheken sowie einer Ă€sthetischen Darstellung abzuwĂ€gen.

Der Ablauf geschieht folgendermaßen und ist auf Linux-Systeme optimiert:

Das Programm ist in C++ geschrieben und sollte als schneller Proof-of-Concept angesehen werden, der aber bei mir seit Monaten zuverlĂ€ssig funktioniert, jedoch keine hohen AnsprĂŒche an die CodequalitĂ€t stellt. Der Code ist absichtlich recht schlicht gehalten und damit hoffentlich leicht verstĂ€ndlich, um Anpassungen zu ermöglichen. Verbesserungen sind durchaus sinnvoll und erwĂŒnscht. Die Software ist unter der GPL-3.0-or-later lizenziert. Der Code, der fĂŒr die Ausgabe in die HTML-Datei zustĂ€ndig ist, neigt in Richtung Spaghetticode. Dies gilt insbesondere, da der HTML-CSS-Header, die HTML-Formatierung und der Javascript-Code im C++-Code verkapselt ist. Diese Daten stattdessen aus externen Dateien einzulesen, könnte sinnvoll sein. Auch kann es sein, dass Feinanpassungen bei der Auswertung der Wetterdaten nötig werden. Manche Ausgaben (insbesondere die Wettersymbole) beruhen rein auf empirischen Erfahrungen.
Alle Werte werden ĂŒber sechs Stunden gemittelt. Bei einigen Werten wird stattdessen (z.B. bei Windböen) der Höchstwert innerhalb dieser sechs Stunden angezeigt. Als Temperatur wird zweimal rund um die Nachtstunden der Tiefstwert und tagsĂŒber zweimal der Höchstwert angezeigt wird.


Download

mosmixparser-1.0.1.tar.gz, Version 1.0.1 vom 2021-06-21

Kompilieren mit (C++-Standard >= 17) / compile using:

c++ mosmixparser.cpp -o mosmixparser

Beispielausgabe einer einmal tĂ€glich aktualisierten Wettervorhersage fĂŒr den Raum Selters (Westerwald) hier.


Versionsgeschichte

Version 1.0.1: Das Regen-Symbol wird nicht mehr nur bei >= 30 % Regenwahrscheinlichkeit, sondern auch bei >= 1 l/mÂČ Regenmenge angezeigt, um sommerliche Gewitter-Regenschauern besser erfassen zu können.


English Summary

This program uses the open MOSMIX data by the German weather service (DWD) to create an HTML5 based weather forecast for the next ten days at a station selected by the user and chosen among 5000 stations provided by the DWD (most of them in Germany). A script downloads the data from the DWD servers as a kmz file, unzips it to a kml file and feeds it to the mosmixparser software. The software itself is written in C++. The HTML output routines in mosmixhtml.cpp tend to be spaghetti code as they include the encapsulated Javascript and HTML formatting within the code as well as empirical decisions on how to display the weather. Reading this data from a file might be a cleaner solution. The software is licensed under GPL-3.0-or-later. Feel free to fork.



Über mich

Schon in jungen Jahren war ich fasziniert von den Möglichkeiten, die Computer und Technik bieten. In dieser Zeit brachte ich mir das Programmieren selbst bei und konfigurierte Betriebssysteme und Software bis spÀt in die Nacht.

Im Studium erweiterte und vertiefte ich mein Wissen. ZunÀchst in Bonn, wo ich Physik studierte. Die Physik ist ideal, um analytisches Denken zu erlernen und lösungsorientiertes Handeln zu verinnerlichen.
Dabei kam der Wunsch auf, praxisnÀheres Wissen zu erlangen und mich wieder stÀrker auf den Bereich Technik und IT zu fokussieren. Deshalb setzte ich mein Studium in Bochum fort, wo ich IT-Sicherheit studierte und mit dem Master of Science abschloss.

Seitdem entwickle ich IT-Lösungen und Internet-of-Things-Anwendungen und berate Kunden im Bereich IT-Sicherheit und Netzwerke. Schauen Sie sich doch einmal meine Dienstleistungspalette an!



Kontakt

E-Mail kontakt (a) rudo.info
PGP-SchlĂŒssel   939E96E995890F9C
Telefon+49 1590 18 222 97

Sie erreichen mich am besten per E-Mail oder ĂŒber das Kontaktformular. Schildern Sie darin bitte kurz Ihr Anliegen und ich werde mich schnellstmöglich bei Ihnen melden. Da ich unterschiedlich in meine Projekte eingebunden bin, schwankt meine telefonische Erreichbarkeit entsprechend.

Ich freue mich von Ihnen zu hören!
Ihr Thomas Rudolph

Kontaktformular



Ihr Name

Ihre E-Mail-Adresse

Leer lassen


Ihre Nachricht

Ihre Anfrage wird verschlĂŒsselt an den Webserver geschickt. Sie erklĂ€ren sich damit einverstanden, dass Ihre Angaben zur Beantwortung Ihrer Anfrage von mir verwendet werden dĂŒrfen.

Ich stimme den DatenschutzerklÀrungen zu.


     
Impressum, Schlichtungsstelle und DatenschutzerklĂ€rung