std.aero.atmos — Standardatmosphäre, Höhen und Geschwindigkeiten

std.aero Übersicht · Guide: Standardatmosphäre · std.aero.perf · Standard Library

Fundament für alles, was ein Flugführungsrechner ausrechnet: ICAO-Standardatmosphäre, Druck- und Dichtehöhe, Flugflächen und die Umrechnung zwischen den vier Geschwindigkeitsbegriffen CAS, EAS, TAS und Mach. Ohne sie wäre jede Steig- und Sinkrechnung falsch — Steigrate, wahre Geschwindigkeit und Machzahl hängen sämtlich an Druck, Temperatur und Dichte der jeweiligen Höhe.

Gültigkeit: 0 bis 20 km geopotentielle Höhe (zwei Schichten der ICAO-Atmosphäre) und Unterschall bis Mach 1. Außerhalb liefert jede Funktion AvError(), statt zu extrapolieren.

Quelle: std/aero/atmos.lyx · Autor: Andreas Röne · Copyright: 2026 Andreas Röne


Fehlerwert

Signatur Beschreibung
AvError(): f64 NaN — der Fehlerwert dieser Unit
AvIsError(x: f64): bool Prüft auf NaN (der einzige Wert, der sich selbst ungleich ist)

Konstanten

Name Wert Bedeutung
AV_T0_K 288.15 Temperatur auf Meereshöhe, K
AV_P0_PA 101325.0 Druck auf Meereshöhe, Pa
AV_RHO0 1.225 Dichte auf Meereshöhe, kg/m³
AV_LAPSE 0.0065 Temperaturgradient, K/m
AV_G0 9.80665 Normfallbeschleunigung, m/s²
AV_R_AIR 287.05287 spezifische Gaskonstante, J/(kg·K)
AV_KAPPA 1.4 Isentropenexponent
AV_TROPO_M 11000.0 Tropopause, geopotentiell
AV_T_TROPO_K 216.65 Temperatur ab Tropopause, K
AV_OBERGRENZE_M 20000.0 Gültigkeitsgrenze dieser Unit
AV_ERDRADIUS_M 6356766.0 Radius für geopotentiell ↔ geometrisch
AV_FT_IN_M 0.3048 exakt nach internationaler Definition
AV_NM_IN_M 1852.0 exakt
AV_KT_IN_MS 0.5144… 1852/3600

Der Druck an der Tropopause steht nicht als Literal in der Unit, sondern wird aus den Konstanten gerechnet — ein abgeschriebener Wert und die Formel darüber laufen sonst auseinander.


Einheiten

Signatur Beschreibung
AvFtToM(ft: f64): f64 · AvMToFt(m: f64): f64 Fuß ↔ Meter
AvNmToM(nm: f64): f64 · AvMToNm(m: f64): f64 Seemeilen ↔ Meter
AvKtToMs(kt: f64): f64 · AvMsToKt(ms: f64): f64 Knoten ↔ m/s
AvCToK(c: f64): f64 · AvKToC(k: f64): f64 Celsius ↔ Kelvin
AvHpaToPa(hpa: f64): f64 · AvPaToHpa(pa: f64): f64 Hektopascal ↔ Pascal
AvKtToFpm(kt: f64): f64 · AvFpmToKt(fpm: f64): f64 Knoten ↔ Fuß je Minute (1 kt = 101,268… fpm; der Faktor wird gerechnet, nicht abgeschrieben — er taucht in jeder Sinkflugrechnung auf)

Geopotentiell und geometrisch

Signatur Beschreibung
AvGeometrischZuGeopotentiell(hGeoM: f64): f64 geometrische → geopotentielle Höhe
AvGeopotentiellZuGeometrisch(hPotM: f64): f64 die Umkehrung

ISA ist über der geopotentiellen Höhe definiert; ein Höhenmesser misst Druck und liefert damit ebenfalls eine geopotentielle Größe. Die geometrische Höhe liegt darüber, weil die Schwere mit der Höhe abnimmt — in 11 km rund 19 m. Klein, aber vorhanden, und deshalb ausdrücklich statt stillschweigend gleichgesetzt.


Standardatmosphäre

Signatur Beschreibung
AvIsaTemperaturK(hM: f64): f64 Temperatur in geopotentieller Höhe, K
AvIsaDruckPa(hM: f64): f64 Druck, Pa
AvIsaDichte(hM: f64): f64 Dichte, kg/m³ — über die Gasgleichung, nicht über eine zweite Näherungsformel: zwei Formeln für dieselbe Größe laufen auseinander
AvDelta(hM: f64): f64 δ — Druckverhältnis zu Meereshöhe
AvTheta(hM: f64): f64 θ — Temperaturverhältnis
AvSigma(hM: f64): f64 σ — Dichteverhältnis
AvHoeheAusDruckM(pPa: f64): f64 Umkehrung: Höhe zu gegebenem Druck. Das ist die Rechnung, die ein Höhenmesser macht

Höhen: Druck, Dichte, wahr

Signatur Beschreibung
AvStatischerDruckPa(qnhHpa: f64, hM: f64): f64 statischer Druck in wahrer Höhe bei gegebenem QNH
AvDruckhoeheM(qnhHpa: f64, hM: f64): f64 Druckhöhe: was ein auf 1013,25 hPa gestellter Höhenmesser zeigt. Daraus werden Flugflächen gebildet — nicht aus der wahren Höhe
AvDruckhoeheFt(qnhHpa: f64, hFt: f64): f64 dasselbe in Fuß
AvDichtehoeheM(druckhoeheM: f64, oatC: f64): f64 Dichtehöhe: die Höhe, in der die Standardatmosphäre die tatsächliche Dichte hat. Sie bestimmt Startstrecke und Steigleistung — an einem heißen Tag steht ein Flugzeug leistungsmäßig Tausende Fuß höher, als der Höhenmesser zeigt
AvDichtehoeheFt(druckhoeheFt: f64, oatC: f64): f64 dasselbe in Fuß
AvIsaAbweichungK(druckhoeheM: f64, oatC: f64): f64 um wie viel die Temperatur von der Standardtemperatur dieser Druckhöhe abweicht. Geht in jede Steig-, Sink- und Reichweitenrechnung ein
AvWahreHoeheM(angezeigtM: f64, gelaendeM: f64, isaAbwK: f64): f64 wahre Höhe aus angezeigter Höhe und Temperaturabweichung
 
Bei kalter Luft ist die wahre Höhe KLEINER als die angezeigte — das ist die gefährliche Richtung, und genau dafür gibt es AvWahreHoeheM. Die Faustformel der Fliegerei lautet „4 % je 10 °C Abweichung„; die Unit rechnet die Beziehung dahinter, weil die Faustformel bei großen Abweichungen mehrere hundert Fuß danebenliegt.

Flugflächen

Signatur Beschreibung
AvFlugflaecheAusDruckhoeheFt(druckhoeheFt: f64): f64 Druckhöhe → Flugfläche
AvDruckhoeheFtAusFlugflaeche(fl: f64): f64 Flugfläche → Druckhöhe
AvUebergangsflaeche(uebergangshoeheFt: f64, qnhHpa: f64, mindestabstandFt: f64): f64 niedrigste nutzbare Flugfläche über der Übergangshöhe. Bei niedrigem QNH liegt sie höher — genau deshalb wird sie gerechnet und nicht als Konstante geführt. mindestabstandFt ist die geforderte Trennung (je nach Staat 0 bis 1000 ft)

Eine Flugfläche ist die Druckhöhe in Hundert Fuß, bezogen auf 1013,25 hPa. FL350 = 35000 ft Druckhöhe — keine Höhe über Grund und keine über Meer.


Geschwindigkeiten

Signatur Beschreibung
AvSchallgeschwindigkeitMs(tK: f64): f64 · AvSchallgeschwindigkeitKt(tK: f64): f64 Schallgeschwindigkeit aus der Temperatur
AvMachAusCasKt(casKt: f64, druckhoeheM: f64): f64 CAS → Machzahl
AvTasKtAusCasKt(casKt: f64, druckhoeheM: f64, oatC: f64): f64 CAS → TAS. oatC ist die tatsächliche Außentemperatur; sie geht nur über die Schallgeschwindigkeit ein, der Druck kommt aus der Druckhöhe. Wer hier die Standardtemperatur einsetzt, bekommt an einem warmen Tag eine zu kleine TAS
AvCasKtAusTasKt(tasKt: f64, druckhoeheM: f64, oatC: f64): f64 die Umkehrung derselben Kette
AvTasKtAusMach(mach: f64, oatC: f64): f64 Mach → TAS
AvCasKtAusMach(mach: f64, druckhoeheM: f64): f64 Mach → CAS
AvEasKtAusTasKt(tasKt: f64, druckhoeheM: f64): f64 TAS → EAS. EAS ist die Geschwindigkeit, die denselben Staudruck auf Meereshöhe ergäbe — an ihr hängen die Strukturgrenzen (VMO)
AvUebergangshoeheM(casKt: f64, mach: f64): f64 · AvUebergangshoeheFt(casKt: f64, mach: f64): f64 Übergangshöhe zwischen CAS- und Mach-Führung: unterhalb steigt ein Flugzeug mit fester CAS, oberhalb mit fester Machzahl. Sie wird per Bisektion gesucht, nicht abgeschätzt — die Beziehung ist nicht geschlossen umkehrbar
 
Die Unit rechnet durchgehend kompressibel. Die einfache Wurzelformel CAS·√(ρ0/ρ) liefert EAS, nicht TAS; bei 300 kt in FL350 liegen zwischen beiden über zehn Knoten.

Codebeispiel

unit main;
import std.aero.atmos;
import std.io;
import std.string;

fn main(): int64 {
    var druckhoeheFt: f64 := AvDruckhoeheFtAusFlugflaeche(350.0);
    var hM:           f64 := AvFtToM(druckhoeheFt);
    var oatC:         f64 := AvKToC(AvIsaTemperaturK(hM)) - 10.0;   // ISA−10

    var tas: f64 := AvTasKtAusCasKt(280.0, hM, oatC);
    if (AvIsError(tas)) { PrintLn("ausserhalb des Gueltigkeitsbereichs"); return 1; }

    PrintLn(StrConcat("TAS (kt):  ", FloatToStr(tas, 1)));
    PrintLn(StrConcat("Mach:      ", FloatToStr(AvMachAusCasKt(280.0, hM), 2)));
    PrintLn(StrConcat("ISA-Abw K: ", FloatToStr(AvIsaAbweichungK(hM, oatC), 1)));
    return 0;
}


Letzte Aktualisierung: 2026-09-05 — Seite neu angelegt; erhoben aus std/aero/atmos.lyx (Stand 2026-09-04), Beispiel gegen lyxc 1.1.18A übersetzt und ausgeführt.

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.