The North the Paint Remembers

The number painted on a runway is its compass bearing: runway 27 points roughly 270° magnetic. Magnetic, not true, which means the correct number is not a property of the runway. It is a property of the runway and the date. Earth's field drifts, the paint does not, and every so often an airport closes for a night and repaints its identity. Drag the year below and watch a real runway change its name.

One runway, 1900 to 2030

Every runway here has both thresholds surveyed, so its true bearing is measured geometry, not a number anyone typed in.

painted
the rule

Loading the field model.

2026.6
true bearing
declination
magnetic bearing
drift
Companion film · Right When It Was Painted · 3:00 The film follows one runway, Cork 16/34, from 1960 to 2030, and its whole argument is audible. Pitch is bearing, one semitone to the degree, referred to 220 Hz at 170°. The painted number is a held tone; the field's true magnetic bearing, from the model, is a moving one. A designator is ten degrees wide, so its rounding boundary sits five degrees from the painted bearing, which under that one stated constant is five semitones: a perfect fourth. The moment the interval reaches a fourth is the moment the runway's number becomes wrong. Nothing about that was arranged; it is the rounding rule. Under it the bed is one voice per spherical-harmonic degree of the model, each carrying the power IGRF-14 puts in that degree at the year on the dial, and across the window the dipole's share falls from 96.73 to 92.68 per cent.

Then the part that makes it a measurement rather than a picture. film-facts.mjs hands the finished soundtrack to an instrument that has never seen the schedule, demodulates it at a grid of frequencies and reads Cork's magnetic bearing back out of it: worst error 0.006° against the model over fifteen probe bearings, and the year its number changed comes back at 2009.425 against a modelled 2009.420. The world movement walks one beat a year from 1900 to 2030 with each beat's loudness the agreement rate of every runway on Earth against the field of that year, and the same instrument recovers all 131 beats and reproduces the published curve to 1.75 per cent, its loudest beat landing on 2002, which is the layer's own best-fit year.

Then every one of those is measured again on the shipped MP4, because a reader downloads 192 kbps AAC and a coder is entitled to move a waveform, and one of them does not survive unchanged, which is worth more than a match. Cork's bearing track and the crossing come through untouched (0.0056° and 2009.425), and so do all 131 beats, but the envelope loosens from 1.75 to 3.61 per cent and the loudest beat moves from 2002 to 1995. It has not gone wrong: a coder that moves any beat by a per cent or two can reorder the top of a maximum that flat, and nine beats sit within one per cent of the loudest. That is the layer's own reason for publishing an interval rather than a date, arriving a second time by a different route, and 1995 is inside it. The gate asks for the interval and not the year, and prints both numbers. 133 checks before the render, nine more on the file a reader downloads, five negative controls that must fail on demand, and two mutation controls: one re-synthesises the soundtrack with the dial shifted a year and a half and requires the recovered crossing to move by exactly that, the other flattens the curve and requires the curve check to go red.

Not one digit in any caption was typed: every figure is a placeholder filled from the derivation, and the two quoted sentences are checked against this layer's own transcription. The picture computes the census in the browser from the table above through the engine above, and the gate seeks it to a set of moments and requires the numbers it painted to come back out of the verifier's engine. The closing card prints this film's own variation of record, in the form the FAA prints theirs: a value, and the year it was set.

The field model is IGRF-14, running in your browser from the coefficient table the International Association of Geomagnetism and Aeronomy publish. The runway's true bearing is a geodesic azimuth between its two published threshold coordinates on the WGS-84 ellipsoid. Nothing on this page is a stored answer: move the slider and the arithmetic runs again.

The rule is two sentences long

ICAO Annex 14, the standard almost every country's aerodrome regulations descend from, states it in one clause.

On a single runway, dual parallel runways and triple parallel runways the two-digit number shall be the whole number nearest the one-tenth of the magnetic North when viewed from the direction of approach. ICAO Annex 14 Volume I, 8th edition (2018), paragraph 5.2.2.4

The FAA says the same thing in more words and adds the case ICAO leaves open.

For a magnetic azimuth ending in the number “5” such as 185 degrees, the runway designator marking may be either 18 or 19. FAA AC 150/5340-1M Chg 1, paragraph 2.3

That second quotation is why this page throws away of its runways before scoring anything. A runway whose magnetic bearing sits within half a degree of a multiple of five has no wrong answer to give, so counting it as wrong would be the page lying to make a number bigger. The discarded share comes to , against the 10.0 per cent you would expect if a one-degree window in every ten were being cut, which is a small piece of evidence that the bearings are distributed the way an honest sample should be.

How many runways no longer round to their own number

of runways, at . That is runways whose painted number is not the number the rule returns today. Almost all of them are wrong by exactly one: are off by a single designator, meaning the field has carried the bearing just past a five-degree boundary, and by two or more.

This is not the first time the count has been made, and it should not be presented as though it were. NAV CANADA put the same question to an AIRAC dataset in a 2022 briefing on what a global switch to true-referenced navigation would cost:

25732 World-wide hard surface runways analyzed · 8044 would need to renumbered in MAG · 11316 would be left alone switching to TRUE · 14416 would need to be renumbered in TRUE · 5656 are out of MAG alignment today NAV CANADA, “Magnetic North vs True North: Vision to 2030”, 28 February 2022, slide “2030 World Wide Airport Impact, AIRAC cycle 21-11/2020 epoch”

5,656 of 25,732 is 21.98 per cent, at the 2020 epoch, on hard-surface runways. Restricting this page's sample the same way and winding the model back to 2020 gives of . Two samples that share no data pipeline, one industry and one open, landing apart. Their slide gives a count and no method; this page gives the method and the coefficients, which is the part that was missing rather than the number.

Every runway in the sample. Colour is the disagreement. Land outline: Natural Earth 1:110m, public domain.

The year the world's paint agrees with

A count of today's disagreements is a thin thing. The richer question is which year's magnetic field the world's painted numbers fit best, because the stock of paint was not laid down at any one moment: it accumulated over decades and is repainted piecemeal. Slide the whole model backwards and forwards and score the entire sample at every year, and the agreement rate traces a curve with a peak.

Share of runways whose painted number is what the rule returns, computed against the field of each year. Peak at .

The peak sits at , at agreement, against for the field of today. Every year within one percentage point of the peak lies between and . Read that as what it is: not a claim that runways were repainted in 2002, but a summary statistic. The world's runway numbering is, in aggregate, a photograph of a magnetic field about a quarter of a century old.

Doing the same fit country by country turns the statistic into something closer to a portrait, because the peak year for a national stock of runways is a rough measure of how recently that country's charts were revised. It only means anything where the curve has a sharp peak, which happens where the field has moved fast enough for the rule to discriminate; where declination has barely changed, the fit is flat and says nothing, and those rows are marked.

countryrunwaysbest-fit yearwithin 1 point besttoday
Countries with at least 40 runways in the sample. A wide “within 1 point” interval means the fit is not determined and the year in the previous column should be ignored.

What the regulator's own books say

Everything above compares a painted number against the live field, and a live field is not what a regulator uses. The FAA numbers runways from a magnetic variation of record, a value it assigns to an airport and revises in steps.

When the difference between the MV of record and the nearest future epoch year value of any NAVAID, or the assigned airport MV of record, will exceed three (3.0) degrees [five (5.0) degrees for VORs and VORTACs], the MV of record must be changed to the nearest future epoch year value and applied to airport reference point (ARP) and all on-airport NAVAIDs. FAA Order 8260.19K, paragraph 2-5-3.b

So a runway can be correctly numbered and still disagree with today's field, by up to about three degrees, entirely legally. That distinction is worth more than the headline, and the FAA makes it checkable, because its 28-day NASR subscription publishes for every airport both the variation of record and the year that record was set. Cycle carries of them.

The year each US airport's magnetic variation of record was set. Source: FAA NASR APT_BASE.csv, cycle .

The median is . Not the median of a long tail: airports, more than half the file, carry a magnetic variation stamped 1985 and never revised since. And the records are not sloppy. Compared against IGRF-14 evaluated at the year each record itself names, the median discrepancy is and are within a degree. They were right when they were written. They simply were not written recently.

Measured against the field of today, the median US airport's variation of record is off by , and of airports, which is , are past the three degrees at which the order above says the record must be changed. The median airport sits within a tenth of a degree of the trigger, which is a coincidence of arithmetic rather than of policy, but a striking place for a national stock to have come to rest.

Two lags, in series

With the FAA's own true alignments and its own variations of record, the question splits cleanly, and neither half needs anything of ours except the model.

questionrunway endsagreeshare
US runway ends with a published true alignment, scored twice. Ends whose bearing falls in the ambiguous half-degree are excluded from each column separately.

The paint is behind the paperwork, and the paperwork is behind the field. Updating an airport's variation of record does not repaint anything: the renumbering is a separate, discretionary, expensive act, which is why it tends to happen when a runway is closed for other work anyway.

Six repaintings that actually happened

A census cannot be wrong in a way the world will correct. This part can. Six airports are on record as having repainted their designators because the field moved, and for each one the old number, the new number and roughly the date are published. The model is told none of that. It is given the runway's geometry and asked in which year the rule stops returning the old number.

airportchangerepaintedmodel crossinglead
Positive lead means the crossing came before the repainting.

All six leads are positive, and that is the result rather than a disappointment. A crossing after its repainting would mean the model was broken. Crossings a few years before are exactly what the variation-of-record mechanism above predicts: the number goes stale first, the record is revised on the epoch cycle, and the paint follows when someone can close the runway. The median lead here is years.

One of the six also published a number rather than only a name. When Cork redesignated 17/35 as 16/34 in April 2018, the regulator's account gave the new headings as 164 and 344 degrees magnetic. The model, from the threshold coordinates and IGRF-14 at that date, returns .

Where the rule is not magnetic at all

Near a magnetic pole a compass is useless and the whole scheme fails. Canada files a formal difference against the ICAO paragraph quoted above.

Runways within Canadian Northern Domestic Airspace are designated with reference to the true azimuth because magnetic compasses are unreliable in the area. AIP Canada (ICAO), GEN, Differences from ICAO Standards, effective 9 July 2026

Those runways are marked with a T, so 17T is not a magnetic designator; the source data carries of them and this page refuses to score any of them, which is the exception removing itself.

The more interesting question is whether the rest of the world's numbering really is magnetic, and that can be measured rather than assumed. Where declination is near zero the two rules agree and tell you nothing. Where it is large they diverge, so score every runway under both and watch which rule wins as the fork widens.

declinationrunways where the rules differ magnetic onlytrue onlyneither
The magnetic rule is not an assumption of this page. It is a finding of it.

At small declination the two rules split the runways almost evenly, which is what coincidence looks like. By twenty degrees the magnetic rule wins by more than forty to one. The handful of survivors on the true side at high declination are the polar exception showing through, and they are nameable individually.

airportpainteddeclinationtrue bearing magnetic ruletrue rule
Runways above twenty degrees of declination that match the true-bearing rule and not the magnetic one.

What was thrown away, and why

Of runway records in the source, survive to be measured. The largest cut by far is simply missing coordinates: rows do not publish both thresholds, and without both there is no measured bearing to compare anything to. The rest of the cuts are judgements and are listed so they can be argued with.

cutrowswhy

One of those cuts is worth showing rather than asserting. Some records give the two thresholds a byte-identical latitude, or a byte-identical longitude, which asserts that the strip runs exactly due east-west or exactly due north-south. No survey returns that. Somebody took one end and stepped along a cardinal, and the bearing read back out is their assumption wearing the clothes of a measurement. You can see them: they pile up as a spike at zero in the distribution of true bearing modulo ten degrees.

True bearing modulo 10°, in tenth-degree bins, before (pale) and after (solid) the cut. The spike falls from to in the two bins nearest zero, against a mean bin of .

Which key catches which fault

Five external keys sound like five opinions. They are not, and the way to find out is not to admire them but to spend one: inject a fault on purpose and record which keys go red. Agreement proves nothing, because two instruments that share a blind spot agree loudly. Divergence is the only demonstration of otherness, and it demonstrates it only for the fault injected. Eleven faults, each a slip a careful person could make, two of them slips actually made here.

fault injected
RED means the key noticed. A key counts as noticing when the number it reports rises above what it reports on the clean model by more than that key's own published resolution, so the no-fault row is green by measurement rather than by assumption.

The two keys that look most alike are each other's blind spot. IAGA-12 is stated in geocentric coordinates, so no frame fault can reach it, including the sign error that actually happened here. WMM-100 catches all three of those and is blind to exactly one thing, because it is a degree-12 model and a series truncated at degree 12 leaves it unchanged. Both of those blind spots are legible in advance, off the file header. Which one contains your bug is not.

And the biggest key is the weakest. Thirteen thousand surveyed airports catch of the eleven, because a record published to whole degrees cannot resolve a tenth of a degree however many of them you stack up. Sample size is not sensitivity.

The fault that escaped every key

No fault escaped all five, and that is nearly worthless as evidence, because the eleven are faults this page could imagine and a shared blind spot lives by definition in the complement of that. So the better question is what the five keys have in common. The answer is immediate once asked: every one of them checks the field, and not one checks what the field is used for. Four more faults, injected below the field in the rule rather than the model, are therefore invisible to all five by construction.

fault below the fieldfive field keyssix repaintings Cork, publishedprior count
A different kind of key catches three of them: not another model check, but the two things in this page that test the conclusion instead of the computation.

One escapes everything, and it is this page's own choice. Scoring the ambiguous half-degree as wrong instead of excluding it leaves all five field keys green, leaves all six repaintings landing in the right order, leaves Cork's published bearing where it was, and moves the prior-count comparison from to against NAV CANADA's published 21.98 per cent, which is to say it moves it slightly closer. No key here can arbitrate it.

So the honest headline is a range, not a number. Of the three defensible things to do with runways the FAA declares ambiguous, excluding them gives , counting them as wrong gives , and counting them as right gives . This page chose the first. The spread, percentage points, is the part of the headline that is a convention rather than a measurement, and it is larger than the difference between this page and the published prior count.

And the band has a width

Publishing a range instead of a number converts an invisible choice into a visible one. It does not make the choice checkable, and the obvious next question is where the vulnerability went. It went one level down: the ambiguous band has a width, and the width is now the unstated decision.

half-width of the excluded bandrunways scoreddisagreeheadline
The whole distance between this page and the published prior count can be manufactured by choosing a wide enough band.

Except that the table above is the range this page happened to test, and there is a better answer available, which was pointed out on Bluesky within an hour of the first version of this paragraph. The specification permits a width of zero. The FAA states its ambiguity at a point, an azimuth ending in five, and ICAO states none at all. There is no legal envelope inside which a width may be selected, so the band is not a convention after all. It is an error bar, and an error bar can be got wrong but it cannot be chosen.

Which turns the question from a preference into a measurement, and the measurement is already here, made by the one key in the matrix that catches no field fault at all. Set this page's geodesic azimuths against the regulator's own published true alignments and the two disagree by a median of with a ninetieth percentile of . That is the uncertainty on a runway bearing, it is where the half-degree comes from, and the negative control turns out to pin the one parameter no other key could arbitrate. Where no measurement fixes a parameter, the number resting on it is a convention and should be printed as one; here one does.

One more admission, because the same reader asked the question that earns it: would a two-degree band have occurred to this page without the published prior count sitting there as a target? No. The scan above runs to two degrees because that is where the prior count is recovered, which means the prior was anchoring the range, and a range chosen to contain its answer is not a test. That is worth saying rather than leaving for someone to notice.

What rescues it is the thing that makes the error-bar framing load-bearing rather than decorative: the data refuses two degrees on its own. The disagreement between these azimuths and the regulator's runs at the median, at the ninetieth and at the ninety-ninth percentile. A two-degree band asserts an uncertainty more than twice the worst hundredth that can be measured here, and it can be rejected without knowing anyone else's number. A convention could not have been refused that way, which is the whole difference between the two words.

The check

Everything here rests on being able to say what the declination was at a given place on a given date, and a spherical harmonic synthesis written from a textbook can be confidently and silently wrong. So it is put in front of five keys other people made.

The offline verifier is verify-the-north-the-paint-remembers.mjs at the repository root. It re-runs all five keys, re-derives every number printed above from the committed artefacts, and carries controls that must fail: run it with --mutate and it corrupts its own inputs to prove the checks can go red.

What this does not say