Flight test report · Cessna 172 · Simulation only · Campaign nav‑wx

Can an aeroplane navigate with cameras alone?

Yes, within boundaries that this campaign went looking for. 38 flights over one 495 km route, no satellite fix at any point, with cruise height and wind as the only things that changed. Of the 27 flights that reached the approach, the aircraft handed over a position that was a median 11 m from the truth, worst case 46 m — which is the number the landing depends on. Behind that: altitude is a wall, and above about 7,000 ft the aircraft recognises nothing at all, drifting 1% of the distance it flies. Wind is a tax — steady wind to 35 kt never lost it — but gusty wind at 25 kt broke all three attempts, and broke them on the ground. Every flight is reported, including the five that never got airborne.

Joe Tan Singapore Personal project · personal hardware Updated
11 m
Median position error where it handed the runway to the approach
27 flights · 3–46 m · no satellite fix
7,000 ft
Above this height it stops recognising the ground entirely
0 fixes in 2 h at 10,000 and 12,000 ft
35 kt
Steady wind that degraded navigation without ever losing it
Gusty 25 kt: 3 of 3 lost
5
Flights that never got airborne, reported as failures
25–35 kt across the departure runway
PROBthe problem

The leg is the half nobody shows you

A video of an approach is three minutes long. The flight in front of it is three hours. Take satellite navigation away and almost all of the exposure sits in that leg — and the leg is the part that never gets filmed, because nothing visibly happens during it.

Which is exactly why it is worth measuring. Error on a leg accumulates quietly, with nothing to correct it against until the aircraft is close enough to see the airfield, and no obvious moment at which a reader would notice it had gone wrong. So two questions are worth asking of a system like this, and only the second one tends to get asked late:

  1. How well does it know where it is? Not at the best moment and not averaged over a good flight — across the whole leg, in the conditions it will actually meet, and at the one instant that matters to whatever happens next.
  2. Does it know when it does not know? A navigation system that is 14 km out and says so is recoverable. One that is 14 km out and reports metres is not a candidate for anything.

This campaign answers the first and, in one condition, gives an uncomfortable answer to the second. The other half of the question — whether it can then land at a field it has never seen — is a separate campaign, reported on the approach page.

CONconstraints

What it was denied

A result is worth something in proportion to how little the system was given. Each line below is a thing a reader is entitled to assume was not quietly relaxed to make the numbers come out.

No satellite fix
No GNSS position at any point, from engine start to the arrival. Not degraded, not intermittent — absent.
No ground aid
Nothing transmitted from anywhere. No beacon, no beam, no differential correction, no datalink carrying a position.
No exotic sensor
What the aircraft can see out of the window, and what it already knows about its own state. No lidar, no radar altimeter, no survey-grade inertial unit.
Instruments that lie
The compass was given a fixed 2.52° error and the airspeed read 6.52% high, identically in all 38 flights. Whatever the system knew about either, it had to work out in flight, with no satellite fix to work it out against.
One route, one airframe, one seed
Ipoh to Senai, 495 km in 7 legs over real terrain, the same route every time, a Cessna 172 every time, the same random draw every time. Cruise height and wind are the only variables — which is what makes the flights comparable, and is also why there is no spread to quote.
Wind that does not cooperate
Steady wind at 10, 20, 25, 30 and 35 kt from four directions, plus a gusty case varying in space and in time. The aircraft cruises at about 90 kt, so 35 kt is not a nuisance — it is well over a third of the airspeed.
Heights it was never going to manage
Cruise at 2,000, 6,000, 8,000, 10,000 and 12,000 ft. The high cells were flown to find the boundary, not to pass it, and the two highest are reported as the failures they are.
Nothing re-flown for a better result
Five flights never got airborne in 25–35 kt across the departure runway. They are named below, and the five replacements — which begin already airborne and already in position — are declared as replacements wherever they appear, because their departure is not comparable with anything else here.

The route, and what is under it

Ipoh (WMKI) in the north to Senai (WMKJ) at Johor Bahru in the south, by way of a turning point over Melaka. Both ends are civil airfields and the whole of it is public: 495 km in seven legs, about four hours in a Cessna 172. The route runs down the flat western side of Peninsular Malaysia, so the mountain spine sits east of it the entire way — which is the reason an aeroplane can be asked to cruise this at 2,000 ft at all.

IpohWMKI 04MelakaturnSenaiWMKJ 34100 kmN ↑The routeGround along the route, and the cruise heights flown5001,0001,5002,000ft1,000 ft — skipped, the ridge is above it2,000 ft cruise1234567legleg 7 · 174 km of plantation · lowest fix rate on the route1,778 ft at km 254highest ground within 1.5 kmkm along the route →IpohSenai
Legs 1–6, to the turn at Melaka Leg 7 — 174 km of plantation Relief from public 30 m elevation data — the stronger the shading, the higher the ground
Almost all of it is under 500 ft, and then there is one ridge. The profile is the highest ground within 1.5 km of the track, which is the clearance figure the campaign planned against. It peaks at 1,778 ft near kilometre 254, on the leg that crosses toward Melaka — so 1,000 ft was never flyable on this route and was dropped before the campaign began, and the 2,000 ft cruise, the most accurate height tested, clears that ridge by about 220 ft. Everything above it — 6,000, 8,000, 10,000 and 12,000 ft — is off the top of this chart; terrain is not what limits those, as the altitude section shows. The last leg is marked separately because it is the flattest and most uniform ground on the route and the hardest to navigate over: 174 km of plantation with the lowest fix rate of any leg. Elevations here come from public 30 m data, independent of the campaign's own terrain figure — they agree to within 71 ft on the highest point, which is the agreement you would expect from two different samplings and close enough to confirm the planning decision.

What was not denied is set out under “what this is not”: this is simulation, the system is fed a rendered view of the world, the visibility was generous, and the imagery flown comes from the same source as the imagery it refers to. Those are the places this rig is kinder than reality.

RESthe answer

What actually arrived at the approach

Everything else on this page is error along the way. This is the number that is handed to whatever happens next, and it is the only one an operator would act on: how far out was the aircraft when it gave the approach a runway to fly to?

Position error at the two points that matter, all flights that got that far
 FlightsMedianBestWorst
Error along the leg, at 2,000 ft, calm or 8 kt24–6 m—95 m
Arriving at the start of the approach2829 m2 m3,754 m
Handing the runway to the approach2711 m3 m46 m

Non-gusty flights that reached each point. One flight arrived at the start of the approach 3,754 m out and never reached a handover at all; it is the 10,000 ft case described under altitude.

A median of 11 m and a worst case of 46 m, with no satellite fix, after up to four hours in the air. That is across every height from 2,000 to 12,000 ft and every steady wind to 35 kt — including the flights whose en-route error was measured in kilometres. It is an independent corroboration of the 11–52 m figure the approach campaign rests on, from a third route, longer than either of the two that produced it.

The interesting part is the row in the middle. The error on arrival at the approach is far larger and far more variable than the error at handover — a median of 29 m, but five flights arrived more than 100 m out and three of those were over 500 m. Every one of them was inside 25 m by the time it handed over. Whatever the leg does to the aircraft's idea of where it is, the arrival mostly undoes, and a bad leg is not automatically a bad handover. The 12,000 ft flights make the point at its most extreme: a kilometre of error at cruise, 21 and 22 m at handover.

And what did not arrive

Of 38 flights, 21 landed. The other 17 are the reason this campaign was worth flying:

  • 5 never got airborne. 25–35 kt across the departure runway: three ended on the runway, two never unstuck. No navigation data, and no replacement of the failure with its re-flight.
  • 5 gave up on the approach and 3 ran out of time, all of them in 25 kt of wind or more. Navigation held in every one — medians of 15 to 85 m — and the aircraft still did not complete. That boundary belongs to the approach page, not this one, but it is this campaign's result and it is counted here.
  • 4 could not find the airfield at all. The three gusty flights arrived 25–27 km out and flew 17 or 18 search legs without ever seeing it. The fourth is the unexplained 10,000 ft flight.
ALTaltitude

Only one of the two variables has a cliff in it

Of everything that changed across 38 flights, altitude is the one that matters. Position error along the leg holds in the tens of metres to 6,000 ft, is marginal at 8,000 ft, and is kilometres above that — not because accuracy degrades with height, but because recognising the ground stops working altogether.

Did it recognise where it was?Share of attempts that produced a fix

2,000 ft78–83%
6,000 ft85–87%
8,000 ft26–27%
10,000 ft7–13%
12,000 ft13%

How far out was it?Median error along the leg · log scale

2,000 ft4–6 m
6,000 ft18–19 m
8,000 ft98–104 m
10,000 ft1.2–1.4 km
12,000 ft0.9–1.3 km

How often was it confidently wrong?False fixes per flight

2,000 ft0
6,000 ft0–2
8,000 ft4–9
10,000 ft0
12,000 ft0
Usable Marginal or worse Two flights per height — calm and a steady 8 kt — shown as a range The middle chart is logarithmic: each equal step is ten times the error
8,000 ft is the dangerous height, not 12,000. At 10,000 and 12,000 ft the aircraft recognises nothing at cruise and is quietly, honestly lost. At 8,000 ft it succeeds about a quarter of the time, and that is where the false fixes are: 4 to 9 per flight, against 0 to 2 at every height below it and none at all above. A system that half-recognises the ground misbehaves in a way that one which cannot see it does not. The left-hand chart counts the whole flight, climb and descent included, which is why the two highest cells are not zero: every one of those fixes happened below 7,000 ft.

Where the wall is, and what is behind it

At 10,000 and 12,000 ft there was not one fix at cruise height — in either flight, at either height. For about two hours the aircraft navigates on heading and airspeed alone, and the error that results is completely orderly:

The four flights that spent their cruise with nothing to look at
CruiseWindMinutes at cruiseError at end of cruiseAlong trackAcross track
10,000 ftcalm1314,479 m+1,845 m4,081 m left
10,000 ftsteady 8 kt1233,164 m+889 m3,037 m left
12,000 ftcalm1203,984 m+1,927 m3,487 m left
12,000 ftsteady 8 kt1122,874 m+392 m2,847 m left

2.9 to 4.5 km over about 400 km — roughly 1% of the distance flown — and it goes the same way every time: mostly sideways, always to the left. That is the signature of a residual compass error, and it matches what the aircraft had left over after working its own instruments out on departure. It settled on a compass error 0.45° short of the truth, and 0.45° held for 400 km is about 3.1 km across track. An airspeed reading 0.45% high accounts for roughly 1.8 km along it. The drift is not mysterious. It is the calibration residue, flown out to its logical conclusion.

Coming back down is immediate

There is nothing to recover from, in the sense that matters: as soon as the aircraft descends through the boundary it recognises the ground again and the error collapses. In five of the six flights that cruised above 6,000 ft the first fix came at 6,128 to 7,053 ft, between 1.4 and 10.9 minutes after leaving cruise, and the position went from kilometres to 10–60 m inside a minute. All four of the dead-reckoning flights in the table above then handed over inside 30 m.

The sixth is on the page because it is the one that did not. One 10,000 ft flight got no fix at all until 2,120 ft, 27.6 minutes after leaving cruise and by then already in the search for the airfield. It reached the start of the approach 3,754 m out of position, with its own stated uncertainty grown to 26 km, flew 12 search legs and never found the field. The record does not show why matching failed on that descent when it worked on the other three. It is one flight of 38 and it is unexplained, which is a reason to put it on the page.

WINDa tax, not a wall

Steady wind never lost it — but it matters where the wind comes from

20 flights at 2,000 ft, five wind speeds from four directions. Not one of them lost its position. What changed was how often the aircraft could place itself, and the cost of that showed up as accuracy, unevenly.

Crosswind from the leftMedian error along the leg

10 kt15 m
20 kt42 m
25 kt53 m
30 kt67 m
35 kt85 m

Crosswind from the rightMedian error along the leg

10 kt14 m
20 kt33 m
25 kt34 m
30 kt27 m
35 kt34 m

Head or tail windMedian error along the leg · worse of the two

10 kt8 m
20 kt12 m
25 kt20 m
30 kt16 m
35 kt15 m
Inside 50 m Beyond 50 m All three charts share one scale, to 85 m One flight per cell — too few for rates The 30 and 35 kt head/tail cells are the airborne replacements
Only one of these three charts has a trend in it. A crosswind from the left costs about 3 m of median error per knot, all the way to 35 kt, and is the only condition in the whole steady-wind series to leave the 50 m band. A crosswind from the right, at the same speeds, flattens out at about 30 m and stops getting worse — the asymmetry is repeatable across five speeds and it is not explained. Head and tail wind barely register: 7–20 m at every speed. The medians are the kind part. In crosswind the 90th percentile runs 158 to 947 m against 15–20 m in calm, and the gentlest crosswind cell of all — 10 kt, a 15 m median — still spent 34% of the leg more than 100 m out of position. The typical minute is fine; the bad minutes are very bad. Where those minutes happen is the next section.

The wind itself was never the problem

Worth saying plainly, because it rules out the obvious explanation: the system worked out what the wind was doing, and did it just as well in a gale as in a breeze. Every steady wind was learned to within 1–7 kt, and 35 kt no worse than 10 kt — in fact the three closest estimates in the series are all at 25 kt and above. There is one consistent bias: a headwind was persistently read about 7 kt too weak at 10–25 kt. In calm air it invented a wind of 3–4 kt that was not there.

So the degradation in a crosswind is not a failure to understand the wind. It is a consequence of what the aeroplane has to do about it.

WHYwhat makes it worse

Three things degrade it, and two stop it

These are the challenges the campaign actually ran into, in the order of what they cost. The first accounts for most of the wind result above.

Degrades — the aeroplane points the wrong way

To hold a course in a crosswind an aeroplane does not fly down the course. It points into the wind and crabs along it — about 6° off in a 10 kt crosswind, about 23° off in 35 kt at this speed — and whatever it is looking through points with it, while the reference it compares against was captured looking along the course. The cost is measurable and steep: 14.1% of two-second intervals carry a fix at 0–4° of crab, 5.0% at 12–16°, and 2.0% at 20–24°. Fixes are about seven times rarer in a strong crosswind, and the loss of accuracy follows from the scarcity itself. This is the clearest single lever on the page, and it is a property of the reference material rather than of the aircraft.

Degrades — ground with nothing to tell apart

The last 174 km of the route, Melaka down to Senai, is plantation — the same crop, planted the same way, for an hour and a half. It is the longest leg and it has the lowest fix rate on the route, 5.8% of intervals against 9.3–15.7% on the six legs before it, so an error has both the least correction and the longest run in which to grow. Across the 20 wind flights the typical error per 50 km stays between 4 and 26 m for the first 300 km, then climbs to 68 m, 226 m and 394 m over the final three stretches, with the worst single flight at 1,478 m. Terrain alone is not the fault: in calm or 8 kt no part of this route exceeds 15 m. It takes sparse fixes and wind together. Nor is it the crosswind alone: the three gentlest wind flights — a head or tail wind at 10–20 kt — finish the leg at 10–11 m, and every other wind flight finishes it between 113 m and 1,478 m out, whichever direction the wind came from.

Degrades, then recovers — a bad departure

The departure runway lies across the route's head and tail wind directions, so the flights with the gentlest conditions en route had the worst conditions getting airborne. With 20–35 kt straight across the runway, fixes taken on departure fell from 59–102 to 4–25, and the aircraft set off 42 to 350 m out of position instead of 1 to 11 m. In the worst case it read its own compass error as +3.21° when the truth was −2.52° and carried that 5.7° mistake into the flight. This one has a good ending: every flight that got airborne corrected a bad departure within the first legs. A bad start is survivable. Three hours of crosswind is what costs you.

Hard limit — about 7,000 ft

Not a degradation — a floor falling away. At 8,000 ft it is marginal: about a quarter of attempts succeed, the longest gap with no fix at all is 19–20 minutes, and false fixes jump to 4–9 per flight. At 10,000 and 12,000 ft there is not a single fix at cruise. The boundary is sharp, it sits at about 7,000 ft, and descending through it restores everything inside a minute. What stops it up there is not known — the candidates are how much detail survives at that range, haze across the distances involved, and the reference material itself. Nothing in this campaign separates them, so the page does not pretend to.

Hard limit — gusty wind, and it fails on the ground

Steady 35 kt never lost its position. Gusty 25 kt lost it three times out of three — at 2,000, 6,000 and 12,000 ft, so height had nothing to do with it. And it is not an en-route failure: all three took nothing at all from their departure and left it 10.0 km out of position. Three hours later they had managed 0 or 1 successful fix out of 952–979 attempts, because the aircraft was looking for itself somewhere it was not, and they arrived 25–27 km from the airfield and flew 17 or 18 search legs without finding it. The same wind stopped five other flights before they flew at all: in 25–35 kt across the departure runway, five takeoffs failed outright. Gusts are the limit of this system as it stands, and the limit is on the ground, not in the air.

The pattern across all five is the argument for measuring an envelope instead of demonstrating a capability: not one of them was predictable from the headline figure. A 4 m median at 2,000 ft in calm air tells you nothing about 23° of crab, an hour and a half of plantation, or a gusty departure — and the cheapest of those to fix is cheap only because the campaign went and found it.

Two more, from an earlier campaign

Everything above was flown in one afternoon's light at 40 km visibility, so it says nothing at all about what the sky does to this system. These two findings do, and they are the only measurements of it. They come from earlier flights on different routes — the flights behind the 11–52 m figure the approach campaign rests on. Their records are not in the campaign data beside this page, so unlike every other number here they cannot be re-derived from it. They are reported as found, and the second is the clearest case of the failure the next section is about.

Degrades — low sun

At sunset and at daybreak the aircraft could place itself less than half as often. It entered the cruise 650–700 m out of position and still found the runway, but only after going around once. The cause is mundane and fixable, and it is the same kind of cause as the crosswind one above: the reference imagery was captured at midday, so the shadows do not match.

Hard limit — broken cloud

Broken cloud in the late afternoon defeated navigation outright. With too little ground in view the aircraft never established where it was, and the two flights ended 5.9 km and 45–49 km from where it believed it was. Both were stopped and reported as failures. A 25 kt wind was present in the same runs, so cloud is not isolated as the sole cause — and 45 km is three times worse than anything the gusty flights on this page managed.

INTself-knowledge

It is wrong about how lost it is — in both directions

The aircraft publishes its own uncertainty: how far out it believes it might be. That is the number an operator would actually act on, so it is worth checking against the error that was really there. It is wrong nearly everywhere, and the direction it is wrong in flips exactly where that matters most.

What it said, against what was true — en-route medians
ConditionFlightsUncertainty it statedError it actually hadReal ÷ stated
2,000 ft, calm or 8 kt231–32 m4–6 m0.11–0.15
6,000 ft, calm or 8 kt230 m18–19 m0.57–0.60
8,000 ft, calm or 8 kt2133–137 m98–104 m0.57–0.72
10,000–12,000 ft45.7–7.2 km0.9–1.4 km0.14–0.19
Head or tail wind, 10–35 kt1032–47 m7–20 m0.12–0.33
Crosswind, 20–35 kt892–699 m27–85 m0.08–0.15
Gusty 25 kt37.3–16.8 km13.4–14.6 km0.67–1.37

A ratio well under 1 means the aircraft overstates how lost it is. Above 1 means it understates it. Only the last row goes above 1 — and its 90th percentile reaches 10.5.

Almost everywhere, it is too pessimistic, by a lot. With no fixes at all its stated uncertainty reached 20–24 km by the end of the cruise against a real error of 2.9–4.5 km: six to eight times too large. In a crosswind it inflated to 300–700 m while the real error sat at 30–85 m.

Overstating your own error sounds like the safe way to be wrong. It is not free. The region the aircraft is prepared to believe it might be in grows with that number, and a larger region contains more places that look like the right one — which is where a false fix comes from. Being too pessimistic about where you are is one of the ways you end up confidently somewhere else.

And in gusts it flips. In those three flights the real error ran up to ten times the uncertainty the aircraft stated. They are the flights that ended 14 km out. The aircraft was far more lost than it had any idea, and that is the one failure mode here that cannot be managed around, because nothing downstream ever gets a warning.

The broken-cloud flights above are the same failure, further along. Those two ended 5.9 and 45–49 km out with their own confidence estimate reading kilometres, and kept flying the plan regardless. A navigation system that cannot declare its own loss of integrity is not a candidate for anything, whatever its median error is.

The approach campaign reaches the same place from the other side: all 13 go-arounds in its airframe tour reported a cause that was not the cause. Making this system state its own integrity honestly sits ahead of accuracy work in both halves of the programme, and it is the same item on both pages.

SCOREhow it is counted

How these numbers are counted

The figures above are worth what the counting behind them is worth.

  • Every flight is reported. 38 attempted, 33 got airborne, 21 landed, and the 5 that never flew are named as failures rather than dropped. Nothing was re-flown for a better result.
  • The five replacements are declared. Each failed departure was re-flown starting already airborne and already in position, which makes its en-route data usable and its departure incomparable. Both facts are stated wherever those flights appear.
  • One flight per cell. That supports the size and direction of an effect, not a rate. Neighbouring cells differing by tens of metres sit inside the noise — one 10 kt crosswind flight finished the route worse than the 20 kt flight beside it, and that is chance, not a finding.
  • One route, one airframe, one random draw, one time of day. Cruise height and wind are the only things that differ between flights. That is what makes them comparable and it is also the largest caveat on the page.
  • Error is distance from simulator truth, sampled every two seconds. The en-route figures cover the en-route phase only — departure, the arrival search and the approach are excluded except where named. Medians and 90th percentiles are over samples, not over flights.
  • Fixes are inferred, not logged. No per-fix record exists, so a fix is counted as a two-second interval in which the aircraft's stated uncertainty fell. Two inside one interval count once, which makes every fix rate here a slight under-count.
  • Crab angle is computed, not recorded — from the flight record against the known steady wind. That is exact for the steady cells and would not be for the gusty ones, so the gusty flights are excluded from that analysis and from no other.
  • The high cells are reported as failures. They were flown to find the boundary, and a boundary is only a result if the far side of it is published too.
SCOPEwhat this is not

What this is not

Flight status
Simulation only. Nothing here has flown on an aircraft. A commercial flight simulator over photographic satellite imagery of real terrain, with modelled wind and turbulence.
Not yet a camera
The system receives the simulator's out-the-window view, not a real camera feed. Lens, exposure, vibration and motion blur are all still ahead, and every one of them bears on what this campaign measures.
Generous visibility
Every figure above was flown at 40 km visibility, in the afternoon. The same route flown once in the earlier baseline weather — 15 km visibility — had an en-route median of 49 m against the 6 m here. It still handed over at 1 m, but the leg figures on this page are clear-air figures.
Known optimism
The reference imagery and the imagery flown come from the same source, which makes recognising places easier than reality will. The 7,000 ft boundary in particular may sit somewhere else once that is not true.
One route, one afternoon
Ipoh to Senai, 495 km in 7 legs over Peninsular Malaysia, the same route every time. The final leg's plantation country weighs heavily in the end-of-route figures. A different route flown once at the same height gave an en-route median of 110 m and handed over at 61 m — worse than anything here, on one flight. Other terrain, other light or another season could move every boundary on this page.
It ran on the desktop
Unlike the approach campaign, these flights were flown with the system on the machine running the simulation, not on the embedded module. It is light enough to sit alongside what the module already does, but that has not been demonstrated here.
Sample size
38 flights, one per cell. Enough to place a boundary and size an effect. Not enough to quote a rate, and not enough to separate a 15 m difference from chance.
Position truth
Error is measured against simulator truth, not a surveyed ground reference.
A different measure from the approach page
The leg figures here are error along the route. The 11–52 m on the approach page is error where the approach began, on two earlier and shorter routes. The comparable number from this campaign is the handover row in the first table — 3 to 46 m — and the two are not merged anywhere.
Two findings are not from this campaign
The low sun and broken cloud limits come from earlier flights on different routes, and are labelled as such where they appear. Their records are not in the data beside this page, so they are the only figures here that cannot be re-derived from it. Everything else can, and is checked automatically.
One unexplained flight
One 10,000 ft flight found no fix on its descent when the other three high flights did, and never found the airfield. The record does not show why, and nothing here assumes a cause.
Provenance
Personal project, personal hardware, personal time. Public imagery and published airport data. No employer data, systems or material.

Method, architecture and implementation are deliberately not described on this page. What went wrong, and what it cost, is.

NEXTwhat is next

What this campaign says to do next

Five items, in the order of what they would buy. Each is stated with the measurement that would show it worked, before the result is known, so the result cannot be chosen after the fact.

Settled — cruise at or below 6,000 ft

This one the campaign has already answered. 6,000 ft produced more fixes than any other height tested, 2,000 ft included, at about 20 m of error. Above about 7,000 ft there is nothing to be had until the descent. Until something changes that is the ceiling, and it is a planning constraint rather than a defect.

Open — what stops it above 7,000 ft

Hypothesis: not chosen. Three candidates — how much detail survives at that range, haze across the distances involved, and the reference material itself — and this campaign separates none of them. Naming a favourite before testing is the easiest mistake available here. Measure of success: a fix at cruise height at 8,000 ft, where today a quarter of attempts succeed and 4–9 per flight succeed wrongly.

Open — the crosswind loss

The crab finding is the clearest lever here: fixes seven times rarer at 23° of crab than at 0°, with the cause in the reference material. Measure of success: the crosswind-from-the-left column at 30 and 35 kt back inside the 50 m band on the same route, with the fix rate at 20–24° of crab reported beside it.

Open — integrity, ahead of accuracy

The stated uncertainty is six to eight times too large when there are no fixes and up to ten times too small in gusts. The second is the one that matters: it is how a flight ends up 14 km out with nothing downstream being warned. Same outstanding item as on the approach page, and it ranks above further accuracy work in both. Measure of success: a gusty flight that declares its own loss of integrity and stops, instead of flying the plan to the end.

Open — a second route, and repeats

One route, one seed, one time of day, one visibility. The findings most exposed to that are the final leg's error build-up, the 49 m median in reduced visibility, and the asymmetry between a crosswind from the left and one from the right, which repeats across five speeds and has no explanation. Measure of success: all three re-measured on a second route and a second seed, reported whether or not they repeat.

The work is continuing, so these figures will move. Nothing already published is removed when a better number arrives — it is kept beside it.