Conjunction Data Message (CDM)

class ccsds_ndm.Cdm(header, body)

Conjunction Data Message (CDM).

The CDM contains information about a single conjunction between a primary object (Object1) and a secondary object (Object2). It allows satellite operators to evaluate the risk of collision and plan avoidance maneuvers.

The message includes: - Positions and velocities of both objects at Time of Closest Approach (TCA). - Covariance matrices for both objects at TCA. - Relative position and velocity of Object2 with respect to Object1. - Metadata describing how the data was determined (orbit determination settings).

body

The message body containing relative metadata/data and object segments.

Type:

CdmBody

static from_file(path, format=None)

Parse a CDM from a file path with optional format.

Parameters:
  • path (str) – The path to the file.

  • format (str, optional) – The format of the file (‘kvn’ or ‘xml’). If None, it will be auto-detected.

Returns:

The parsed CDM object.

Return type:

Cdm

static from_kvn(kvn)

Parse a CDM from a KVN formatted string.

Parameters:

kvn (str) – The KVN string to parse.

Returns:

The parsed CDM object.

Return type:

Cdm

static from_str(data, format=None)

Parse a CDM from a string with optional format.

Parameters:
  • data (str) – The string content to parse.

  • format (str, optional) – The format of the input (‘kvn’ or ‘xml’). If None, it will be auto-detected.

Returns:

The parsed CDM object.

Return type:

Cdm

header

Conjunction Data Message (CDM).

The CDM contains information about a single conjunction between a primary object (Object1) and a secondary object (Object2). It allows satellite operators to evaluate the risk of collision and plan avoidance maneuvers.

The message includes: - Positions and velocities of both objects at Time of Closest Approach (TCA). - Covariance matrices for both objects at TCA. - Relative position and velocity of Object2 with respect to Object1. - Metadata describing how the data was determined (orbit determination settings).

Type:

CdmHeader

id

Unique ID for this message.

Type:

Optional[str]

to_file(path, format, validate=True)

Write the CDM to a file.

Parameters:
  • path (str) – The output file path.

  • format (str) – The output format (‘kvn’ or ‘xml’).

  • validate (bool, optional) – Whether to validate the message before writing (default: True).

to_str(format, validate=True)

Serialize the CDM to a string.

Parameters:
  • format (str) – The output format (‘kvn’ or ‘xml’).

  • validate (bool, optional) – Whether to validate the message before writing (default: True).

Returns:

The serialized CDM string.

Return type:

str

validate(strict=True)

Validate the message against CCSDS rules.

Parameters:

strict (bool, optional) – If True (default), raises ValueError on the first error found. If False, returns a list of validation error messages (or None if valid).

version

The CDM version.

Type:

str

class ccsds_ndm.CdmHeader(creation_date, originator, message_id, message_for=None, comment=Ellipsis)

Represents the cdmHeader complex type.

Parameters:
  • creation_date (str) – Message creation date/time in UTC (ISO 8601).

  • originator (str) – Creating agency or owner/operator.

  • message_id (str) – ID that uniquely identifies a message from a given originator.

  • message_for (str, optional) – Spacecraft name(s) for which the CDM is provided.

  • comment (list of str, optional) – Explanatory comments.

comment

Comments (allowed in the CDM Header only immediately after the CDM version number). (See 6.3.4 for formatting rules.)

Examples: This is a comment

Type:

list[str]

creation_date

Message creation date/time in Coordinated Universal Time (UTC). (See 6.3.2.6 for formatting rules.)

Examples: 2010-03-12T22:31:12.000, 2010-071T22:31:12.000

Type:

str

message_for

Spacecraft name(s) for which the CDM is provided.

Examples: SPOT, ENVISAT, IRIDIUM, INTELSAT

Type:

Optional[str]

message_id

ID that uniquely identifies a message from a given originator. The format and content of the message identifier value are at the discretion of the originator. (See 5.2.9 for formatting rules.)

Examples: 201113719185, ABC-12_34

Type:

str

originator

Creating agency or owner/operator. Value should be the ‘Abbreviation’ value from the SANA ‘Organizations’ registry (<https://sanaregistry.org/r/organizations>) for an organization that has the Role of ‘Conjunction Data Message Originator’. (See 5.2.9 for formatting rules.)

Examples: JSPOC, ESA SST, CAESAR, JPL, SDC

Type:

str

class ccsds_ndm.CdmBody(relative_metadata_data, segments)

The body of the CDM.

Contains relative metadata/data between the two objects and the specific segments for each object.

Parameters:
  • relative_metadata_data (RelativeMetadataData) – Data describing the relative relationships between Object1 and Object2.

  • segments (list of CdmSegment) – The segments containing specific data for each object.

relative_metadata_data

Data describing the relative relationships between Object1 and Object2.

Type:

RelativeMetadataData

segments

The segments containing specific data for each object.

Type:

list[CdmSegment]

class ccsds_ndm.CdmSegment(metadata, data)

A CDM Segment, consisting of metadata and data for a specific object.

data

Data section for the object.

Type:

CdmData

metadata

Metadata for the object.

Type:

CdmMetadata

class ccsds_ndm.CdmMetadata(object, object_designator, catalog_name, object_name, international_designator, ref_frame, ephemeris_name=Ellipsis, covariance_method=None, maneuverable=None, object_type=None, operator_contact_position=None, operator_organization=None, operator_phone=None, operator_email=None, orbit_center=None, gravity_model=None, atmospheric_model=None, n_body_perturbations=None, solar_rad_pressure=None, earth_tides=None, intrack_thrust=None, comment=Ellipsis)

Metadata Section for an object in a CDM.

Contains identification, contact, and modeling information for either Object1 or Object2.

Parameters:
  • object (Union[CdmObjectType, str]) – The object identification (OBJECT1 or OBJECT2).

  • object_designator (str) – The satellite catalog designator for the object.

  • catalog_name (str) – The satellite catalog used for the object.

  • object_name (str) – Spacecraft name for the object.

  • international_designator (str) – The full international designator (YYYY-NNNP{PP}).

  • ephemeris_name (str) – Unique name of the external ephemeris file or ‘NONE’.

  • covariance_method (Union[CovarianceMethodType, str]) – Method used to calculate the covariance (CALCULATED or DEFAULT).

  • maneuverable (Union[ManeuverableType, str]) – The maneuver capacity of the object (YES, NO, or NA).

  • ref_frame (Union[ReferenceFrameType, str]) – Reference frame for state vector data (GCRF, EME2000, or ITRF).

  • object_type (Union[ObjectDescription, str], optional) – The object type (PAYLOAD, ROCKET BODY, DEBRIS, etc.).

  • operator_contact_position (str, optional) – Contact position of the owner/operator.

  • operator_organization (str, optional) – Contact organization.

  • operator_phone (str, optional) – Phone number of the contact.

  • operator_email (str, optional) – Email address of the contact.

  • orbit_center (str, optional) – The central body (e.g., EARTH, SUN).

  • gravity_model (str, optional) – The gravity model used for the OD.

  • atmospheric_model (str, optional) – The atmospheric density model used for the OD.

  • n_body_perturbations (str, optional) – N-body gravitational perturbations used.

  • solar_rad_pressure (bool, optional) – Whether solar radiation pressure was used.

  • earth_tides (bool, optional) – Whether solid Earth and ocean tides were used.

  • intrack_thrust (bool, optional) – Whether in-track thrust modeling was used.

  • comment (list of str, optional) – Comments.

atmospheric_model

The atmospheric density model used for the OD of the object. If ‘NONE’ is specified, then no atmospheric model was used.

Examples: JACCHIA 70, MSIS, JACCHIA 70 DCA, NONE

Type:

Optional[str]

catalog_name

The satellite catalog used for the object. Value should be taken from the SANA ‘Conjunction Data Message CATALOG_NAME’ registry (<https://sanaregistry.org/r/cdm_catalog>). (See 5.2.9 for formatting rules.)

Examples: SATCAT

Type:

str

comment

Comments (see 6.3.4 for formatting rules).

Type:

list[str]

covariance_method

Method used to calculate the covariance during the OD that produced the state vector, or whether an arbitrary, non-calculated default value was used. Caution should be used when using the default value for calculating collision probability.

Examples: CALCULATED, DEFAULT

Type:

CovarianceMethodType

earth_tides

Indication of whether solid Earth and ocean tides were used for the OD of the object.

Examples: YES, NO

Type:

Optional[bool]

ephemeris_name

Unique name of the external ephemeris file used for the object or NONE. This is used to indicate whether an external (i.e., Owner/Operator [O/O] provided) ephemeris file was used to calculate the CA. If ‘NONE’ is specified, then the output of the most current Orbit Determination (OD) of the CDM originator was used in the CA.

Examples: EPHEMERIS SATELLITE A, NONE

Type:

str

gravity_model

The gravity model used for the OD of the object. (See annex E under GRAVITY_MODEL for definition).

Examples: EGM-96: 36D 360, WGS-84_GEOID: 24D 240, JGM-2: 41D 410

Type:

Optional[str]

international_designator

The full international designator for the object. Values shall have the format YYYY-NNNP{PP}, where: YYYY = year of launch; NNN = three-digit serial number of launch (with leading zeros); P{PP} = At least one capital letter for the identification of the part brought into space by the launch. In cases where the object has no international designator, the value UNKNOWN should be used. (See 5.2.9 for further formatting rules.)

Examples: 2002-021A, UNKNOWN

Type:

str

intrack_thrust

Indication of whether in-track thrust modeling was used for the OD of the object.

Examples: YES, NO

Type:

Optional[bool]

maneuverable

The maneuver capacity of the object. (See 1.4.3.1 for definition of ‘N/A’.)

Examples: YES, NO, N/A

Type:

ManeuverableType

n_body_perturbations

The N-body gravitational perturbations used for the OD of the object. If ‘NONE’ is specified, then no third-body gravitational perturbations were used.

Examples: MOON, SUN, JUPITER, NONE

Type:

Optional[str]

object

The object to which the metadata and data apply (Object1 or Object2).

Examples: OBJECT1, OBJECT2

Type:

CdmObjectType

object_designator

The satellite catalog designator for the object. (See 5.2.9 for formatting rules.)

Examples: 12345

Type:

str

object_name

Spacecraft name for the object.

Examples: SPOT, ENVISAT, IRIDIUM, INTELSAT

Type:

str

object_type

The object type.

Examples: PAYLOAD, ROCKET BODY, DEBRIS, UNKNOWN, OTHER

Type:

Optional[ObjectDescription]

operator_contact_position

Contact position of the owner/operator of the object.

Examples: ORBITAL SAFETY ANALYST (OSA), NETWORK CONTROLLER

Type:

Optional[str]

operator_email

Email address of the contact position or organization of the object.

Examples: JOHN.DOE@SOMEWHERE.NET

Type:

Optional[str]

operator_organization

Contact organization of the object.

Examples: EUMETSAT, ESA, INTELSAT, IRIDIUM

Type:

Optional[str]

operator_phone

Phone number of the contact position or organization for the object.

Examples: +49615130312

Type:

Optional[str]

orbit_center

The central body about which Object1 and Object2 orbit. If not specified, the center is assumed to be Earth.

Examples: EARTH, SUN, MOON, MARS

Type:

Optional[str]

ref_frame

Name of the reference frame in which the state vector data are given. Value must be selected from the list of values to the right (see reference [F1]) and be the same for both Object1 and Object2.

Examples: GCRF, EME2000, ITRF

Type:

ReferenceFrameType

solar_rad_pressure

Indication of whether solar radiation pressure perturbations were used for the OD of the object.

Examples: YES, NO

Type:

Optional[bool]

class ccsds_ndm.CdmData(state_vector, covariance_matrix=None, od_parameters=None, additional_parameters=None, comments=None)

Data Section for an object in a CDM.

Contains logical blocks for OD parameters, Additional parameters, State Vector, and Covariance Matrix.

Parameters:
additional_parameters

Additional Parameters.

Type:

Optional[AdditionalParameters]

comment

Comments.

Type:

list[str]

covariance_matrix

Covariance Matrix.

Type:

Optional[CdmCovarianceMatrix]

covariance_matrix_numpy

Covariance matrix as a NumPy array (convenience method).

Returns:

9x9 covariance matrix.

Return type:

numpy.ndarray

Type:

numpy.ndarray

static from_numpy(state_vector, covariance_matrix=None, od_parameters=None, additional_parameters=None, comments=None)
od_parameters

Orbit Determination Parameters.

Type:

Optional[OdParameters]

state_vector

State Vector.

Type:

CdmStateVector

state_vector_numpy

State vector as a NumPy array (convenience method).

Returns:

1D array of shape (6,) containing [X, Y, Z, X_DOT, Y_DOT, Z_DOT]. Units: [km, km, km, km/s, km/s, km/s]

Return type:

numpy.ndarray

Type:

numpy.ndarray

class ccsds_ndm.CdmStateVector(x, y, z, x_dot, y_dot, z_dot)

State Vector containing position and velocity at TCA

Parameters:
  • x (float) – Position X component. Units: km.

  • y (float) – Position Y component. Units: km.

  • z (float) – Position Z component. Units: km.

  • x_dot (float) – Velocity X component. Units: km/s.

  • y_dot (float) – Velocity Y component. Units: km/s.

  • z_dot (float) – Velocity Z component. Units: km/s.

static from_numpy(array)
to_numpy()

Return the state vector as a NumPy array.

Returns:

1D array of shape (6,) containing [X, Y, Z, X_DOT, Y_DOT, Z_DOT]. Units: [km, km, km, km/s, km/s, km/s]

Return type:

numpy.ndarray

Type:

numpy.ndarray

x

Object Position Vector X component.

Units: km

Type:

float

x_dot

Object Velocity Vector X component.

Units: km/s

Type:

float

y

Object Position Vector Y component.

Units: km

Type:

float

y_dot

Object Velocity Vector Y component.

Units: km/s

Type:

float

z

Object Position Vector Z component.

Units: km

Type:

float

z_dot

Object Velocity Vector Z component.

Units: km/s

Type:

float

class ccsds_ndm.CdmCovarianceMatrix(cr_r, ct_r, ct_t, cn_r, cn_t, cn_n, crdot_r, crdot_t, crdot_n, crdot_rdot, ctdot_r, ctdot_t, ctdot_n, ctdot_rdot, ctdot_tdot, cndot_r, cndot_t, cndot_n, cndot_rdot, cndot_tdot, cndot_ndot, cdrg_r=None, cdrg_t=None, cdrg_n=None, cdrg_rdot=None, cdrg_tdot=None, cdrg_ndot=None, cdrg_drg=None, csrp_r=None, csrp_t=None, csrp_n=None, csrp_rdot=None, csrp_tdot=None, csrp_ndot=None, csrp_drg=None, csrp_srp=None, cthr_r=None, cthr_t=None, cthr_n=None, cthr_rdot=None, cthr_tdot=None, cthr_ndot=None, cthr_drg=None, cthr_srp=None, cthr_thr=None, comment=None)

Covariance Matrix.

Parameters:
  • cr_r (float) – Radial position variance. Units: m^2

  • ct_r (float) – Transverse-Radial position covariance. Units: m^2

  • ct_t (float) – Transverse position variance. Units: m^2

  • cn_r (float) – Normal-Radial position covariance. Units: m^2

  • cn_t (float) – Normal-Transverse position covariance. Units: m^2

  • cn_n (float) – Normal position variance. Units: m^2

  • crdot_r (float) – Radial velocity - Radial position covariance. Units: m^2/s

  • crdot_t (float) – Radial velocity - Transverse position covariance. Units: m^2/s

  • crdot_n (float) – Radial velocity - Normal position covariance. Units: m^2/s

  • crdot_rdot (float) – Radial velocity variance. Units: m^2/s^2

  • ctdot_r (float) – Transverse velocity - Radial position covariance. Units: m^2/s

  • ctdot_t (float) – Transverse velocity - Transverse position covariance. Units: m^2/s

  • ctdot_n (float) – Transverse velocity - Normal position covariance. Units: m^2/s

  • ctdot_rdot (float) – Transverse velocity - Radial velocity covariance. Units: m^2/s^2

  • ctdot_tdot (float) – Transverse velocity variance. Units: m^2/s^2

  • cndot_r (float) – Normal velocity - Radial position covariance. Units: m^2/s

  • cndot_t (float) – Normal velocity - Transverse position covariance. Units: m^2/s

  • cndot_n (float) – Normal velocity - Normal position covariance. Units: m^2/s

  • cndot_rdot (float) – Normal velocity - Radial velocity covariance. Units: m^2/s^2

  • cndot_tdot (float) – Normal velocity - Transverse velocity covariance. Units: m^2/s^2

  • cndot_ndot (float) – Normal velocity variance. Units: m^2/s^2

  • cdrg_r (float) – Drag coeff - Radial position covariance.

  • cdrg_t (float) – Drag coeff - Transverse position covariance.

  • cdrg_n (float) – Drag coeff - Normal position covariance.

  • cdrg_rdot (float) – Drag coeff - Radial velocity covariance.

  • cdrg_tdot (float) – Drag coeff - Transverse velocity covariance.

  • cdrg_ndot (float) – Drag coeff - Normal velocity covariance.

  • cdrg_drg (float) – Drag coeff variance.

  • csrp_r (float) – SRP coeff - Radial position covariance.

  • csrp_t (float) – SRP coeff - Transverse position covariance.

  • csrp_n (float) – SRP coeff - Normal position covariance.

  • csrp_rdot (float) – SRP coeff - Radial velocity covariance.

  • csrp_tdot (float) – SRP coeff - Transverse velocity covariance.

  • csrp_ndot (float) – SRP coeff - Normal velocity covariance.

  • csrp_drg (float) – SRP coeff - Drag coeff covariance.

  • csrp_srp (float) – SRP coeff variance.

  • cthr_r (float) – Thrust - Radial position covariance.

  • cthr_t (float) – Thrust - Transverse position covariance.

  • cthr_n (float) – Thrust - Normal position covariance.

  • cthr_rdot (float) – Thrust - Radial velocity covariance.

  • cthr_tdot (float) – Thrust - Transverse velocity covariance.

  • cthr_ndot (float) – Thrust - Normal velocity covariance.

  • cthr_drg (float) – Thrust - Drag coeff covariance.

  • cthr_srp (float) – Thrust - SRP coeff covariance.

  • cthr_thr (float) – Thrust variance.

  • comment (list of str, optional) – Comments.

cdrg_drg

Object covariance matrix [7,7].

Units: m⁴/kg²

Type:

Optional[float]

cdrg_n

Object covariance matrix [7,3].

Units: m³/kg

Type:

Optional[float]

cdrg_ndot

Object covariance matrix [7,6].

Units: m³/(kg*s)

Type:

Optional[float]

cdrg_r

Object covariance matrix [7,1].

Units: m³/kg

Type:

Optional[float]

cdrg_rdot

Object covariance matrix [7,4].

Units: m³/(kg*s)

Type:

Optional[float]

cdrg_t

Object covariance matrix [7,2].

Units: m³/kg

Type:

Optional[float]

cdrg_tdot

Object covariance matrix [7,5].

Units: m³/(kg*s)

Type:

Optional[float]

cn_n

Object covariance matrix [3,3].

Units: m²

Type:

float

cn_r

Object covariance matrix [3,1].

Units: m²

Type:

float

cn_t

Object covariance matrix [3,2].

Units: m²

Type:

float

cndot_n

Object covariance matrix [6,3].

Units: m²/s

Type:

float

cndot_ndot

Object covariance matrix [6,6].

Units: m²/s²

Type:

float

cndot_r

Object covariance matrix [6,1].

Units: m²/s

Type:

float

cndot_rdot

Object covariance matrix [6,4].

Units: m²/s²

Type:

float

cndot_t

Object covariance matrix [6,2].

Units: m²/s

Type:

float

cndot_tdot

Object covariance matrix [6,5].

Units: m²/s²

Type:

float

comment

Comments.

Type:

list[str]

cr_r

Object covariance matrix [1,1].

Units: m²

Type:

float

crdot_n

Object covariance matrix [4,3].

Units: m²/s

Type:

float

crdot_r

Object covariance matrix [4,1].

Units: m²/s

Type:

float

crdot_rdot

Object covariance matrix [4,4].

Units: m²/s²

Type:

float

crdot_t

Object covariance matrix [4,2].

Units: m²/s

Type:

float

csrp_drg

Object covariance matrix [8,7].

Units: m⁴/kg²

Type:

Optional[float]

csrp_n

Object covariance matrix [8,3].

Units: m³/kg

Type:

Optional[float]

csrp_ndot

Object covariance matrix [8,6].

Units: m³/(kg*s)

Type:

Optional[float]

csrp_r

Object covariance matrix [8,1].

Units: m³/kg

Type:

Optional[float]

csrp_rdot

Object covariance matrix [8,4].

Units: m³/(kg*s)

Type:

Optional[float]

csrp_srp

Object covariance matrix [8,8].

Units: m⁴/kg²

Type:

Optional[float]

csrp_t

Object covariance matrix [8,2].

Units: m³/kg

Type:

Optional[float]

csrp_tdot

Object covariance matrix [8,5].

Units: m³/(kg*s)

Type:

Optional[float]

ct_r

Object covariance matrix [2,1].

Units: m²

Type:

float

ct_t

Object covariance matrix [2,2].

Units: m²

Type:

float

ctdot_n

Object covariance matrix [5,3].

Units: m²/s

Type:

float

ctdot_r

Object covariance matrix [5,1].

Units: m²/s

Type:

float

ctdot_rdot

Object covariance matrix [5,4].

Units: m²/s²

Type:

float

ctdot_t

Object covariance matrix [5,2].

Units: m²/s

Type:

float

ctdot_tdot

Object covariance matrix [5,5].

Units: m²/s²

Type:

float

cthr_drg

Object covariance matrix [9,7].

Units: m³/(kg*s²)

Type:

Optional[float]

cthr_n

Object covariance matrix [9,3].

Units: m²/s²

Type:

Optional[float]

cthr_ndot

Object covariance matrix [9,6].

Units: m²/s³

Type:

Optional[float]

cthr_r

Object covariance matrix [9,1].

Units: m²/s²

Type:

Optional[float]

cthr_rdot

Object covariance matrix [9,4].

Units: m²/s³

Type:

Optional[float]

cthr_srp

Object covariance matrix [9,8].

Units: m³/(kg*s²)

Type:

Optional[float]

cthr_t

Object covariance matrix [9,2].

Units: m²/s²

Type:

Optional[float]

cthr_tdot

Object covariance matrix [9,5].

Units: m²/s³

Type:

Optional[float]

cthr_thr

Object covariance matrix [9,9].

Units: m²/s⁴

Type:

Optional[float]

static from_numpy(array, comment=None)
to_numpy()

Returns the covariance matrix as a NumPy array. The size will be 6x6, 7x7, 8x8, or 9x9 depending on whether optional Drag, SRP, and Thrust parameters are provided, as per CCSDS 508.0-B-1.

class ccsds_ndm.RelativeMetadataData(tca, miss_distance, relative_speed=None, relative_position=None, relative_velocity=None, start_screen_period=None, stop_screen_period=None, screen_volume_frame=None, screen_volume_shape=None, screen_volume_x=None, screen_volume_y=None, screen_volume_z=None, screen_entry_time=None, screen_exit_time=None, collision_probability=None, collision_probability_method=None, comment=Ellipsis, miss_distance_unit=None)

Metadata and data describing relative relationships between Object1 and Object2.

This section includes Time of Closest Approach (TCA), miss distance, relative speed, and screening volume information.

Parameters:
  • tca (str) – The date and time in UTC of the closest approach (ISO 8601).

  • miss_distance (float) – The norm of the relative position vector at TCA. Units: m.

  • relative_speed (float, optional) – The norm of the relative velocity vector at TCA. Units: m/s.

  • relative_position (list of float, optional) – The [R, T, N] components of Object2’s position relative to Object1. Units: m.

  • relative_velocity (list of float, optional) – The [R, T, N] components of Object2’s velocity relative to Object1. Units: m/s.

  • start_screen_period (str, optional) – The start time in UTC of the screening period.

  • stop_screen_period (str, optional) – The stop time in UTC of the screening period.

  • screen_volume_frame (Union[ScreenVolumeFrameType, str], optional) – The reference frame for screening volume (RTN or TVN).

  • screen_volume_shape (Union[ScreenVolumeShapeType, str], optional) – The shape of the screening volume (ELLIPSOID or BOX).

  • screen_volume_x (float, optional) – The X component size of the screening volume. Units: m.

  • screen_volume_y (float, optional) – The Y component size of the screening volume. Units: m.

  • screen_volume_z (float, optional) – The Z component size of the screening volume. Units: m.

  • screen_entry_time (str, optional) – The time in UTC when Object2 enters the screening volume.

  • screen_exit_time (str, optional) – The time in UTC when Object2 exits the screening volume.

  • collision_probability (float, optional) – The probability that Object1 and Object2 will collide (0.0 to 1.0).

  • collision_probability_method (str, optional) – The method used to calculate the collision probability.

  • comment (list of str, optional) – Comments.

  • miss_distance_unit (str, optional) – Optional unit string for validation (must be ‘m’).

collision_probability

The probability (denoted ‘p’ where 0.0<=p<=1.0), that Object1 and Object2 will collide. Data type = double.

Type:

Optional[float]

collision_probability_method

The method that was used to calculate the collision probability. (See annex E for definition.)

Type:

Optional[str]

comment

Comments (see 6.3.4 for formatting rules).

Type:

list[str]

miss_distance

The norm of the relative position vector. It indicates how close the two objects are at TCA. Data type = double.

Units: m

Type:

float

relative_speed

The norm of the relative velocity vector. It indicates how fast the two objects are moving relative to each other at TCA. Data type = double.

Units: m/s

Type:

Optional[float]

relative_state_vector

Relative state vector [R, T, N, VR, VT, VN] (combined position and velocity).

Type:

Optional[RelativeStateVector]

screen_entry_time

The time in UTC when Object2 enters the screening volume. (See 6.3.2.6 for formatting rules.)

Type:

Optional[str]

screen_exit_time

The time in UTC when Object2 exits the screening volume. (See 6.3.2.6 for formatting rules.)

Type:

Optional[str]

screen_volume_frame

Name of the Object1 centered reference frame in which the screening volume data are given. Available options are RTN and Transverse, Velocity, and Normal (TVN). (See annex E for definition.)

Type:

Optional[ScreenVolumeFrameType]

screen_volume_shape

ELLIPSOID or BOX.

Type:

Optional[ScreenVolumeShapeType]

Type:

Shape of the screening volume

screen_volume_x

The R or T (depending on if RTN or TVN is selected) component size of the screening volume in the SCREEN_VOLUME_FRAME. Data type = double.

Units: m

Type:

Optional[float]

screen_volume_y

The T or V (depending on if RTN or TVN is selected) component size of the screening volume in the SCREEN_VOLUME_FRAME. Data type = double.

Units: m

Type:

Optional[float]

screen_volume_z

The N component size of the screening volume in the SCREEN_VOLUME_FRAME. Data type = double.

Units: m

Type:

Optional[float]

start_screen_period

The start time in UTC of the screening period for the conjunction assessment. (See 6.3.2.6 for formatting rules.)

Type:

Optional[str]

stop_screen_period

The stop time in UTC of the screening period for the conjunction assessment. (See 6.3.2.6 for formatting rules.)

Type:

Optional[str]

tca

The date and time in UTC of the closest approach. (See 6.3.2.6 for formatting rules.)

Type:

str

class ccsds_ndm.AdditionalParameters(area_pc, area_drg, area_srp, mass, cd_area_over_mass, cr_area_over_mass, thrust_acceleration, sedr, comment)

Additional Parameters.

Parameters:
  • area_pc (float, optional) – Projected area. Units: m^2

  • area_drg (float, optional) – Drag area. Units: m^2

  • area_srp (float, optional) – SRP area. Units: m^2

  • mass (float, optional) – Mass. Units: kg

  • cd_area_over_mass (float, optional) – Drag coefficient * Area / Mass. Units: m^2/kg

  • cr_area_over_mass (float, optional) – Reflectivity coefficient * Area / Mass. Units: m^2/kg

  • thrust_acceleration (float, optional) – Thrust acceleration. Units: m/s^2

  • sedr (float, optional) – Solar energy dissipation rate. Units: W/kg

  • comment (list of str, optional) – Comments.

area_drg

The effective area of the object exposed to atmospheric drag. (See annex E for definition.)

Units: m²

Type:

Optional[float]

area_pc

The actual area of the object. (See annex E for definition.)

Units: m²

Type:

Optional[float]

area_srp

The effective area of the object exposed to solar radiation pressure. (See annex E for definition.)

Units: m²

Type:

Optional[float]

cd_area_over_mass

The object’s CD•A/m used to propagate the state vector and covariance to TCA. (See annex E for definition.)

Units: m²/kg

Type:

Optional[float]

comment

Comments (see 6.3.4 for formatting rules).

Type:

list[str]

cr_area_over_mass

The object’s CR•A/m used to propagate the state vector and covariance to TCA. (See annex E for definition.)

Units: m²/kg

Type:

Optional[float]

mass

The mass of the object.

Units: kg

Type:

Optional[float]

sedr

The amount of energy being removed from the object’s orbit by atmospheric drag. This value is an average calculated during the OD.

Units: W/kg

Type:

Optional[float]

thrust_acceleration

The object’s acceleration due to in-track thrust used to propagate the state vector and covariance to TCA. (See annex E for definition.)

Units: m/s²

Type:

Optional[float]

class ccsds_ndm.OdParameters(time_lastob_start=None, time_lastob_end=None, recommended_od_span=None, actual_od_span=None, obs_available=None, obs_used=None, tracks_available=None, tracks_used=None, residuals_accepted=None, weighted_rms=None, comment=Ellipsis)

Orbit Determination Parameters.

Parameters:
  • time_lastob_start (str, optional) – Time of last observation start.

  • time_lastob_end (str, optional) – Time of last observation end.

  • recommended_od_span (float, optional) – Recommended OD span. Units: d

  • actual_od_span (float, optional) – Actual OD span. Units: d

  • obs_available (int, optional) – Observations available.

  • obs_used (int, optional) – Observations used.

  • tracks_available (int, optional) – Tracks available.

  • tracks_used (int, optional) – Tracks used.

  • residuals_accepted (float, optional) – Residuals accepted. Units: %

  • weighted_rms (float, optional) – Weighted RMS.

  • comment (list of str, optional) – Comments.

actual_od_span

Based on the observations available and the RECOMMENDED_OD_SPAN, the actual time span used for the OD of the object. (See annex E for definition.)

Examples: 14, 20.0

Units: days

Type:

Optional[float]

comment

Comments (see 6.3.4 for formatting rules).

Type:

list[str]

obs_available

The total number of observations available for orbit determination.

Type:

Optional[int]

obs_used

The number of observations used in the orbit determination.

Type:

Optional[int]

recommended_od_span

The recommended OD time span calculated for the object.

Examples: 14, 20.0

Units: days

Type:

Optional[float]

residuals_accepted

The percentage of residuals accepted during orbit determination.

Units: %

Type:

Optional[float]

time_lastob_end

The end of a time interval (UTC) that contains the time of the last accepted observation. (See 6.3.2.6 for formatting rules.) For an exact time, the time interval is of zero duration (i.e., same value as that of TIME_LASTOB_START).

Type:

Optional[str]

time_lastob_start

The start of a time interval (UTC) that contains the time of the last accepted observation. (See 6.3.2.6 for formatting rules.) For an exact time, the time interval is of zero duration (i.e., same value as that of TIME_LASTOB_END).

Type:

Optional[str]

tracks_available

The total number of tracks available for orbit determination.

Type:

Optional[int]

tracks_used

The number of tracks used in the orbit determination.

Type:

Optional[int]

weighted_rms

The weighted root mean square (RMS) of the residuals.

Type:

Optional[float]

Enums

class ccsds_ndm.CdmObjectType

Covariance Matrix at TCA.

Provides uncertainty information for the state vector. Can be converted to a NumPy array using to_numpy().

Object1 = CdmObjectType.OBJECT1
Object2 = CdmObjectType.OBJECT2
class ccsds_ndm.ScreenVolumeFrameType
Rtn = ScreenVolumeFrameType.RTN
Tvn = ScreenVolumeFrameType.TVN
class ccsds_ndm.ScreenVolumeShapeType
Box = ScreenVolumeShapeType.BOX
Ellipsoid = ScreenVolumeShapeType.ELLIPSOID
class ccsds_ndm.ReferenceFrameType
Eme2000 = ReferenceFrameType.EME2000
Gcrf = ReferenceFrameType.GCRF
Itrf = ReferenceFrameType.ITRF
class ccsds_ndm.CovarianceMethodType
Calculated = CovarianceMethodType.CALCULATED
Default = CovarianceMethodType.DEFAULT
class ccsds_ndm.ManeuverableType
NA = ManeuverableType.N/A
No = ManeuverableType.NO
Yes = ManeuverableType.YES
class ccsds_ndm.ObjectDescription
Debris = ObjectDescription.DEBRIS
Other = ObjectDescription.OTHER
Payload = ObjectDescription.PAYLOAD
RocketBody = ObjectDescription.ROCKET BODY
Unknown = ObjectDescription.UNKNOWN