Orbit Parameter Message (OPM)¶
- class ccsds_ndm.Opm(header, segment)¶
Orbit Parameter Message (OPM).
Orbit information may be exchanged between two participants by sending a state vector (see reference [H1]) for a specified epoch using an OPM. The message recipient must have an orbit propagator available that is able to propagate the OPM state vector to compute the orbit at other desired epochs. For this propagation, additional ancillary information (spacecraft properties such as mass, area, and maneuver planning data, if applicable) may be included with the message.
- Parameters:
header (OdmHeader) – The message header.
segment (OpmSegment) – The data segment.
- static from_file(path, format=None)¶
Create an OPM message from a file.
- static from_str(data, format=None)¶
Create an OPM message from a string.
- header¶
Orbit Parameter Message (OPM).
Orbit information may be exchanged between two participants by sending a state vector (see reference [H1]) for a specified epoch using an OPM. The message recipient must have an orbit propagator available that is able to propagate the OPM state vector to compute the orbit at other desired epochs. For this propagation, additional ancillary information (spacecraft properties such as mass, area, and maneuver planning data, if applicable) may be included with the message.
- Type:
- segment¶
The data segment.
- Type:
- to_file(path, format, validate=True)¶
Write to file.
- to_str(format, validate=True)¶
Serialize to string.
- class ccsds_ndm.OpmSegment(metadata, data)¶
A single segment of the OPM.
Contains metadata and data sections.
- Parameters:
metadata (OpmMetadata) – Segment metadata.
data (OpmData) – Segment data.
- metadata¶
A single segment of the OPM.
Contains metadata and data sections.
- Type:
- class ccsds_ndm.OpmMetadata(object_name, object_id, center_name=Ellipsis, ref_frame=None, time_system=None, ref_frame_epoch=None, comment=None)¶
OPM Metadata Section.
- Parameters:
object_name (str) – Spacecraft name for which orbit state data is provided.
object_id (str) – Object identifier of the object for which orbit state data is provided.
center_name (str) – Origin of the reference frame.
ref_frame (str) – Reference frame in which state vector data is given.
time_system (str) – Time system used for state vector, maneuver, and covariance data.
ref_frame_epoch (str, optional) – Epoch of the reference frame, if not intrinsic to the definition (ISO 8601).
- center_name¶
Origin of the OPM reference frame, which shall be a natural solar system body (planets, asteroids, comets, and natural satellites), including any planet barycenter or the solar system barycenter. Natural bodies shall be selected from the accepted set of values indicated in annex B, subsection B2.
Examples: EARTH EARTH BARYCENTER MOON SOLAR SYSTEM BARYCENTER SUN JUPITER BARYCENTER STS 106 EROS
- Type:
- comment¶
Comments (allowed at the beginning of the OPM Metadata). (See 7.8 for formatting rules.)
Examples: This is a comment
- object_id¶
Object identifier of the object for which orbit state data is provided. While there is no CCSDS-based restriction on the value for this keyword, it is recommended to use the international spacecraft designator as published in the UN Office of Outer Space Affairs designator index (reference
[3]). Recommended values have the format YYYY-NNNP{PP}, where: YYYY = Year of launch. NNN = Three-digit serial number of launch in year YYYY (with leading zeros). P{PP} = At least one capital letter for the identification of the part brought into space by the launch. If the asset is not listed in reference[3], the UN Office of Outer Space Affairs designator index format is not used, or the content is either unknown or cannot be disclosed, the value should be set to UNKNOWN.Examples: 2000-052A 1996-068A 2000-053A 1996-008A UNKNOWN
- Type:
- object_name¶
Spacecraft name for which orbit state data is provided. While there is no CCSDS-based restriction on the value for this keyword, it is recommended to use names from the UN Office of Outer Space Affairs designator index (reference
[3], which include Object name and international designator of the participant). If OBJECT_NAME is not listed in reference [3] or the content is either unknown or cannot be disclosed, the value should be set to UNKNOWN.Examples: EUTELSAT W1 MARS PATHFINDER STS 106 NEAR UNKNOWN
- Type:
- ref_frame¶
Reference frame in which the state vector and optional Keplerian element data are given. Use of values other than those in 3.2.3.3 should be documented in an ICD.
Examples: ICRF EME2000 ITRF2000 TEME
- Type:
- class ccsds_ndm.OpmData(state_vector, comment=None)¶
OPM Data Section.
- Parameters:
state_vector (StateVector) – State vector.
- covariance_matrix¶
Covariance matrix.
- Type:
Optional[OpmCovarianceMatrix]
- keplerian_elements¶
Keplerian elements.
- Type:
Optional[KeplerianElements]
- maneuver_parameters¶
Maneuver parameters.
- Type:
- spacecraft_parameters¶
Spacecraft parameters.
- Type:
Optional[SpacecraftParameters]
- state_vector¶
State vector components (position and velocity).
- Type:
- user_defined_parameters¶
User defined parameters.
- Type:
UserDefined | None
- class ccsds_ndm.OpmCovarianceMatrix(cx_x=None, cy_x=None, cy_y=None, cz_x=None, cz_y=None, cz_z=None, cx_dot_x=None, cx_dot_y=None, cx_dot_z=None, cy_dot_x=None, cy_dot_y=None, cy_dot_z=None, cz_dot_x=None, cz_dot_y=None, cz_dot_z=None, cx_dot_x_dot=None, cy_dot_x_dot=None, cy_dot_y_dot=None, cz_dot_x_dot=None, cz_dot_y_dot=None, cz_dot_z_dot=None, cov_ref_frame=None, comments=None)¶
Position/Velocity Covariance Matrix (6x6 Lower Triangular Form. None or all parameters of the matrix must be given. COV_REF_FRAME may be omitted if it is the same as REF_FRAME.)
- Parameters:
cx_x (float, optional) – Position X covariance [1,1]. Units: km².
cy_x (float, optional) – Position X-Y covariance [2,1]. Units: km².
cy_y (float, optional) – Position Y covariance [2,2]. Units: km².
cz_x (float, optional) – Position X-Z covariance [3,1]. Units: km².
cz_y (float, optional) – Position Y-Z covariance [3,2]. Units: km².
cz_z (float, optional) – Position Z covariance [3,3]. Units: km².
cx_dot_x (float, optional) – Velocity X / Position X covariance [4,1]. Units: km²/s.
cx_dot_y (float, optional) – Velocity X / Position Y covariance [4,2]. Units: km²/s.
cx_dot_z (float, optional) – Velocity X / Position Z covariance [4,3]. Units: km²/s.
cx_dot_x_dot (float, optional) – Velocity X covariance [4,4]. Units: km²/s².
cy_dot_x (float, optional) – Velocity Y / Position X covariance [5,1]. Units: km²/s.
cy_dot_y (float, optional) – Velocity Y / Position Y covariance [5,2]. Units: km²/s.
cy_dot_z (float, optional) – Velocity Y / Position Z covariance [5,3]. Units: km²/s.
cy_dot_x_dot (float, optional) – Velocity Y / Velocity X covariance [5,4]. Units: km²/s².
cy_dot_y_dot (float, optional) – Velocity Y covariance [5,5]. Units: km²/s².
cz_dot_x (float, optional) – Velocity Z / Position X covariance [6,1]. Units: km²/s.
cz_dot_y (float, optional) – Velocity Z / Position Y covariance [6,2]. Units: km²/s.
cz_dot_z (float, optional) – Velocity Z / Position Z covariance [6,3]. Units: km²/s.
cz_dot_x_dot (float, optional) – Velocity Z / Velocity X covariance [6,4]. Units: km²/s².
cz_dot_y_dot (float, optional) – Velocity Z / Velocity Y covariance [6,5]. Units: km²/s².
cz_dot_z_dot (float, optional) – Velocity Z covariance [6,6]. Units: km²/s².
cov_ref_frame (str, optional) – Reference frame for the covariance matrix. comments : list[str], optional Comments.
- Variables:
cx_x (float) – Position X covariance [1,1]. Units: km². … (see Parameters for full list of attributes with units)
- class ccsds_ndm.KeplerianElements(semi_major_axis, eccentricity, inclination, ra_of_asc_node, arg_of_pericenter, gm, true_anomaly=None, mean_anomaly=None)¶
Osculating Keplerian Elements in the Specified Reference Frame (none or all parameters of this block must be given).
References: - CCSDS 502.0-B-3, Section 3.2.4 (OPM Data Section)
- Parameters:
semi_major_axis (float) – Semi-major axis (km).
eccentricity (float) – Eccentricity (dimensionless).
inclination (float) – Inclination (deg).
ra_of_asc_node (float) – Right ascension of the ascending node (deg).
arg_of_pericenter (float) – Argument of pericenter (deg).
gm (float) – Gravitational coefficient (km³/s²).
true_anomaly (float, optional) – True anomaly (deg).
mean_anomaly (float, optional) – Mean anomaly (deg).
- Variables:
semi_major_axis (float) – Semi-major axis. Units: km.
eccentricity (float) – Eccentricity. Units: dimensionless.
inclination (float) – Inclination. Units: deg.
ra_of_asc_node (float) – Right ascension of the ascending node. Units: deg.
arg_of_pericenter (float) – Argument of pericenter. Units: deg.
gm (float) – Gravitational coefficient (GM). Units: km³/s².
true_anomaly (float or None) – True anomaly. Units: deg.
mean_anomaly (float or None) – Mean anomaly. Units: deg.