def __init__(self, AZ_index, CSN, EL_index, Last_EL, Elevation_Angle, nMoments, nREF_gates, nVEL_gates, nSW_gates): ''' Constructor ''' self.Last_EL = Last_EL self.nMoments = nMoments self.nREF_gates = nREF_gates self.nVEL_gates = nVEL_gates self.nSW_gates = nSW_gates jd, mo = CONVERSIONS.JulianDate_msec() self.RDA_Id = 'CCMW' self.collection_Time = mo self.Modified_Julian_Date = jd self.azimuth_Number = AZ_index + 1 # Starts at 1 self.azimuth_Angle = AZ_SECTOR_WIDTH * AZ_index self.compression_Indicator = 0 # Uncompressed self.azimuth_Resolution_Spacing = 2 # 1deg self.radial_Status = self.get_Radial_Status(AZ_index, EL_index) self.elevation_Number = EL_index + 1 # Starts at 1 self.cut_Sector_Number = CSN self.elevation_Angle = Elevation_Angle self.radial_Spot_Blanking_Status = 0 # None self.aszimuth_Indexing_Mode = 0 # no indexing self.data_Block_Count = 3 + nMoments #TODO check this value self.data_Block_pointers = self.get_DB_pointers() # Length in bytes including header self.radial_Length = 160 + nREF_gates if nVEL_gates > 0: self.radial_Length += 28 + nVEL_gates if nSW_gates > 0: self.radial_Length += 28 + nSW_gates
def __init__(self): ''' Constructor ''' jd, mo = CONVERSIONS.JulianDate_msec() self.generation_date = jd self.generation_time = mo / 60000 # from msec to min self.number_of_segments = 1
def construc_Msg_Header(self, size, m_type, n_segments, segment_n, fsequence_number, RDA_Redundant_Channel): jd, mo = CONVERSIONS.JulianDate_msec() self.message_size = size # halfwords self.RDA_Redundant_Channel = RDA_Redundant_Channel self.message_Type = m_type self.id_sequence_number = fsequence_number self.julian_date = jd self.milliseconds_of_day = mo self.number_of_message_segments = n_segments self.message_segment_number = segment_n return self.get_Stream()