boarding, climb, cruise, or landed that describes what the aircraft is doing right now. Stratos works this out on its own, in real time, purely from the data your simulator reports. There is no script to follow and no flight plan required: the same logic runs whether you fly a published airline route or a free-flight circuit.
This page explains the full set of phases, the order they normally run in, and the precise conditions that move a flight from one phase to the next. It is written for pilots who want to understand what the badge in the app is telling them, and for VA administrators who build event rules and field matrices on top of these phases.
Terms used on this page
- kt — knots; here, ground speed across the surface.
- VS / fpm — vertical speed, in feet per minute: how fast you are climbing or descending.
- AGL — height above the ground directly below you (as opposed to altitude above sea level).
- N1 — the rotational speed of a jet or turboprop’s main spool, shown as a percentage. Stratos reads it as a stand-in for how much power you have set.
- RPM % — the piston-engine equivalent of N1 (percent of maximum engine RPM).
- nm — nautical miles; here, the distance still to fly to the destination airport.
Why phases matter
The current phase is not just a cosmetic label. It drives several parts of the system:- VA event rules. Many rules are keyed to a phase — “Phase Take Off”, “Phase Landed”, and so on. A rule only fires when the flight reaches the phase it is bound to. See VA onboarding.
- Per-phase field reporting. The Additional Fields matrix lets a VA append optional fields to position reports only during chosen phases (winds during
climb/cruise/descent, for example). - Block vs. air time. The phase boundaries mark when the aircraft starts moving, leaves the ground, touches down, and parks — the milestones used to compute block time and air time.
- The
phasefield. Every position report carries the current phase string, so your ACARS backend always knows the stage of flight. - Plugins. Plugin developers read the live phase through the
useFlightPhasehook.
The normal lifecycle
A typical flight runs forward through thirteen phases, from the gate to the gate: Solid arrows down the centre are the normal forward progression; the labelled side arrows are the recoveries and back-steps explained under Special and recovery transitions. The two special phases (Rejected Takeoff, Go-Around) are described there too. Two more phases sit outside this happy path and only appear when something unusual happens:- Rejected Takeoff — an aborted takeoff roll.
- Go-Around — a balked landing where you climb away instead of touching down.
unknown, that Stratos uses only before it has gathered enough data to classify the flight, or briefly during crash recovery. In normal flying you will not see it.
A flight, phase by phase
Reading the badge from start to finish on a normal flight:- Boarding — loaded at the gate, parked (under 2 kt).
- Push Back — the aircraft starts to creep, 2–8 kt (a tug push, or the first roll out of the stand).
- Taxi — taxiing out toward the runway, 8–45 kt.
- Takeoff — lined up with takeoff power set, accelerating past 45 kt.
- Climb — wheels up, climbing toward your cruise altitude.
- Cruise — levelled off and holding altitude.
- Descent — top of descent; you start coming down.
- Approach — getting low and close to the field (within ~50 nm, below 8000 ft AGL).
- Final — lined up and low, below 1000 ft AGL.
- Landed — main gear is down and you are rolling out.
- Taxi In — clear of the runway, taxiing to the gate (8–25 kt).
- Arrived — stopped at the gate with engines still running.
- Deboarding — engines off; the flight is done.
How Stratos detects phases
Phase detection runs in the background the whole time you are tracking. Understanding a few mechanics explains why the badge behaves the way it does. It samples, then looks at trends — not single readings. Stratos takes a snapshot of your flight data roughly twice a second and keeps a rolling five-second window of those snapshots. Decisions are made on the averages across that window, not on any single instantaneous value. This is why a one-frame glitch — a momentary altitude spike, or a single bad vertical-speed reading — does not throw the phase off. It waits for reliable data before doing anything. Until the window holds at least three samples (about a second and a half of data), the phase is held steady. This stops bad readings at sim startup from jumping the phase around. Climb and descent are trend judgements. From the rolling window Stratos derives whether you are climbing, descending, or level:
Requiring vertical speed and altitude to agree in direction means that changing your altimeter pressure setting (the Kollsman window) — which shifts indicated altitude instantly while vertical speed stays near zero — is not mistaken for a climb or descent.
Transitions are confirmed, not instant. Most airborne transitions must hold for a short time and show a real altitude change before they are accepted. A would-be change to climb or descent, for example, is only confirmed once it has persisted for 3 seconds and altitude has moved by at least 50 ft. Leaving cruise needs a bigger, more sustained change (see below). This debounce is what stops the phase flapping back and forth in light turbulence or during autopilot altitude hunting.
The on-ground flag is handled separately. Altitude, vertical speed, and ground speed are averaged over the window, but the simulator’s “on ground” flag is read directly each frame. Simulators routinely flicker it for a single frame during takeoff rotation or a firm landing, so Stratos guards the phase instead of trusting the flag: once you are airborne in
climb or cruise, a stray “on ground” reading is ignored, and the post-touchdown phases likewise ignore a momentary bounce back into the air.
The signals it reads. Phase logic looks at a handful of values from your simulator:
All thresholds below are the values used in the current release. Stratos
auto-detects your cruise altitude from sustained level flight rather than
reading it from a flight plan, so it works identically for free flight and for
booked routes.
Phase reference
Departure (on the ground)
These phases only move forward. Holding short during taxi (ground speed back to zero) keeps you intaxi, it does not drop you back to boarding.
Takeoff power is what separates a real takeoff roll from a fast taxi. Stratos requires engine power above a gate, not just speed:
A fast taxi at 50 kt with the engines at idle stays in
taxi; it never enters takeoff.
Airborne
A few details worth knowing:
- Cruise is “level for a few seconds.” Once your average vertical speed settles near zero and stays there for about three seconds without drifting more than ~300 ft, Stratos marks
cruiseand records your cruise altitude (rounded to the nearest 100 ft). - Leaving cruise is deliberately harder than entering it. To exit
cruiseyou need a sustained climb or descent lasting 3 seconds and an altitude change of at least 300 ft. This higher bar keeps a bumpy ride from knocking you out of cruise. - Cruise altitude is refined as you go. If you drift up or down to a new level and hold it, Stratos quietly updates the recorded cruise altitude (it re-checks every 15 seconds and confirms after four consistent readings) — so a step climb from FL370 to FL380 (37,000 to 38,000 ft) is reflected without leaving cruise.
- Approach and final are gated by distance. Being low alone is not enough — you must be within 50 nm of the destination. This stops a light aircraft cruising low over high terrain from being mistaken for an aircraft on approach. When no arrival airport is known (pure free flight), the distance gate is dropped and only altitude AGL is used.
- A steep arrival can skip approach. If a descent reaches the field already low and slow (below 1000 ft AGL, under 210 kt), it goes straight to
finalwithout passing throughapproach.
Arrival (on the ground)
Details:
- Landed is held briefly. After touchdown Stratos stays in
landedfor at least 1.5 seconds before progressing. This gives a VA’s “Phase Landed” rule time to fire even on a short, slow landing that would otherwise pass through in a single frame. - Reaching Arrived without reliable engine data. The normal path to
arrivedchecks that the engines are running. Some aircraft mis-report their engines as off at idle, which would otherwise strand the flight intaxi_in. As a fallback, if the aircraft sits stopped within 5 nm of the arrival airport for 10 seconds, it is promoted toarrivedregardless of what the engine flags say. - Re-taxiing from the gate. If you start rolling again after reaching
arrived(you gave way, or held short of a crossing runway), you drop back totaxi_inat 4 kt or more — a slightly lower bar than the 8 kt used on the landing rollout, so a slow marshalled taxi still counts. - Deboarding is final. Once the engines are off at the gate, the flight stays in
deboarding. It does not transition again.
Special and recovery transitions
Real flying does not always run gate-to-gate. Stratos handles the common departures from the script.Rejected Takeoff
If you abort during the takeoff roll, the aircraft decelerates back below takeoff speed while still on the ground. Stratos only calls this a rejected takeoff when it is confident a real roll was underway — either you had been intakeoff for at least 3 seconds, or engine power was deliberately cut to below 50 % of its peak during the roll. A momentary speed blip that does not meet either test is treated as a fast-taxi glitch and reverts to taxi. Once you slow back below taxi speed and vacate, you return to taxi.
Go-Around
A go-around is detected on a balked landing: while infinal or landed, if you pitch up to 8° or more and push the throttles to 70 % N1 or more, Stratos recognises the missed approach and switches to go_around. When the aggressive pitch and power ease off, it transitions to climb if you are climbing away, or back to approach if you level or descend to try again.
Touch-and-go
After a touchdown (landed, taxi_in, or arrived), if you climb away again — more than 50 ft AGL, climbing, sustained for the usual confirmation window — Stratos treats it as a touch-and-go or re-takeoff and returns you to takeoff. A brief bounce on landing does not meet this bar and is ignored, so a hard arrival is not mistaken for a departure.
Approach recovery
Approach has two escape hatches so a transient reading cannot trap you there:- If you start climbing, it transitions back to
climb(a missed approach that does not meet the go-around criteria). - If you settle into sustained level flight near your recorded cruise altitude for 30 seconds, it returns to
cruise— handling cases where an altimeter setting change briefly looked like a descent.
Aircraft-type differences
The same phases apply to everything, but a few rules adapt to the airframe.- Helicopters have no takeoff roll. They pass briefly through
takeoffduring the vertical liftoff (so a VA’s takeoff rule still fires) and then go toclimb. A short hover-flight can land directly fromclimborcruise, so helicopters are allowed to reachlandedwithout passing throughapproach/final. Go-around detection is disabled for them, because normal helicopter maneuvering naturally involves high pitch and power. - Piston / general-aviation aircraft report no turbine N1, so the takeoff-power gate uses engine RPM percentage instead of N1.
- Turbine aircraft (jets and turboprops) use N1 for the takeoff-power gate and go-around detection. Whether an engine counts as running — what moves
arrivedon todeboarding— is read from the simulator’s per-engine on/off flags, not from N1.
How phases are used in Stratos
Pulling it together, the phase feeds four places you will encounter as a VA admin or plugin developer:- Event rules bind to phases. A “Phase Cruise” rule fires the moment cruise is detected; a “Phase Landed” rule fires on touchdown. See VA onboarding.
- The Additional Fields matrix uses phases as columns — you choose which optional fields ride along on position reports during each phase. See Additional Fields.
- The
phasefield on every position report carries the current phase string (boarding,climb,cruise, …). When the sim is paused the top-level field reportsPAUSED, while the underlying phase is preserved for field selection. - Plugins read the live phase via
useFlightPhase, which pushes an update only when the phase actually changes.
Threshold quick reference
A scannable index of every number used above — nothing new here, just collected in one place. These are the values used in the current release.On the ground — departure
In the air
On the ground — arrival
Special transitions
Detection internals
At higher simulation rates, the altitude gates scale up automatically so that
autopilot oscillations under time compression do not cause rapid phase
bouncing.