File formats
CCSDS messages
TDM, OEM and AEM in their KVN text form: what LightCurve reads and writes.
| Message | Standard | Read | Written |
|---|---|---|---|
| TDM — Tracking Data Message | CCSDS 503.0-B-2 | Measured mode: angles, range, magnitude | Simulated observations (24-hour curve or measured instants) |
| OEM — Orbit Ephemeris Message | CCSDS 502.0-B-3 | Orbit mode: positions and velocities | The current orbit over ±12 h, 60 s step |
| AEM — Attitude Ephemeris Message | CCSDS 504.0-B-2 | Attitude law: quaternions | The current attitude over ±1 h, 10 s step |
Example files are in scripts/examples/: geo-ohp.tdm, iss.oem, rotation.aem.
Read keywords: PARTICIPANT_1 (station), PARTICIPANT_2 (object), ANGLE_TYPE (RADEC or AZEL), REFERENCE_FRAME, RANGE_UNITS (km), and the data records ANGLE_1, ANGLE_2, RANGE, MAG. Each segment becomes a measurement series, split where the records are more than 3 hours apart (another night). The Analysis workspace reads TDM files too; their phase angle is computed from the station position and the range.
CCSDS_TDM_VERS = 2.0META_STARTTIME_SYSTEM = UTCPARTICIPANT_1 = OHPPARTICIPANT_2 = 29055MODE = SEQUENTIALPATH = 2,1ANGLE_TYPE = RADECREFERENCE_FRAME = EME2000RANGE_UNITS = kmMETA_STOPDATA_STARTANGLE_1 = 2026-10-07T21:00:00.000 336.879845ANGLE_2 = 2026-10-07T21:00:00.000 -8.205524RANGE = 2026-10-07T21:00:00.000 37500.000MAG = 2026-10-07T21:00:00.000 11.200DATA_STOPWritten TDM files use RA/Dec EME2000 angles, range in km and the simulated V magnitude.
Data lines epoch x y z vx vy vz (km, km/s); velocities are optional (finite differences otherwise). Segments centred on the Earth are concatenated. The position is interpolated by cubic Hermite polynomials between states; outside the ephemeris it is undefined. While an OEM is loaded it replaces the TLE.
ATTITUDE_TYPE = QUATERNION, QUATERNION_TYPE FIRST or LAST, ATTITUDE_DIR A2B or B2A; one of the two frames must be inertial (EME2000, ICRF, GCRF, TOD…). Quaternions are interpolated spherically and held at the ends.
Frames and time
Section titled “Frames and time”EME2000, ICRF and GCRF are precessed to the equator of date (IAU 1976); TEME, TOD and MOD are used as they are; ITRF and EFG are rotated by the sidereal time. Time is UTC; day-of-year dates (2026-280T21:00:00) are accepted.
Loaded OEM, AEM and TDM files are not kept in the shared link.