Skip to main content

Crate spacelab

Crate spacelab 

Source
Expand description

Space data computation, assembled.

The other crates know nothing of one another beyond what they must. This one joins them, and its whole job is the single function that was missing: turning a UTC label and a table of Earth-orientation measurements into the transform that carries a satellite’s state onto the ground.

Until it existed, teme_to_itrf took xp, yp and a UT1 epoch that nothing supplied, and the example propagated the ISS with xp = yp = 0 and UT1 = UTC. That is worth up to 0.9 seconds of Earth rotation — four hundred metres at the equator — and a comment saying “real work loads EOP” is not real work.

let series = EopSeries::parse_finals2000a(&std::fs::read_to_string("finals2000A.all")?)?;
let utc = UtcDateTime::new(2026, 7, 10, 12, 0, 0.0)?;

let (transform, quality) = teme_to_itrf_at(utc, EopSource::Series(&series))?;

Re-exports§

pub use spacelab_core as core_types;
pub use spacelab_earth as earth;
pub use spacelab_eop as eop;
pub use spacelab_fa as fa;
pub use spacelab_frames as frames;
pub use spacelab_sgp4 as sgp4;

Structs§

EarthOrientation
Everything the frame chain needs at one instant, drawn from measurement.

Enums§

EarthOrientationError
Why the Earth’s orientation at an instant could not be established.
EarthOrientationQuality
Where the orientation in an EarthOrientation came from.
EopSource
Where earth_orientation_at should get the Earth’s orientation.

Functions§

earth_orientation_at
Establish the Earth’s orientation at a UTC instant, from the source the caller names.
teme_to_itrf_at
The TEME-to-ITRF transform at a UTC instant, built from the Earth orientation source names.
tt_minus_tai_ns
TT − TAI, in nanoseconds. Exposed so a caller can check the chain by hand.