ASTERIX Category 021: ADS-B target reports, in and out
Category 021 is what an ADS-B ground station emits after it has received, decoded, validated and quality assessed cooperative broadcasts. SynapseCommand publishes a bidirectional Category 021 adapter that turns each record into canonical objects and re-emits data blocks from them.
What CAT021 is
A Category 021 data block carries one or more target reports. Each report describes one aircraft as the ground station understood it: an identity, a decoded position, a set of times, and the station's own assessment of how good the data is.
The category is the downstream sibling of the raw 1090ES broadcast. The ground station has already performed compact position reporting decoding, merged several message types into one report and added quality indicators, so three of the hard problems in raw ADS-B are gone before the format is read.
In their place the category introduces its own difficulties: seven separate time items, none carrying a calendar date, and a quality vocabulary whose meaning depends on an optional item that names the standard version in use.
Why this matters to a commander
Cooperative air traffic is the background against which uncooperative air traffic is recognised. An air picture that cannot ingest ADS-B derived reports has to treat every civil airliner as an unknown.
Counter-uncrewed-aircraft work depends on the same distinction. Being able to subtract what has identified itself is the first step in isolating what has not.
Ground station quality indicators matter to a commander because they say how much of the picture is measurement and how much is assessment. Carrying them through unaltered is the difference between a decision made on data and a decision made on a summary of data.
The exact behaviour, not a capability claim
Ingest takes one data block and produces one Entity and one Event per record. Every item the canonical model has no field for is parked in the object's attributes rather than dropped, and the coverage document records where each one lands.
Every Category 021 time is elapsed time since the previous midnight, with no date anywhere in the payload. The date therefore comes from the injected clock, and the instant chosen is the one bearing the stated time of day nearest the receipt instant, considering the receipt date, the day before and the day after. That single rule handles midnight rollover in both directions without a special case, and the basis is recorded on the object rather than left implicit.
A time value at or beyond 86,400 seconds is refused rather than reduced modulo a day. The field can express a time of day that does not exist, and quietly wrapping it would move a contact by hours while every other check still passed.
The quality indicator whose quantity depends on the optional version item is carried with its ambiguity intact. The adapter does not guess which quantity was meant.
The station's own judgements, including range checks, position validation and black list results, are carried and never re-decided.
Egress emits one data block. A Track becomes one block of several records, which is the shape this format has for a history and the shape a raw 1090ES stream does not have.
- 01Direction inASTERIX Category 021 data block, or the parsed dictionary equivalent, to canonical Entity and Event per record.
- 02Direction outCanonical Entity or Track to one Category 021 data block.
- 03Time handlingDate supplied by the injected clock, nearest-instant resolution, rollover in both directions, basis recorded.
- 04Integrity gateStructural. Length, record tiling, defined field reference numbers, terminating variable items.
- 05IdentityThe 24-bit ICAO address is filed under a family-wide namespace shared with the ADS-B and Category 048 adapters, so the same airframe derives the same identifier without the adapters coordinating.
Which way the data actually moves
Into the canonical model
- CAT021 data blockOne or more target reports from a ground station.
- Entity and EventOne pair per record, with the reference date decision recorded.
Out of the canonical model
- Entity or TrackCanonical objects for re-emission.
- CAT021 data blockOne block; a Track becomes several records.
Where this data is used
Air picture ingest
Reports become canonical objects that the ISR Fusion Agent correlates with other sources. The adapter itself performs no correlation, so nothing is joined outside the audited path.
Airspace deconfliction inputs
Cooperative traffic carried through with its quality indicators lets the Air Tasking Agent reason about airspace use with the source's own confidence attached rather than a flattened version of it.
Round trip verification
An integration authority can take a shipped fixture, translate it in, translate it back out and compare, using the published harness rather than taking a supplier's word for the mapping.
Every claim above has a file behind it
These paths are in the public repository, published under Apache 2.0. The adapter module for this page is asterix_cat021.
Source and fixtures
- Adapter sourcepackages/cdm/synapse_cdm/adapters/asterix_cat021.py
Ingest and egress, with the reference date rule documented at the site of the decision.
- Fixturespackages/cdm/synapse_cdm/fixtures/cat021/
Raw payloads, parsed twins and golden canonical output, including a midnight rollover case.
- Field by field coverageFORMAT_COVERAGE.md
The Category 021 row set, written and reviewed before the adapter existed.
Test evidence
- Harness testtests/test_cdm_asterix_cat021_adapter.py
Replayed by the validation harness shipped in the same package, which runs six checks per fixture including a never-drop lossless check.
- Lossless checktests/test_cdm_lossless.py
Asserts that no leaf value present in a payload disappears in translation without a declared reason.
Manifest-backed assurance
Maturity is declared in each generated adapter manifest and checked against suite eligibility. VERIFIED is a separate claim-status axis. Neither means external certification or integration with a named system.
asterix_cat021Maturity L4Claim VERIFIED
What these maturity levels mean
L3 means required provenance survives translation. L4 adds applicable roundtrip evidence. L5 would require every applicable public conformance gate to pass. L6 requires an independent real implementation or system and cannot be awarded from this repository's synthetic fixtures.
What is claimed, and what is not
The published adapter implements both translation directions: the format into the canonical data model, and the canonical data model back out to the format. Both directions are replayed by the validation harness against shipped fixtures.
Last reviewed against the published implementation on 2026-09-06.
Limitations
- This is one ASTERIX category. Nothing on this page implies support for any other category.
- The adapter is implemented against one pinned edition of the Category 021 specification. Differences in other editions are a data change to the coverage document rather than an implicit behaviour.
- There is no transport. A payload arrives as bytes or as an already parsed dictionary; framing a network stream is the caller's job.
- No cross-payload state exists, so nothing is inferred from a previously seen record.
Security boundary
- Only the translation contract is published. No credentials, endpoints or deployment topology appear in the repository or on this page.
- The adapter never reads the system wall clock, which is what makes archived payloads replay identically.
Public sources
Statements about what SynapseCommand® implements are drawn from the published repository rather than from these external sources.
Frequently asked
- Is Category 021 support bidirectional?
- Yes. The published adapter implements both to_cdm and from_cdm, and the harness exercises the egress path on the output of the ingest path for every shipped fixture.
- How is the missing date handled?
- Every Category 021 time is a time of day with no date. The adapter takes the date from an injected clock and selects the instant bearing that time of day nearest the receipt instant, considering the previous and following day. The decision is recorded on the object.
- Does the adapter re-decide the ground station's quality assessment?
- No. Range checks, position validation and similar station judgements are carried through as they arrived. Re-deciding them would substitute a translator's opinion for a sensor operator's.
Where to go next
Related use cases
Related C2 environments
Command environments in the compatibility catalogue whose published characteristics reference this standard. Each page states the current SynapseCommand integration status for that system.