Open research, August 2026
An open ontology for space object catalogues, tested against CelesTrak and the General Catalog of Artificial Space Objects
Every collision warning, every reentry prediction and every attribution of an object to a state rests on a catalogue entry being about a real thing. Two catalogues of objects in Earth orbit are open and free to download. On 18 August 2026 we took both, reconciled them object by object, and measured what happens where they meet. The answer is not that either is careless. Their identifier hygiene is better than any register we have previously measured. The answer is that a catalogue can be perfectly self-consistent and still be wrong about whether a thing exists, and that only one of the two has any way to say so.
The short version
- GCAT marks 22 entries as corresponding to no real object, with reasons in its own words including Radar error, Cataloging error, Spurious debris? and Delta 150 duplicate. CelesTrak carries all 22.
- One of them, catalog number 11006, has no decay date in CelesTrak and therefore counts as a tracked object still in orbit.
- 1,094 objects GCAT records as no longer tracked carry no data status code in CelesTrak. This is not a missing field: CelesTrak maintains it and applies it to 1,292 other objects.
- 261 objects on which the two catalogues genuinely disagree about whether the object still exists in orbit, spread across every decade from the 1960s to the 2020s, so update lag does not explain them.
- 20,198 of 34,814 on-orbit objects, 58.0 per cent, have no published radar cross section, and 618 have no orbital period at all.
- 605 objects GCAT tracks have no NORAD number at all, 334 of them still in orbit, 538 launched since 2020.
- All 70,292 COSPAR designators are well formed, with no collisions. We expected malformation and found none.
- The artefact is an open OWL 2 ontology, a SKOS scheme registry and three SHACL layers, one shape per defect class, code MIT, ontology and documentation CC BY 4.0.
Credit where the work already exists
This study is only possible because Jonathan McDowell has maintained the General Catalog of Artificial Space Objects for decades and records things no other public catalogue records. The status value for an entry that corresponds to no object is his. The status value for an object presumed in orbit but no longer tracked is his. The phase model, in which an entry describes a period in an object's flight history rather than the object itself, is his. Several of the findings below exist only because he wrote them down. What follows does not replace that work. It makes the disagreements between catalogues machine-checkable, and it reports three candidate defects back to GCAT rather than publishing them as somebody else's problem.
What we measured
Two catalogue surfaces, both keyless, both pinned to snapshots of 18 August 2026. The CelesTrak SATCAT carries 70,292 objects with the NORAD catalog number, the COSPAR international designator, owner, launch and decay dates, orbital elements, radar cross section, and CelesTrak's own codes for operational status and data status. GCAT is not one file but four, and the distinction matters: satcat carries 69,999 phases across 69,391 numbered objects, with auxcat, ftocat and satcat100k holding objects the standard catalogue does not. GCAT is licensed CC BY 4.0. CelesTrak states no licence on the site, so the pipeline and the regenerable graph are published and the data is not.
The two join on the NORAD catalog number and on the COSPAR designator. 69,390 objects are in both.
Finding one: the entries that are not objects
GCAT defines a status value, ERR, whose published meaning is "no object corresponding to this entry (tracking or cataloging errors)". It applies to 22 entries. Every one of those 22 is also carried by CelesTrak. GCAT gives its reasons in the entry names themselves: catalog number 9633 is Cataloging error, 10909 and 10910 are both Radar error, 7965 is Spurious debris?, 4925 is Explorer XXVI dup?, and 11006 is Delta 150 duplicate.
Twenty-one of the 22 carry a decay date in CelesTrak, so they are at least recorded as gone. One does not. Catalog number 11006, which GCAT identifies as a duplicate of another Delta rocket body, appears in the CelesTrak SATCAT with no decay date. An entry that the leading independent catalogue says corresponds to no physical object is carried, today, as a tracked object still in orbit.
This is the argument for cross-catalogue assurance in a single case. Neither the NORAD catalog number nor the COSPAR designator can express nonexistence. There is no field in the identifier, and no check inside one catalogue, that distinguishes an erroneous entry from a real object. Only another catalogue, maintained independently, can tell you.
Finding two: 1,094 objects nobody is tracking, presented as though they were
GCAT has a second status, OX, meaning in orbit but lost, defined as the same as in orbit but with no recent tracking data. It applies to 1,135 objects. Of those, 1,104 have no decay date in CelesTrak, and 1,094 of them carry no CelesTrak data status code at all.
The important part is what makes this a finding rather than a difference in scope. CelesTrak does have a field for exactly this. Its data status code takes the values No Current Elements, No Initial Elements and No Elements Available, and CelesTrak applies it to 1,292 objects: 1,041 as no elements available and 251 as no initial elements. Ten of the GCAT-lost objects are flagged. The other 1,094 are not, and appear in the register as ordinary on-orbit objects. 1,097 of them also carry a blank operational status.
The operational consequence is that anyone counting the on-orbit population from the open catalogue, or screening it for conjunction risk, is including more than a thousand objects whose position is a propagation from data that stopped arriving at an unstated time in the past, with nothing in the record to say so.
Finding three: 58 per cent of tracked objects have no size in the public record
Of the 34,814 objects CelesTrak carries with no decay date, 20,198 have no published radar cross section. That is 58.0 per cent. A further 618 have no orbital period at all. Nothing about size, mass or construction can be derived from the open catalogue for those objects.
Two smaller gaps sit alongside it, and they are open identifications rather than clerical omissions. 180 on-orbit objects have an owner recorded as TBD, and 53 have an object type of UNK. The catalogue is stating, correctly and usefully, that it does not know whose these are or what they are.
Finding four: attribution does not survive the crossing
Only 29,268 of the 69,390 shared objects, 42.2 per cent, carry an identical owner string in both catalogues. Most of that gap is vocabulary rather than disagreement, because the two use different code sets and neither publishes a crosswalk to the other: CelesTrak writes PRC where GCAT writes CN for 8,917 objects, FR against F for 1,438, JPN against J for 903, IND against IN for 763.
One difference is not vocabulary. CelesTrak uses a single owner code, CIS, for 25,158 objects that GCAT divides into 16,142 attributed to the Soviet Union and 9,016 attributed to the Russian Federation. The distinction between a Soviet-era object and a Russian one cannot be recovered from CelesTrak at all, at any level of care, because the register does not carry it.
A second difference is a genuine disagreement about a fact with legal weight. 157 objects are attributed to the United States by CelesTrak and to New Zealand by GCAT. That is the difference between the state of the operator and the state from whose territory the launch occurred, and under the Registration Convention it is the question that determines which state carries liability.
Finding five: what we got wrong, and how we found out
The first version of this measurement reported 932 objects on which the catalogues disagree about disposition. The true figure is 261. We publish the error because the cause generalises.
GCAT entries are phases in an object's flight history, not the object itself, and the status code describes the event that ends the phase. Our first classification treated the reentry codes as meaning the object was gone and everything else as meaning it was still in orbit. That was wrong twice. E for exploded and C for collided destroy the object and were being counted as still in orbit. More seriously, codes such as docked, attached, transferred and grappled end a phase because the object joined another object, so GCAT is making no claim about current disposition at all, and 998 such objects were being scored as disagreements. Gemini 8 is the clearest case: GCAT ends the phase at docking with the Agena, CelesTrak records the landing, and the two records are consistent with each other.
The measurement pipeline computes every headline two independent ways and fails its own build if the two disagree. It passed on all of the wrong numbers, because both paths consumed the same misreading of the source vocabulary. Agreement between two implementations of the same misunderstanding is not verification. What caught it was reading the publishers' own field documentation, and decomposing every unexplained residue until nothing was left unaccounted for. Both are now standing steps, and the corrected figures above are what survived them.
What the registers get right
We expected to find malformed identifiers, because we have found them in every public register we have previously measured. There are none. All 70,292 COSPAR international designators in the CelesTrak SATCAT match the declared pattern of launch year, launch number and piece letter. No designator is shared across catalog numbers. No catalog number is duplicated. The identifier hygiene is complete, and it deserves saying as plainly as a defect would have been.
The structural weakness is elsewhere and it is nobody's error. The NORAD catalog number is a sequential integer with no check digit, so a single transcription error produces another syntactically valid catalog number and cannot be detected within the scheme. We found three catalog numbers asserted for two different objects inside GCAT, and they were detectable only because GCAT maintains its own independent identifier alongside the NORAD number. In two of the three cases the asserted number differs from GCAT's own identifier in exactly one digit. Those three are reported to GCAT as defects in GCAT.
The general lesson is an argument for redundant identifiers rather than a criticism of either catalogue. An identifier that cannot check itself needs a second, independently assigned identifier beside it, or errors in it are permanent and invisible.
The method, and why it transfers
The modelling decision that makes all of this expressible is that identity and disposition are not properties of a space object. They are dated claims made by a named catalogue. An object does not have a status; a catalogue asserted a status about it on a date. Once that is the shape of the data, two catalogues disagreeing is an ordinary fact that can be recorded, queried and counted, rather than an inconsistency that has to be resolved away before the data can be loaded.
Each identifier scheme declares its own conformance rule as data rather than in code, so the pipeline validates against the published rule. There are three SHACL layers, structural, scheme conformance and cross-source, with one shape per defect class, which means the validation report is the findings table rather than a separate artefact that can drift from it. The whole thing is 2,367,485 triples, regenerable from public sources in about eight seconds.
This is the twelfth register we have measured this way. The substrate changes and the failure does not: registers are careful about their own contents and nobody owns the boundary between them.
What we have not done
Two further catalogues exist and are gated behind free accounts rather than closed: the European Space Agency's DISCOS and the United States Space Force's Space-Track. A four-way reconciliation is the obvious next version and would settle several of the disagreements above by majority rather than by pairwise comparison. We have also not established whether CelesTrak's data model has a legitimate reason to retain the 216 entries that GCAT records as destroyed, and we would rather be told than assume.
Both catalogues change daily. Every figure here is a claim about two snapshots taken on 18 August 2026, which is exactly why the model dates every assertion instead of storing status as a property of an object.
Working with us
If you operate or depend on a space object catalogue, or on any register whose identifiers other people embed, we run a scoped diagnostic of one register boundary as a one-week engagement: harvest, conformance census, cross-source reconciliation, and a findings ledger your engineers can reproduce. The public version of this study took a day against two open sources. The private version is the same method applied to the catalogues and entity systems inside your organisation that disagree with each other in ways nobody has measured.
Write to fabio@thetesseractacademy.com with the catalogue name.
Related work: the same register-boundary discipline found every FDIC LEI truncated in the US bank register, dangling company numbers in the UK public registers, and the category all of them belong to is set out in Register assurance: why every public register fails at its boundary. On space specifically, the space environment metrics crosswalk measures the same problem one layer up, between debris models rather than between catalogues.
