Skip to content

Reference Frames

Reference frame transformations are a fundamental aspect of astrodynamics. Different tasks require working in different reference frames, and accurate transformations between these frames are essential for precise calculations.

Brahe uses the IAU SOFA (Standards of Fundamental Astronomy) C library for reference frame transformations to provide speed, accuracy, and reliability. To learn more about these models, refer to the IERS Conventions (2010).

Reference Frame Types

Inertial Frames (Non-Rotating)

Inertial reference frames are fixed with respect to distant stars and do not rotate. They are ideal for integrating equations of motion as they do not require the addition of fictitious forces.

Inertial reference frames currently supported in Brahe are:

  • GCRF (Geocentric Celestial Reference Frame): The standard modern inertial reference frame for Earth-orbiting satellites, aligned with the International Celestial Reference Frame (ICRF)
  • EME2000 (Earth Mean Equator and Equinox of J2000.0): Classical J2000.0 mean equator and mean equinox inertial frame. Derived from the FK5 catalog and widely used in older systems
  • MOD (Mean Equator and Equinox of Date): Earth mean equator and mean equinox of date, related to the GCRF by frame bias and precession
  • TOD (True Equator and Equinox of Date): Earth true equator and true equinox of date, related to MOD by nutation
  • LCI (Lunar-Centered Inertial): ICRF-aligned, centered on the Moon
  • MCI (Mars-Centered Inertial): ICRF-aligned, centered on the Mars body center (NAIF ID 499)
  • EMBI / SSBI: ICRF-aligned, centered on the Earth-Moon and Solar System barycenters, respectively

Earth-Fixed Frames (Rotating)

Earth-fixed reference frames rotate with the Earth and are ideal for computing positions and motions relative to terrestrial locations and observers.

Earth-fixed reference frames currently supported in Brahe are:

  • ITRF (International Terrestrial Reference Frame): The standard Earth-fixed reference frame maintained by IERS, rotating with the Earth and aligned with geographic coordinates

Lunar, Mars, and Synodic Frames

Brahe also supports Moon- and Mars-fixed frames for multibody propagation and reporting body-fixed ground tracks, and synodic (two-body rotating) frames for cislunar trajectory analysis:

  • LFPA / LFME (Lunar-Fixed Principal Axis / Mean-Earth): Moon-fixed frames, evaluated from the DE440 lunar orientation kernel
  • MCMF (Mars-Centered Mars-Fixed): Mars-fixed frame, evaluated from the IAU/WGCCRE rotation model
  • EMR / SER / GSE (Earth-Moon Rotating / Sun-Earth Rotating / Geocentric Solar Ecliptic): synodic frames that rotate with the line between two primary bodies

See Lunar Reference Frames, Mars Reference Frames, and Synodic Reference Frames for details, and Reference Frame Router for the CelestialFrame router that converts between any two frames (including generic NAIF-ID variants for bodies without a dedicated named frame). Central-body propagation is covered in Cislunar and Lunar Propagation and Propagation Around Other Central Bodies.

Object-based Frames

ReferenceFrame enables defining reference frames for non-celestial objects: orbit-relative frames (RTN, LVLH, ...) defined with respect to a satellite's orbital motion, or spacecraft body/sensor/actuator frames (SC_BODY, CSS_1, ...) defined with respect to a spacecraft's orientation. See Frame Graph for registering objects and orientation chains, and for the generalized rotation_frame_to_frame/position_frame_to_frame/state_frame_to_frame functions that accept either a CelestialFrame or a ReferenceFrame.

Available Transformations

We can visualize the relations between the relevants reference frames and their transformations as follows

Frame transformation chains Frame transformation chains

The CIRS and TIRS frames are intermediate steps in the transformation process and are not directly exposed in Brahe's API. If you need to work with these frames, you can construct them manually using the provided functions for bias-precession-nutation, Earth rotation, and polar motion. Refer directly to the source code for details.

Which Methods Should I Use?

If you always want to use the most accurate and up-to-date reference frame transformations, use the ECI ↔ ECEF functions. These functions will always map to the best available transformations in Brahe.

If you want to make sure your results are reproducible and consistent over time, use the explicit GCRF ↔ ITRF functions. This ensures that your code will always use the same transformation models, even if Brahe introduces improved models in the future.

ECI ↔ ECEF (Common Naming)

Generic "Earth-Centered Inertial" and "Earth-Centered Earth-Fixed" naming convention that currently maps to GCRF and ITRF using conventions. This naming is widely used in the astrodynamics community.

The ECI/ECEF naming is provided as a convenient alias for the commonly used terminology, and seeks to always provide the "best" available transformation between inertial and Earth-fixed frames. The transformation that underpins ECI ↔ ECEF conversions is currently the IAU 2010 GCRF ↔ ITRF transformations, but may differ in the future if improved reference frame models are introduced and adopted.

Learn more in ECI ↔ ECEF Naming Convention

GCRF ↔ ITRF

The primary transformation for modern applications, converting between the inertial GCRF and Earth-fixed ITRF frames. The transformation is accomplished using the IAU 2006/2000A, CIO-based theory using classical angles. The method as described in section 5.5 of the SOFA C transformation cookbook. This transformation accounts for:

  • Earth's rotation
  • Polar motion
  • Precession and nutation effects

Learn more in GCRF ↔ ITRF Transformations

EME2000 ↔ GCRF

A constant frame bias transformation between the classical J2000.0 frame (Earth Equator and Mean Equinox) and the modern ICRS-aligned GCRF. The transformation is accomplished using the second-order frame bias rotation matrix as described in Astrodynamics Convention and Modeling Reference for Lunar, Cislunar, and Libration Point Orbits by Folta et al., section 4.3.5.

Learn more in EME2000 ↔ GCRF Transformations

GCRF ↔ MOD ↔ TOD

Equinox-based transformations from the GCRF to the mean equator and equinox of date (MOD) and the true equator and equinox of date (TOD), and from TOD to the ITRF through Greenwich apparent sidereal time. The chain is [ITRF] = W R3(GAST) N P B [GCRF] from the SOFA C transformation cookbook, evaluated on the precession-nutation model shared with the GCRF ↔ ITRF transformation.

Learn more in GCRF ↔ MOD ↔ TOD Transformations

Precession-Nutation Model

The GCRF ↔ ITRF and GCRF ↔ MOD ↔ TOD transformations evaluate the same precession-nutation model, IAU 2006/2000A by default, with the truncated IAU 2000B model selectable through a single global setting.

Learn more in Precession-Nutation Model