From 2457c9ef9c41141d7ec97b66c40ffcf2a9790c17 Mon Sep 17 00:00:00 2001 From: itsrubberduck Date: Wed, 6 May 2026 15:51:58 +0200 Subject: [PATCH] komplette 320 sops --- app/pages/copilot.vue | 13 + shared/data/a320SopTimeline.ts | 732 ++++++++++++++++++++++++++++++++- 2 files changed, 738 insertions(+), 7 deletions(-) diff --git a/app/pages/copilot.vue b/app/pages/copilot.vue index a0baf8b..d7badac 100644 --- a/app/pages/copilot.vue +++ b/app/pages/copilot.vue @@ -136,19 +136,32 @@ function placeholderValue(key: string): string { Callsign: 'callsign', CALLSIGN: 'callsign', DEST: 'destination', SID: 'sid', + STAR: 'star', RWY: 'rwy', + ARR_RWY: 'arrivalRunway', STAND: 'stand', + GATE: 'gate', ATIS: 'atisLetter', + ARR_ATIS: 'arrivalAtis', SQK: 'squawk', INIT_ALT: 'initialClimb', PASSING_ALT: 'initialClimb', + CRZ_FL: 'crzFL', TWR_FREQ: 'twrFreq', DEP_FREQ: 'depFreq', + APP_FREQ: 'appFreq', + GROUND_FREQ: 'groundFreq', FREQ: 'depFreq', WIND: 'wind', + ARR_QNH: 'arrivalQnh', FLEX_TEMP: 'flexTemp', TAXI_ROUTE: 'taxiRoute', HOLDING: 'holdingPoint', + APPROACH: 'approach', + LDG_CONF: 'landingConfig', + VAPP: 'vapp', + MINIMUMS: 'minimums', + DECISION_ALT: 'decisionAlt', DIRECTION: '', Station: '', } diff --git a/shared/data/a320SopTimeline.ts b/shared/data/a320SopTimeline.ts index 46f0787..5685e6b 100644 --- a/shared/data/a320SopTimeline.ts +++ b/shared/data/a320SopTimeline.ts @@ -1,5 +1,5 @@ -// A320 SOP Timeline – Cold & Dark bis Handoff nach Takeoff -// Quellen: Airbus A320 FCOM/FCTM Standard Procedures + VATSIM/IRL ATC Phraseology +// A320 SOP Timeline – Cold & Dark bis Securing Aircraft +// Quellenbasis: öffentlich zugängliche A320 Normal-Procedures-Übersichten + ICAO/EASA/VATSIM-EU Phraseology // Fokus: Flugsimulator-Nutzung (VATSIM, MSFS / X-Plane / Fenix / FlyByWire / ToLiss). export type Actor = 'pf' | 'pm' | 'atc' | 'pilot' | 'system' | 'cabin' @@ -180,17 +180,17 @@ const a320Phases: SopPhase[] = [ { id: 'clearance-rx', actor: 'atc', - label: 'Clearance entgegennehmen (CRAFT)', - callout: '[Callsign], cleared to [DEST] via [SID], runway [RWY], climb initially [INIT_ALT], squawk [SQK].', - detail: 'CRAFT-Schema mitschreiben: Clearance limit · Route · Altitude · Frequency · Transponder.', - why: 'CRAFT ist eine Eselsbrücke: alle 5 Pflicht-Bestandteile einer IFR-Clearance. Wenn etwas fehlt → nachfragen.', + label: 'Clearance entgegennehmen', + callout: '[Callsign], cleared to [DEST] via [SID] departure, runway [RWY], climb initially [INIT_ALT], squawk [SQK].', + detail: 'Clearance Limit, SID/Route, initiale Höhe, Squawk und eventuelle Slot-/Start-up-Hinweise mitschreiben.', + why: 'ICAO/EASA-Funk arbeitet mit standardisierten Clearance-Bestandteilen. Höhen, Runway, Squawk und Route müssen vollständig zurückgelesen werden.', inputKeys: ['sid', 'initialClimb', 'squawk'], }, { id: 'readback', actor: 'pilot', label: 'Readback', - callout: 'Cleared to [DEST] via [SID], runway [RWY], climb [INIT_ALT], squawk [SQK], [Callsign].', + callout: 'Cleared to [DEST] via [SID] departure, runway [RWY], climb initially [INIT_ALT], squawk [SQK], [Callsign].', why: 'Vollständiger Readback ist Pflicht für Clearance-, Runway- und Höhenitems. Fehler hier = häufige Quelle für Loss-of-Separation.', }, { @@ -491,6 +491,691 @@ const a320Phases: SopPhase[] = [ }, ], }, + { + id: 'climb-cruise', + title: 'Climb & Cruise', + subtitle: 'Clean climb, 10.000 ft, Reiseflug', + accent: 'cyan', + steps: [ + { + id: 'climb-clearance', + actor: 'atc', + label: 'Weiterer Steigflug', + callout: '[Callsign], climb [CRZ_FL].', + detail: 'Neue Freigabehöhe in der FCU setzen, auf dem PFD FMA prüfen und die SID-Constraints weiter überwachen.', + why: 'Die A320 fliegt nur das, was FCU und FMGS erlauben. Jede Höhenfreigabe braucht Setzen, Anzeigen und Cross-Check.', + inputKeys: ['crzFL'], + }, + { + id: 'baro-std', + actor: 'pf', + label: 'Transition Altitude · STD', + callout: 'PF: Standard. — PM: Standard cross-checked.', + detail: 'Beim Durchsteigen der TRANS ALT beide Höhenmesser auf STD setzen und ECAM/PFD vergleichen.', + why: 'Über der Transition Altitude nutzen alle Flugzeuge 1013 hPa. So bleiben Flight Levels unabhängig vom lokalen QNH konsistent.', + look: 'PFD · Baro Reference', + inputKeys: ['transAlt'], + }, + { + id: 'climb-10000', + actor: 'pf', + label: '10.000 ft Flow', + detail: 'Landing Lights OFF · NOSE Light OFF · Seat Belts nach Lage · EFIS Range anpassen · sterile cockpit endet nach Operator-Policy.', + why: '10.000 ft ist der typische Übergang von Terminal-Workload zu normalem Steigflug. Lichter und Anschnallzeichen werden nach Wetter und Turbulenz gesetzt.', + look: 'Overhead EXT LT · Signs · EFIS', + }, + { + id: 'climb-monitor', + actor: 'pm', + label: 'Climb Monitoring', + detail: 'Speed/Mach, constraints, direct routings, Wetter, Engine Parameters und Fuel Prediction regelmäßig prüfen.', + why: 'Managed climb kann durch ATC-Speed, Altitude Constraints oder Abkürzungen vom erwarteten Profil abweichen. Monitoring verhindert Level Busts und Energy-Probleme.', + look: 'PFD · ND · MCDU PROG/FUEL PRED · ECAM', + }, + { + id: 'cruise-leveloff', + actor: 'system', + label: 'Cruise Level erreicht', + detail: 'FMA ALT CRZ prüfen, TCAS TA/RA belassen, Cruise Mach stabilisieren, Fuel on Board gegen Flight Plan vergleichen.', + why: 'ALT CRZ aktiviert die Cruise-Logik im FMGS. Fuel- und Time-Checks zeigen früh, ob Wind, Routing oder Gewicht vom Plan abweichen.', + look: 'PFD FMA · MCDU PROG · ECAM FUEL', + }, + { + id: 'cruise-check', + actor: 'pm', + label: 'Cruise Check', + detail: 'Fuel · NAV accuracy · Cabin press · Systems · Weather radar/PWS nach Bedarf · Arrival-Information vorbereiten.', + why: 'Im Cruise ist Zeit für systematisches Monitoring. Das reduziert Workload, bevor der Descent beginnt.', + }, + { + id: 'vfr-pickup-note', + actor: 'pilot', + label: 'VFR/IFR Pickup Hinweis', + detail: 'Für A320-Line-Flüge selten: Wenn im Sim aus unkontrolliertem Luftraum gestartet wurde, IFR-Pickup erst nach Kontakt und Freigabe beginnen.', + callout: '[Station], [Callsign], request IFR pickup to [DEST], passing [PASSING_ALT].', + why: 'VFR/IFR-Wechsel sind regional unterschiedlich. Für diese Timeline bleibt IFR der Normalfall; Pickup ist nur ein Sim-/Sonderfall.', + simNote: 'Auf VATSIM immer die lokale vACC-Pilot-Guidance beachten.', + }, + ], + }, + { + id: 'descent-prep', + title: 'Descent Preparation', + subtitle: 'Arrival, Wetter, Approach Briefing', + accent: 'sky', + steps: [ + { + id: 'arrival-atis', + actor: 'pilot', + label: 'Arrival ATIS / METAR', + detail: 'Arrival ATIS Letter, Wind, Sicht, Wetter, QNH, Transition Level, aktive Runway und Remarks mitschreiben.', + why: 'Die Arrival-Daten bestimmen STAR, Approach, Landing Performance, Autobrake und Minima.', + inputKeys: ['arrivalAtis', 'wind', 'arrivalQnh', 'arrivalRunway', 'transLevel'], + }, + { + id: 'arrival-fpln', + actor: 'pf', + label: 'MCDU · STAR / Approach setzen', + detail: 'STAR, Transition, Approach und Runway auswählen. F-PLN auf Discontinuities, Constraints und Sequencing prüfen.', + why: 'Falsche STAR oder Runway führt zu falschem lateralen Profil, falschem TOD und falscher Approach-Arm-Logik.', + look: 'MCDU · F-PLN · ARRIVAL', + inputKeys: ['star', 'approach', 'arrivalRunway'], + }, + { + id: 'perf-appr', + actor: 'pf', + label: 'MCDU · PERF APPR', + detail: 'QNH, TEMP, WIND, TRANS LEVEL, Minimums und Landing Config eintragen. VAPP prüfen.', + why: 'PERF APPR liefert die Zielgeschwindigkeit und den Approach-Mode-Kontext. Ohne korrekte Werte sind Callouts und FMA-Logik unzuverlässig.', + look: 'MCDU · PERF · APPR', + inputKeys: ['arrivalQnh', 'transLevel', 'minimums', 'decisionAlt', 'vapp', 'landingConfig'], + }, + { + id: 'landing-performance', + actor: 'pm', + label: 'Landing Performance', + detail: 'Runway-Zustand, Wind, Autobrake, Reverser-Plan und Exit-Strategy berechnen und briefen.', + why: 'Autobrake und Config müssen zur Runway-Länge, Kontamination, Tailwind-Komponente und gewünschtem Exit passen.', + inputKeys: ['arrivalRunway', 'autobrake', 'landingConfig'], + simNote: 'Fenix/FlyByWire EFB oder SimBrief Landing Performance nutzen, wenn verfügbar.', + }, + { + id: 'approach-briefing', + actor: 'pf', + label: 'Approach Briefing', + detail: 'STAR · Approach Type · IAF/FAF · Minima · Missed Approach · Go-around altitude · Terrain/MSA · Taxi-in-Plan.', + why: 'Das Briefing klärt, welches vertikale/laterale System genutzt wird und wann ein Go-around ausgelöst wird.', + inputKeys: ['star', 'approach', 'minimums', 'decisionAlt', 'gate'], + }, + { + id: 'tod-check', + actor: 'system', + label: 'TOD vorbereiten', + detail: 'TOD, Distanz zu Constraints, Required Descent Rate und ATC-Erwartung prüfen. Bei Bedarf Descent rechtzeitig anfordern.', + callout: '[Station], [Callsign], request descent.', + why: 'Der A320 kann Energy nicht wegzaubern. Zu spät sinken führt schnell zu High/Energy und unstabilen Approaches.', + look: 'ND · MCDU PROG · DES Page', + }, + ], + }, + { + id: 'descent-arrival', + title: 'Descent & Arrival', + subtitle: 'Sinkflug, QNH, Approach-Handoff', + accent: 'indigo', + steps: [ + { + id: 'descent-clearance', + actor: 'atc', + label: 'Descent Clearance', + callout: '[Callsign], descend [INIT_ALT].', + detail: 'Freigabehöhe setzen, DES/NAV oder selected descent passend zur Situation nutzen und Constraints überwachen.', + why: 'ATC-Freigaben ersetzen keine Chart-Constraints. Beides muss zusammenpassen.', + inputKeys: ['initialClimb'], + }, + { + id: 'descent-readback', + actor: 'pilot', + label: 'Readback Descent', + callout: 'Descend [INIT_ALT], [Callsign].', + why: 'Höhenfreigaben werden immer zurückgelesen. Im Zweifel "confirm cleared level" nachfragen.', + }, + { + id: 'arrival-handoff', + actor: 'atc', + label: 'Handoff Approach', + callout: '[Callsign], contact Approach [APP_FREQ].', + inputKeys: ['appFreq'], + }, + { + id: 'approach-initial-call', + actor: 'pilot', + label: 'Initial Call Approach', + callout: '[Station] Approach, [Callsign], descending [INIT_ALT], information [ARR_ATIS].', + detail: 'Bei Bedarf zusätzlich STAR oder Direct-To nennen, wenn ATC dich damit identifiziert.', + inputKeys: ['initialClimb', 'arrivalAtis'], + }, + { + id: 'qnh-transition', + actor: 'pf', + label: 'Transition Level · QNH', + callout: 'PF: QNH [ARR_QNH]. — PM: QNH [ARR_QNH] cross-checked.', + detail: 'Beim Durchsinken des TRANS LEVEL beide Höhenmesser auf Arrival QNH setzen.', + why: 'Unterhalb des Transition Levels beziehen sich Höhen wieder auf lokalen Luftdruck. Ein falsches QNH ist ein klassischer Altitude-Bust.', + look: 'PFD · Baro Reference', + inputKeys: ['arrivalQnh', 'transLevel'], + }, + { + id: 'descent-10000', + actor: 'pf', + label: '10.000 ft Flow', + detail: 'Landing Lights ON · Seat Belts ON · EFIS/CSTR prüfen · Speed 250 kt oder ATC-Speed · ECAM Memo prüfen.', + why: 'Unter 10.000 ft steigt die Workload: Speed-Limits, Terrain, Verkehr und Approach-Setup werden dichter.', + look: 'Overhead EXT LT · PFD · ND', + }, + { + id: 'approach-clearance', + actor: 'atc', + label: 'Approach Clearance', + callout: '[Callsign], cleared [APPROACH] approach runway [ARR_RWY].', + detail: 'Approach-Freigabe erst nach Readback als aktiv behandeln. APPR/NAV/LOC entsprechend dem Approach-Typ armen.', + inputKeys: ['approach', 'arrivalRunway'], + }, + { + id: 'approach-clearance-readback', + actor: 'pilot', + label: 'Readback Approach', + callout: 'Cleared [APPROACH] approach runway [ARR_RWY], [Callsign].', + why: 'Approach Type und Runway sind sicherheitskritisch. Eine falsche Runway im Readback sofort korrigieren.', + }, + ], + }, + { + id: 'approach', + title: 'Approach', + subtitle: 'ILS, RNAV/RNP, Non-Precision, Visual', + accent: 'emerald', + steps: [ + { + id: 'approach-type', + actor: 'pf', + label: 'Approach Type wählen', + detail: 'Standard ist ILS. RNAV/RNP, VOR/NPA, Visual oder Circling nur verwenden, wenn Chart, Wetter und ATC-Freigabe passen.', + variants: [ + { + id: 'ils', + title: 'ILS Approach', + steps: [ + { + id: 'ils-setup', + actor: 'pf', + label: 'ILS Setup', + detail: 'LS Pb ON · ILS Frequenz/Ident prüfen · Course/Runway auf Chart vergleichen · APPR vorbereiten.', + why: 'Frequenz und Ident verhindern, dass ein falscher LOC/GS eingefangen wird.', + look: 'PFD LS · MCDU RAD NAV · Chart', + inputKeys: ['appFreq', 'ilsIdent', 'arrivalRunway'], + }, + { + id: 'ils-loc', + actor: 'system', + label: 'LOC Capture', + callout: 'LOC.', + detail: 'LOC armed/engaged prüfen, Heading-Interventionen vermeiden, Speed für Config planen.', + why: 'LOC zuerst, danach GS. Wenn lateral nicht stabil, wird der vertikale Capture wertlos.', + look: 'PFD FMA', + }, + { + id: 'ils-gs', + actor: 'system', + label: 'GS Capture', + callout: 'Glide slope.', + detail: 'Bei GS alive/config schedule starten: Flaps 1/2, Gear Down, Flaps 3/FULL nach Stabilisierung.', + why: 'Zu spätes Konfigurieren erzeugt hohe Sinkraten. Zu frühes Konfigurieren kostet unnötig Sprit und Speed.', + look: 'PFD FMA · Speed Tape', + }, + ], + }, + { + id: 'rnav-rnp', + title: 'RNAV/RNP Approach', + steps: [ + { + id: 'rnav-setup', + actor: 'pf', + label: 'RNAV/RNP Setup', + detail: 'GPS PRIMARY, NAV Accuracy, RNP-Wert, Baro/VNAV-Temperaturgrenzen und MCDU/Chart-Path prüfen.', + why: 'RNAV/RNP hängt von Navigation Accuracy und korrekt kodiertem Final Path ab. Bei Zweifeln selected TRK/FPA oder Go-around.', + look: 'MCDU PROG · ND · Chart', + inputKeys: ['approach', 'minimums'], + }, + { + id: 'rnav-final-app', + actor: 'system', + label: 'FINAL APP / APP NAV', + callout: 'FINAL APP.', + detail: 'APPR drücken, APP NAV/FINAL armed oder engaged prüfen und Sinkpfad gegen Chart überwachen.', + why: 'FINAL APP ist kein ILS. Rohdaten, Distanz/Höhe und FMA bleiben Pflicht.', + look: 'PFD FMA · ND', + }, + ], + }, + { + id: 'vor-npa', + title: 'VOR / Non-Precision', + steps: [ + { + id: 'vor-setup', + actor: 'pf', + label: 'Raw Data / TRK FPA', + detail: 'NAVAID Frequenz/Ident prüfen, Final Course setzen, TRK/FPA oder NAV/FPA gemäß Add-on/Procedure nutzen.', + why: 'Non-Precision Approaches brauchen aktives Höhen-/Sinkratenmanagement und klare Minimums.', + look: 'MCDU RAD NAV · ND ROSE VOR · PFD', + inputKeys: ['appFreq', 'minimums'], + }, + { + id: 'vor-descent', + actor: 'pf', + label: 'Final Descent', + detail: 'Am FAF/FDP Sinkflug mit publizierter FPA starten, Altitude-Distance Checks durchführen.', + callout: 'Final descent.', + why: 'Ohne GS schützt nur konsequentes Cross-Checking vor einem zu hohen oder zu tiefen Profil.', + }, + ], + }, + { + id: 'visual', + title: 'Visual Approach', + steps: [ + { + id: 'visual-request', + actor: 'pilot', + label: 'Visual Approach Request', + callout: '[Station], [Callsign], runway [ARR_RWY] in sight, request visual approach.', + detail: 'Nur wenn Verkehr, Wetter, Terrain und Stabilisierung realistisch passen. IFR bleibt bis zur entsprechenden Freigabe aktiv.', + why: 'Visual heißt nicht unkontrolliert. ATC-Spacing, Speed und Runway Clearance bleiben maßgeblich.', + inputKeys: ['arrivalRunway'], + }, + { + id: 'visual-clearance', + actor: 'atc', + label: 'Visual Approach Clearance', + callout: '[Callsign], cleared visual approach runway [ARR_RWY].', + detail: 'FDs nach Bedarf aus, Bird/Track nutzen, Runway im MCDU gesetzt lassen und Stabilisierung bis 500 ft AAL sicherstellen.', + look: 'ND ROSE NAV · PFD Bird · Outside', + }, + ], + }, + { + id: 'circling', + title: 'Circling / Traffic Circuit', + steps: [ + { + id: 'circling-brief', + actor: 'pf', + label: 'Circling Brief', + detail: 'Circuit direction, circling minima, protected area, MSA, missed approach trigger und final configuration klar festlegen.', + why: 'A320-Circling ist selten und workload-intensiv. Es gehört in dieser Timeline nur als Sim-/Training-Variante hinein.', + inputKeys: ['minimums', 'decisionAlt', 'landingConfig'], + }, + { + id: 'circling-downwind', + actor: 'pf', + label: 'Downwind / Base', + detail: 'Runway visuell halten, Speed stabil, Gear down und Flaps 3/FULL rechtzeitig vor Final.', + callout: 'PF: Runway in sight, continuing.', + why: 'Bei Verlust der Sichtreferenz sofort Missed Approach. Kein improvisiertes Weiterdrehen.', + }, + ], + }, + ], + }, + { + id: 'config-flaps1', + actor: 'pf', + label: 'Config · Flaps 1', + callout: 'PF: Flaps 1. — PM: Speed checked, flaps 1.', + detail: 'Unterhalb der zulässigen Speed Flaps 1 setzen und Speed weiter reduzieren.', + look: 'PFD Speed Tape · ECAM WHEEL/FCTL', + }, + { + id: 'config-gear', + actor: 'pf', + label: 'Gear Down', + callout: 'PF: Gear down. — PM: Gear down.', + detail: 'Gear down nach Approach-Stabilisierung und passend zum Energy-Zustand.', + why: 'Gear Down liefert Drag und ist der Anker für die finale Konfiguration.', + }, + { + id: 'config-landing', + actor: 'pf', + label: 'Landing Config', + callout: 'PF: Flaps [LDG_CONF]. — PM: Speed checked, flaps [LDG_CONF].', + detail: 'CONF 3 oder CONF FULL setzen, VAPP bestätigen, Spoilers armed, Autobrake armed, Landing Memo no blue.', + why: 'Die A320 soll spätestens bei 1000 ft IMC / 500 ft VMC stabil sein: korrekt konfiguriert, Speed target, Sinkrate und Lateralkurs stabil.', + inputKeys: ['landingConfig', 'vapp', 'autobrake'], + }, + { + id: 'landing-checklist', + actor: 'pm', + label: 'Landing Checklist', + detail: 'Cabin crew advised · Autobrake · ECAM Memo · Gear down · Flaps landing config · Spoilers armed.', + why: 'Die Landing Checklist ist der letzte formale Schutz vor einem unstabilen oder falsch konfigurierten Final.', + }, + { + id: 'stable-criteria', + actor: 'pm', + label: 'Stabilized Criteria', + callout: 'Stable.', + detail: 'Bei Gate nicht stabil: Go-around. Kriterien: richtige Bahn, richtige Config, Speed nahe VAPP, Sinkrate normal, Checkliste fertig.', + why: 'Stabilized Approach ist keine Empfehlung, sondern die Grenze zwischen weiterfliegen und sauberem Go-around.', + }, + ], + }, + { + id: 'landing-goaround', + title: 'Landing & Go-around', + subtitle: 'Final clearance, touchdown, missed approach', + accent: 'amber', + steps: [ + { + id: 'tower-handoff-arrival', + actor: 'atc', + label: 'Handoff Tower', + callout: '[Callsign], contact Tower [TWR_FREQ].', + inputKeys: ['twrFreq'], + }, + { + id: 'tower-final-call', + actor: 'pilot', + label: 'Tower Final Call', + callout: '[Station] Tower, [Callsign], established [APPROACH] runway [ARR_RWY].', + inputKeys: ['approach', 'arrivalRunway'], + }, + { + id: 'landing-clearance', + actor: 'atc', + label: 'Landing Clearance', + callout: '[Callsign], wind [WIND], runway [ARR_RWY], cleared to land.', + inputKeys: ['wind', 'arrivalRunway'], + }, + { + id: 'minimums', + actor: 'pm', + label: 'Minimums', + callout: 'Minimum. — PF: Continue.', + detail: 'Bei DA/MDA entscheiden: Continue nur mit ausreichender Sichtreferenz und stabilem Flugzustand, sonst Go-around.', + why: 'Minimums sind die formale Entscheidungshöhe. Darunter gibt es kein "mal schauen".', + inputKeys: ['minimums', 'decisionAlt'], + }, + { + id: 'retard-flare', + actor: 'system', + label: 'Flare · RETARD', + callout: 'RETARD.', + detail: 'Ab etwa 30 ft sanft flaren, bei RETARD Thrust Levers IDLE. Pitch und Bank innerhalb Limits halten.', + why: 'Idle bei Touchdown erlaubt Ground Spoilers und Autobrake. Zu viel Pitch erhöht Tailstrike-Risiko.', + look: 'PFD · Outside · Thrust Levers', + }, + { + id: 'touchdown-rollout', + actor: 'pm', + label: 'Touchdown & Rollout Callouts', + callout: 'Spoilers. Reverse green. Decel.', + detail: 'Spoilers, Reversers und Autobrake/DECEL überwachen. Bei 70 kt Reverse Idle, bei Taxi Speed stow.', + why: 'Rollout-Callouts bestätigen, dass die Verzögerungssysteme wirklich wirken. Kein Spoiler/No Decel braucht sofortige Reaktion.', + look: 'ECAM WHEEL · PFD Speed', + }, + { + id: 'manual-braking', + actor: 'pf', + label: 'Manual Braking / Runway Exit', + detail: 'Vor dem Exit Autobrake disconnect, auf Taxi Speed reduzieren und die Runway nur über freigegebene Exits verlassen.', + why: 'Zu schnelles Abrollen belastet Gear und Reifen. Zu spätes Abrollen blockiert die Runway.', + }, + { + id: 'goaround-branch', + actor: 'pf', + label: 'Go-around Variant', + variants: [ + { + id: 'continue-landing', + title: 'Landing fortsetzen', + steps: [ + { + id: 'landing-continue', + actor: 'pf', + label: 'Continue Landing', + detail: 'Stabil, cleared to land, Sichtreferenz vorhanden: Landung fortsetzen.', + }, + ], + }, + { + id: 'goaround', + title: 'Go-around', + steps: [ + { + id: 'goaround-call', + actor: 'pf', + label: 'Go-around einleiten', + callout: 'Go-around, flaps.', + detail: 'Thrust Levers TOGA · Pitch SRS folgen · Flaps eine Stufe zurück · Positive climb abwarten.', + why: 'TOGA aktiviert Go-around-Mode und SRS/GA TRK. Ohne TOGA fehlt dem FMGS die richtige Phase.', + look: 'PFD FMA · Thrust Levers', + }, + { + id: 'goaround-cleanup', + actor: 'pm', + label: 'Go-around Clean-up', + callout: 'Positive climb. — PF: Gear up.', + detail: 'Gear up, NAV oder ATC-Heading folgen, Missed Approach Altitude setzen, Flaps nach F/S-Speed einfahren.', + }, + { + id: 'goaround-radio', + actor: 'pilot', + label: 'ATC Go-around Call', + callout: '[Station], [Callsign], going around.', + detail: 'Danach ATC-Instruktionen oder publizierte Missed-Approach-Procedure fliegen.', + }, + ], + }, + ], + }, + ], + }, + { + id: 'after-landing-taxi-in', + title: 'After Landing & Taxi-in', + subtitle: 'Runway vacated, Ground, Gate', + accent: 'rose', + steps: [ + { + id: 'runway-vacated-flow', + actor: 'pf', + label: 'Runway Vacated Flow', + detail: 'Strobes AUTO/OFF nach Policy · Landing Lights OFF · NOSE Light TAXI · Radar/PWS OFF · Flaps retract · Spoilers disarm · TCAS STBY.', + why: 'Erst nach vollständigem Verlassen der Runway konfigurieren. Auf der Runway bleibt die Aufmerksamkeit draußen.', + look: 'Overhead EXT LT · Pedestal · ECAM', + }, + { + id: 'runway-vacated-call', + actor: 'pilot', + label: 'Runway Vacated', + callout: '[Station] Tower, [Callsign], runway vacated.', + detail: 'Nur senden, wenn es lokal üblich ist oder Tower es erwartet. Sonst auf Handoff warten.', + simNote: 'Auf VATSIM hilft ein kurzer Vacated-Call bei hohem Traffic, wenn kein automatisches Ground-Radar-Feedback da ist.', + }, + { + id: 'handoff-ground-arrival', + actor: 'atc', + label: 'Handoff Ground', + callout: '[Callsign], contact Ground [GROUND_FREQ].', + inputKeys: ['groundFreq'], + }, + { + id: 'taxi-in-request', + actor: 'pilot', + label: 'Taxi-in Request', + callout: '[Station] Ground, [Callsign], runway vacated, request taxi to stand [GATE].', + inputKeys: ['gate'], + }, + { + id: 'taxi-in-clearance', + actor: 'atc', + label: 'Taxi to Stand', + callout: '[Callsign], taxi to stand [GATE] via [TAXI_ROUTE].', + detail: 'Route auf Airport Chart mitstreichen. Hotspots und Runway Crossings besonders prüfen.', + inputKeys: ['gate', 'taxiRoute'], + }, + { + id: 'taxi-in-readback', + actor: 'pilot', + label: 'Readback Taxi-in', + callout: 'Taxi to stand [GATE] via [TAXI_ROUTE], [Callsign].', + }, + { + id: 'after-landing-checklist', + actor: 'pm', + label: 'After Landing Checklist', + detail: 'Flaps retracted · Spoilers disarmed · Radar/PWS OFF · TCAS STBY · APU start nach Bedarf · Brake temp prüfen.', + why: 'Die Checkliste trennt Runway- und Taxi-Konfiguration sauber und bereitet das Parken vor.', + }, + { + id: 'single-engine-taxi-in', + actor: 'pf', + label: 'One Engine Taxi-in Variant', + variants: [ + { + id: 'two-engine-taxi-in', + title: 'Two-engine taxi', + steps: [ + { + id: 'two-engine-taxi-normal', + actor: 'pf', + label: 'Beide Triebwerke laufen lassen', + detail: 'Standard, wenn Taxi-in kurz ist, APU/GPU unklar ist oder hohe Workload besteht.', + }, + ], + }, + { + id: 'one-engine-taxi-in', + title: 'One-engine taxi-in', + steps: [ + { + id: 'engine-shutdown-taxi-in', + actor: 'pf', + label: 'Engine 2 shutdown nach Cooldown', + detail: 'Nur nach Operator-/Addon-Policy: APU verfügbar, Hydraulik/Brake-Logik verstanden, Engine-Cooldown eingehalten.', + why: 'Spart Fuel, ist aber kein Muss. Im Sim nur nutzen, wenn das Add-on die Systemlogik sauber abbildet.', + }, + ], + }, + ], + }, + ], + }, + { + id: 'parking-securing', + title: 'Parking & Securing', + subtitle: 'Engines off, Aircraft secured', + accent: 'cyan', + steps: [ + { + id: 'stand-arrival', + actor: 'pf', + label: 'Am Stand stoppen', + detail: 'Marshaller/VDGS folgen, sanft stoppen, Parking Brake SET, Taxi Light OFF.', + why: 'Der finale Turn-in ist eng. Taxi Light aus reduziert Blendung am Gate.', + inputKeys: ['gate'], + }, + { + id: 'apu-gpu-parking', + actor: 'pf', + label: 'APU oder EXT PWR sichern', + detail: 'APU AVAIL mit APU BLEED ON vor Engine Shutdown oder EXT PWR ON sobald verfügbar.', + why: 'Vor dem Abschalten der Engines muss Strom und Klimatisierung für Cockpit/Kabine gesichert sein.', + variants: [ + { + id: 'parking-apu', + title: 'APU verfügbar', + steps: [ + { + id: 'parking-apu-bleed', + actor: 'pf', + label: 'APU BLEED → ON', + detail: 'Kurz vor Engine Shutdown APU BLEED ON, damit keine Abgase über Packs angesaugt werden.', + }, + ], + }, + { + id: 'parking-gpu', + title: 'GPU verfügbar', + steps: [ + { + id: 'parking-ext-pwr', + actor: 'pf', + label: 'EXT PWR → ON', + detail: 'GPU verbinden und EXT PWR ON prüfen, bevor die letzte Engine ausgeschaltet wird.', + }, + ], + }, + ], + }, + { + id: 'engine-shutdown', + actor: 'pf', + label: 'Engine Shutdown', + detail: 'Engine Master 1 und 2 OFF, Engine Parameters decreasing. Beacon erst nach Spooldown OFF.', + why: 'Beacon bleibt an, solange rotierende Triebwerke eine Gefahr für Ground Crew sind.', + look: 'Pedestal · ECAM ENG · Overhead EXT LT', + }, + { + id: 'cabin-arrival', + actor: 'cabin', + label: 'Cabin Arrival / Slides', + callout: 'Cabin crew, disarm doors and cross-check.', + detail: 'Slides disarmed bestätigen, Seat Belts OFF nach Parkposition und Operator-Policy.', + why: 'Slides dürfen am Gate nicht versehentlich auslösen. Der Cross-Check ist der formale Schutz davor.', + }, + { + id: 'ground-chocks', + actor: 'pilot', + label: 'Ground Contact / Chocks', + callout: 'Ground, [Callsign], parking brake set, request chocks.', + detail: 'Sobald Chocks gesetzt und bestätigt sind, Parking Brake nach Bremsentemperatur/Standneigung setzen oder lösen.', + why: 'Heiße Bremsen sollen nicht unnötig mit gesetzter Parking Brake belastet werden. Chocks sichern das Flugzeug mechanisch.', + }, + { + id: 'parking-flow', + actor: 'pf', + label: 'Parking Flow', + detail: 'Fuel Pumps OFF · Seat Belts OFF · Signs as required · ATC STBY · Anti-Ice OFF · Brake Fans nach Bedarf · ECAM Status.', + why: 'Alle Systeme werden vom Flug- in den Bodenbetrieb zurückgeführt. ECAM Status zeigt offene Maintenance- oder MEL-Themen.', + look: 'Overhead · Pedestal · ECAM STATUS', + }, + { + id: 'parking-checklist', + actor: 'pm', + label: 'Parking Checklist', + detail: 'Engines off · Seat belts off · Fuel pumps off · APU/EXT PWR established · Parking brake/chocks confirmed.', + why: 'Bestätigt, dass Passagiere aussteigen können und das Flugzeug sicher am Stand versorgt ist.', + }, + { + id: 'securing-aircraft', + actor: 'pf', + label: 'Securing Aircraft', + detail: 'ADIRS OFF · Oxygen Crew Supply OFF · Exterior Lights OFF · APU BLEED/MASTER OFF wenn nicht benötigt · Batteries OFF nach EXT PWR/APU-Policy.', + why: 'Securing ist der Endzustand nach dem Flug: keine unnötigen Verbraucher, keine Navigation Alignment aktiv, keine Gefahr für Ground Crew.', + look: 'Overhead · ADIRS · ELEC · APU', + }, + { + id: 'flight-complete', + actor: 'system', + label: 'Flight complete', + detail: 'Block time, fuel remaining und eventuelle technische Hinweise dokumentieren. Im Sim: ACARS/Pirep/VATSIM-Client sauber beenden.', + why: 'Ein sauber abgeschlossener Flug macht die nächste Rotation einfacher und hält Logbook/VA-Daten konsistent.', + }, + ], + }, ] export const a320Profile: SopAircraftProfile = { @@ -520,21 +1205,30 @@ export const scratchFields: ScratchField[] = [ {key: 'crzFL', label: 'CRZ FL', placeholder: 'FL360', group: 'flight'}, {key: 'costIndex', label: 'Cost Index', placeholder: '30', group: 'flight'}, {key: 'stand', label: 'Stand / Gate', placeholder: 'V152', group: 'flight'}, + {key: 'gate', label: 'Arrival Gate', placeholder: 'A24', group: 'flight'}, {key: 'atisLetter', label: 'ATIS', placeholder: 'D', group: 'env'}, + {key: 'arrivalAtis', label: 'Arrival ATIS', placeholder: 'M', group: 'env'}, {key: 'wind', label: 'Wind', placeholder: '250/08', group: 'env'}, {key: 'qnh', label: 'QNH', placeholder: '1013', group: 'env'}, + {key: 'arrivalQnh', label: 'Arrival QNH', placeholder: '1008', group: 'env'}, {key: 'rwy', label: 'RWY', placeholder: '25C', group: 'env'}, + {key: 'arrivalRunway', label: 'Arrival RWY', placeholder: '32L', group: 'env'}, {key: 'transLevel', label: 'Trans Level', placeholder: 'FL70', group: 'env'}, {key: 'transAlt', label: 'Trans Alt', placeholder: '5000', group: 'env'}, {key: 'sid', label: 'SID', placeholder: 'OBOKA1L', group: 'atc'}, + {key: 'star', label: 'STAR', placeholder: 'RATUK2A', group: 'atc'}, + {key: 'approach', label: 'Approach', placeholder: 'ILS', group: 'atc'}, {key: 'initialClimb', label: 'Initial Climb', placeholder: '5000', group: 'atc'}, {key: 'squawk', label: 'Squawk', placeholder: '1000', group: 'atc'}, {key: 'taxiRoute', label: 'Taxi Route', placeholder: 'N, L, M', group: 'atc'}, {key: 'holdingPoint', label: 'Holding Point', placeholder: 'S4', group: 'atc'}, + {key: 'groundFreq', label: 'Ground', placeholder: '121.800', group: 'atc'}, {key: 'twrFreq', label: 'Tower', placeholder: '119.905', group: 'atc'}, {key: 'depFreq', label: 'Departure', placeholder: '120.150', group: 'atc'}, + {key: 'appFreq', label: 'Approach Freq', placeholder: '120.800', group: 'atc'}, + {key: 'ilsIdent', label: 'ILS Ident', placeholder: 'IFNW', group: 'atc'}, {key: 'zfw', label: 'ZFW (t)', placeholder: '60.5', group: 'fuel'}, {key: 'zfwcg', label: 'ZFWCG (%)', placeholder: '27.5', group: 'fuel'}, @@ -549,6 +1243,11 @@ export const scratchFields: ScratchField[] = [ {key: 'thrRed', label: 'THR RED', placeholder: '1500', group: 'perf'}, {key: 'accAlt', label: 'ACC ALT', placeholder: '1500', group: 'perf'}, {key: 'pitchTrim', label: 'Pitch Trim', placeholder: 'DN 1.2', group: 'perf'}, + {key: 'minimums', label: 'Minimums', placeholder: 'CAT I', group: 'perf'}, + {key: 'decisionAlt', label: 'DA/MDA', placeholder: '430', group: 'perf'}, + {key: 'vapp', label: 'VAPP', placeholder: '137', group: 'perf'}, + {key: 'landingConfig', label: 'Ldg Config', placeholder: 'FULL', group: 'perf'}, + {key: 'autobrake', label: 'Autobrake', placeholder: 'LOW', group: 'perf'}, ] /** Glossar – Begriffe, die im Text als Pill markiert werden. */ @@ -597,4 +1296,23 @@ export const glossary: GlossaryEntry[] = [ {term: 'NOTAM', short: 'Notice to Airmen – aktuelle Hinweise (geschlossene Bahnen, etc.).'}, {term: 'ATIS', short: 'Automatic Terminal Information Service – aktuelle Wetter-/Bahn-/QNH-Info per Funk.'}, {term: 'F-PLN', short: 'Flight Plan Page der MCDU – Lateral Route mit Wegpunkten.'}, + {term: 'TOD', short: 'Top of Descent – berechneter Punkt, an dem der Sinkflug beginnen sollte.'}, + {term: 'IAF', short: 'Initial Approach Fix – Einstiegspunkt in das veröffentlichte Anflugverfahren.'}, + {term: 'FAF', short: 'Final Approach Fix – Punkt, an dem der Endanflug typischerweise beginnt.'}, + {term: 'FDP', short: 'Final Descent Point – Startpunkt des finalen Sinksegments bei RNAV/NPA-Profilen.'}, + {term: 'DA', short: 'Decision Altitude – Entscheidungshöhe bei Precision Approach.'}, + {term: 'MDA', short: 'Minimum Descent Altitude – Mindestsinkhöhe bei Non-Precision Approach.'}, + {term: 'VAPP', short: 'Approach Speed – Zielgeschwindigkeit im Endanflug, meist VLS plus Zuschläge.'}, + {term: 'CONF 3', short: 'Landing-Konfiguration mit Flaps 3; weniger Drag, oft bei Wind oder Engine-Out relevant.'}, + {term: 'CONF FULL', short: 'Normale Landing-Konfiguration mit vollen Flaps und maximalem Landing Drag.'}, + {term: 'REV', short: 'Reverse Thrust – Umkehrschub zur Unterstützung der Verzögerung nach Touchdown.'}, + {term: 'DECEL', short: 'Autobrake-Deceleration-Anzeige – bestätigt, dass die geplante Verzögerung erreicht wird.'}, + {term: 'RNP', short: 'Required Navigation Performance – RNAV-Verfahren mit definierter Navigationsgenauigkeit.'}, + {term: 'RNAV', short: 'Area Navigation – Navigation entlang beliebiger Wegpunkte statt nur direkt zu Bodenfunkfeuern.'}, + {term: 'LOC', short: 'Localizer – laterale Führung des ILS zur Runway-Centerline.'}, + {term: 'GS', short: 'Glide Slope – vertikale Führung des ILS.'}, + {term: 'RCF', short: 'Radio Communication Failure – Funkverlustverfahren, regional nach AIP/Charts zu fliegen.'}, + {term: 'APPR', short: 'Approach Mode – FCU-Taste zum Armen von LOC/GS oder FINAL APP je nach Verfahren.'}, + {term: 'AAL', short: 'Above Aerodrome Level – Höhe über Flugplatzniveau, häufig für Stabilized-Gates genutzt.'}, + {term: 'VDGS', short: 'Visual Docking Guidance System – Gate-Anzeige zum Einrollen an die Parkposition.'}, ]