aktualsiert am 12.1.2023
Verwendung der Tawhiri-API zur Vorhersage der Landestellen von Wetterballons
H. Lüthen
Wenn man durch eigenen Empfang Positionsdaten einer Radiosonde bis in eine geringe Höhe über dem Boden erhalten hat, möchte man eventuell die genaue Landestelle kennen. Die Tawhiri-API kann die Bahn des Ballons von der letzten bekannten Position bis zur Landestelle relativ genau vorhersage. Das ist für den Sondenjäger nützlich.
Man beginnt eventuelle Peil- oder Dekodierbemühungen im Nahbereich und spart Nerven und Zeit. Oder kann die Antenne gleich im Rucksack lassen
Ich fahre mit "Öffis" und Rad zu den Sonden; eine bessere Kenntnis der Landestelle hilft mir, die Anreise zu planen.
Ist die Batterie der Sonde schon leer (z.B. weil man als Berufstätiger erst Tage nach der Landung Zeit für eine Suchexpedition hat), kann man die "kalte" Sonde mit etwas Glück trotzdem noch finden.
Timerkill, wie er in letzter Zeit von einigen Stationen auf z.B. 3h20min eingestellt wird, lässt sich durch eine Verfolgung der Sonde bis kurz vor der Landung und eine gute Vorhersage oft überwinden.
Wurde auf der Bremer Seite zeitnah keine Vorhersage ausgelöst, kann man das auch viele Stunden nach dem Flug selber machen.
Ich habe in den letzten Monaten diese Technik ein wenig optimiert und konnte dadurch etliche Sonden im Gelände auffinden, zum Teil in unmittelbarer Nähe zur vorhergesagten Position. Da mich verschiedene Sondenfreunde darum gebeten haben, hier mal eine grobe Doku.
Die Predict-API
Die Tawhiri API ist eigentlich dazu da, die Flugbahn eines Ballons von Start bis Landung vorherzusagen. Eingegeben werden Positionen (Länge, Breite, Höhe) des Startorts, Aufstiegsgeschwindigkeit, Höhe des Platzens und Abstiegsgeschwindigkeit. Die API liefert dann eine Vorhersage der Flugbahn des Ballons mit Zwischenpositionen bei Auf- und Abstieg. Hierzu werden die Winddaten aus dem aktuellen RUN des GFS-Wettermodells verwendet. Bei der Vorhersage der Landestelle wird ein Erdoberflächenprofil (Terrain) automatisch berücksichtigt, das eine Auflösung von 15" (ca. 30m) hat.
Der Service kann auch dazu zweckentfremdet werden, die Landestelle einer Sonde aus den letzten empfangenen Positionen zu berechnen. Dies erlaubt das Auffinden „kalter Sonden“ am Wochenende und ist ein sinnvolles Mittel gegen Timerkill-Sonden.
Aufruf und Syntax
Man passt diese Zeile der jeweiligen Sonde an, kopiert sie per Zwischenablage in das Browserfenster und ruft sie wie eine Webseite auf. Die Antwort wird dann im Browser angezeigt.
NEU: Wenn man an den Call noch &format=kml oder &format=csv anhängt, bekommt man eine kml-Datei für Google-Earth oder csv-Datei heruntergeladen, z.B.
https://api.v2.sondehub.org/tawhiri?profile=standard_profile&launch_datetime=2023-01-12T01:50:00Z&launch_latitude=53.5499&launch_longitude=10.5194&launch_altitude=132.1&ascent_rate=15&burst_altitude=139.1&descent_rate=8&format=kml
Tipp: Ich habe mehrere Zeilen dieses Aufrufs in einer Textdatei, editiere im Editor, und kopiere die Zeile in das Adressfenster des Browsers. Wenn ich eine Zeile kaputteditiere, habe ich noch weitere. In dieser Datei befindet sich auch entsprechender Aufruf für Google-Maps. Vielleicht schreibt ja mal jemand eine kleine Benutzeroberfläche dafür. Mit etwas Übung ist es aber möglich, auch "zu Fuß" sehr schnell einen Aufruf zu starten und abzuschicken .
Dabei sind die Parameter sind für den eigentlichen Einsatzzweck der API - die Planung eines Ballonflugs von Start bis Landung - so definiert:
launch_latitude:
Geografische Breite des Startplatzes in ° (Dezimalformat)
launch_longitude:
Geografische Länge des Startplatzes in ° (Dezimalformat)
launch_altitude:
Höhe des Startplatzes in Metern über Geoid (N.N.)
launch_datetime:
Zeitpunkt des Starts in UT
ascent_rate:
Aufstiegsrate in m/s
descent_rate:
Abstiegsrate bei Landung (auf Höhe N.N.)
burst_altitude:
Höhe des Platzens in Metern über Geoid (N.N.)
Wie wählt man die Parameter für eine Landevorhersage zum Aufsuchen einer
kalten Sonde?
Angenommen wird ein Ballon, der an der letzten empfangenen Position (Länge, Breite, Höhe) gestartet wurde und der dort sofort platzt. Vorhergesagt wird dann nur der Abstieg der Sonde am Fallschirm.
launch_latitude, launch_longitude sind also die letzten Positionen der Sonde
Etwas komplizierter ist die Behandlung der Höhen:
Generell nutzt die API Höhen über dem Geoid (also praktisch über N.N.). Das
Sonden-GPS (und jedes andere normale GPS) liefert aber
Höhen über dem Ellipsoid. Diese
Höhen sind im norddeutschen Raum ca. 40 Meter größer als die Höhe über dem
Geoid. In Deutschland sind es generell 40-50 Meter.
Man muss also von jeder Sonden-GPS- Höhe ca. 40 Meter abziehen. Genaue Werte bekommt man z.B. hier:
https://geographiclib.sourceforge.io/cgi-bin/GeoidEval?input=53.5+10&option=Submit
Würde man launch_altitude und burst_altitude gleichsetzen, gibt es eine Fehlermeldung der API. Also muss man die launch_altitude minimal niedriger ansetzen als die letzte verfügbare Höhe; die burst_altitude kann man der letzten beobachteten Höhe gleichsetzen.
Ich habe ein wenig herumprobiert und ziehe seither 7 Meter von der letzten beobachteten Höhe ab. Als Aufstiegsgeschwindigkeit wähle ich dann 15m/s, damit der Ballon schnell auf die gewünschte Höhe klettert, ohne im Modell nennenswert zu verdriften.
Hier noch einmal eine
Übersicht über alle Parameter für eine Vorhersage der Landeposition einer Radiosonde
launch_latitude,
launch_longitude:
Letzte Positionen der Sonde
launch_altitude:
Letzte GPS Höhe (m) – 40m – 7m
launch_datetime:
Uhrzeit der letzten Beobachtung in UT
. Kann schadlos etliche Stunden
in der Vergangenheit liegen. Liegt sie so weit zurück, dass im aktuellen GFS-Modell keine
Wetterdaten mehr vorhanden sind, gibt es eine Fehlermeldung:
Prediction did not complete: 'Value out of range. Dieses Problem
sollte aber nicht vor 7-10 Stunden nach der Sondenlandung auftreten.
Ascent_rate: 15m/s
descent_rate: Letzte Abstiegsrate
Burst_altitude:
Letzte GPS Höhe (m) – 40m
Beispiel für
eine Ausgabe (//mit
Kommentaren)
metadata
complete_datetime
"2018-05-03T01:42:31.824435Z"
start_datetime
"2018-05-03T01:42:31.82144Z"
//Uhrzeit des Aufrufs
prediction
0
stage
"ascent"
//Aufstiegsbahn. Ist hier sehr
kurz (7 Meter)
trajectory
0
//Ausgangsposition
altitude
495.88
//Ausgangshöhe war 502.88 Meter, 7 Meter
abgezogen
datetime
"2018-05-03T01:35:39Z"
//beachte: 7 Minuten in der Vergangenheit
latitude
53.79129
longitude
10.65927
1
altitude
502.91125
// Ende der Aufstiegsbahn,
burst altitude überschritten
datetime
"2018-05-03T01:35:39.46875Z"
latitude
53.791301606958726
// Länge
und Breite haben sich kaum verändert
longitude
10.659310847255291
1
stage
"descent"
//Abstiegsbahn
trajectory
0
altitude
502.91125
// Beginn der Abstiegsbahn.
Ausgangspunkt entspricht dem Endpunkt des Aufstiegs
datetime
"2018-05-03T01:35:39.46875Z"
latitude
53.791301606958726
longitude
10.659310847255291
1
//Erste Position der
Abstiegsbahn. Es kann mehr solche Zwischenpositionen geben. Bei sehr niedriger
Ausgangshöhe kann hier auch sofort die Landeposition kommen
altitude
240.96940219843123
datetime
"2018-05-03T01:36:39.46875Z"
latitude
53.793953755255885
longitude
10.663460009090608
2
//Zweite und letzte
Position der Abstiegsbahn (Landeposition)
altitude
24.732170638875736
//Geländehöhe der Landestelle
datetime
"2018-05-03T01:37:29.625Z"
//Uhrzeit der Landung, ist immerhin noch 2 min geflogen
latitude
53.79582562802369
longitude
10.664212300052373
request
//Eingabedaten werden am Ende
noch mal aufgelistet
ascent_rate
15
burst_altitude
502.88
dataset "2018-05-02T18:00:00Z" // 18Z GFS Modell wurde verwendet für eine Landung am Folgetag um 1:35
descent_rate
4.3
launch_altitude
495.88
launch_datetime
"2018-05-03T01:35:39Z"
launch_latitude
53.79129
launch_longitude
10.65927
profile
"standard_profile"
version
1
Tawhiri-Benutzeroberfläche bei Sondehub (Habub)
Es gibt bei Sondehub eine
Benutzerobefläche für die API. Man muss allerdings die Daten per Copy/Paste von einer
anderen Quelle einfügen.
On the fly Prediction bei wettersonde.net
On the fly Predictions bei Sondehub
Sondehub bietet auch eine On-the-Fly Prediction, die während des Abstiegs der
Sonde alle 30 Sekunden aufgefrischt wird. Hier mal ein
Link, der NUR klassische Radiosonden der letzten Stunde zeigt und auf den
norddeutschen Raum zentriert ist. Man kann durch Änderung der Koordinaten in der
URL den Mittelpunkt der Karte ändern. Die On-The-Fly-Prediction funkioniert
meistens - nicht immer. Auch ist das Empfangsnetz nicht so dicht, so dass hier
letzte Positionen aus ganz niedriger Höhe nicht zu haben sind. Um aber die
Anreise zur Landestelle zu planen, ist das (wenn es funktioniert) ganz ok.
Entspricht in etwa dem old descent model der verstorbenen Webseite wetterson.de
Vergleich mit radiosondy.info Auf der polnischen Seite radiosondy.info wird auch eine
Prediction dargestellt, deren Generierung und zugrunde gelegten Parameter aber
unklar sind. Die ermittelten Landepunkte sind ähnlich wie die mit der hier
dargestellten Methode ermittelten, die Sonde fliegt aber eher zu weit.
Daher ist es vorzuziehen, wenn radiosondy die Sonde tiefer hat als der eigene
Empfang oder die Bremer Seite, eine Tawhiri-Prediction auf Basis der letzten
Position händisch oder durch Editieren der Eingabewerte der Bremer Seite
aufzurufen. Seit es in meiner Gegend zwei neue Empfangsstationen für
radiosondy.info gibt, die die Sonden bis in 100-200m Höhe erfassen, habe ich
darüber mehrere Sonden z.T. metergenau vorfinden können.
Genauigkeit der Prediction Erfahrungsgemäß stimmen im GFS-Modell die Windrichtungen
und Windstärken in
Bodennähe (und die braucht man für unseren Zweck) an den meisten Tagen recht
gut. Das hängt auch damit zusammen, dass ja nur eine kurze Zeit überbrückt
wird. Eine typische Mittagssonde wird z.B. gegen 13 Uhr UT landen; das dann aktuelle
GFS-Modell wäre das mit der Ausgangszeit von 6 Uhr UT, das gegen 11 Uhr UT
publliziert wird. Das Modell muss also nur 7 Stunden überbrücken. Wenn man zur
Vorhersage derselben Landestelle später am Abend die API-aufruft (z.B. um 17:00), ist
sogar das 12:00 GFS-Modell schon
heraus; dann wäre es nur eine Stunde. In beiden Fällen sollte in einem für 10 Tage
ausgelegten Modell noch keine großen Fehler aufgelaufen sein. Die durchschnittliche Genauigkeit liegt nach meiner
Erfahrung bei ca. 10-15% der Strecke (3-D) zwischen letzter Position und
Aufschlagstelle. Ist die Sonde z.B. durch eigenen Empfang bis in 150 Meter
verfolgt worden, kann diese Strecke also z.B. 300m betragen. Dann könnte man die
Sonde mit einiger Sicherheit in 30-50 Meter Entfernung von der Prediction
auffinden. Ist die Landestelle einigermaßen übersichtlich, ist das völlig
ausreichend. Bei 1500m letzter Höhe wäre der zehnfache Fehler zu erwarten, was
dann die Chance für eine Auffindung sehr stark vermindert. Ich habe aber solche
Sonden durchaus gefunden, wenn sie sehr auffällig im Gelände erkennbar waren.
Grundsätzlich gilt auch hier „garbage in, garbage out“. Bei
RS92-Sonden ist z.B. Sondemonitor nicht zu empfehlen, weil die Positions- und
Höhenangaben ungenau sind. Dort macht der Zilog-Decoder mehr Sinn. RS41 und
DFM09-Sonden funktionieren auch mit Sondemonitor. M.E. liefert auch hier die
Demod-Version von Zilog Daten aus den niedrigsten Höhen. RS41-Tracker erfordert
ziemlich gute Signalqualität und geht sehr früh "in die Knie". Die neuen Positionsangaben vom
DWD weisen leider auch noch z.T. beachtliche Fehler auf, was sie wenig geeignet zur
Sondensuche macht.
Hier kann man die Daten entsprechend der oben genannten Erläuterungen eingeben.
wettersonde.net bietet während des Abstiegs eine sehr gut funktionierende
Live-Prediction an. Auf wettersonde.net gibt es auch eine Benutzeroberfläche des
Predictors, der sehr gut funktioniert. Es werden jeweils Parameter benutzt, wie
sie auf dieser Seite vorgeschlagen werden.
Man kann sich hier auch eine Satellitenansicht der Landestelle angucken.