> ## 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

### VALAR Measurement Import Requirements

Covariance is optional. For OEM observations without covariance, VALAR uses **assumed uncertainty of 100 m position and 0.1 m/s velocity, one sigma per source-frame axis**. These compatibility defaults are not an accuracy estimate supplied by the producer. The import preview identifies the affected observation count; the completed import carries a `sigmas` substitution warning, also retained in its job summary.

If the file supplies covariance, VALAR uses it for the matching state epoch. An omitted `COV_REF_FRAME` inherits the center-aware OEM state frame. Supported distinct absolute frames and frozen local orbital frames such as RTN/TNW are transformed into the stored state's frame; unknown, body, and rotating local orbital frames are rejected. The assumed uncertainty is transformed with the state when the storage frame changes.

Supplied covariance must be finite, symmetric, and positive semidefinite, with strictly positive diagonal variances. Rank deficiency alone is not a rejection. VALAR does not interpolate covariance, pair matrices by list order, repair invalid variances, or replace invalid supplied covariance with defaults. Sparse covariance is used at its matching epochs; other observations use the disclosed assumptions.

For covariance-frame or variance errors, correct the supplied covariance and retry. Provide covariance when source-specific uncertainty is available: the compatibility assumptions do not establish the accuracy of the observations or the resulting orbit determination.

### 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>

The following illustrates OEM fields and covariance components. It is not an import-ready KVN fixture: OEM KVN covariance uses lower-triangular numeric rows. Observations without covariance use the assumed uncertainty described above.

```
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.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.