Conventions¶
Units¶
All physical quantities use SI base units (m, kg, s, A, K, …) unless explicitly stated otherwise in a function’s docstring. Notable exceptions that are called out everywhere they appear:
Angles — radians throughout the library; degrees appear only in user-facing constructors (e.g.
GroundStation(lat, lon)accepts degrees).Orbital elements — semi-major axis in metres, angles in radians.
Antenna gain — dBi; power levels — dBW.
Coordinate frames¶
ECI (Earth-Centred Inertial, J2000/GCRS): the default frame for positions and velocities. The x-axis points toward the vernal equinox, z toward the celestial north pole.
ECEF (Earth-Centred Earth-Fixed, WGS84): rotates with the Earth. Used for ground-station positions.
LVLH (Local Vertical Local Horizontal): body-frame reference aligned with the orbital plane. x = along-track, y = cross-track, z = nadir.
Array conventions¶
Position / velocity arrays are shaped
(N, 3)for a time series or(3,)for a single epoch. Scalar detection uses.ndim == 1.Times are
numpy.datetime64[us]throughout.
Attitude¶
Quaternions are stored as
[w, x, y, z](scalar-first).The spacecraft boresight is the body-z axis.
Nadir mode: body-z points nadir (−R̂), body-x along-track (Ŝ).