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 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,
},
)