FA-56305 / Astronomical coordinate conventions / Member archive
Spectral reference frame chain: LSR-to-topocentric inversion removes only one stage of the frame chain · case 05
The adapter reports an incorrect recover topocentric while other fields remain valid.
Case contract
A finite spectral frame adapter supplies topocentric frequency f and additive shifts a=topocentric-to-barycentric, b=barycentric-to-LSR, and g=geocentric-to-barycentric. These are stipulated precomputed coordinate shifts in common units, not physical velocity or Doppler formulas. Provenance booleans mark shifts already applied. Output fields are defined by: lsr_frequency = d['f']+d['a']+d['b']; geocentric_frequency = d['f']+d['a']-d['g']; apply_barycentric = d['f'] if d['bary_done'] else d['f']+d['a']; apply_lsr = d['f'] if d['lsr_done'] else d['f']+d['b']; recover_topocentric = d['f']-d['a']-d['b']; lsr_from_geocenter = d['f']+d['g']+d['b']
Why this case matters
Catalog, detector, sky-coordinate, and spectroscopy adapters must preserve the association between numeric coordinates and their declared reference conventions.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| astronomical fixture 0 | {"apply_barycentric": 108, "apply_lsr": 111, "geocentric_frequency": 106, "lsr_frequency": 115, "lsr_from_geocenter": 113, "recover_topocentric": 100} | {"apply_barycentric": 108, "apply_lsr": 111, "geocentric_frequency": 106, "lsr_frequency": 115, "lsr_from_geocenter": 113, "recover_topocentric": 93} | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗