← Zurück zu Projekten

ThermalHawk Live • Thermik-Vorhersage

AI-gestützte Echtzeit-Thermikvorhersage für Segelflieger in Rheine mit Machine Learning und interaktiver Heatmap

🎯 Das Projekt

ThermalHawk Live ist eine interaktive Web-Applikation, die Thermik-Hotspots im Umkreis von 50km um den Flugplatz Rheine vorhersagt. Durch die Kombination von meteorologischen Daten mit historischen Segelflug-Events entsteht eine präzise Vorhersage, wo und wann sich thermische Aufwinde bilden werden.

Machine Learning Ansatz:
Das System analysiert historische IGC-Flugdaten von über 1.000 Segelflügen und korreliert diese mit den meteorologischen Bedingungen zum Flugzeitpunkt. Ein Scikit-learn Modell lernt die Muster zwischen Wetter (CAPE, LCL, Bodenfeuchte, Wind) und tatsächlichen Thermik-Events.

Heatmap-Visualisierung:
Die vorhergesagten Thermik-Hotspots werden als interaktive Heatmap auf einer Leaflet-Karte dargestellt. Jeder Hotspot zeigt Wahrscheinlichkeit, durchschnittliche Steigrate und die Anzahl ähnlicher historischer Events.

Stündliche Vorhersagen:
Die Vorhersage wird für jede Stunde von 10:00 bis 18:00 UTC berechnet und kann über einen interaktiven Slider durchgeschaltet werden. So sieht man auf einen Blick, wann die Thermik am stärksten sein wird.

🚀 Live-Version aufrufen

Die Thermikvorhersage ist als eigenständige Dashboard-App verfügbar und zeigt die aktuelle Vorhersage für heute:

→ Live-Dashboard öffnen

🤖 Machine Learning Pipeline

1. Datensammlung

Sammlung und Aufbereitung der Trainingsdaten:

  • IGC-Flugdaten: Download von über 1.000 Segelflügen aus der Region
  • Thermik-Extraktion: Automatische Erkennung von Aufwind-Events in den GPS-Tracks
  • Geo-Clustering: Gruppierung von Events zu Hotspot-Bereichen
  • Feature-Generierung: Speicherung von Lat/Lon, Steigrate, Zeitpunkt pro Event

2. Wetterdaten-Integration

Verknüpfung mit meteorologischen Daten:

  • Open-Meteo API: Abruf historischer Wetterdaten für jeden Flugzeitpunkt
  • Parameter: CAPE, LCL, Bodenfeuchte, Temperatur, Wind, Wolkenbedeckung
  • Räumliche Interpolation: Wetterdaten für jeden Hotspot-Standort
  • Feature Matrix: Kombination von Geo + Wetter → Trainingsdataset

3. Model Training

Training des Machine Learning Modells:

  • Scikit-learn: Random Forest Classifier für binäre Vorhersage (Thermik ja/nein)
  • Features: Lat, Lon, Hour, CAPE, LCL, Soil Moisture, Wind, Cloud Cover
  • Label: 1 = Thermik-Event an diesem Ort, 0 = kein Event
  • Validation: 80/20 Train-Test-Split mit Cross-Validation

4. Vorhersage-Generierung

Tägliche Berechnung der Thermikvorhersage:

  • Grid-Scan: Evaluation von 50.000+ Punkten im 50km Radius
  • Wahrscheinlichkeits-Scoring: Modell gibt Probability Score pro Punkt
  • Hotspot-Clustering: Zusammenfassung benachbarter Punkte zu Hotspots
  • JSON-Export: Speicherung der Top-50 Hotspots mit Metadaten

✨ Features

  • Interaktive Heatmap: Leaflet.js Karte mit farbcodierter Thermik-Intensität
  • Stündliche Vorhersagen: Slider für 10:00 - 18:00 UTC
  • 50km Suchradius: Vollständige Abdeckung des Flugraums um Rheine
  • Echtzeit-Metriken: Anzahl Hotspots, beste/durchschnittliche Steigrate
  • Wetterlage-Anzeige: Aktuelle Bedingungen (Temp, Wind, LCL, CAPE)
  • AI-Confidence Score: Vertrauensindikator basierend auf ähnlichen Events
  • Mobile-optimiert: Responsive Design für Smartphone und Tablet
  • Hotspot-Details: Popup mit Koordinaten, Steigrate, historischen Events

⚙️ Tech-Stack

Backend (Python)

  • Scikit-learn – Machine Learning Framework für Random Forest Modell
  • Pandas & NumPy – Datenverarbeitung und Feature Engineering
  • Requests – HTTP Client für Open-Meteo API Calls
  • aerofiles – IGC-Flugdaten Parser
  • geopy – Geo-Distanz-Berechnungen (Haversine)
  • Python HTTP Server – Lokales Serving der Web-App

Frontend (Vanilla JavaScript)

  • Leaflet.js – Open-Source Mapping Library für interaktive Karten
  • Leaflet.heat – Heatmap-Layer Plugin für Thermik-Visualisierung
  • Vanilla ES6+ JavaScript – Keine Frameworks, pure Web APIs
  • CSS3 Grid & Flexbox – Responsive Layout System
  • Coding Cortex Design System – Papercraft-Style UI mit Navy/Yellow/Teal Palette

Datenquellen

  • Open-Meteo API – ICON-D2 Wettermodell (2.2 km Auflösung)
  • OLC/XContest – Historische Segelflug-Tracks (IGC Format)
  • OpenStreetMap – Basis-Kartenmaterial

📊 Wie präzise ist die Vorhersage?

Die Genauigkeit des Modells hängt stark von der Qualität und Menge der Trainingsdaten ab:

Stärken des Modells

  • Räumliche Muster: Erkennt wiederkehrende Hotspot-Bereiche (z.B. Sonnenhänge, Industriegebiete)
  • Zeitliche Muster: Lernt optimale Thermik-Zeitfenster basierend auf Tageszeit
  • Wetterabhängigkeiten: Korreliert CAPE, LCL und Bodenfeuchte mit Thermik-Qualität

Limitierungen

  • Trainingsdaten-Bias: Modell kennt nur Bereiche, die historisch beflogen wurden
  • Wettermodell-Genauigkeit: Open-Meteo Forecast ist nicht 100% akkurat
  • Keine Mikrometeo-Effekte: Lokale Windschatten, Inversion etc. nicht erfasst

Confidence Score:
Der AI-Confidence Score zeigt an, wie ähnlich die aktuelle Wetterlage zu den historischen Trainings-Events ist. Ein hoher Score (>70%) bedeutet, dass das Modell auf vielen ähnlichen Situationen trainiert wurde und die Vorhersage entsprechend verlässlicher ist.

🔮 Ausblick & Weiterentwicklung

  • Multi-Standort-Support: Erweiterung auf weitere Flugplätze in Deutschland
  • Deep Learning: Testen von LSTM/Transformer Modellen für zeitliche Sequenzen
  • Ensemble Methods: Kombination mehrerer Modelle für robustere Vorhersagen
  • User Feedback Loop: Integration von Pilot-Rückmeldungen zur Modell-Verbesserung
  • Real-Time Updates: Automatische Vorhersage-Aktualisierung alle 3 Stunden
  • Mobile App: Native iOS/Android App mit Push-Benachrichtigungen