Skip to content
Beta.xtce@modelscript/ccsds 8 diagnostic rules
Parser WASM GLR
Diagnostics 8 rules
DAE Arena Lowering
Simulation Native Solvers
Projections Modelica, SysML v2
Live ExampleEarthObservationLeo.oem

CCSDS OEM 2.0 Sun-Synchronous LEO Orbit Ephemeris

Standard CCSDS Orbit Ephemeris Message with EME2000 inertial position/velocity state vectors and covariance matrix metadata.

Playground
Source (18 lines)
1CCSDS_OEM_VERS = 2.0
2CREATION_DATE = 2026-06-15T00:00:00
3ORIGINATOR = MODELSCRIPT_FLIGHT_DYNAMICS
4 
5META_START
6OBJECT_NAME = SENTINEL_EO_1
7OBJECT_ID = 2026-042A
8CENTER_NAME = EARTH
9REF_FRAME = EME2000
10TIME_SYSTEM = UTC
11START_TIME = 2026-06-15T00:00:00.000
12STOP_TIME = 2026-06-15T00:15:00.000
13META_STOP
14 
152026-06-15T00:00:00.000  7016.000   0.000     0.000   0.000  1.312  7.428
162026-06-15T00:05:00.000  6642.180 388.420  2198.410  -2.468  1.241  7.032
172026-06-15T00:10:00.000  5560.940 735.110  4160.290  -4.672  1.039  5.887
182026-06-15T00:15:00.000  3886.410 998.640  5651.820  -6.351  0.726  4.115
3D LEO Orbital Trajectory & Telemetry State Diagram
CCSDS OEM 2.0 EME2000 ORBITAL TRAJECTORY (SENTINEL_EO_1) EARTH T+00:00 (r = 7016 km) T+00:05 v = 7.59 km/s OEM EPHEMERIS TELEMETRY Object ID 2026-042A Reference Frame EME2000 (UTC) Semi-Major Axis a 7016.0 km Altitude (h_LEO) 638.0 km Inclination i 97.95° (SSO) Specific Energy ε −28.41 km²/s²
Drag to pan · Click % to reset

CCSDS Astrodynamics & Space Telemetry (.oem, .opm, .omm, .xtce) ​

@modelscript/ccsds (languages/ccsds) provides comprehensive compiler, trajectory propagation, and verification support for the Consultative Committee for Space Data Systems (CCSDS) and OMG XML Telemetric & Command Exchange (XTCE) standards.


Supported Extensions & Standards ​

ExtensionStandard / SpecificationEngineering Domain
.oemCCSDS 502.0-B-2 Orbit Ephemeris MessageTime-tagged position and velocity state vector ephemerides
.opmCCSDS 502.0-B-2 Orbit Parameter MessageOsculating Keplerian orbital elements and maneuvers
.ommCCSDS 502.0-B-2 Orbit Mean-Elements MessageMean orbital elements (SGP4/SDP4 TLE compatible)
.xtce, .xmlOMG XTCE v1.2 Telemetric & Command ExchangeBit-level satellite telemetry decommutation and commanding

Key Capabilities ​

1. Perturbed 6-DOF Cowell Orbit Propagator ​

  • Integrates high-fidelity gravitational and environmental perturbations in Cartesian J2000 / GCRF coordinates:r¨=−μr3r+aJ2+adrag+aSRP+a3rd
  • J2 Earth Oblateness: Evaluates central body oblateness forces from zonal harmonic coefficients.
  • Atmospheric Drag: Exponential barometric and Jacchia-Roberts atmospheric density models coupled with satellite cross-sectional area and drag coefficient CD.
  • Solar Radiation Pressure (SRP): Cannonball radiation pressure models with cylindrical and dual-cone solar eclipse shadowing.
  • Third-Body Gravitation: Lunar and solar ephemeris gravitational perturbations.

2. OMG XTCE Bit-Packing & Decommutation Engine ​

  • Parses hierarchical <TelemetryMetaData>, <ParameterSet>, <ContainerSet>, and <SequenceContainer> schemas.
  • Validates bit-level alignments, integer sign encodings (twos-complement, sign-magnitude), IEEE 754 float packaging, and calibrated polynomial transfer functions.

3. Direct DAE Lowering ​

  • Compiles orbital states and spacecraft attitudes directly into @modelscript/runtime's DAEBuilder SoA linear memory arena for joint trajectory and attitude determination simulations.

4. Polyglot Projections & TGG Mappings ​

  • Modelica Export (ccsdsToModelica): Generates continuous Modelica 3.x space flight models compatible with orbital physics libraries.
  • SysML v2 Mission Architecture (ccsdsToSysml): Projects ground station contacts, communication downlink schedules, and orbit maintenance requirements into SysML v2 part def and requirement def hierarchies.

Static Analysis & Pre-Flight Linter Rules ​

The CCSDS analyzer enforces space mission integrity and flight safety constraints (M8201–M8208):

8 rules7 error1 warning Run with msx ccsds lint

CodeRuleSeverityMessage
M8201sub-orbital-impact-trajectoryerrorSub-orbital pericenter radius <rp> km is below Earth radius <earthRadius> km, resulting in atmospheric re-entry or impact.
M8202telemetry-bit-packing-overlaperrorTelemetry bit packing overlap in container '<containerName>': entry '<entryName>' starts at bit <bitOffset> before previous entry '<prevEntry>' ends at bit <endBit>.
M8203hyperbolic-unbounded-orbitwarningOrbit eccentricity <eccentricity> indicates a hyperbolic or parabolic trajectory.
M8204unrecognized-reference-frameerrorUnrecognized or non-inertial reference frame '<refFrame>'.
M8205missing-epoch-timestamperrorEphemeris point missing valid timestamp at index <index>.
M8206non-monotonic-ephemeris-epochserrorEphemeris timestamp '<epoch>' is not strictly greater than previous timestamp '<prevEpoch>'.
M8207duplicate-parameter-nameerrorDuplicate telemetry parameter declaration for '<paramName>'.
M8208negative-spacecraft-masserrorSpacecraft mass <massKg> kg must be strictly positive.

Generated from languages/ccsds/src/lints/rules.ts. All languages →


CLI Usage ​

bash
# Lint an Orbit Ephemeris Message or XTCE container definition
msx ccsds lint mission_orbit.oem
msx ccsds lint satellite_telemetry.xtce

# Propagate trajectory and lower to DAE linear memory
msx ccsds to-dae orbit.opm --duration 86400 --step 60

# Project orbital state vectors into Modelica simulation code
msx ccsds to-modelica orbit.opm -o OrbitDynamics.mo

# Export orbital mission constraints to SysML v2 requirements
msx ccsds to-sysml orbit.omm -o OrbitRequirements.sysml

Open-Core under the GNU AGPL v3 License; Enterprise Edition (ee/) under the ModelScript Enterprise License. • Trademark Policy