Source code for ccsds_ndm.models.ndmxml1.ndmxml_1_0_tdm_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 enum import Enum

from ccsds_ndm.models.ndmxml1.ndmxml_1_0_navwg_common import (
    AngleType,
    NdmHeader,
    TimeSystemType,
    YesNoType,
)

__NAMESPACE__ = "urn:ccsds:recommendation:navigation:schema:ndmxml"


[docs] class AngleTypeType(Enum): AZEL = "AZEL" AZEL_1 = "azel" RADEC = "RADEC" RADEC_1 = "radec" XEYN = "XEYN" XEYN_1 = "xeyn" XSYE = "XSYE" XSYE_1 = "xsye"
[docs] class DataQualityType(Enum): RAW = "raw" RAW_1 = "RAW" VALIDATED = "validated" VALIDATED_1 = "VALIDATED" DEGRADED = "degraded" DEGRADED_1 = "DEGRADED"
[docs] class IntegrationRefType(Enum): START = "START" START_1 = "start" MIDDLE = "MIDDLE" MIDDLE_1 = "middle" END = "END" END_1 = "end"
[docs] class ModeType(Enum): SEQUENTIAL = "SEQUENTIAL" SEQUENTIAL_1 = "sequential" SINGLE_DIFF = "SINGLE_DIFF" SINGLE_DIFF_1 = "single_diff"
[docs] class RangeUnitsType(Enum): KM = "km" KM_1 = "KM" RU = "ru" RU_1 = "RU" S = "s" S_1 = "S"
[docs] class RangemodeType(Enum): COHERENT = "coherent" COHERENT_1 = "COHERENT" CONSTANT = "constant" CONSTANT_1 = "CONSTANT" ONE_WAY = "one_way" ONE_WAY_1 = "ONE_WAY"
[docs] class RefFrameType(Enum): EME2000 = "EME2000" EME2000_1 = "eme2000" ICRF = "ICRF" ICRF_1 = "icrf" ITRF2000 = "ITRF2000" ITRF2000_1 = "itrf2000" ITRF_93 = "ITRF-93" ITRF_93_1 = "itrf-93" ITRF_97 = "ITRF-97" ITRF_97_1 = "itrf-97" TOD = "TOD" TOD_1 = "tod"
[docs] class TimetagRefType(Enum): TRANSMIT = "TRANSMIT" TRANSMIT_1 = "transmit" RECEIVE = "RECEIVE" RECEIVE_1 = "receive"
[docs] @dataclass(kw_only=True) class TdmMetadata: class Meta: name = "tdmMetadata" comment: list[str] = field( default_factory=list, metadata={ "name": "COMMENT", "type": "Element", "namespace": "", }, ) time_system: TimeSystemType = field( metadata={ "name": "TIME_SYSTEM", "type": "Element", "namespace": "", "required": True, } ) start_time: None | str = field( default=None, metadata={ "name": "START_TIME", "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*)?", }, ) stop_time: None | str = field( default=None, metadata={ "name": "STOP_TIME", "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*)?", }, ) participant_1: str = field( metadata={ "name": "PARTICIPANT_1", "type": "Element", "namespace": "", "required": True, } ) participant_2: None | str = field( default=None, metadata={ "name": "PARTICIPANT_2", "type": "Element", "namespace": "", }, ) participant_3: None | str = field( default=None, metadata={ "name": "PARTICIPANT_3", "type": "Element", "namespace": "", }, ) participant_4: None | str = field( default=None, metadata={ "name": "PARTICIPANT_4", "type": "Element", "namespace": "", }, ) participant_5: None | str = field( default=None, metadata={ "name": "PARTICIPANT_5", "type": "Element", "namespace": "", }, ) mode: None | ModeType = field( default=None, metadata={ "name": "MODE", "type": "Element", "namespace": "", }, ) path: None | str = field( default=None, metadata={ "name": "PATH", "type": "Element", "namespace": "", "pattern": r"\d{1},\d{1}(,\d{1})*", }, ) path_1: None | str = field( default=None, metadata={ "name": "PATH_1", "type": "Element", "namespace": "", "pattern": r"\d{1},\d{1}(,\d{1})*", }, ) path_2: None | str = field( default=None, metadata={ "name": "PATH_2", "type": "Element", "namespace": "", "pattern": r"\d{1},\d{1}(,\d{1})*", }, ) transmit_band: None | str = field( default=None, metadata={ "name": "TRANSMIT_BAND", "type": "Element", "namespace": "", }, ) receive_band: None | str = field( default=None, metadata={ "name": "RECEIVE_BAND", "type": "Element", "namespace": "", }, ) turnaround_numerator: None | int = field( default=None, metadata={ "name": "TURNAROUND_NUMERATOR", "type": "Element", "namespace": "", }, ) turnaround_denominator: None | int = field( default=None, metadata={ "name": "TURNAROUND_DENOMINATOR", "type": "Element", "namespace": "", }, ) timetag_ref: None | TimetagRefType = field( default=None, metadata={ "name": "TIMETAG_REF", "type": "Element", "namespace": "", }, ) integration_interval: None | float = field( default=None, metadata={ "name": "INTEGRATION_INTERVAL", "type": "Element", "namespace": "", "min_exclusive": 0.0, }, ) integration_ref: None | IntegrationRefType = field( default=None, metadata={ "name": "INTEGRATION_REF", "type": "Element", "namespace": "", }, ) freq_offset: None | float = field( default=None, metadata={ "name": "FREQ_OFFSET", "type": "Element", "namespace": "", }, ) range_mode: None | RangemodeType = field( default=None, metadata={ "name": "RANGE_MODE", "type": "Element", "namespace": "", }, ) range_modulus: None | float = field( default=None, metadata={ "name": "RANGE_MODULUS", "type": "Element", "namespace": "", "min_inclusive": 0.0, }, ) range_units: None | RangeUnitsType = field( default=None, metadata={ "name": "RANGE_UNITS", "type": "Element", "namespace": "", }, ) angle_type: None | AngleTypeType = field( default=None, metadata={ "name": "ANGLE_TYPE", "type": "Element", "namespace": "", }, ) reference_frame: None | RefFrameType = field( default=None, metadata={ "name": "REFERENCE_FRAME", "type": "Element", "namespace": "", }, ) transmit_delay_1: None | float = field( default=None, metadata={ "name": "TRANSMIT_DELAY_1", "type": "Element", "namespace": "", "min_inclusive": 0.0, }, ) transmit_delay_2: None | float = field( default=None, metadata={ "name": "TRANSMIT_DELAY_2", "type": "Element", "namespace": "", "min_inclusive": 0.0, }, ) transmit_delay_3: None | float = field( default=None, metadata={ "name": "TRANSMIT_DELAY_3", "type": "Element", "namespace": "", "min_inclusive": 0.0, }, ) transmit_delay_4: None | float = field( default=None, metadata={ "name": "TRANSMIT_DELAY_4", "type": "Element", "namespace": "", "min_inclusive": 0.0, }, ) transmit_delay_5: None | float = field( default=None, metadata={ "name": "TRANSMIT_DELAY_5", "type": "Element", "namespace": "", "min_inclusive": 0.0, }, ) receive_delay_1: None | float = field( default=None, metadata={ "name": "RECEIVE_DELAY_1", "type": "Element", "namespace": "", "min_inclusive": 0.0, }, ) receive_delay_2: None | float = field( default=None, metadata={ "name": "RECEIVE_DELAY_2", "type": "Element", "namespace": "", "min_inclusive": 0.0, }, ) receive_delay_3: None | float = field( default=None, metadata={ "name": "RECEIVE_DELAY_3", "type": "Element", "namespace": "", "min_inclusive": 0.0, }, ) receive_delay_4: None | float = field( default=None, metadata={ "name": "RECEIVE_DELAY_4", "type": "Element", "namespace": "", "min_inclusive": 0.0, }, ) receive_delay_5: None | float = field( default=None, metadata={ "name": "RECEIVE_DELAY_5", "type": "Element", "namespace": "", "min_inclusive": 0.0, }, ) data_quality: None | DataQualityType = field( default=None, metadata={ "name": "DATA_QUALITY", "type": "Element", "namespace": "", }, ) correction_angle_1: None | float = field( default=None, metadata={ "name": "CORRECTION_ANGLE_1", "type": "Element", "namespace": "", }, ) correction_angle_2: None | float = field( default=None, metadata={ "name": "CORRECTION_ANGLE_2", "type": "Element", "namespace": "", }, ) correction_doppler: None | float = field( default=None, metadata={ "name": "CORRECTION_DOPPLER", "type": "Element", "namespace": "", }, ) correction_range: None | float = field( default=None, metadata={ "name": "CORRECTION_RANGE", "type": "Element", "namespace": "", }, ) correction_receive: None | float = field( default=None, metadata={ "name": "CORRECTION_RECEIVE", "type": "Element", "namespace": "", }, ) correction_transmit: None | float = field( default=None, metadata={ "name": "CORRECTION_TRANSMIT", "type": "Element", "namespace": "", }, ) corrections_applied: None | YesNoType = field( default=None, metadata={ "name": "CORRECTIONS_APPLIED", "type": "Element", "namespace": "", }, )
[docs] @dataclass(kw_only=True) class TrackingDataObservationType: class Meta: name = "trackingDataObservationType" epoch: str = field( metadata={ "name": "EPOCH", "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*)?", } ) angle_1: None | AngleType = field( default=None, metadata={ "name": "ANGLE_1", "type": "Element", "namespace": "", }, ) angle_2: None | AngleType = field( default=None, metadata={ "name": "ANGLE_2", "type": "Element", "namespace": "", }, ) carrier_power: None | float = field( default=None, metadata={ "name": "CARRIER_POWER", "type": "Element", "namespace": "", }, ) clock_bias: None | float = field( default=None, metadata={ "name": "CLOCK_BIAS", "type": "Element", "namespace": "", }, ) clock_drift: None | float = field( default=None, metadata={ "name": "CLOCK_DRIFT", "type": "Element", "namespace": "", }, ) doppler_instantaneous: None | float = field( default=None, metadata={ "name": "DOPPLER_INSTANTANEOUS", "type": "Element", "namespace": "", }, ) doppler_integrated: None | float = field( default=None, metadata={ "name": "DOPPLER_INTEGRATED", "type": "Element", "namespace": "", }, ) dor: None | float = field( default=None, metadata={ "name": "DOR", "type": "Element", "namespace": "", }, ) pc_n0: None | float = field( default=None, metadata={ "name": "PC_N0", "type": "Element", "namespace": "", }, ) pr_n0: None | float = field( default=None, metadata={ "name": "PR_N0", "type": "Element", "namespace": "", }, ) pressure: None | float = field( default=None, metadata={ "name": "PRESSURE", "type": "Element", "namespace": "", }, ) range: None | float = field( default=None, metadata={ "name": "RANGE", "type": "Element", "namespace": "", }, ) receive_freq: None | float = field( default=None, metadata={ "name": "RECEIVE_FREQ", "type": "Element", "namespace": "", }, ) receive_freq_1: None | float = field( default=None, metadata={ "name": "RECEIVE_FREQ_1", "type": "Element", "namespace": "", }, ) receive_freq_2: None | float = field( default=None, metadata={ "name": "RECEIVE_FREQ_2", "type": "Element", "namespace": "", }, ) receive_freq_3: None | float = field( default=None, metadata={ "name": "RECEIVE_FREQ_3", "type": "Element", "namespace": "", }, ) receive_freq_4: None | float = field( default=None, metadata={ "name": "RECEIVE_FREQ_4", "type": "Element", "namespace": "", }, ) receive_freq_5: None | float = field( default=None, metadata={ "name": "RECEIVE_FREQ_5", "type": "Element", "namespace": "", }, ) rhumidity: None | float = field( default=None, metadata={ "name": "RHUMIDITY", "type": "Element", "namespace": "", "min_inclusive": 0.0, "max_inclusive": 100.0, }, ) stec: None | float = field( default=None, metadata={ "name": "STEC", "type": "Element", "namespace": "", }, ) temperature: None | float = field( default=None, metadata={ "name": "TEMPERATURE", "type": "Element", "namespace": "", "min_inclusive": 0.0, }, ) transmit_freq_1: None | float = field( default=None, metadata={ "name": "TRANSMIT_FREQ_1", "type": "Element", "namespace": "", "min_exclusive": 0.0, }, ) transmit_freq_2: None | float = field( default=None, metadata={ "name": "TRANSMIT_FREQ_2", "type": "Element", "namespace": "", "min_exclusive": 0.0, }, ) transmit_freq_3: None | float = field( default=None, metadata={ "name": "TRANSMIT_FREQ_3", "type": "Element", "namespace": "", "min_exclusive": 0.0, }, ) transmit_freq_4: None | float = field( default=None, metadata={ "name": "TRANSMIT_FREQ_4", "type": "Element", "namespace": "", "min_exclusive": 0.0, }, ) transmit_freq_5: None | float = field( default=None, metadata={ "name": "TRANSMIT_FREQ_5", "type": "Element", "namespace": "", "min_exclusive": 0.0, }, ) transmit_freq_rate_1: None | float = field( default=None, metadata={ "name": "TRANSMIT_FREQ_RATE_1", "type": "Element", "namespace": "", }, ) transmit_freq_rate_2: None | float = field( default=None, metadata={ "name": "TRANSMIT_FREQ_RATE_2", "type": "Element", "namespace": "", }, ) transmit_freq_rate_3: None | float = field( default=None, metadata={ "name": "TRANSMIT_FREQ_RATE_3", "type": "Element", "namespace": "", }, ) transmit_freq_rate_4: None | float = field( default=None, metadata={ "name": "TRANSMIT_FREQ_RATE_4", "type": "Element", "namespace": "", }, ) transmit_freq_rate_5: None | float = field( default=None, metadata={ "name": "TRANSMIT_FREQ_RATE_5", "type": "Element", "namespace": "", }, ) tropo_dry: None | float = field( default=None, metadata={ "name": "TROPO_DRY", "type": "Element", "namespace": "", "min_inclusive": 0.0, }, ) tropo_wet: None | float = field( default=None, metadata={ "name": "TROPO_WET", "type": "Element", "namespace": "", "min_inclusive": 0.0, }, ) vlbi_delay: None | float = field( default=None, metadata={ "name": "VLBI_DELAY", "type": "Element", "namespace": "", }, )
[docs] @dataclass(kw_only=True) class TdmData: class Meta: name = "tdmData" comment: list[str] = field( default_factory=list, metadata={ "name": "COMMENT", "type": "Element", "namespace": "", }, ) observation: list[TrackingDataObservationType] = field( default_factory=list, metadata={ "type": "Element", "namespace": "", "min_occurs": 1, }, )
[docs] @dataclass(kw_only=True) class TdmSegment: class Meta: name = "tdmSegment" metadata: TdmMetadata = field( metadata={ "type": "Element", "namespace": "", "required": True, } ) data: TdmData = field( metadata={ "type": "Element", "namespace": "", "required": True, } )
[docs] @dataclass(kw_only=True) class TdmBody: class Meta: name = "tdmBody" segment: list[TdmSegment] = field( default_factory=list, metadata={ "type": "Element", "namespace": "", "min_occurs": 1, }, )
[docs] @dataclass(kw_only=True) class TdmType: class Meta: name = "tdmType" header: NdmHeader = field( metadata={ "type": "Element", "namespace": "", "required": True, } ) body: TdmBody = field( metadata={ "type": "Element", "namespace": "", "required": True, } ) id: str = field( init=False, default="CCSDS_TDM_VERS", metadata={ "type": "Attribute", "required": True, }, ) version: str = field( init=False, default="1.0", metadata={ "type": "Attribute", "required": True, }, )