====== std.aero.fplan — Vorhersage entlang der Route ====== → [[lyx_-_programmiersprache:units:aero|std.aero Übersicht]] · [[lyx_-_programmiersprache:guides:mcdu|Guide: Flugführungsrechner bauen]] · [[lyx_-_programmiersprache:units:aero:perf|std.aero.perf]] · [[lyx_-_programmiersprache:units:aero:holding|std.aero.holding]] · [[lyx_-_programmiersprache:units|Standard Library]] Die Seite, die ein Pilot am häufigsten ansieht: für jeden Wegpunkt die voraussichtliche Ankunftszeit und der Treibstoff, der dann noch an Bord ist (**EFOB**). Alles andere im Flugführungsrechner dient dieser Anzeige zu. **Die Vorhersage ist eine Kette, keine Formel.** Jeder Abschnitt verbraucht Zeit und Treibstoff, und der Zustand am Ende ist der Anfang des nächsten. Deshalb steht hier ein fortschreibbarer Zustand und keine Funktion, die „die Ankunftszeit" ausrechnet — die gibt es nicht ohne den Weg dorthin. **Quelle:** ''std/aero/fplan.lyx'' · **Autor:** Andreas Röne · **Copyright:** 2026 Andreas Röne ---- ===== Fortschreibbarer Zustand ===== ==== AvVorhersage (struct) ==== ^ Feld ^ Typ ^ Bedeutung ^ | ''zeitMin'' | ''f64'' | seit Beginn der Kette | | ''streckeNm'' | ''f64'' | zurückgelegte Strecke | | ''verbrauchtKg'' | ''f64'' | bisheriger Verbrauch | | ''restKg'' | ''f64'' | **EFOB** — Treibstoff an Bord | | ''gueltig'' | ''bool'' | false, sobald ein Abschnitt unsinnig war | **''restKg'' darf negativ werden.** Das ist die Aussage „so weit reicht es nicht" — sie zu verschweigen wäre genau der stille Ersatzwert, den es in ''std.aero'' nicht geben soll. ^ Signatur ^ Beschreibung ^ | ''AvVorhersageStart(startKraftstoffKg: f64): AvVorhersage'' | Kette beginnen | | ''AvVorhersageAbschnitt(ref v: AvVorhersage, streckeNm, grundgeschwKt, verbrauchKgProH): bool'' | ein Abschnitt mit **eigener** Grundgeschwindigkeit und **eigenem** Verbrauch. Grundgeschwindigkeit 0 ist kein Sonderfall, sondern ein Fehler — das Flugzeug käme nie an | | ''AvVorhersageZeitabschnitt(ref v: AvVorhersage, minuten, verbrauchKgProH): bool'' | ein Abschnitt, der Zeit kostet, aber keine Strecke bringt: Warteschleife, Rollen, Verzögerung. Ohne eigene Funktion würde man ihn mit Strecke 0 und irgendeiner Geschwindigkeit einsetzen — und die Division wäre eine Lüge | | ''AvVorhersageGueltig(v): bool'' · ''AvVorhersageZeitMin(v): f64'' · ''AvVorhersageStreckeNm(v): f64'' · ''AvVorhersageVerbrauchKg(v): f64'' · ''AvVorhersageEfobKg(v): f64'' | Abfrage des Zustands | Warum je Abschnitt und nicht einmal für die Gesamtstrecke: die Grundgeschwindigkeit ist auf jedem Abschnitt eine andere (Wind dreht, Höhe ändert sich), und der Stundenverbrauch ebenso. Eine Mittelung ist bei Gegenwind auf der zweiten Hälfte **gutmütig falsch** — sie sagt zu wenig Verbrauch voraus, und zwar in die gefährliche Richtung. ---- ===== Ankunftszeit ===== ^ Signatur ^ Beschreibung ^ | ''AvAnkunftMinuten(abflugMinuten: f64, flugdauerMin: f64): f64'' | Ankunft in Minuten seit Mitternacht | | ''AvStundeAus(minuten: f64): int64'' · ''AvMinuteAus(minuten: f64): int64'' | Aufteilung für die Anzeige | Gerechnet wird in **Minuten seit Mitternacht**, damit keine Zeitzonenlogik in diese Unit gerät. Der Überlauf über Mitternacht wird ausdrücklich behandelt: ein Flug, der um 23:40 startet und 50 Minuten dauert, landet um **00:30** — nicht um 24:30. ---- ===== Reserven ===== Die europäische Aufteilung. Die **Zahlen** dazu (wie viele Minuten Endreserve, wie viel Prozent Zuschlag) kommen vom Aufrufer: sie stehen im Betriebshandbuch und unterscheiden sich je nach Betreiber und Flugart. Ein eingebauter Wert wäre für die Hälfte der Nutzer falsch und würde nirgends auffallen. ^ Signatur ^ Beschreibung ^ | ''AvEndreserveKg(verbrauchImWartefluKgProH: f64, minuten: f64): f64'' | Menge, die am Ausweichflughafen noch reichen muss (üblich 30 Minuten Warteflug für Strahlflugzeuge) | | ''AvZuschlagKg(streckenverbrauchKg: f64, prozent: f64): f64'' | Streckenzuschlag für Unvorhergesehenes (üblich 5 %) | | ''AvMindestkraftstoffKg(rollenKg, streckeKg, zuschlagKg, ausweichKg, endreserveKg, zusatzKg): f64'' | Mindestmenge beim Abflug. Die Summe ist bewusst ausgeschrieben und nicht in einem Faktor versteckt: wer eine Position weglässt, sieht es hier | | ''AvKraftstoffReicht(getanktKg: f64, mindestKg: f64): bool'' | reicht die getankte Menge? | | ''AvKraftstoffUeberschussKg(getanktKg: f64, mindestKg: f64): f64'' | die Differenz | Ja/Nein und Differenz sind absichtlich **getrennte** Funktionen: wer nur die Differenz hat, muss das Vorzeichen richtig deuten — eine Fehlerquelle, die es nicht geben muss. ---- ===== Umkehrpunkt bei Treibstoffmangel ===== ^ Signatur ^ Beschreibung ^ | ''AvReichweiteBisReserveNm(efobKg, reserveKg, verbrauchKgProH, grundgeschwKt): f64'' | wie weit der Treibstoff über die geplante Strecke hinaus reicht, bis nur noch die Reserve übrig ist | Das ist die Zahl hinter der Frage „können wir noch eine Platzrunde fliegen". ---- Letzte Aktualisierung: 2026-09-05 — Seite neu angelegt; erhoben aus ''std/aero/fplan.lyx'' (Stand 2026-09-04). Prüflauf 2026-09-05 mit ''doku-pruefer.py'' über den gesamten Aero-Bereich (Repo-Compiler **lyxc 1.2.2A**): 13 Vollprogramme, 13 übersetzen, 0 echte Fehler; 193 Aufrufe gegen die ''pub fn''-Signaturen in ''aurum/std'' gehalten, 0 Abweichungen.