FA-55959 / Astronomical coordinate conventions / Member archive
Fits split time reference: FITS TIMEZERO is added after rather than before time-unit conversion · case 04
The adapter reports an incorrect elapsed seconds while other fields remain valid.
Case contract
A FITS-like time coordinate stores integer reference day d0, fractional reference f0, tick x in units u seconds, TIMEZERO z in the same units, and day length S. Output day is d0+f0+(x+z)*u/S; no calendar, leap-second, or time-scale conversion is inferred. Output fields are defined by: absolute_day = d['d0']+d['f0']+(d['x']+d['z'])*d['u']/d['S']; elapsed_seconds = (d['x']+d['z'])*d['u']; reference_seconds = d['f0']*d['S']; zero_day_offset = d['z']*d['u']/d['S']; relative_day = (d['x']+d['z'])*d['u']/d['S']; inverse_tick = ((d['x']-d['d0']-d['f0'])*d['S'])/d['u']-d['z']
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 | {"absolute_day": 50000.79, "elapsed_seconds": 50, "inverse_tick": -2498866.5, "reference_seconds": 25.0, "relative_day": 0.54, "zero_day_offset": 0.08} | {"absolute_day": 50000.79, "elapsed_seconds": 54, "inverse_tick": -2498866.5, "reference_seconds": 25.0, "relative_day": 0.54, "zero_day_offset": 0.08} | 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 ↗