Dieses kleine Werkzeug kann Wetter-Rohdaten wie Temperatur, Sonnenschein oder Niederschlag von verschiedenen Quellen importieren und verarbeiten. Die zeitliche Aufteilung der Analyse liegt dabei in Dekaden, also jeweils 8-11 Tage. Das macht drei pro Monat und konsequenterweise 36 pro Jahr. Die Ausgabe erfolgt dabei nach verschiedenen Kriterien als Grafik oder Textdatei. Möglich sind Jahresrückblicke, Rekorde und das Zählen von Tagen, die bestimmte Schwellwerte (z.B. wärmer als x Grad) erreichen. Ein Klimamittel, falls man vergleichen möchte, wird automatisch mit errechnet.
Wichtig: Es handelt sich um ein Programm, daß auf einer Textkonsole bedient wird. Eine grafische Oberfläche gibt es nicht, sodaß du zumindest Grundkenntnisse bei dieser Bedienungsweise haben solltest. Schwer ist sie aber nicht.
Viele Einstellungen befinden sich in einer Konfigurationsdatei. Keine Sorge, das ist nicht kompliziert, denn du wirst erstmal nur wenig anpassen mögen. Dazu zählt das Einrichten eines Ordners, wo die Rohdaten zwischengespeichert werden und welche Daten du im Diagramm für den Jahresvergleich heranziehen möchtest. Zum Beispiel Temperatur, Sonnenschein, Luftdruck oder Niederschlag.
In wenigen Sätzen: Grafiken oder Bilder sind üblicherweise gerastert. Das bedeutet ihnen liegt ein feste Anzahl an Bildpunkten und Abstand deren zu Grunde, z.B. die Megapixel bei einer Digitalkamera oder Bildschirmen. Jedes Pixel hat dabei eine Farbe. Möchte ich ein Kreis haben oder ein Rechteck muß ich entsprechend der Form die Pixel einfärben. Bei einer Vektorgrafik gebe ich nur die Flächenkoordinaten und den Radius an. Wie damals im Matheunterricht. Welche Pixel nun genau verwendet werden, muß mich nicht kümmern. Da Diagramme aus Primitiven (Vielecke, Kreise und Linien) bestehen, ist das „Zeichnen“ einfacher und PHP benötigt dafür keine Erweiterung im Gegensatz zur Rastergrafik.
Ein alltägliches Anzeigeprogramm für Vektorgrafiken ist dein Internet–Browser. Alles, was nicht aus dem Internet-Mittelalter (vor 2010) ist, sollte das von sich aus können. Eine Kompatiblitätsliste der Browser für das verwendete Vektorformat findet sich bei Wikipedia.
Zur Zeit nur die öffentlichen Datensätze des Deutschen Wetterdienstes im KL2000–Format und im Historischen Format. Etwas später bei den Beispielen, zeigt ich, wo man die dort finden kann. Ein paar Stationen sind in der „WADE“ bereits vorkonfiguriert.
Für Windows gibt es auf der WADE-Homepage ein erklärendes Video, falls nach der Textform noch Fragen offen sein sollten.
So, du hast das ZIP–Archiv von „WADE“ in einen Ordner entpackt und liest gerade diese wundervolle Anleitung? Gut. Richte PHP ein, bewaffne dich mit der oben genannten Konsole/Terminal/Eingabeaufforderung und einem Texteditor. Vielleicht magst du noch ein erfrischendes Getränk holen und das Telefon aushängen, damit du nicht gestört wirst. War der Hund schon draussen? ☺
Zuerst „WADE“. Der Einfachheit halber solltest du diese Software in ein eigenen Ordner deiner persönlichen Dateien kopieren (oder auf einen externen Datenträger wie ein USB–Stick oder Netzwerk–Laufwerk). Unter Windows sind dies die „Eigenen Dateien“, MacOS X und Linux nennen das üblicherweise „Persönlicher Ordner“. Dort finden sich dann auch Unterordner wie „Dokumente“, „Bilder“ oder „Musik“. Wo du „WADE“ hinein kopierst überlasse ich vertrauensvoll dir. In der Anleitung nehme ich den Ordnernamen „dekaden_analyse“ innerhalb der „Dokumente“. Merke dir jedoch den Pfad! Dieser steht im Dateimanager („Explorer/Finder/Nautilus/Dolphin“ etc.) in der Adresszeile. Windows nennt ihn, je nach Betriebssystem-Version etwas abweichend, „c:\Dokumente und Einstellungen\[deinname]\Eigene Dateien“. Statt „DuE“ heißt es ab Vista „Users“ oder „Benutzer“. Linux und MacOS X legen persönliche Dateien in „/home/[deinname]“ ab. „deinname“ ist dabei dein Benutzername mit dem du dich am Betriebssystem anmeldest.
Jetzt wird PHP eingerichtet. Unter Windows installierst du dies mit einem Installationspaket global oder lokal über ebenfalls angebotene ZIP–Pakete. Ich empfehle dir letzteres, wenn du keine andere PHP–Software einsetzt. In dem Fall lädst du das ZIP herunter (ob „thread–safe“ oder nicht ist hier egal) und entpackst die „php.exe“, die „php7.dll“ („php7ts.dll“ bei „thread–safe“) sowie die „php.ini-development“ in den „WADE“–Ordner. Benenne letzteres in „php.ini“ um. Das war es dann schon. Bei MaxOS X oder Linux rate ich zu den fertigen Paketen bzw. was die Paketverwaltung deiner Distribution hergibt (siehe oben). PHP selber aus den Quellen zu übersetzen („kompilieren“) ist natürlich möglich, aber nicht ganz einfach und hier schlicht unnötig.
So, Konsole/Eingabeaufforderung/Terminal offen? Sehr gut. Für hauptberufliche Mausschubser (kleiner Scherz 😉 ) kommt nun das schwierigste. Wechsele in den „WADE“-Ordner, indem du einen Befehl eingibst und mit der Eingabetaste bestätigst. Dies geht mit „cd“. Zwei Beispiele:
Am Anfang der Kommandozeile sollte der Ordner nun erscheinen. Mit einem „dir“ unter Windows oder „ls“ bei MacOS X und Linux sollten dir alle „WADE“–Dateien aufgelistet werden. Schauen wir nun nach, ob du „WADE“ nun nach folgendem Musterbefehl zum Laufen bekommst. Hier ein paar Beispiele:
Es kann unter Windows passieren, daß eine „vcruntime[Zahl].dll“ fehlt und PHP nicht startet. Schaue nochmal auf der PHP-Downloadseite bei deiner heruntergeladenen Version in dessen Kopfzeile nach beispielsweise „VC15 x86 Thread Safe“. Auf der linken Seite werden etwas unterhalb die nötigen VC-Pakete („Visual C++ Redistributable“) von Microsoft verlinkt. Achte darauf, daß sowohl die VC-Version als auch das x86/x64 mit deiner PHP-Version übereinstimmen. Das muss dann nachinstalliert werden.
Wenn die Sache (nun) rund läuft, meldet sich „WADE“ mit einem Hilfetext auf dem Bildschirm. Dieser gibt einen ersten Überblick über die Funktionen und die Informationen, die du angeben mußt. Im oberen Bereich findest du aufgelistet, welche Umgebung vorgefunden wurde: PHP–Version und Pfadangaben. In deinem Texteditor kannst du nun die Konfigurationsdatei von „WADE“ öffnen. Sie liegt im entsprechenden Ordner und heißt „wade.konfiguration.php“.
Im Paket dabei sind ein Großteil meiner benutzerdefinierten Konfigurationsdateien mit denen ich die verschiedenen Grafiken erzeuge. Wie man das genau benutzt und welche die Optionen der einzelnen Programmfunktionen sind, steht weiter unten. Erstmal ein paar einfache Beispiele. Wenn du dir den Inhalt der „wade.konfiguration.php“ anschaust, findest du am Anfang die mitgelieferten Datenquellen des Deutschen Wetterdienstes. Weitere Stationen kannst du auf deren Homepage unter „Klima und Umwelt (oben, dann links) → Klimaüberwachung → Deutschland → Daten und Produkte (in der Mitte) → Klimadaten Deutschland → Monats- und Tageswerte → Termin und Tageswerte (rechts)“ finden und hier einbinden. Etwas versteckt. Ich weiß. Zur Zeit (Februar 2019) ist das als Direktlink diese Seite. Beispielhaft sieht das als Konfigurationsblock, wie im folgenden aus. Wichtig ist die erste Bezeichnung vor dem „=>array(“, denn das sind die Stationsbezeichner, die du bei WADE angibst. Es folgen ein paar Informationen zu jeder Station und am Ende die Datenquellen.
Als erstes mußt du die Wetterdaten herunterladen. Die liefere ich nicht mit. Das macht man in WADE mittels php dekaden_analyse.php -vv --import --station=Augsburg. Im Beispiel ist das Augsburg. Es geht aber natürlich jede andere, die eingestellt ist. Durch das „-vv“ zeigt das Programm sehr detailliert an, was es macht. Die Anzahl der Buchstaben entscheidet über die Geschwätzigkeit. Ein „-q“ unterdrückt alle Ausgaben. Die Rohdaten sollten nun heruntergeladen und eingerichtet werden. Der folgende Befehl sollte bei Augsburg eine Zeitreihe und die Größe der Dateien anzeigen.
Damit kannst du nun arbeiten. Die Details der Optionen und weitere Hilfen, findest du dann in den folgenden Absätzen. Falls du dich fragst, wo die Einstellungen in den Beispielen herkommen, wirst du im unteren Teil der Konfigurationsdatei fündig. Diese lassen sich dann über die „ini-Dateien“ je nach Bedarf überschreiben. In den Beispielen wirst du das auch fleissig tun. Wie das in der „ini“ funktioniert, wirst du recht schnell selbst herausfinden. Noch ein kleiner Tipp: Normalerweise wird ein Report, also die fertige Auswertung, in eine Datei (in den Unterordnern export oder report) geschrieben. Mit „-o“ landen sie direkt in der Bildschirmausgabe. Ausser natürlich bei den Grafiken ☺
Nun, diese Option ist weitesgehend selbsterklärend. Alle in der Konfigurationsdatei aufgelisteten Wetterstationen, werden hier mit ihren Daten angezeigt. Ganz links in Sternchen ist der interne Name, den du bei allen Aktionen entsprechend angeben mußt. Welche Rohdateien bereits im lokalen Zwischenspeicher vorliegen, wird ebenfalls angezeigt. Zusätzlich zu ihrem Datum und Dateigröße. Die Stationen selber lassen sich in der Konfigurationsdatei verwalten. Dafür benötigst du den oben erwähnten Texteditor. Der Unterpunkt „daten“ beherbergt dort die Stationen.
Dies holt die eingestellten Rohdateien vom entsprechenden Ort, im Internet oder lokale Festplatte, und importiert sie in den Zwischenspeicher. Dabei werden die Daten auf formale Korrektheit geprüft. Möchtest du neuere Daten haben, dann importiere erneut. Idealerweise werden nur neue Daten abgefragt, um das Übertragungsvolumen gering zu halten und natürlich so Aktualisierungen zu beschleunigen.
Erstellt einen Export der Analyse in Dekaden in ein gewünschtes Format und im entsprechenden „report“–Unterordner von „WADE“ abgelegt.
Mit vergleich gibst du hier die auszuwertenden Jahre an. Dies kann ein einzelnes sein oder mehrere als Zeitspanne. Der typ gibt das Format an in dem du den Export haben möchtest. Als einfachen Text, CSV–getrennte Felder beispielsweise für Excel/Calc, als HTML-Webseite oder im portablen XML-Format. In der Konfigurationsdatei kannst du unter dem Punkt „export“ weitere Optionen, wie das Einschränken auf bestimmte Dekaden, einstellen.
Erstellt die Vektorgrafik mit den geforderten Datenreihen. Diese legst du in der Konfigurationsdatei unter dem Punkt „grafik“ fest. Den Ort, wo diese abgelegt werden sollen, kannst du vorher jedoch anpassen. Standardmäßig liegt dies im „export“–Unterordner von „WADE“. Als jahr gibst du logischweise das auszuwertende Jahr vierstellig (z.B. 1990) an. Der vergleich berechnet ein Mittelwert aus beliebig vielen Jahren mit dem das ausgewählte Jahr verglichen wird. Das kann ein einzelnes Jahr sein, aber auch mehrere und so ein Klimamittel darstellen (z.B. 1961–1990). Drei verschiedene typ[en] gibt es zur Auswahl. Standardmäßig wird die „abweichung“ vom errechneten Klimamittel ermittelt. „mittel“ berechnet die Mittelwerte der Vergleichsjahre - ergo das klassische Klimamittel. Und schließlich noch „absolut“, welches die Werte aus dem gewählten Jahr auswertet. Die fertige Grafik kannst du dir dann anschauen.
Mit vergleich gibst du hier die auszuwertenden Jahre an. Dies kann ein einzelnes sein oder mehrere als Zeitspanne. Dabei wird ein Report verfasst und im entsprechenden „report“–Unterordner von „WADE“ abgelegt. Der typ gibt das Format dessen an. Über die Konfiguration kannst du die Bedingungen anpassen, welche Dekaden eines Jahres ausgewertet werden sollen. Dazu welcher Datensatz wie Temperatur oder Niederschlag und wieviele Jahre mit den höchsten oder den niedrigsten Werten aufgelistet werden sollen.
Mit vergleich gibst du hier die auszuwertenden Jahre an. Dies kann ein einzelnes sein oder mehrere als Zeitspanne. Dabei wird ein Report verfasst und im entsprechenden „report“–Unterordner von „WADE“ abgelegt. Der typ gibt das Format dessen an. Berechnet werden aktuell die drei Temperaturangaben (max, mittel und min) mit jeweils den höchsten und niedrigsten Wert in einer Dekade. Dabei gibt es zwei Zusammenfassungen: Einmal für die gesamte Dekade und ein anderes mal ein einzelner Tag in der jeweiligen Dekade. So kann zum Beispiel eine 3. Aprildekade im Jahr xy die wärmste gewesen sein, aber in einem anderen Jahr gab es den absolut wärmsten Tag der Dekade. Welches du davon auswerten möchtest, wird ebenfalls in der Konfigurationsdatei im Punkt „rekorde“ festgelegt.
Diese Funktion zählt wieselflink die Tage, welche im geforderten Zeitraum, eine bestimmte Bedingung erfüllen, z.B. Höchstwerte höher oder gleich 25 Grad haben. Die bedingung legt dies, z.B. mittels „temperatur_max >= 25“ oder „niederschlag > 0“, fest. Mit vergleich gibst du hier die auszuwertenden Jahre an. Dies kann ein einzelnes sein oder mehrere als Zeitspanne. Dabei wird ein Report verfasst und im entsprechenden „report“–Unterordner von „WADE“ abgelegt. Der typ gibt das Format dessen an. Standardmäßig werden alle Monate untersucht und aufgelistet. Möchtest du nur bestimmte auswerten, wird ebenfalls in der Konfigurationsdatei im Punkt „wieselflink“ festgelegt.
Diese Funktion zählt die Anzahl der Tage, welche im geforderten Zeitraum, eine bestimmte Bedingung erfüllen, z.B. Höchstwerte höher oder gleich 25 Grad haben. Die bedingung legt dies, z.B. mittels „temperatur_max >= 25“ oder „niederschlag > 0“, fest. Ab Version „17.07.01“ gibt es vorgefertigte Bedingungen. Details sind unter diesem Absatz. Mit vergleich gibst du hier die auszuwertenden Jahre an. Dies kann ein einzelnes sein oder mehrere als Zeitspanne. Dabei wird ein Report verfasst und im entsprechenden „report“–Unterordner von „WADE“ abgelegt. Der typ gibt das Format dessen an. Standardmäßig werden alle Monate untersucht. Möchtest du nur bestimmte auswerten oder eine maximale Menge an Unterbrechungen (in Tagen) der „Straße“ erlauben, wird ebenfalls in der Konfigurationsdatei im Punkt „strasse“ festgelegt.
Vorgefertigt sind folgende Bedingungen:
Sucht auf der WADE-Homepage nach einer neueren Version als deine installierte. Dafür wird eine Kontrolldatei heruntergeladen und nach Versionsinformationen durchsucht. Es werden keine Daten übertragen und noch nichts heruntergeladen. Der Vergleich findet bei dir statt. Möchtest du ein eventuelles Update als ZIP herunterladen, setzt du ein „-d“ in den Befehl ein. Automatisch entpackt, wird es mit „-d -i“. Eine vorherige Sicherung der php- und ini-Dateien, kann nicht schaden.
PHP benötigt dafür eine Erweiterung, die man „simplexml“ nennt. Fehlt sie, gibt „WADE“ einen Fehler aus. Sie muss nachinstalliert werden. Bei Windows ist die „php-xml.dll“ zu kopieren. Wo PHP sie erwartet, zeigt dir ein php -r "echo ini_get('extension_dir');" an. Unter Linux spalten viele Distributionen PHP-Erweiterungen in eigene Pakete ab, die hier oft „php-simplexml“ oder „php-xml“ heißen. Spiele sie mit der Paketverwaltung ein.
Gegebenenfalls muss sie in der „php.ini“ noch aktiviert werden. Hast du alle Dateien in einem Ordner, ist sie bei der „WADE“ dabei. Hast du PHP installiert, zeigt php --ini an, wo sie zu finden ist. Suche dort nach einem großen Block mit vielen „extension=“ Ausschau. Ein Semikolon am Anfang kommentiert einen Eintrag aus. Entferne dieses vor dem XML-Modul. Du kannst den Ordner für die PHP-Erweiterungen auch mittels dem Eintrag „extension_dir“ in dieser „php.ini“ auf den WADE-Ordner ändern.
Analog geht dies auch mit dem ZIP-Modul, falls auch deren Fehlen moniert wird.