Vorstellung eines Programms zur Darstellung von Wetterdaten

gabriel273

Mitglied
Hallo Leute,
als eher stiller Mitleser in diesem Forum möchte ich heute ein Programm vorstellen, welches ich in meiner Freizeit geschrieben habe.

Kurz zusammengefasst hilft das Programm bei der Auswahl eines Beobachtungsstandortes in einer Region. Dabei kann man verschiedene Wetter- und Beobachtungsbedingungen einzeln in der selbst gewählten Region anzeigen lassen. Zu den Wetterbedingungen zählen u.a. die Bewölkung, der Taupunkt, sowie die Sichtweite. Die Region gibt man mittels der Koordinaten des Mittelpunktes und der Größe an.
Meine Motivation für das Programm war es, für mobile Astronomen die Wahl des Beobachtungsstandortes zu erleichtern. Ich selber fahre gelegentlich mal mit meinem Teleskop aus der Stadt raus und habe ein paar Orte, für die ich dann jeweils die Wetterbedingungen nachschauen muss. Ich fände es einfacher, wenn ich in meinem Fall für die Region Rostock & Umgebung z.B. den zeitlichen Verlauf der Bewölkung sehen könnte und dann alle Standorte auf einem Blick prüfen kann. Genau da soll mein Programm helfen.
Die Funktion ist also ähnlich zu z.B. Windy, liefert jedoch kostenlos eine Übersicht in 1-Stunden-Schritten.

Das Programm ist hier zu finden: WeatherMap auf GitHub.
Vielleicht findet ja der ein oder andere von euch das Programm interessant. Auf der verlinkten Seite kann man das Programm für Windows downloaden. Bis jetzt läuft das Programm nur auf Windows 10 & 11 jeweils in der 64-Bit Version. Ich arbeite zurzeit an der Version 2.0 und dann werden auch andere Betriebssysteme unterstützt. Da der Quellcode frei verfügbar ist, kann man mit genug technischem Wissen das Programm auch schon jetzt bestimmt für andere Betriebssysteme bauen. Falls jemand mehr darüber weiß als ich, würde ich mich über eine Nachricht freuen.

Auch über Feedback zum Programm würde ich mich sehr freuen.

Zu dem Programm ist noch zu sagen, dass es manchmal eher langsam startet.
Wenn man das Programm öffnet, erscheint zuerst ein Konsolenfenster (nicht erschrecken) und kurz darauf auch das richtige Fenster des Programms.

Das Programm ist beim ersten Start auf Englisch eingestellt. Dies lässt sich leicht umstellen: Dafür zuerst oben rechts auf den Button "Settings" und dann in dem neu geöffneten Fenster auch oben rechts bei "Language" Deutsch auswählen und mit dem Button "Save" unten in der Mitte die Einstellungen dann speichern. Dann lassen sich am oberen Rand die Koordinaten für die Region einstellen. Um diese dauerhauft zu speichern, muss man sie im eben erwähnten Einstellungsfenster eintragen.

Der Quellcode ist auch auf GitHub, hier der direkte Link.
Als Quelle für die Wetterdaten nutze ich die Dienste OpenMeteo und BrightSky. Beide sind für die normale Benutzung kostenlos. Auch mein Programm ist kostenlos und das soll es auch bleiben.

Derzeit überlege ich, ob bzw. wie es möglich wäre, Daten von dem Dienst ClearOutside in das Programm einzubinden. Diesen Dienst benutze ich oft und wahrscheinlich kenn auch die meisten von euch diese Seite. Mir gefällt der Service, da man dort verschiedene Wetterbedingungen zusammengefasst auf einen Wert sehen kann. Mein Gedanke ist es, bei ClearOutside mal anzufragen, ob sie vielleicht eine Möglichkeit bereitstellen würden (vielleicht sogar ebenfalls kostenlos), sodass deren Daten genutzt werden können. Das ist aber wahrscheinlich eher Wunschdenken. Auch hier würde ich mich über Feedback und Vorschlägen zu dieser Idee freuen.
 
Hallo gabriel273,

schön dass du sowas graits hereinstellst!
Ich habe mir die normale .exe (nicht die Standalone) geladen und auf einer VM (Win10) installiert.

Ich habe gleich auf Deutsch umgestellt und meinen Ort gesetzt (Graz). Auf der Suche nach der Zeitzone bin ich erst bei Europe/Vienna fündig geworden, "Austria" bzw. "Österreich" (als Land) habe ich nicht gesehen. Git es auch nicht, so wie Bielefeld ?

Mal prinzipiell: Funktioniert gut! Das Laden der Daten dauerte bei 100km mit Auflösung 5 so ca. 20-25 Sek., bei beiden Quellen etwa gleich. So wie es aussieht bedeutet die Auflösung

5 => 5² = 25 Quadrate
10 => 10² = 100 Quadrate

desto feiner wird natürlich dann das Raster. Bei Auflösung 50 wartet man dann aber auf 2500 Kästchen.

Was mich wundert sind die sehr unterschiedlichen Daten z.B. bei der Temperatur:
(Alles für Graz, 24.9.2024, 100km, Auflösung 5)

Temp_OpenMeteo_100km_A5.jpg

Temperatur_OpenMeteo_100km_A5


Temp_BrightSky_100km_A5.jpg

Temperatur_BrightSky_100km_A5

Was mir noch auffiel:

• Animation: Wäre in den Einstellungen bitte eine default Möglichkeit zum Abstellen möglich?
• Sommerzeit: wird das automatisch berücksichtigt?
• Bei hoher Auflösung: Wenn es zu lange dauert, die Daten zu laden, und man klickt auf Abbrechen => Freeze. Musste die .exe über den Taskmanager beenden.
• Die Quelle vielleicht noch mit auf die Grafik geben?


cs,
harald

--
 
Guten Abend Harald,
danke für dein Feedback.

Die Namen der Zeitzonen setzen sich aus der Region (z.B. Europa) und einer Stadt zusammen. Ländernamen wären an sich größtenteils auch möglich. Ich lade die Zeitzonen aus einer Bibliothek und da ist das mit den Städtenamen gemacht worden, was glaube ich auch Standard ist. Manche Länder sind ja in mehrere Zeitzonen aufgeteilt und so ist es konsistent.

Das mit der Auflösung hast du richtig erkannt, hätte ich aber auch erwähnen können. Am Ende werden die Wetterdaten in einem Quadrat abgefragt, bei welchem die Seitenlänge die eingetragene Schrittzahl ist, ergibt also die Schrittzahl quadriert viele Abfragen.

Bei den beiden Bildern, welche du gepostet hast, ist mir aufgefallen, dass bei dem ersten am Rand an der Skala "Temperatur" steht, bei dem zweiten jedoch "Bewölkung". Könntest du bitte schauen, ob du bei beiden Abfragen die gleiche Kategorie gewählt hast? Vielleicht ist das ja ein Fehler im Programm.

Nun noch zu deinen Fragen:
  1. Die Einstellung werde ich die Tage einbauen. Ob ich das morgen direkt schaffe, weiß ich nicht, aber jetzt die Tage bestimmt.
  2. Das weiß ich gerade gar nicht, muss ich nachschauen. Wie gesagt, ich lade die Zeitzonen aus einer Bibliothek und habe mich nicht viel damit beschäftigt. Schaue ich aber nach.
  3. Danke für den Hinweis, das muss ich mir auch mal anschauen. Ich habe immer nur geringe Auflösungen probiert, vielleicht ist das ja ein Fehler bei höheren Werten.
  4. Das sollte kein Problem sein. Ich probiere, dieses Feature in den kommenden Tagen einzubauen.

Nochmal danke, dass du dir das Programm angeschaut hast und für dein Feedback.

CS, Gabriel.
 
Hallo Gabriel,

in der Tat ist es so, dass wenn man die Quelle wechselt das Dropdown mit der zu berechnenden Größe wechselt! Soll heißen: Wenn man unter OpenMeteo gerade Temperatur eingestellt hat, und man wechselt zu BrightSky, stellt sich das Dropdown mit der Größe auf "Bewölkung" zurück. Ich habe gesehen, dass bei beiden Quellen nicht dieselben Größen abfragbar sind: Bei OpenMeteo sind es 12 Größen, bei BrightSky nur 8.
So gesehen ist es logisch, dass sich mitunter was umstellen muss, aber nicht zwangsläufig, wenn nämlich die gewünschte Größe in beiden Quellen vorhanden sind. ich habe das jetzt sicherlich umständlich formuliert..._jungeschlagen:

Hier nochmals die Temperatur:
Temp_OpenMeteo_100km_A5.jpg

Temp_OpenMeteo_100km_A5


Temp_BrightSky_100km_A5.jpg

Temp_BrightSky_100km_A5

Vielleicht könnte man ja die Einstellungen und die Quelle als Titel in der Grafik mit anführen, dann gibt es keine Missverständnisse, z.B. sowas in der Richtung:

{Temeratur} für {Ort}, {OpenMeteo}
{lon} {lat}, {Datum}
{xxx km²} {Auflösung = xx}

cs,
harald

--
 
Guten Tag Harald und andere Mitlesende!

Ich habe gerade ein Update für das Programm veröffentlicht. Größtenteils beinhaltet es Änderungen basierend auf den Vorschlägen von Harald. Außerdem ist mir noch ein Problem aufgefallen, welches den Start des Programms direkt nach der Installation verhindern konnte.

Hier sind die Änderungen kurz zusammengefasst:
  1. Wenn man die Datenquelle ändert, hat sich die Wetterbedingung (z.B. Bewölkung oder Taupunkt) zurückgesetzt. Das neue Verhalten ist nun, dass, wenn möglich, die Wetterbedingung gleich bleibt. Da z.B. der Taupunkt bei OpenMeteo und BrightSky verfügbar ist, bleibt dieser ausgewählt. Wenn man jedoch z.B. den UV-Index ausgewählt haben sollte, welcher nur bei OpenMeteo verfügbar ist, setzt sich die Wetterbedingung zurück und blinkt dann 3x gelb auf, um auf die Änderung aufmerksam zu machen.
  2. Man kann nun in den Einstellungen das automatische Abspielen der Bilder ausstellen. Vorher musste man dies bei jedem Start des Programms manuell machen.
  3. Die Bilder enthalten nun mehr Daten im Titel, siehe folgendes Bild. Das Anzeigen des Ortes (z.B. Graz oder Rostock) ist so erstmal nicht möglich, man gibt ja nur die Koordinaten ein. Da könnte man natürlich über einen Dienst wie Google Maps den Ort erfragen. Ich hab für Version 2 aber vorgehabt, dass man mehrere Orte speichern und dementsprechend benennen kann. Dann wäre es möglich, diesen Namen zu nutzen.
image_1.png




















Noch ein paar Anmerkungen an die Fragen:
Wie die unterschiedlichen Daten für den gleichen Standort zustande kommen, konnte ich noch nicht herausfinden. Meine Vermutung ist, dass OpenMeteo und BrightSky unterschiedliche Wettermodelle verwenden oder sogar andere Anbieter. BrightSky sollte immer Daten vom DWD abfragen, bei OpenMeteo variiert das jedoch je nach Standort/Region auf der Erde.

Das Problem mit dem Einfrieren des Programms bei einer hohen Auflösung konnte ich nicht reproduzieren. Ich habe bei der Auflösung einfach einige Nullen angehangen und dann nach dem Starten kurz gewartet und dann gestoppt. Da hat alles problemlos und schnell funktioniert. Wenn du da noch mehr Infos hast, kann ich mir das nochmal anschauen.

Ich hoffe, das Programm funktioniert jetzt bei jedem. Über weitere Anregungen und Feedback würde ich mich weiterhin freuen.

CS, Gabriel
 
Hallo Gabriel,

sehr gut, die Änderungen funktionieren bei mir.

Ich habe mal die Äuflösung auf 25 gestellt = 625 Quadrate, 1min rechnen lassen und habe dann auf "Abbrechen" geklickt. Alles OK, es bricht normal ab.

Bei Klick auf "Einstellungen" und dann "Speichern" werden die Einstellungen im "Einstellungs"-Fenster gespeichert, und wenn man das Programm neu startet werden diese auch korrekt gesetzt.

Als [zensiert] (= Schlimmster Anzunehmender User) ein paar Kleinigkeiten vielleicht:

• Das mit dem Ortsnamen macht nichts, man könnte aber die eingegebenen Koordinaten angeben (50°N|10°O oder so). Wenn man im "Einstellung"-Fenster einen Ort angeben könnte, könnte dieser mit gespeichert werden.

• Könnte man die Einstellungen, die man z.Z. gespeichert hat mit einem Button schnell laden? Soll heißen ein zusätzlicher Button zu "Abbrechen" und "Speichern" à la "Diese Daten laden" oder "Zurücksetzen auf Standard" oder so. Dann würden die gesetzten Daten im "Einstellungs"-Fenster sofort im Hauptfenster verfügbar sein.

• Die Auflösung: Der Rechenaufwend bzw. die Ladezeit der Daten steigt ja quasi quadratisch mit der Einstellung. So gesehen wäre es gut, die Auflösung sinnvoll zu begrenzen, oder zumindest eine Warnung auszugeben, dass Auflösung 100 etwas dauern könnte... Mann könnte ja auch 1000 eintippen und dann hätte man 1e6 Flächen und wartet bis zum Sankt Nimmerleins Tag.

Bsp.: Graz 47.05N 15.47E
Vorhersage 12h
Rel. Luftfeuchte
OpenMeteo
Größe: 10km
Auflösung: 20

Das rechnet dann 400 Quadrate von 0.5km×0.5km = 0.25km² ab, in meiner VM sind das dann ca. 5min10s. Das ist zwar ganz nett, aber nicht praktikabel. Mir ist klar, dass die Einstellungen bewusst so gesetzt sind, um das zu zeigen.


cs,
harald

--
 
Hallo zusammen,
gerade habe ich eine komplett neue Version des Programms veröffentlicht. Es ist nun in der Version 2.0 verfügbar.

Diese Version ist ein kompletter Neuentwurf des Programms mit vielen Verbesserungen und auch neuen Funktionen. Ich würde mich wieder über Feedback und Anregungen zu dem Programm freuen. Das Programm ist weiterhin auf GitHub unter diesem Link verfügbar.

Hier ist ein Screenshot des neuen Programms:
Bildschirmfoto vom 2025-03-02 18-17-36.png


Die wichtigsten Änderungen:
  • Neue Benutzeroberfläche: Das UI wurde komplett überarbeitet und ist nun moderner und nutzerfreundlicher.
  • Mehrere Standorte speichern: Es ist jetzt möglich, mehrere Standorte zu speichern, zwischen denen man schnell wechseln und jeweils die Wetterdaten abrufen kann.
  • Interaktive Karte: Das Ergebnis ist nicht mehr ein einfaches Bild, sondern die Wetterdaten werden auf einer interaktive Weltkarte dargestellt.

Technische Änderungen:
  • Das Programm wurde von Python auf eine Webanwendung umgestellt und läuft intern in einem Browser (Stichwort Electron).
  • Dadurch passt sich die App besser an verschiedene Bildschirmgrößen an.
  • Die Gestaltung ist einfacher und flexibler geworden, weshalb das Programm jetzt eine neue Farbpalette und einen Darkmode besitzt.

Weitere Änderungen:
  • Plattformen: Neben Windows ist das Programm jetzt auch für Linux verfügbar. Es ist eine .deb-Datei, sowie eine AppImage-Datei auf der Downloadseite verfügbar. Für Windows ist weiterhin die .exe-Datei da, welche das Programm installiert.
  • Geschwindigkeit: Es finden jetzt nicht mehr zwei, sondern drei Abfragen der Wetterdaten pro Sekunde statt, wodurch die Bilder schneller bereitgestellt werden. Außerdem findet das Abbrechen der Bildgenerierung jetzt sofort statt.

Hinweise:
Technisch gesehen ist es jetzt ein neues Programm mit dem gleichen Namen. Das hat zur Folge, dass ein Update von Version 1.x auf Version 2 nicht die Version 1 deinstalliert bzw. ersetzt. Wenn man Version 2 installiert, bleibt auch Version 1 installiert und muss manuell deinstalliert werden, sofern gewünscht.

Viel Spaß beim Probieren!
CS, Gabriel
 
Zurück
Oben