Skip to main content
For the complete documentation index, see llms.txt.
The Orbit Parameter Message (OPM) is a standardized ASCII text format for exchanging spacecraft orbital state information at a single epoch. Unlike OEM which contains time-series ephemeris data, OPM represents a snapshot of spacecraft state and can include optional physical parameters and one or more maneuver definitions.

Key Components

An OPM file contains several distinct sections:
  • Header: File-level metadata including format version, creation date, and originator
  • Metadata: Orbital context such as object identification, reference frame, and time system
  • State Vector: Spacecraft position and velocity at a specific epoch (Cartesian coordinates)
  • Keplerian Elements (Optional): Supplementary orbital element representation (semi-major axis, eccentricity, inclination, etc.) that accompanies the state vector
  • Spacecraft Parameters (Optional): Physical properties for orbit propagation (mass, drag coefficient, solar radiation pressure)
  • Maneuver Parameters (Optional): One or more maneuvers (impulsive or finite), each with delta-V components

State Representation

Every OPM carries a mandatory Cartesian state vector. Osculating Keplerian elements may be added as an optional supplementary block describing the same state — they do not replace the state vector.

Cartesian State Vector (Mandatory)

Position and velocity at the epoch, in the reference frame given by REF_FRAME:
ElementDescriptionUnit
X, Y, ZPosition componentskm
X_DOT, Y_DOT, Z_DOTVelocity componentskm/s

Osculating Keplerian Elements (Optional)

A supplementary block. If included, all of its elements must be present — including GM:
ElementDescriptionUnit
SEMI_MAJOR_AXISSize of the orbitkm
ECCENTRICITYShape of the orbit (0 = circular, < 1 = elliptical)
INCLINATIONAngle between the orbital plane and the reference planedeg
RA_OF_ASC_NODERight ascension of ascending nodedeg
ARG_OF_PERICENTERArgument of pericenterdeg
TRUE_ANOMALY or MEAN_ANOMALYPosition along the orbitdeg
GMGravitational coefficient (G × central mass)km³/s²

Spacecraft Physical Parameters

OPM can include physical properties required for accurate orbit propagation:
  • MASS: Spacecraft mass (kg)
  • SOLAR_RAD_AREA: Cross-sectional area for solar radiation pressure (m²)
  • SOLAR_RAD_COEFF: Solar radiation pressure coefficient
  • DRAG_AREA: Cross-sectional area for atmospheric drag (m²)
  • DRAG_COEFF: Atmospheric drag coefficient

Common Use Cases

  • Orbit Determination Results: Sharing fitted state vectors after measurement processing
  • State Vector Import: Loading initial conditions into mission planning systems
  • Data Exchange: Transferring orbital state between organizations
  • Mission Analysis: Providing reference states for trajectory studies
Complete definition of the OPM standard on CCSDS 502.0-B-3 guidelines.
Here is a sample OPM file in KVN format:
CCSDS_OPM_VERS       = 3.0
CREATION_DATE        = 2024-06-03T05:33:00.000
ORIGINATOR           = VALAR

COMMENT Orbit determination solution from tracking pass
COMMENT State vector after maneuver execution

OBJECT_NAME          = SPACECRAFT-ALPHA
OBJECT_ID            = 2023-001A
CENTER_NAME          = EARTH
REF_FRAME            = EME2000
TIME_SYSTEM          = UTC

EPOCH                = 2024-06-03T00:00:00.000
X                    = 6655.9942 [km]
Y                    = -40218.5751 [km]
Z                    = -82.9177 [km]
X_DOT                = 3.11548208 [km/s]
Y_DOT                = 0.47042605 [km/s]
Z_DOT                = -0.00101495 [km/s]

COMMENT Spacecraft physical parameters for propagation

MASS                 = 1913.000 [kg]
SOLAR_RAD_AREA       = 10.000 [m**2]
SOLAR_RAD_COEFF      = 1.300
DRAG_AREA            = 10.000 [m**2]
DRAG_COEFF           = 2.300

COMMENT Planned orbit-raising maneuver

MAN_EPOCH_IGNITION   = 2024-06-03T09:00:34.1
MAN_DURATION         = 132.60 [s]
MAN_DELTA_MASS       = -18.418 [kg]
MAN_REF_FRAME        = RTN
MAN_DV_1             = -0.02325700 [km/s]
MAN_DV_2             = 0.01683160 [km/s]
MAN_DV_3             = -0.00893444 [km/s]

OPM with Optional Keplerian Elements

CCSDS_OPM_VERS       = 3.0
CREATION_DATE        = 2024-06-03T05:33:00.000
ORIGINATOR           = VALAR

OBJECT_NAME          = SPACECRAFT-BETA
OBJECT_ID            = 2023-002B
CENTER_NAME          = EARTH
REF_FRAME            = EME2000
TIME_SYSTEM          = UTC

EPOCH                = 2024-06-03T12:00:00.000
X                    = 36127.350 [km]
Y                    = 21794.520 [km]
Z                    = 36.800 [km]
X_DOT                = -1.588400 [km/s]
Y_DOT                = 2.632800 [km/s]
Z_DOT                = 0.000100 [km/s]

COMMENT Osculating Keplerian elements for the state above

SEMI_MAJOR_AXIS      = 42164.140 [km]
ECCENTRICITY         = 0.0001234
INCLINATION          = 0.05 [deg]
RA_OF_ASC_NODE       = 75.123 [deg]
ARG_OF_PERICENTER    = 180.456 [deg]
TRUE_ANOMALY         = 90.789 [deg]
GM                   = 398600.4418 [km**3/s**2]

MASS                 = 2500.000 [kg]
SOLAR_RAD_AREA       = 15.000 [m**2]
SOLAR_RAD_COEFF      = 1.200
DRAG_AREA            = 12.000 [m**2]
DRAG_COEFF           = 2.200

Importing OPM in VALAR

Import an OPM from the State Vectors page: click Import, choose OPM (CCSDS Standard) as the format, and upload a .txt or .opm file. VALAR resolves the target spacecraft automatically from the file’s OBJECT_ID (COSPAR ID) or OBJECT_NAME, so you do not select a spacecraft for CCSDS OPM imports. A successful import adds a state vector to that spacecraft.
VALAR imports the Cartesian state vector — position (X, Y, Z) in km and velocity (X_DOT, Y_DOT, Z_DOT) in km/s. An OPM that provides only Keplerian elements (SEMI_MAJOR_AXIS, ECCENTRICITY, …) and no Cartesian state vector is not a conformant OPM and cannot be imported. Re-export the OPM with the Cartesian state vector before importing.
Every imported OPM must also include a MASS value (kg), which VALAR uses to propagate the state.

Import Error Modes

If an import is rejected, the dialog shows a red alert with an error code and message. The most common OPM import errors:
CodeCauseRemediation
OS-4004The OPM has no Cartesian state vector — for example, it provides only Keplerian elements.Re-export the OPM with the Cartesian state-vector block (X, Y, Z, X_DOT, Y_DOT, Z_DOT). Keplerian-only OPMs are not supported.
OS-4003The file is not valid CCSDS OPM — unrecognized keywords, malformed values, or stray non-CCSDS text.Check the file against the CCSDS OPM format and remove any non-CCSDS labels or stray text.
OS-4001The OPM has no MASS keyword. Mass is required to propagate the imported state.Add a MASS line (kg) to the OPM and re-import.
OS-4014The OPM MASS is less than the spacecraft’s configured dry mass.Correct the OPM mass, or update the spacecraft’s dry mass on the Spacecraft page.
OS-4016The OPM has neither OBJECT_ID nor OBJECT_NAME, so VALAR cannot match it to a spacecraft.Add an OBJECT_ID (COSPAR ID) or OBJECT_NAME that matches a spacecraft in your fleet.
OS-4015The OBJECT_ID or OBJECT_NAME does not match any spacecraft in your fleet.Create the spacecraft first, or correct the identifier in the OPM.
OS-4012(SpaceX OPM) The OPM’s OBJECT_ID does not match the spacecraft you selected.Select the matching spacecraft, or correct the OPM’s OBJECT_ID.
SV-4003The state vector EPOCH is in the future.Use an OPM whose EPOCH is at or before the current time (UTC).

Differences Between OPM and Other Formats

FeatureOPMOEMOCM
Temporal ScopeSingle epochTime seriesSingle or multiple epochs
ManeuversOne or more (impulsive or finite)Not supportedMultiple maneuvers
Keplerian ElementsOptionalNot supportedOptional
CovariancesOptionalOptional per epochOptional
Primary Use CaseState snapshots, OD outputEphemeris sharingComprehensive mission plans

SpaceX OPM Format

SpaceX provides state vectors to customers via a proprietary OPM variant derived from the CCSDS standard. This format is generated from Falcon second stage flight telemetry and has several key differences from standard CCSDS OPM.
The SpaceX OPM represents the state of the second stage, not the deployed spacecraft. Any position, velocity, attitude, or attitude-rate differences between the second stage and your spacecraft at separation must be accounted for by the recipient.

SpaceX OPM Fields

FieldDescriptionUnits
UTC time at liftoffLaunch time referenceDOY:HH:MM:SS.SS
UTC time of current stateEpoch of the state vectorDOY:HH:MM:SS.SS
Mission elapsed timeTime since liftoffseconds
ECEF Position (X,Y,Z)Position in WGS84 ECEF framemeters
ECEF Velocity (X,Y,Z)Earth-relative velocity in ECEFm/s
LVLH to BODY quaternionAttitude quaternion (scalar-first: S,X,Y,Z)dimensionless
Inertial body rates (X,Y,Z)Angular velocitydeg/s
Apogee AltitudeMaximum altitude (spherical Earth)km
Perigee AltitudeMinimum altitude (spherical Earth)km
InclinationOrbital inclinationdegrees
Argument of PerigeeOrientation of orbit ellipsedegrees
Longitude of Asc. NodeAscending node referenced to Greenwichdegrees
True AnomalyPosition along orbitdegrees

Key Differences from CCSDS OPM

AspectCCSDS OPMSpaceX OPM
Reference FrameInertial (EME2000, GCRF)WGS84 ECEF, inertially frozen at state epoch
Position Unitskilometersmeters
Velocity Unitskm/sm/s
Velocity ReferenceInertialEarth-relative
Time FormatISO 8601Day-of-Year (DOY:HH:MM:SS.SS)
Ascending NodeRight Ascension (vernal equinox)Longitude (Greenwich Meridian)
Altitude ReferenceTypically WGS84 ellipsoidSpherical Earth (6378.137 km radius)
Attitude DataNot includedLVLH-to-body quaternion + body rates

Sample SpaceX OPM

SpaceX OPM output (generated 2024-06-15-Sat-14-30-00):
All orbital elements are defined as osculating at the instant of the printed state.
Orbital elements are computed in an inertial frame realized by inertially freezing
the WGS84 ECEF frame at time of current state.

UTC time at liftoff:        166:14:00:00.00
UTC time of current state:  166:14:45:30.25
Mission elapsed time (s):   +2730.25

ECEF (X,Y,Z) Position (m):           +4523156.789, -3298765.432, +4012345.678
ECEF (X,Y,Z) Velocity* (m/s):        +5234.567, +4123.456, -3456.789

LVLH to BODY quaternion (S,X,Y,Z):   +0.7071068, +0.0000000, +0.7071068, +0.0000000
Inertial body rates (X,Y,Z) (deg/s): +0.0012345, -0.0023456, +0.0034567

Apogee Altitude** (km):              +00850.123
Perigee Altitude** (km):             +00320.456
Inclination (deg):                   +53.215
Argument of Perigee (deg):           +090.123
Longitude of the Asc. Node*** (deg): +125.678
True Anomaly (deg):                  +45.890

Notes:
* ECEF velocity is Earth-relative
** Apogee/Perigee altitude assumes a spherical Earth, 6378.137 km radius
*** LAN is defined as the angle between Greenwich Meridian and the ascending node

Importing SpaceX OPM in VALAR

When importing SpaceX OPM files:
  1. Select SpaceX OPM as the format in the import dialog
  2. VALAR automatically converts the ECEF state to an inertial frame
  3. The Longitude of Ascending Node is converted to Right Ascension
  4. Position and velocity units are converted from meters to kilometers
SpaceX OPM format is documented in the Falcon User’s Guide. VALAR’s SpaceX OPM parser handles all necessary coordinate transformations automatically.