> ## Documentation Index
> Fetch the complete documentation index at: https://docs.valar.space/llms.txt
> Use this file to discover all available pages before exploring further.

# OEM (Orbit Ephemeris Message)

> Working with CCSDS Orbit Ephemeris Message format in VALAR

> For the complete documentation index, see [llms.txt](/llms.txt).

The Orbit Ephemeris Message (OEM) is a standardized ASCII text format for exchanging spacecraft position and velocity data over time. Each OEM file contains a time-ordered series of state vectors (ephemeris points) that define a spacecraft's trajectory, enabling precise orbit propagation and prediction.

## Key Components

An OEM file contains several distinct sections:

* **Header**: File-level metadata including format version, creation date, and originator information
* **Metadata**: Orbital context information such as object identification, reference frame, time system, and interpolation specifications
* **Ephemeris Data**: Time-ordered state vectors containing position (X, Y, Z) and velocity (VX, VY, VZ) at specific epochs
* **Covariance (Optional)**: Position and velocity uncertainty matrices for each ephemeris point

## Critical Fields

### Metadata Section

* **OBJECT\_NAME / OBJECT\_ID**: Spacecraft identification
* **REF\_FRAME**: Coordinate reference frame (e.g., EME2000, ITRF2000)
* **TIME\_SYSTEM**: Time system used (e.g., UTC, TAI)
* **START\_TIME / STOP\_TIME**: Temporal bounds of ephemeris data
* **INTERPOLATION**: Method for interpolating between points (e.g., Hermite, Lagrange)
* **INTERPOLATION\_DEGREE**: Polynomial degree for interpolation (typically 7-8)

### Ephemeris Data Format

Each line contains: `Epoch X Y Z VX VY VZ`

* **Epoch**: UTC timestamp
* **X, Y, Z**: Position components in kilometers
* **VX, VY, VZ**: Velocity components in km/s

## Common Use Cases

* **Conjunction Assessment**: Sharing precise trajectories for collision avoidance analysis
* **Maneuver Planning**: Baseline trajectories for delta-V calculations
* **Mission Coordination**: Exchanging orbit information between control centers
* **Orbit Propagation**: High-fidelity trajectory propagation using interpolation
* **Ground Track Visualization**: Displaying spacecraft position over time

<Info>
  Complete definition of the OEM standard on [CCSDS 502.0-B-3](https://ccsds.org/Pubs/502x0b3e1.pdf) guidelines.
</Info>

Here is a sample OEM file in KVN format:

```
CCSDS_OEM_VERS             = 2.0
CREATION_DATE              = 2024-06-15T08:30:00.000
ORIGINATOR                 = VALAR

META_START
OBJECT_NAME                = SPACECRAFT-1
OBJECT_ID                  = 2023-001A
CENTER_NAME                = EARTH
REF_FRAME                  = EME2000
TIME_SYSTEM                = UTC
START_TIME                 = 2024-06-15T00:00:00.000
STOP_TIME                  = 2024-06-16T00:00:00.000
USEABLE_START_TIME         = 2024-06-15T00:00:00.000
USEABLE_STOP_TIME          = 2024-06-16T00:00:00.000
INTERPOLATION              = HERMITE
INTERPOLATION_DEGREE       = 7
META_STOP

COMMENT Ephemeris generated from OD solution
COMMENT State vectors in EME2000 reference frame

2024-06-15T00:00:00.000  6655.994 -40218.575 -82.918  3.115482  0.470426 -0.001015
2024-06-15T01:00:00.000  6892.441 -39845.123 -76.234  3.087234  0.501287 -0.000923
2024-06-15T02:00:00.000  7112.873 -39458.892 -69.445  3.058012  0.531456 -0.000831
2024-06-15T03:00:00.000  7316.234 -39060.234 -62.567  3.027856  0.560847 -0.000738
2024-06-15T04:00:00.000  7501.567 -38649.512 -55.612  2.996812  0.589382 -0.000645
2024-06-15T05:00:00.000  7668.012 -38227.123 -48.593  2.964923  0.616989 -0.000551
2024-06-15T06:00:00.000  7814.789 -37793.478 -41.523  2.932234  0.643598 -0.000457
2024-06-15T07:00:00.000  7941.234 -37349.012 -34.415  2.898789  0.669142 -0.000362
2024-06-15T08:00:00.000  8046.678 -36894.189 -27.281  2.864634  0.693559 -0.000267

COVARIANCE_START
EPOCH                      = 2024-06-15T00:00:00.000
COV_REF_FRAME              = EME2000
CX_X                       = 4.142e+01
CY_X                       = -8.579e+00
CY_Y                       = 5.189e+01
CZ_X                       = -4.788e+01
CZ_Y                       = -4.472e+01
CZ_Z                       = 5.960e+01
CX_DOT_X                   = 3.523e-03
CX_DOT_Y                   = 1.045e-03
CX_DOT_Z                   = -1.234e-03
CX_DOT_X_DOT               = 8.945e-07
CY_DOT_X                   = -2.678e-03
CY_DOT_Y                   = -5.234e-04
CY_DOT_Z                   = 1.876e-03
CY_DOT_X_DOT               = -3.456e-07
CY_DOT_Y_DOT               = 7.234e-07
CZ_DOT_X                   = -1.234e-03
CZ_DOT_Y                   = 2.345e-03
CZ_DOT_Z                   = -8.765e-04
CZ_DOT_X_DOT               = 2.134e-07
CZ_DOT_Y_DOT               = -4.567e-07
CZ_DOT_Z_DOT               = 6.789e-07
COVARIANCE_STOP
```

## Interpolation Methods

OEM files support multiple interpolation methods for computing state vectors between ephemeris points:

* **Hermite**: Uses both position and velocity for smooth interpolation (most common)
* **Lagrange**: Position-only polynomial interpolation
* **Linear**: Simple linear interpolation between points

The interpolation degree (typically 7-8) determines the polynomial order and affects accuracy versus computational cost.
