Skip to content

Reference Frames

Coordinate reference frames and ephemeris data.

Supported Frames

Inertial Frames

Abbreviation Name Description
ICRF International Celestial Reference Frame Primary inertial frame
J2000 J2000 Mean Equator and Equinox FK5-compatible inertial frame (alias: EME2000)

CIO-Based Frames (IAU2006/IERS2010)

Abbreviation Name Description
CIRF Celestial Intermediate Reference Frame CIO-based celestial frame
TIRF Terrestrial Intermediate Reference Frame CIO-based terrestrial frame
ITRF International Terrestrial Reference Frame Earth-fixed

Equinox-Based Frames

Abbreviation Name Description
MOD Mean of Date Precessed frame (default: IERS1996)
TOD True of Date Precessed + nutated frame (default: IERS1996)
PEF Pseudo-Earth Fixed Includes Earth rotation (default: IERS1996)
TEME True Equator Mean Equinox Used by SGP4/TLE

Equinox-based frames accept an IERS convention suffix, e.g. MOD(IERS2003), TOD(IERS2010). The bare forms (MOD, TOD, PEF) default to IERS1996.

Body-Fixed Frames

Abbreviation Name Description
IAU_EARTH IAU Earth Earth body-fixed frame
IAU_MOON IAU Moon Moon body-fixed frame
IAU_BODY IAU body-fixed Available for all bodies with defined rotational elements

Quick Example

import lox_space as lox

# Create a frame
icrf = lox.Frame("ICRF")
itrf = lox.Frame("ITRF")

# Load ephemeris data
spk = lox.SPK("/path/to/de440.bsp")

# Transform states between frames
state_icrf = state.to_frame(itrf, provider=eop_provider)

# Transform between origins
state_moon = state.to_origin(lox.Origin("Moon"), spk)

Frame

Represents a reference frame for positioning and transformations.

Supported frames: - ICRF: International Celestial Reference Frame (inertial) - GCRF: Geocentric Celestial Reference Frame (inertial, Earth-centered) - CIRF: Celestial Intermediate Reference Frame - TIRF: Terrestrial Intermediate Reference Frame - ITRF: International Terrestrial Reference Frame (Earth-fixed) - Body-fixed frames: IAU_EARTH, IAU_MOON, IAU_MARS, etc.

Parameters:

  • abbreviation

    Frame abbreviation (e.g., "ICRF", "ITRF", "IAU_MOON").

Raises:

  • ValueError

    If the frame abbreviation is not recognized.

Examples:

>>> icrf = lox.Frame("ICRF")
>>> itrf = lox.Frame("ITRF")

Methods:

  • abbreviation

    Return the abbreviation of this reference frame.

  • name

    Return the full name of this reference frame.

abbreviation

abbreviation() -> str

Return the abbreviation of this reference frame.

name

name() -> str

Return the full name of this reference frame.


SPK

SPICE SPK (Spacecraft and Planet Kernel) ephemeris data.

SPK files contain position and velocity data for celestial bodies and spacecraft. They are used for orbit propagation, frame transformations, and visibility analysis.

Parameters:

  • path

    Path to the SPK file (.bsp).

Raises:

  • ValueError

    If the file cannot be parsed or is invalid.

  • OSError

    If the file cannot be read.

Examples:

>>> spk = lox.SPK("/path/to/de440.bsp")