Final Approach Spacing (3D)

Blender runway and airliners on a glide path: the same compression model as the 2D lab, in 3D.

Switch to 2D

Presets

Playback

Spacing

Wind

Speeds and delivery

Runway

View

Camera

Layers

Quality

Model check

The science

What this is. A neutral queuing-physics model of a single runway arrival stream on a straight-in final approach. Aircraft cross a metering fix 10 nautical miles out, decelerate on the glide path and reach the threshold one after another. The question is how much distance and how much time separate them at each point, and how many can land per hour.

Ground speed along the path

The glide path of angle gamma puts the aircraft at height h(x) = x tan(gamma) + 50 ft above the threshold. Indicated airspeed is constant at the fix speed, falls linearly to the final approach speed between the deceleration point and 4 nm, then stays constant. True airspeed follows the ISA density ratio, TAS = IAS / sqrt(sigma) with sigma = (1 - 6.8756e-6 h)^4.2559. The headwind grows with height, W(h) = W0 + g h/1000 ft, so the ground speed is

Vg(x) = TAS(x) - W(h(x))

Compression

Time to go from the fix to distance x is t(x) = integral of dx'/Vg(x') (Simpson rule, 200 steps). If the follower enters the fix Delta seconds after the leader, then when the leader is at x the follower is at x_f = X(t(x) - Delta), where X is the inverse of t. While both fly the same final segment the gap shrinks in proportion to the ground speed:

s_thr = s_fix Vg_thr / Vg_fix and the arrival rate is 3600 / Delta = 3600 Vg_thr / s_thr per hour.

A controller who wants at least s_min at the threshold must therefore set up s_fix = s_min Vg_fix / Vg_thr at the fix: the compression buffer. A stronger headwind lowers Vg_thr, so the same distance gap needs more time and the rate drops. A time-based rule holds Delta = 3600 s_min / V_app (the calm-air time) instead, which keeps the rate nearly constant in headwind while the distance gap shrinks; its safety case rests on wake vortices decaying and drifting with time, not distance.

Runway occupancy

An aircraft that crosses the threshold before the previous one has left the runway (ROT, about 50 s) goes around. With a time gap Delta the usable slots are every ceil(ROT / Delta) gaps, so the landing rate is 3600 / (ceil(ROT/Delta) Delta); this staircase is visible in graph 3 and the go-around counter.

Noise

Delivery error at the fix (Gaussian, in nm) and approach-speed spread (Gaussian, in kt) are drawn from a fixed-seed generator, so a run is repeatable. Changing any slider restarts the run (counters reset); the time scale does not.

Checks run in this page

  • Two aircraft stepped in time (Euler, 0.05 s) give the same follower position as the Simpson table inversion (limit 0.02 nm).
  • A noise-free hour of arrivals gives the landings predicted by the closed-form rate above.
  • Little's law: the time-average number of aircraft on final equals the arrival rate times the transit time.

What to try

  • Preset Calm, no buffer: a 3 nm gap at the fix becomes about 2.1 nm at the threshold.
  • Headwind 25 kt, distance versus time-based: compare the arrival rate in graph 3.
  • Raise the runway occupancy time to 80 s and watch go-arounds appear.

Honest simplifications. One runway, one aircraft type per run, straight-in approach, no turbulence or gusts, no wake-vortex physics (the required separation is an input), constant glide angle, ISA atmosphere, headwind linear in height, simple deceleration profile. Numbers are illustrative, not operational guidance. The 3D view exaggerates aircraft size, runway width, approach length compression and the vertical scale.

Loading model...
Loading Blender model...
Speeds along the approach (IAS, TAS, headwind, ground speed)
Gap to the follower while the leader flies the final (compression)
Arrivals per hour against surface headwind
Stringline: distance against time for the last aircraft
Made with 🟠 Blender · Three.js