Source code for ccsds_ndm.models.ndmxml1.ndmxml_1_0_rdm_1_0
"""This file was generated by xsdata, v26.1, on 2026-02-18 00:40:52
Generator: DataclassGenerator
See: https://xsdata.readthedocs.io/
"""
from __future__ import annotations
from dataclasses import dataclass, field
from ccsds_ndm.models.ndmxml1.ndmxml_1_0_navwg_common import (
AtmosphericReentryParametersType,
ControlledType,
DisintegrationType,
DistanceType,
GroundImpactParametersType,
ImpactUncertaintyType,
ObjectDescriptionType,
OdParametersType,
OpmCovarianceMatrixType,
RdmSpacecraftParametersType,
ReentryUncertaintyMethodType,
StateVectorType,
UserDefinedType,
YesNoType,
)
__NAMESPACE__ = "urn:ccsds:recommendation:navigation:schema:ndmxml"
[docs]
@dataclass(kw_only=True)
class RdmHeader:
class Meta:
name = "rdmHeader"
comment: list[str] = field(
default_factory=list,
metadata={
"name": "COMMENT",
"type": "Element",
"namespace": "",
},
)
creation_date: str = field(
metadata={
"name": "CREATION_DATE",
"type": "Element",
"namespace": "",
"required": True,
"pattern": r"\-?\d{4}\d*-((\d{2}\-\d{2})|\d{3})T\d{2}:\d{2}:\d{2}(\.\d*)?(Z|[+|\-]\d{2}:\d{2})?|[+|\-]?\d*(\.\d*)?",
}
)
originator: str = field(
metadata={
"name": "ORIGINATOR",
"type": "Element",
"namespace": "",
"required": True,
}
)
message_id: str = field(
metadata={
"name": "MESSAGE_ID",
"type": "Element",
"namespace": "",
"required": True,
}
)
[docs]
@dataclass(kw_only=True)
class RdmData:
class Meta:
name = "rdmData"
comment: list[str] = field(
default_factory=list,
metadata={
"name": "COMMENT",
"type": "Element",
"namespace": "",
},
)
atmospheric_reentry_parameters: AtmosphericReentryParametersType = field(
metadata={
"name": "atmosphericReentryParameters",
"type": "Element",
"namespace": "",
"required": True,
}
)
ground_impact_parameters: None | GroundImpactParametersType = field(
default=None,
metadata={
"name": "groundImpactParameters",
"type": "Element",
"namespace": "",
},
)
state_vector: None | StateVectorType = field(
default=None,
metadata={
"name": "stateVector",
"type": "Element",
"namespace": "",
},
)
covariance_matrix: None | OpmCovarianceMatrixType = field(
default=None,
metadata={
"name": "covarianceMatrix",
"type": "Element",
"namespace": "",
},
)
spacecraft_parameters: None | RdmSpacecraftParametersType = field(
default=None,
metadata={
"name": "spacecraftParameters",
"type": "Element",
"namespace": "",
},
)
od_parameters: None | OdParametersType = field(
default=None,
metadata={
"name": "odParameters",
"type": "Element",
"namespace": "",
},
)
user_defined_parameters: None | UserDefinedType = field(
default=None,
metadata={
"name": "userDefinedParameters",
"type": "Element",
"namespace": "",
},
)
[docs]
@dataclass(kw_only=True)
class RdmMetadata:
class Meta:
name = "rdmMetadata"
comment: list[str] = field(
default_factory=list,
metadata={
"name": "COMMENT",
"type": "Element",
"namespace": "",
},
)
object_name: str = field(
metadata={
"name": "OBJECT_NAME",
"type": "Element",
"namespace": "",
"required": True,
}
)
international_designator: str = field(
metadata={
"name": "INTERNATIONAL_DESIGNATOR",
"type": "Element",
"namespace": "",
"required": True,
}
)
catalog_name: None | str = field(
default=None,
metadata={
"name": "CATALOG_NAME",
"type": "Element",
"namespace": "",
},
)
object_designator: None | str = field(
default=None,
metadata={
"name": "OBJECT_DESIGNATOR",
"type": "Element",
"namespace": "",
},
)
object_type: None | ObjectDescriptionType = field(
default=None,
metadata={
"name": "OBJECT_TYPE",
"type": "Element",
"namespace": "",
},
)
object_owner: None | str = field(
default=None,
metadata={
"name": "OBJECT_OWNER",
"type": "Element",
"namespace": "",
},
)
object_operator: None | str = field(
default=None,
metadata={
"name": "OBJECT_OPERATOR",
"type": "Element",
"namespace": "",
},
)
controlled_reentry: ControlledType = field(
metadata={
"name": "CONTROLLED_REENTRY",
"type": "Element",
"namespace": "",
"required": True,
}
)
center_name: str = field(
metadata={
"name": "CENTER_NAME",
"type": "Element",
"namespace": "",
"required": True,
}
)
time_system: str = field(
metadata={
"name": "TIME_SYSTEM",
"type": "Element",
"namespace": "",
"required": True,
}
)
epoch_tzero: str = field(
metadata={
"name": "EPOCH_TZERO",
"type": "Element",
"namespace": "",
"required": True,
"pattern": r"\-?\d{4}\d*-((\d{2}\-\d{2})|\d{3})T\d{2}:\d{2}:\d{2}(\.\d*)?(Z|[+|\-]\d{2}:\d{2})?|[+|\-]?\d*(\.\d*)?",
}
)
ref_frame: None | str = field(
default=None,
metadata={
"name": "REF_FRAME",
"type": "Element",
"namespace": "",
},
)
ref_frame_epoch: None | str = field(
default=None,
metadata={
"name": "REF_FRAME_EPOCH",
"type": "Element",
"namespace": "",
"pattern": r"\-?\d{4}\d*-((\d{2}\-\d{2})|\d{3})T\d{2}:\d{2}:\d{2}(\.\d*)?(Z|[+|\-]\d{2}:\d{2})?|[+|\-]?\d*(\.\d*)?",
},
)
ephemeris_name: None | str = field(
default=None,
metadata={
"name": "EPHEMERIS_NAME",
"type": "Element",
"namespace": "",
},
)
gravity_model: None | str = field(
default=None,
metadata={
"name": "GRAVITY_MODEL",
"type": "Element",
"namespace": "",
},
)
atmospheric_model: None | str = field(
default=None,
metadata={
"name": "ATMOSPHERIC_MODEL",
"type": "Element",
"namespace": "",
},
)
solar_flux_prediction: None | str = field(
default=None,
metadata={
"name": "SOLAR_FLUX_PREDICTION",
"type": "Element",
"namespace": "",
},
)
n_body_perturbations: None | str = field(
default=None,
metadata={
"name": "N_BODY_PERTURBATIONS",
"type": "Element",
"namespace": "",
},
)
solar_rad_pressure: None | str = field(
default=None,
metadata={
"name": "SOLAR_RAD_PRESSURE",
"type": "Element",
"namespace": "",
},
)
earth_tides: None | str = field(
default=None,
metadata={
"name": "EARTH_TIDES",
"type": "Element",
"namespace": "",
},
)
intrack_thrust: None | YesNoType = field(
default=None,
metadata={
"name": "INTRACK_THRUST",
"type": "Element",
"namespace": "",
},
)
drag_parameters_source: None | str = field(
default=None,
metadata={
"name": "DRAG_PARAMETERS_SOURCE",
"type": "Element",
"namespace": "",
},
)
drag_parameters_altitude: None | DistanceType = field(
default=None,
metadata={
"name": "DRAG_PARAMETERS_ALTITUDE",
"type": "Element",
"namespace": "",
},
)
reentry_uncertainty_method: None | ReentryUncertaintyMethodType = field(
default=None,
metadata={
"name": "REENTRY_UNCERTAINTY_METHOD",
"type": "Element",
"namespace": "",
},
)
reentry_disintegration: None | DisintegrationType = field(
default=None,
metadata={
"name": "REENTRY_DISINTEGRATION",
"type": "Element",
"namespace": "",
},
)
impact_uncertainty_method: None | ImpactUncertaintyType = field(
default=None,
metadata={
"name": "IMPACT_UNCERTAINTY_METHOD",
"type": "Element",
"namespace": "",
},
)
previous_message_id: None | str = field(
default=None,
metadata={
"name": "PREVIOUS_MESSAGE_ID",
"type": "Element",
"namespace": "",
},
)
previous_message_epoch: None | str = field(
default=None,
metadata={
"name": "PREVIOUS_MESSAGE_EPOCH",
"type": "Element",
"namespace": "",
"pattern": r"\-?\d{4}\d*-((\d{2}\-\d{2})|\d{3})T\d{2}:\d{2}:\d{2}(\.\d*)?(Z|[+|\-]\d{2}:\d{2})?|[+|\-]?\d*(\.\d*)?",
},
)
next_message_epoch: None | str = field(
default=None,
metadata={
"name": "NEXT_MESSAGE_EPOCH",
"type": "Element",
"namespace": "",
"pattern": r"\-?\d{4}\d*-((\d{2}\-\d{2})|\d{3})T\d{2}:\d{2}:\d{2}(\.\d*)?(Z|[+|\-]\d{2}:\d{2})?|[+|\-]?\d*(\.\d*)?",
},
)
[docs]
@dataclass(kw_only=True)
class RdmSegment:
class Meta:
name = "rdmSegment"
metadata: RdmMetadata = field(
metadata={
"type": "Element",
"namespace": "",
"required": True,
}
)
data: RdmData = field(
metadata={
"type": "Element",
"namespace": "",
"required": True,
}
)
[docs]
@dataclass(kw_only=True)
class RdmBody:
class Meta:
name = "rdmBody"
segment: RdmSegment = field(
metadata={
"type": "Element",
"namespace": "",
"required": True,
}
)
[docs]
@dataclass(kw_only=True)
class RdmType:
class Meta:
name = "rdmType"
header: RdmHeader = field(
metadata={
"type": "Element",
"namespace": "",
"required": True,
}
)
body: RdmBody = field(
metadata={
"type": "Element",
"namespace": "",
"required": True,
}
)
id: str = field(
init=False,
default="CCSDS_RDM_VERS",
metadata={
"type": "Attribute",
"required": True,
},
)
version: str = field(
init=False,
default="1.0",
metadata={
"type": "Attribute",
"required": True,
},
)