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:
-
–abbreviationFrame 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.
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:
-
–pathPath 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")