From 236801c7871e3d2bfc2d00e8f9dfa4f517c20022 Mon Sep 17 00:00:00 2001 From: Satoshi Ikari Date: Wed, 8 Nov 2023 15:32:43 +0100 Subject: [PATCH 1/8] Add ANTEX file reader --- src/library/CMakeLists.txt | 1 + src/library/gnss/antex_file_reader.cpp | 154 + src/library/gnss/antex_file_reader.hpp | 197 + src/library/gnss/example.atx | 4167 +++++++++++++++++++ src/library/gnss/test_antex_file_reader.cpp | 145 + 5 files changed, 4664 insertions(+) create mode 100644 src/library/gnss/antex_file_reader.cpp create mode 100644 src/library/gnss/antex_file_reader.hpp create mode 100644 src/library/gnss/example.atx create mode 100644 src/library/gnss/test_antex_file_reader.cpp diff --git a/src/library/CMakeLists.txt b/src/library/CMakeLists.txt index 6acea3bab..64795279a 100644 --- a/src/library/CMakeLists.txt +++ b/src/library/CMakeLists.txt @@ -9,6 +9,7 @@ add_library(${PROJECT_NAME} STATIC gnss/sp3_file_reader.cpp gnss/gnss_satellite_number.cpp + gnss/antex_file_reader.cpp initialize/initialize_file_access.cpp initialize/c2a_command_database.cpp diff --git a/src/library/gnss/antex_file_reader.cpp b/src/library/gnss/antex_file_reader.cpp new file mode 100644 index 000000000..ea6db89c0 --- /dev/null +++ b/src/library/gnss/antex_file_reader.cpp @@ -0,0 +1,154 @@ +/** + * @file antex_file_reader.hpp + * @brief Read ANTEX format file + */ +#define _CRT_SECURE_NO_WARNINGS // for sscanf + +#include "antex_file_reader.hpp" + +#include +#include +#include + +#define ANTEX_LINE_TYPE_POSITION (60) + +bool AntexFileReader::ReadFile(const std::string file_name) { + // File open + std::ifstream antex_file(file_name); + if (!antex_file.is_open()) { + std::cout << "[Warning] Antex file not found: " << file_name << std::endl; + return false; + } + + while (antex_file.peek() != EOF) { + std::string line; + std::getline(antex_file, line); + // Skip short line + if (line.size() < ANTEX_LINE_TYPE_POSITION) { + continue; + } + // Skip comments + if (line.find("COMMENT") == ANTEX_LINE_TYPE_POSITION) { + continue; + } + // Start antenna + if (line.find("START OF ANTENNA") == ANTEX_LINE_TYPE_POSITION) { + ReadAntexData(antex_file); + } + } + + // Read epoch wise data + antex_file.close(); + return true; +} + +void AntexFileReader::ReadAntexData(std::ifstream& antex_file) { + AntexSatelliteData antex_data; + + std::string line; + while (1) { + std::getline(antex_file, line); + + // Type and Serial No. + if (line.find("TYPE / SERIAL NO") == ANTEX_LINE_TYPE_POSITION) { + std::string antenna_type = line.substr(0, 20); + std::string serial_number = line.substr(20, 20); + size_t satellite_index = ConvertSatelliteNumberToIndex(serial_number); + + if (satellite_index == UINT32_MAX) { + // receiver + // TODO: implement + } else { + // GNSS satellite + AntexSatelliteData antex_satellite_data; + antex_satellite_data = ReadAntexSatelliteData(antex_file); + antex_satellite_data.SetAntennaType(antenna_type); + antex_satellite_data.SetSerialNumber(serial_number); + antex_satellite_data_[satellite_index].push_back(antex_satellite_data); + } + break; + } + } +} + +AntexSatelliteData AntexFileReader::ReadAntexSatelliteData(std::ifstream& antex_file) { + AntexSatelliteData antex_data; + AntexGridDefinition grid; + std::vector phase_center_data_list; + + std::string line; + while (1) { + std::getline(antex_file, line); + + // End antenna data + if (line.find("END OF ANTENNA") == ANTEX_LINE_TYPE_POSITION) { + antex_data.SetPhaseCenterData(phase_center_data_list); + break; + } + // Grid angle definition + if (line.find("ZEN1 / ZEN2 / DZEN") == ANTEX_LINE_TYPE_POSITION) { + double start, end, step; + sscanf(line.substr(0, 60).c_str(), "%lf %lf %lf", &start, &end, &step); + grid = AntexGridDefinition(start, end, step); + } + // Number of frequency + if (line.find("# OF FREQUENCIES") == ANTEX_LINE_TYPE_POSITION) { + antex_data.SetNumberOfFrequency(std::stoi(line.substr(0, 20))); + } + // Valid from + if (line.find("VALID FROM") == ANTEX_LINE_TYPE_POSITION) { + antex_data.SetValidStartTime(ReadDateTime(line.substr(0, 59))); + } + // Valid until + if (line.find("VALID UNTIL") == ANTEX_LINE_TYPE_POSITION) { + antex_data.SetValidEndTime(ReadDateTime(line.substr(0, 59))); + } + // Frequency + if (line.find("START OF FREQUENCY") == ANTEX_LINE_TYPE_POSITION) { + AntexPhaseCenterData phase_center_data = ReadPhaseCenterData(antex_file, grid); + phase_center_data_list.push_back(phase_center_data); + } + } + + return antex_data; +} + +AntexPhaseCenterData AntexFileReader::ReadPhaseCenterData(std::ifstream& antex_file, const AntexGridDefinition grid_information) { + AntexPhaseCenterData phase_center_data; + std::string line; + while (1) { + std::getline(antex_file, line); + + // End antenna data + if (line.find("END OF FREQUENCY") == ANTEX_LINE_TYPE_POSITION) { + phase_center_data.SetFrequencyName(line.substr(3, 3)); + phase_center_data.SetGridInformation(grid_information); + break; + } + // Phase center offset + if (line.find("NORTH / EAST / UP") == ANTEX_LINE_TYPE_POSITION) { + libra::Vector<3> offset{0.0}; + sscanf(line.c_str(), "%lf %lf %lf", &offset[0], &offset[1], &offset[2]); + phase_center_data.SetPhaseCenterOffset_mm(offset); + } + // Phase center variation + if (line.find("NOAZI") != std::string::npos) { + std::vector phase_center_variation; + for (size_t i = 0; i < grid_information.GetNumberOfGrid(); i++) { + double parameter = std::stod(line.substr(8 + i * 8, 8)); + phase_center_variation.push_back(parameter); + } + phase_center_data.SetPhaseCenterVariationParameters_mm(phase_center_variation); + } + // TODO: implement DAZI + } + + return phase_center_data; +} + +DateTime AntexFileReader::ReadDateTime(std::string line) { + size_t year, month, day, hour, minute; + double second; + sscanf(line.c_str(), "%zu %2zu %2zu %2zu %2zu %10lf", &year, &month, &day, &hour, &minute, &second); + return DateTime(year, month, day, hour, minute, second); +} diff --git a/src/library/gnss/antex_file_reader.hpp b/src/library/gnss/antex_file_reader.hpp new file mode 100644 index 000000000..88e0854ae --- /dev/null +++ b/src/library/gnss/antex_file_reader.hpp @@ -0,0 +1,197 @@ +/** + * @file antex_reader.hpp + * @brief Read ANTEX format file + * @note Ref. https://files.igs.org/pub/data/format/antex14.txt + */ + +#ifndef S2E_LIBRARY_ANTEX_FILE_READER_HPP_ +#define S2E_LIBRARY_ANTEX_FILE_READER_HPP_ + +#include + +#include +#include +#include +#include +#include + +/** + * @class AntexGridDefinition + * @brief grid data definition in ANTEX file + * @note TODO: support azimuth depending data + */ +class AntexGridDefinition { + public: + /** + * @fn AntexGridDefinition + * @brief Constructor + * @param[in] start_deg: Start azimuth angle [deg] + * @param[in] end_deg: End azimuth angle [deg] + * @param[in] step_deg: Step azimuth angle [deg] + */ + AntexGridDefinition(double start_deg = 0.0, double end_deg = 90.0, double step_deg = 10.0) + : start_deg_(start_deg), end_deg_(end_deg), step_deg_(step_deg) { + number_of_grid_ = size_t((end_deg_ - start_deg_) / step_deg_) + 1; + } + /** + * @fn ~AntexGridDefinition + * @brief Destructor + */ + ~AntexGridDefinition() {} + + // Getter + inline double GetStart_deg() const { return start_deg_; } + inline double GetEnd_deg() const { return end_deg_; } + inline double GetStep_deg() const { return step_deg_; } + inline double GetNumberOfGrid() const { return number_of_grid_; } + + private: + double start_deg_; //!< Grid start value (ZEN1) [deg] + double end_deg_; //!< Grid end value (ZEN2) [deg] + double step_deg_; //!< Grid step value (DZEN) [deg] + size_t number_of_grid_; //!< Number of grid +}; + +/** + * @class AntexPhaseCenterData + * @brief Phase center data in ANTEX file + * @note The frame definition of the offset is X, Y, Z in IGS-specific frame for GNSS satellite and North, East, Up for receivers + * @note TODO: support azimuth depending data + */ +class AntexPhaseCenterData { + public: + /** + * @fn ~AntexPhaseCenterData + * @brief Constructor + */ + AntexPhaseCenterData() {} + /** + * @fn ~AntexPhaseCenterData + * @brief Destructor + */ + ~AntexPhaseCenterData() {} + + // Setter + inline void SetFrequencyName(const std::string frequency_name) { frequency_name_ = frequency_name; } + inline void SetPhaseCenterOffset_mm(const libra::Vector<3> phase_center_offset_mm) { phase_center_offset_mm_ = phase_center_offset_mm; } + inline void SetGridInformation(const AntexGridDefinition grid_information) { grid_information_ = grid_information; } + inline void SetPhaseCenterVariationParameters_mm(const std::vector phase_center_variation_parameters_mm) { + phase_center_variation_parameters_mm_ = phase_center_variation_parameters_mm; + } + + // Getter + inline std::string GetFrequencyName() const { return frequency_name_; } + inline libra::Vector<3> GetPhaseCenterOffset_mm() const { return phase_center_offset_mm_; } + inline AntexGridDefinition GetGridInformation() const { return grid_information_; } + inline std::vector GetPhaseCenterVariationParameters_mm() const { return phase_center_variation_parameters_mm_; } + + private: + std::string frequency_name_ = ""; //!< Frequency name + libra::Vector<3> phase_center_offset_mm_{0.0}; //!< Phase center offset for each frequency [mm] + AntexGridDefinition grid_information_; //!< Grid information + std::vector phase_center_variation_parameters_mm_; //!< Phase center variation for each frequency [mm] +}; + +/** + * @class AntexSatelliteData + * @brief + */ +class AntexSatelliteData { + public: + AntexSatelliteData() {} + ~AntexSatelliteData() {} + + // Setter + inline void SetAntennaType(const std::string antenna_type) { antenna_type_ = antenna_type; } + inline void SetSerialNumber(const std::string serial_number) { serial_number_ = serial_number; } + inline void SetValidStartTime(const DateTime valid_start_time) { valid_start_time_ = valid_start_time; }; + inline void SetValidEndTime(const DateTime valid_end_time) { valid_end_time_ = valid_end_time; }; + inline void SetNumberOfFrequency(const size_t number_of_frequency) { number_of_frequency_ = number_of_frequency; }; + inline void SetPhaseCenterData(const std::vector phase_center_data) { phase_center_data_ = phase_center_data; }; + + // Getter + inline std::string GetAntennaType() const { return antenna_type_; } + inline std::string GetSerialNumber() const { return serial_number_; } + inline DateTime GetValidStartTime() const { return valid_start_time_; }; + inline DateTime GetValidEndTime() const { return valid_end_time_; }; + inline size_t GetNumberOfFrequency() const { return number_of_frequency_; }; + inline AntexPhaseCenterData GetPhaseCenterData(const size_t frequency_index) const { return phase_center_data_[frequency_index]; }; + + private: + std::string antenna_type_; //!< Antenna type + std::string serial_number_; //!< Serial number or satellite code + DateTime valid_start_time_; //!< Valid start time + DateTime valid_end_time_; //!< Valid end time + size_t number_of_frequency_ = 1; //!< Number of frequency + std::vector phase_center_data_; //!< Phase center data for each frequency +}; + +/** + * @class AntexFileReader + * @brief Read ANTEX format file + */ +class AntexFileReader { + public: + /** + * @fn AntexFileReader + * @brief Constructor + * @param[in] file_name: File path to the ANTEX file + */ + AntexFileReader(std::string file_name) { is_file_read_succeeded_ = ReadFile(file_name); } + /** + * @fn ~AntexFileReader + * @brief Destructor + */ + ~AntexFileReader() {} + + // Getters + inline bool GetFileReadSuccessFlag() const { return is_file_read_succeeded_; } + inline size_t GetNumberOfSatelliteData() const { return antex_satellite_data_.size(); } + inline std::vector GetAntexSatelliteData(const size_t satellite_index) const { + return antex_satellite_data_.at(satellite_index); + }; + + private: + bool is_file_read_succeeded_; //!< File read success flag + std::map> antex_satellite_data_; //!< ANTEX data list for GNSS satellite + // TODO: Implement data for Receivers + + /** + * @fn ReadFile + * @brief Read file data + * @param[in] file_name: File path to the ANTEX file + * @return true: read success, false: read fail + */ + bool ReadFile(const std::string file_name); + + /** + * @fn ReadAntexData + * @brief Read ANTEX body data + * @param[in] antex_file: ANTEX file stream + */ + void ReadAntexData(std::ifstream& antex_file); + /** + * @fn ReadAntexSatelliteData + * @brief Read ANTEX body data for GNSS satellite + * @param[in] antex_file: ANTEX file stream + * @return ANTEX data for GNSS satellite + */ + AntexSatelliteData ReadAntexSatelliteData(std::ifstream& antex_file); + /** + * @fn ReadPhaseCenterData + * @brief Read phase center data + * @param[in] antex_file: ANTEX file stream + * @param[in] grid_size: Grid size + * @return ANTEX phase center data + */ + AntexPhaseCenterData ReadPhaseCenterData(std::ifstream& antex_file, const AntexGridDefinition grid_information); + /** + * @fn ReadDateTime + * @brief Read date time information in ANTEX file + * @param[in] line: A single line in ANTEX file + * @return Read date time + */ + DateTime ReadDateTime(std::string line); +}; + +#endif // S2E_LIBRARY_ANTEX_FILE_READER_HPP_ diff --git a/src/library/gnss/example.atx b/src/library/gnss/example.atx new file mode 100644 index 000000000..9a787aa02 --- /dev/null +++ b/src/library/gnss/example.atx @@ -0,0 +1,4167 @@ + 1.4 M ANTEX VERSION / SYST +A PCV TYPE / REFANT +########################################################### COMMENT +This file was based on igs.atx COMMENT + COMMENT +General hint for satellite antenna corrections: COMMENT + All values in this file refer to an IGS-specific axis COMMENT + convention which differs from manufacturer COMMENT + specifications for certain satellite types. The IGS COMMENT + convention allows for a uniform description of the COMMENT + spacecraft attitude for all satellites applying a yaw- COMMENT + steering attitude control. Detailed definitions are COMMENT + provided in Montenbruck et al. (2015). COMMENT + COMMENT +GPS satellite antenna corrections: COMMENT + - z-offsets: COMMENT + + satellite-specific COMMENT + + based on reprocessed (1994-2014) and operational COMMENT + (2015-2016) AC SINEX files COMMENT + + weighted mean of seven ACs (CODE, ESA, GFZ, JPL, MIT, COMMENT + NRCan, ULR) COMMENT + + solutions aligned to ITRF2014 COMMENT + + trend-corrected to epoch 2010.0 COMMENT + + analyzed and combined by IGN and TUM COMMENT + + L1 and L2 set to the results for the ionosphere-free COMMENT + linear combination COMMENT + + block-specific mean values for historical satellites COMMENT + (active prior to 1994) COMMENT + - phase center variations: COMMENT + + block-specific COMMENT + + purely nadir-dependent (no azimuth-dependence) COMMENT + + maximum nadir angle: 14 degrees (Block I), 17 degrees COMMENT + (Block II/IIA/IIR-A/IIR-B/IIR-M/IIF) COMMENT + + adopted from igs05.atx COMMENT + + solutions aligned to IGb00 COMMENT + + unweighted mean of two ACs (GFZ, TUM) COMMENT + + L1 and L2 set to the results for the ionosphere-free COMMENT + linear combination COMMENT + + Block IIF: adopted from igs08.atx, solutions aligned COMMENT + to IGS08, unweighted mean of CODE and ESOC COMMENT + + extension for nadir angles beyond 14 degrees based on COMMENT + LEO data from 2009 analyzed by CODE COMMENT + - x- and y-offsets: COMMENT + + block-specific (except for Block IIR) COMMENT + + based on manufacturer information COMMENT + + satellite-specific corrections from pre-flight COMMENT + calibrations for Block IIR (Dilssner et al., 2016: COMMENT + Evaluating the pre-flight GPS Block IIR/IIR-M antenna COMMENT + phase pattern measurements, IGS Workshop 2016) COMMENT + COMMENT +GLONASS satellite antenna corrections: COMMENT + - z-offsets: COMMENT + + satellite-specific COMMENT + + based on reprocessed and operational CODE (2002-2016) COMMENT + and ESOC (2009-2016) solutions COMMENT + + solutions aligned to ITRF2014 COMMENT + + L1 and L2 set to the results for the ionosphere-free COMMENT + linear combination COMMENT + + block-specific mean values for historical satellites COMMENT + (active between 1998 and 2002) COMMENT + - phase center variations: COMMENT + + block-specific (common parameters for GLONASS and COMMENT + GLONASS-M), satellite-specific values for R714 COMMENT + + purely nadir-dependent (no azimuth-dependence) COMMENT + + maximum nadir angle: 15 degrees COMMENT + + adopted from igs08.atx COMMENT + + solutions aligned to ITRF2008 COMMENT + + unweighted mean of two ACs (CODE, ESOC) COMMENT + + L1 and L2 set to the results for the ionosphere-free COMMENT + linear combination COMMENT + - x- and y-offsets: COMMENT + + block-specific COMMENT + + based on manufacturer information COMMENT + COMMENT +########################################################### COMMENT + END OF HEADER + START OF ANTENNA +BLOCK IIA G01 G032 1992-079A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1992 11 22 0 0 0.0000000 VALID FROM + 2008 10 16 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2319.50 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2319.50 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G01 G037 1993-032A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2008 10 23 0 0 0.0000000 VALID FROM + 2009 1 6 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2289.30 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2289.30 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-M G01 G049 2009-014A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2009 3 24 0 0 0.0000000 VALID FROM + 2011 5 6 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G01 G035 1993-054A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2011 6 2 0 0 0.0000000 VALID FROM + 2011 7 12 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2574.20 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2574.20 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIF G01 G063 2011-036A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2011 7 16 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 394.00 0.00 1501.80 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 394.00 0.00 1501.80 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK II G02 G013 1989-044A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1989 6 10 0 0 0.0000000 VALID FROM + 2004 5 12 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2658.40 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2658.40 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-B G02 G061 2004-045A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2004 11 6 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 1.30 -1.10 728.80 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 1.30 -1.10 728.80 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK I G03 G011 1985-093A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 14.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1985 10 9 0 0 0.0000000 VALID FROM + 1994 4 17 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 210.00 0.00 1884.50 NORTH / EAST / UP + NOAZI -1.00 -2.60 -1.20 -0.90 0.50 1.40 2.00 2.00 1.70 0.50 -0.10 -0.60 -0.70 -0.60 -0.30 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 210.00 0.00 1884.50 NORTH / EAST / UP + NOAZI -1.00 -2.60 -1.20 -0.90 0.50 1.40 2.00 2.00 1.70 0.50 -0.10 -0.60 -0.70 -0.60 -0.30 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G03 G033 1996-019A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1996 3 28 0 0 0.0000000 VALID FROM + 2014 8 18 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2757.30 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2757.30 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G03 G035 1993-054A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2014 9 5 0 0 0.0000000 VALID FROM + 2014 10 20 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2574.20 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2574.20 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIF G03 G069 2014-068A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2014 10 29 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 394.00 0.00 1550.60 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 394.00 0.00 1550.60 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK I G04 G001 1978-020A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 14.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1978 2 22 0 0 0.0000000 VALID FROM + 1985 7 17 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + G01 START OF FREQUENCY + 0.00 0.00 1900.00 NORTH / EAST / UP + NOAZI -1.00 -2.60 -1.20 -0.90 0.50 1.40 2.00 2.00 1.70 0.50 -0.10 -0.60 -0.70 -0.60 -0.30 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 0.00 0.00 1900.00 NORTH / EAST / UP + NOAZI -1.00 -2.60 -1.20 -0.90 0.50 1.40 2.00 2.00 1.70 0.50 -0.10 -0.60 -0.70 -0.60 -0.30 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G04 G034 1993-068A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1993 10 26 0 0 0.0000000 VALID FROM + 2015 11 9 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2352.40 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2352.40 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-M G04 G049 2009-014A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2016 2 2 0 0 0.0000000 VALID FROM + 2016 9 13 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G04 G032 1992-079A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2016 9 15 0 0 0.0000000 VALID FROM + 2016 12 5 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2319.50 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2319.50 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G04 G034 1993-068A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2016 12 9 0 0 0.0000000 VALID FROM + 2017 1 3 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2352.40 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2352.40 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-M G04 G049 2009-014A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2017 1 6 0 0 0.0000000 VALID FROM + 2017 5 12 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G04 G038 1997-067A TYPE / SERIAL NO + 0 17-MAY-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2017 5 19 0 0 0.0000000 VALID FROM + 2017 7 14 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2517.10 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2517.10 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G04 G036 1994-016A TYPE / SERIAL NO + 0 20-JUL-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2017 7 20 0 0 0.0000000 VALID FROM + 2017 11 28 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2834.10 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2834.10 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-M G04 G049 2009-014A TYPE / SERIAL NO + 0 01-DEC-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2017 12 1 0 0 0.0000000 VALID FROM + 2018 9 28 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G04 G036 1994-016A TYPE / SERIAL NO + 0 08-OCT-18 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2018 10 10 0 0 0.0000000 VALID FROM + 2019 1 2 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2834.10 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2834.10 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIIA G04 G074 2018-109A TYPE / SERIAL NO + AEROSPACE/ESA/COD 1 30-JAN-19 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 3 # OF FREQUENCIES + 2019 1 9 0 0 0.0000000 VALID FROM + 2019 7 12 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +PCO provided by the Aerospace Corporation COMMENT +PV from estimations by ESA/CODE COMMENT + G01 START OF FREQUENCY + 3.80 -18.10 1232.40 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 3.10 -16.20 740.50 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G02 END OF FREQUENCY + G05 START OF FREQUENCY + 3.20 -16.30 778.70 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G05 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G04 G036 1994-016A TYPE / SERIAL NO + 0 17-JUL-19 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2019 7 13 0 0 0.0000000 VALID FROM + 2019 10 8 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2834.10 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2834.10 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIIA G04 G074 2018-109A TYPE / SERIAL NO + AEROSPACE/ESA/COD 1 30-JAN-19 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 3 # OF FREQUENCIES + 2019 10 21 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE +PCO provided by the Aerospace Corporation COMMENT +PV from estimations by ESA/CODE COMMENT + G01 START OF FREQUENCY + 3.80 -18.10 1232.40 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 3.10 -16.20 740.50 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G02 END OF FREQUENCY + G05 START OF FREQUENCY + 3.20 -16.30 778.70 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G05 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK I G05 G005 1980-011A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 14.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1980 2 9 0 0 0.0000000 VALID FROM + 1984 5 11 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + G01 START OF FREQUENCY + 0.00 0.00 1900.00 NORTH / EAST / UP + NOAZI -1.00 -2.60 -1.20 -0.90 0.50 1.40 2.00 2.00 1.70 0.50 -0.10 -0.60 -0.70 -0.60 -0.30 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 0.00 0.00 1900.00 NORTH / EAST / UP + NOAZI -1.00 -2.60 -1.20 -0.90 0.50 1.40 2.00 2.00 1.70 0.50 -0.10 -0.60 -0.70 -0.60 -0.30 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G05 G035 1993-054A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1993 8 30 0 0 0.0000000 VALID FROM + 2009 6 8 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2574.20 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2574.20 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-M G05 G050 2009-043A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2009 8 17 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + -3.30 -0.30 778.00 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + -3.30 -0.30 778.00 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK I G06 G003 1978-093A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 14.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1978 10 6 0 0 0.0000000 VALID FROM + 1992 5 18 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + G01 START OF FREQUENCY + 0.00 0.00 1900.00 NORTH / EAST / UP + NOAZI -1.00 -2.60 -1.20 -0.90 0.50 1.40 2.00 2.00 1.70 0.50 -0.10 -0.60 -0.70 -0.60 -0.30 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 0.00 0.00 1900.00 NORTH / EAST / UP + NOAZI -1.00 -2.60 -1.20 -0.90 0.50 1.40 2.00 2.00 1.70 0.50 -0.10 -0.60 -0.70 -0.60 -0.30 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G06 G036 1994-016A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1994 3 10 0 0 0.0000000 VALID FROM + 2014 3 3 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2834.10 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2834.10 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-M G06 G049 2009-014A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2014 4 3 0 0 0.0000000 VALID FROM + 2014 5 5 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIF G06 G067 2014-026A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2014 5 17 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 394.00 0.00 1467.00 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 394.00 0.00 1467.00 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK I G07 G002 1978-047A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 14.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1978 5 13 0 0 0.0000000 VALID FROM + 1988 2 12 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + G01 START OF FREQUENCY + 0.00 0.00 1900.00 NORTH / EAST / UP + NOAZI -1.00 -2.60 -1.20 -0.90 0.50 1.40 2.00 2.00 1.70 0.50 -0.10 -0.60 -0.70 -0.60 -0.30 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 0.00 0.00 1900.00 NORTH / EAST / UP + NOAZI -1.00 -2.60 -1.20 -0.90 0.50 1.40 2.00 2.00 1.70 0.50 -0.10 -0.60 -0.70 -0.60 -0.30 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G07 G037 1993-032A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1993 5 13 0 0 0.0000000 VALID FROM + 2008 1 14 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2289.30 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2289.30 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-M G07 G048 2008-012A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2008 3 15 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + -0.40 5.00 822.40 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + -0.40 5.00 822.40 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK I G08 G004 1978-112A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 14.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1978 12 10 0 0 0.0000000 VALID FROM + 1989 10 14 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + G01 START OF FREQUENCY + 0.00 0.00 1900.00 NORTH / EAST / UP + NOAZI -1.00 -2.60 -1.20 -0.90 0.50 1.40 2.00 2.00 1.70 0.50 -0.10 -0.60 -0.70 -0.60 -0.30 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 0.00 0.00 1900.00 NORTH / EAST / UP + NOAZI -1.00 -2.60 -1.20 -0.90 0.50 1.40 2.00 2.00 1.70 0.50 -0.10 -0.60 -0.70 -0.60 -0.30 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G08 G038 1997-067A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1997 11 6 0 0 0.0000000 VALID FROM + 2015 4 13 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2517.10 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2517.10 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-M G08 G049 2009-014A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2015 4 30 0 0 0.0000000 VALID FROM + 2015 7 1 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIF G08 G072 2015-033A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2015 7 15 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 394.00 0.00 1501.40 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 394.00 0.00 1501.40 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK I G09 G006 1980-032A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 14.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1980 4 26 0 0 0.0000000 VALID FROM + 1991 3 6 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + G01 START OF FREQUENCY + 210.00 0.00 1900.00 NORTH / EAST / UP + NOAZI -1.00 -2.60 -1.20 -0.90 0.50 1.40 2.00 2.00 1.70 0.50 -0.10 -0.60 -0.70 -0.60 -0.30 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 210.00 0.00 1900.00 NORTH / EAST / UP + NOAZI -1.00 -2.60 -1.20 -0.90 0.50 1.40 2.00 2.00 1.70 0.50 -0.10 -0.60 -0.70 -0.60 -0.30 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G09 G039 1993-042A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1993 6 26 0 0 0.0000000 VALID FROM + 2014 7 21 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2391.00 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2391.00 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIF G09 G068 2014-045A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2014 8 2 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 394.00 0.00 1522.60 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 394.00 0.00 1522.60 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G10 G040 1996-041A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1996 7 16 0 0 0.0000000 VALID FROM + 2015 8 3 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2471.70 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2471.70 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G10 G036 1994-016A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2015 9 16 0 0 0.0000000 VALID FROM + 2015 10 26 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2834.10 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2834.10 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIF G10 G073 2015-062A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2015 10 31 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 394.00 0.00 1515.10 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 394.00 0.00 1515.10 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK I G11 G008 1983-072A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 14.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1983 7 14 0 0 0.0000000 VALID FROM + 1993 5 4 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + G01 START OF FREQUENCY + 210.00 0.00 1900.00 NORTH / EAST / UP + NOAZI -1.00 -2.60 -1.20 -0.90 0.50 1.40 2.00 2.00 1.70 0.50 -0.10 -0.60 -0.70 -0.60 -0.30 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 210.00 0.00 1900.00 NORTH / EAST / UP + NOAZI -1.00 -2.60 -1.20 -0.90 0.50 1.40 2.00 2.00 1.70 0.50 -0.10 -0.60 -0.70 -0.60 -0.30 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-A G11 G046 1999-055A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1999 10 7 0 0 0.0000000 VALID FROM + 2021 4 9 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + -0.70 -1.20 1117.80 NORTH / EAST / UP + NOAZI -6.10 -5.20 -3.30 -1.00 1.40 3.50 4.70 4.90 4.10 2.80 0.80 -1.00 -2.10 -2.10 -1.40 -0.80 2.00 6.40 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + -0.70 -1.20 1117.80 NORTH / EAST / UP + NOAZI -6.10 -5.20 -3.30 -1.00 1.40 3.50 4.70 4.90 4.10 2.80 0.80 -1.00 -2.10 -2.10 -1.40 -0.80 2.00 6.40 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIIA G11 G078 2021-054A TYPE / SERIAL NO + AEROSPACE/ESA/COD 1 30-JAN-19 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 3 # OF FREQUENCIES + 2021 6 17 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE +COPIED FROM GPS BLOCK III-A SATELLITE SVN 074 COMMENT + G01 START OF FREQUENCY + 3.80 -18.10 1232.40 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 3.10 -16.20 740.50 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G02 END OF FREQUENCY + G05 START OF FREQUENCY + 3.20 -16.30 778.70 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G05 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK I G12 G010 1984-097A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 14.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1984 9 8 0 0 0.0000000 VALID FROM + 1996 3 27 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 210.00 0.00 1777.50 NORTH / EAST / UP + NOAZI -1.00 -2.60 -1.20 -0.90 0.50 1.40 2.00 2.00 1.70 0.50 -0.10 -0.60 -0.70 -0.60 -0.30 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 210.00 0.00 1777.50 NORTH / EAST / UP + NOAZI -1.00 -2.60 -1.20 -0.90 0.50 1.40 2.00 2.00 1.70 0.50 -0.10 -0.60 -0.70 -0.60 -0.30 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-M G12 G058 2006-052A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2006 11 17 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 10.20 -5.60 767.80 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 10.20 -5.60 767.80 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK I G13 G009 1984-059A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 14.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1984 6 13 0 0 0.0000000 VALID FROM + 1994 6 20 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 210.00 0.00 2030.70 NORTH / EAST / UP + NOAZI -1.00 -2.60 -1.20 -0.90 0.50 1.40 2.00 2.00 1.70 0.50 -0.10 -0.60 -0.70 -0.60 -0.30 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 210.00 0.00 2030.70 NORTH / EAST / UP + NOAZI -1.00 -2.60 -1.20 -0.90 0.50 1.40 2.00 2.00 1.70 0.50 -0.10 -0.60 -0.70 -0.60 -0.30 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-A G13 G043 1997-035A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1997 7 23 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + -2.40 -1.60 1348.30 NORTH / EAST / UP + NOAZI -6.10 -5.20 -3.30 -1.00 1.40 3.50 4.70 4.90 4.10 2.80 0.80 -1.00 -2.10 -2.10 -1.40 -0.80 2.00 6.40 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + -2.40 -1.60 1348.30 NORTH / EAST / UP + NOAZI -6.10 -5.20 -3.30 -1.00 1.40 3.50 4.70 4.90 4.10 2.80 0.80 -1.00 -2.10 -2.10 -1.40 -0.80 2.00 6.40 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK II G14 G014 1989-013A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1989 2 14 0 0 0.0000000 VALID FROM + 2000 4 17 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2785.70 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2785.70 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-A G14 G041 2000-071A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2000 11 10 0 0 0.0000000 VALID FROM + 2020 7 27 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + -2.50 -1.70 1304.50 NORTH / EAST / UP + NOAZI -6.10 -5.20 -3.30 -1.00 1.40 3.50 4.70 4.90 4.10 2.80 0.80 -1.00 -2.10 -2.10 -1.40 -0.80 2.00 6.40 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + -2.50 -1.70 1304.50 NORTH / EAST / UP + NOAZI -6.10 -5.20 -3.30 -1.00 1.40 3.50 4.70 4.90 4.10 2.80 0.80 -1.00 -2.10 -2.10 -1.40 -0.80 2.00 6.40 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIIA G14 G077 2020-078A TYPE / SERIAL NO + AEROSPACE/ESA/COD 1 30-JAN-19 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 3 # OF FREQUENCIES + 2020 11 5 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE +COPIED FROM GPS BLOCK III-A SATELLITE SVN 074 COMMENT + G01 START OF FREQUENCY + 3.80 -18.10 1232.40 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 3.10 -16.20 740.50 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G02 END OF FREQUENCY + G05 START OF FREQUENCY + 3.20 -16.30 778.70 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G05 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK II G15 G015 1990-088A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1990 10 1 0 0 0.0000000 VALID FROM + 2007 3 14 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2406.60 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2406.60 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-M G15 G055 2007-047A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2007 10 17 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 4.50 1.90 622.80 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 4.50 1.90 622.80 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK II G16 G016 1989-064A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1989 8 18 0 0 0.0000000 VALID FROM + 2000 10 13 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2451.20 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2451.20 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-A G16 G056 2003-005A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2003 1 29 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 12.60 -6.90 1468.70 NORTH / EAST / UP + NOAZI -6.10 -5.20 -3.30 -1.00 1.40 3.50 4.70 4.90 4.10 2.80 0.80 -1.00 -2.10 -2.10 -1.40 -0.80 2.00 6.40 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 12.60 -6.90 1468.70 NORTH / EAST / UP + NOAZI -6.10 -5.20 -3.30 -1.00 1.40 3.50 4.70 4.90 4.10 2.80 0.80 -1.00 -2.10 -2.10 -1.40 -0.80 2.00 6.40 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK II G17 G017 1989-097A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1989 12 11 0 0 0.0000000 VALID FROM + 2005 2 23 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2350.60 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2350.60 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-M G17 G053 2005-038A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2005 9 26 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 3.00 1.00 770.90 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 3.00 1.00 770.90 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK II G18 G018 1990-008A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1990 1 24 0 0 0.0000000 VALID FROM + 2000 8 18 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2516.60 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2516.60 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-A G18 G054 2001-004A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2001 1 30 0 0 0.0000000 VALID FROM + 2018 1 23 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 13.90 0.30 1248.60 NORTH / EAST / UP + NOAZI -6.10 -5.20 -3.30 -1.00 1.40 3.50 4.70 4.90 4.10 2.80 0.80 -1.00 -2.10 -2.10 -1.40 -0.80 2.00 6.40 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 13.90 0.30 1248.60 NORTH / EAST / UP + NOAZI -6.10 -5.20 -3.30 -1.00 1.40 3.50 4.70 4.90 4.10 2.80 0.80 -1.00 -2.10 -2.10 -1.40 -0.80 2.00 6.40 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G18 G034 1993-068A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2018 1 24 0 0 0.0000000 VALID FROM + 2020 3 9 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2352.40 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2352.40 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIIA G18 G075 2019-056A TYPE / SERIAL NO + AEROSPACE/ESA/COD 1 30-JAN-19 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 3 # OF FREQUENCIES + 2020 3 13 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE +COPIED FROM GPS BLOCK III-A SATELLITE SVN 074 COMMENT + G01 START OF FREQUENCY + 3.80 -18.10 1232.40 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 3.10 -16.20 740.50 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G02 END OF FREQUENCY + G05 START OF FREQUENCY + 3.20 -16.30 778.70 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G05 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK II G19 G019 1989-085A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1989 10 21 0 0 0.0000000 VALID FROM + 2001 9 13 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2911.60 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2911.60 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-B G19 G059 2004-009A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2004 3 20 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 8.60 -0.60 808.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 8.60 -0.60 808.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK II G20 G020 1990-025A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1990 3 26 0 0 0.0000000 VALID FROM + 1996 12 13 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2483.00 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2483.00 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-A G20 G051 2000-025A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2000 5 11 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 1.00 -3.20 1313.50 NORTH / EAST / UP + NOAZI -6.10 -5.20 -3.30 -1.00 1.40 3.50 4.70 4.90 4.10 2.80 0.80 -1.00 -2.10 -2.10 -1.40 -0.80 2.00 6.40 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 1.00 -3.20 1313.50 NORTH / EAST / UP + NOAZI -6.10 -5.20 -3.30 -1.00 1.40 3.50 4.70 4.90 4.10 2.80 0.80 -1.00 -2.10 -2.10 -1.40 -0.80 2.00 6.40 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK II G21 G021 1990-068A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1990 8 2 0 0 0.0000000 VALID FROM + 2003 1 27 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2455.70 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2455.70 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-A G21 G045 2003-010A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2003 3 31 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + -3.40 2.90 1359.10 NORTH / EAST / UP + NOAZI -6.10 -5.20 -3.30 -1.00 1.40 3.50 4.70 4.90 4.10 2.80 0.80 -1.00 -2.10 -2.10 -1.40 -0.80 2.00 6.40 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + -3.40 2.90 1359.10 NORTH / EAST / UP + NOAZI -6.10 -5.20 -3.30 -1.00 1.40 3.50 4.70 4.90 4.10 2.80 0.80 -1.00 -2.10 -2.10 -1.40 -0.80 2.00 6.40 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G22 G022 1993-007A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1993 2 3 0 0 0.0000000 VALID FROM + 2003 8 6 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2390.60 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2390.60 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-B G22 G047 2003-058A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2003 12 21 0 0 0.0000000 VALID FROM + 2022 1 18 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + -2.20 2.20 850.60 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + -2.20 2.20 850.60 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-A G22 G041 2000-071A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2022 1 20 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + -2.50 -1.70 1304.50 NORTH / EAST / UP + NOAZI -6.10 -5.20 -3.30 -1.00 1.40 3.50 4.70 4.90 4.10 2.80 0.80 -1.00 -2.10 -2.10 -1.40 -0.80 2.00 6.40 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + -2.50 -1.70 1304.50 NORTH / EAST / UP + NOAZI -6.10 -5.20 -3.30 -1.00 1.40 3.50 4.70 4.90 4.10 2.80 0.80 -1.00 -2.10 -2.10 -1.40 -0.80 2.00 6.40 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G23 G023 1990-103A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1990 11 26 0 0 0.0000000 VALID FROM + 2004 2 22 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2720.80 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2720.80 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-B G23 G060 2004-023A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2004 6 23 0 0 0.0000000 VALID FROM + 2020 6 9 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 15.40 6.80 766.10 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 15.40 6.80 766.10 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIIA G23 G076 2020-041A TYPE / SERIAL NO + AEROSPACE/ESA/COD 1 30-JAN-19 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 3 # OF FREQUENCIES + 2020 7 14 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE +COPIED FROM GPS BLOCK III-A SATELLITE SVN 074 COMMENT + G01 START OF FREQUENCY + 3.80 -18.10 1232.40 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 3.10 -16.20 740.50 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G02 END OF FREQUENCY + G05 START OF FREQUENCY + 3.20 -16.30 778.70 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G05 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G24 G024 1991-047A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1991 7 4 0 0 0.0000000 VALID FROM + 2011 9 30 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2546.00 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2546.00 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-M G24 G049 2009-014A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2012 2 2 0 0 0.0000000 VALID FROM + 2012 3 14 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G24 G032 1992-079A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2012 3 15 0 0 0.0000000 VALID FROM + 2012 4 25 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2319.50 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2319.50 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G24 G037 1993-032A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2012 4 26 0 0 0.0000000 VALID FROM + 2012 5 30 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2289.30 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2289.30 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-M G24 G049 2009-014A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2012 8 9 0 0 0.0000000 VALID FROM + 2012 8 22 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIF G24 G065 2012-053A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2012 10 4 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 394.00 0.00 1407.10 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 394.00 0.00 1407.10 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G25 G025 1992-009A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1992 2 23 0 0 0.0000000 VALID FROM + 2010 2 8 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2430.70 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2430.70 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G25 G035 1993-054A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2010 2 9 0 0 0.0000000 VALID FROM + 2010 5 27 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2574.20 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2574.20 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIF G25 G062 2010-022A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2010 5 28 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 394.00 0.00 1517.40 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 394.00 0.00 1517.40 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G26 G026 1992-039A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1992 7 7 0 0 0.0000000 VALID FROM + 2015 1 5 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2381.00 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2381.00 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G26 G032 1992-079A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2015 2 5 0 0 0.0000000 VALID FROM + 2015 2 24 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2319.50 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2319.50 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G26 G027 1992-058A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2015 2 27 0 0 0.0000000 VALID FROM + 2015 3 16 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2565.50 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2565.50 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIF G26 G071 2015-013A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2015 3 25 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 394.00 0.00 1503.50 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 394.00 0.00 1503.50 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G27 G027 1992-058A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1992 9 9 0 0 0.0000000 VALID FROM + 2012 10 17 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2565.50 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2565.50 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-M G27 G049 2009-014A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2012 10 18 0 0 0.0000000 VALID FROM + 2013 5 9 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIF G27 G066 2013-023A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2013 5 15 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 394.00 0.00 1522.30 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 394.00 0.00 1522.30 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G28 G028 1992-019A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1992 4 10 0 0 0.0000000 VALID FROM + 1997 8 15 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2255.20 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2255.20 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-A G28 G044 2000-040A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2000 7 16 0 0 0.0000000 VALID FROM + 2022 10 25 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 1.40 4.70 999.50 NORTH / EAST / UP + NOAZI -6.10 -5.20 -3.30 -1.00 1.40 3.50 4.70 4.90 4.10 2.80 0.80 -1.00 -2.10 -2.10 -1.40 -0.80 2.00 6.40 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 1.40 4.70 999.50 NORTH / EAST / UP + NOAZI -6.10 -5.20 -3.30 -1.00 1.40 3.50 4.70 4.90 4.10 2.80 0.80 -1.00 -2.10 -2.10 -1.40 -0.80 2.00 6.40 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-M G28 G049 2009-014A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2022 10 26 0 0 0.0000000 VALID FROM + 2022 11 2 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIIA G28 G079 2023-009A TYPE / SERIAL NO + AEROSPACE/ESA/COD 1 30-JAN-19 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 3 # OF FREQUENCIES + 2023 1 31 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE +COPIED FROM GPS BLOCK III-A SATELLITE SVN 074 COMMENT + G01 START OF FREQUENCY + 3.80 -18.10 1232.40 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 3.10 -16.20 740.50 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G02 END OF FREQUENCY + G05 START OF FREQUENCY + 3.20 -16.30 778.70 NORTH / EAST / UP + NOAZI 13.90 12.80 10.20 5.80 1.10 -4.50 -9.70 -12.80 -13.40 -11.80 -8.90 -4.50 1.20 7.20 13.30 13.30 13.30 13.30 + G05 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G29 G029 1992-089A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1992 12 18 0 0 0.0000000 VALID FROM + 2007 10 23 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2460.00 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2460.00 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-M G29 G057 2007-062A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2007 12 20 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 10.90 -4.50 791.80 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 10.90 -4.50 791.80 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G30 G030 1996-056A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1996 9 12 0 0 0.0000000 VALID FROM + 2011 8 4 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2564.10 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2564.10 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G30 G035 1993-054A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2011 8 5 0 0 0.0000000 VALID FROM + 2013 5 6 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2574.20 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2574.20 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-M G30 G049 2009-014A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2013 5 10 0 0 0.0000000 VALID FROM + 2013 8 21 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G30 G032 1992-079A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2013 8 22 0 0 0.0000000 VALID FROM + 2013 9 16 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2319.50 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2319.50 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G30 G037 1993-032A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2013 9 19 0 0 0.0000000 VALID FROM + 2013 10 7 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2289.30 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2289.30 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G30 G027 1992-058A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2013 12 3 0 0 0.0000000 VALID FROM + 2013 12 17 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2565.50 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2565.50 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-M G30 G049 2009-014A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2013 12 19 0 0 0.0000000 VALID FROM + 2014 2 10 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 0.00 0.00 963.20 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIF G30 G064 2014-008A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2014 2 21 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 394.00 0.00 1522.10 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 394.00 0.00 1522.10 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G31 G031 1993-017A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1993 3 30 0 0 0.0000000 VALID FROM + 2005 10 24 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2197.60 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2197.60 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIR-M G31 G052 2006-042A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2006 9 25 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + -0.80 5.80 912.50 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + -0.80 5.80 912.50 NORTH / EAST / UP + NOAZI 10.70 10.10 8.00 4.60 0.50 -3.80 -7.50 -9.70 -10.30 -9.50 -7.40 -4.10 0.30 6.00 12.10 22.00 30.40 40.60 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIA G32 G023 1990-103A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2006 12 2 0 0 0.0000000 VALID FROM + 2016 1 25 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 279.00 0.00 2720.80 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 279.00 0.00 2720.80 NORTH / EAST / UP + NOAZI -0.80 -0.90 -0.90 -0.80 -0.40 0.20 0.80 1.30 1.40 1.20 0.70 0.00 -0.40 -0.70 -0.90 -0.90 -0.90 -0.90 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +BLOCK IIF G32 G070 2016-007A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 17.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2016 2 5 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + G01 START OF FREQUENCY + 394.00 0.00 1534.80 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G01 END OF FREQUENCY + G02 START OF FREQUENCY + 394.00 0.00 1534.80 NORTH / EAST / UP + NOAZI 6.10 4.40 2.80 1.30 -0.20 -1.40 -2.80 -3.90 -4.40 -4.40 -3.70 -2.30 -0.20 3.00 5.70 12.40 18.20 23.50 + G02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R01 R779 1998-077A TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1998 12 30 0 0 0.0000000 VALID FROM + 2004 12 25 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2084.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2084.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R01 R796 2004-053A TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2004 12 26 0 0 0.0000000 VALID FROM + 2009 12 13 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2058.90 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2058.90 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R01 R730 2009-070A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2009 12 14 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2306.90 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2306.90 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R02 R794 2003-056B TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2003 12 10 0 0 0.0000000 VALID FROM + 2008 12 24 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 1989.50 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 1989.50 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R02 R728 2008-067C TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2008 12 25 0 0 0.0000000 VALID FROM + 2013 6 30 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2399.30 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2399.30 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R02 R747 2013-019A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2013 7 1 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2413.70 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2413.70 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R03 R763 1994-076A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1994 11 20 0 0 0.0000000 VALID FROM + 2001 11 30 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R03 R789 2001-053B TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2001 12 1 0 0 0.0000000 VALID FROM + 2008 12 24 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2042.50 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2042.50 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R03 R727 2008-067A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2008 12 25 0 0 0.0000000 VALID FROM + 2010 9 30 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2321.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2321.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R03 R722 2007-065B TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2010 10 1 0 0 0.0000000 VALID FROM + 2010 12 15 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2469.30 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2469.30 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R03 R727 2008-067A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2010 12 16 0 0 0.0000000 VALID FROM + 2011 3 10 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2321.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2321.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R03 R715 2006-062C TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2011 3 11 0 0 0.0000000 VALID FROM + 2011 10 12 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2351.60 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2351.60 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-K1 R03 R801 2011-009A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2011 10 13 0 0 0.0000000 VALID FROM + 2011 11 30 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2014.70 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2014.70 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R03 R744 2011-064A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2011 12 1 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2517.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2517.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R04 R762 1994-076C TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1994 11 20 0 0 0.0000000 VALID FROM + 2003 12 9 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R04 R795 2003-056C TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2003 12 10 0 0 0.0000000 VALID FROM + 2009 12 13 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2038.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2038.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R04 R733 2009-070B TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2009 12 14 0 0 0.0000000 VALID FROM + 2010 9 30 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2411.40 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2411.40 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R04 R727 2008-067A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2010 10 1 0 0 0.0000000 VALID FROM + 2010 12 15 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2321.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2321.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-K1 R04 R801 2011-009A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2011 2 26 0 0 0.0000000 VALID FROM + 2011 10 10 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2014.70 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2014.70 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R04 R742 2011-055A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2011 10 13 0 0 0.0000000 VALID FROM + 2019 8 25 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2333.60 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2333.60 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R04 R859 2019-088A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2019 12 27 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2450.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2450.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R05 R711 2001-053A TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2001 12 1 0 0 0.0000000 VALID FROM + 2009 12 13 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +GLONASS-M PROTOTYPE, WITH INFERRED GLONASS DIMENSIONS? COMMENT + R01 START OF FREQUENCY + 0.00 0.00 2043.70 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2043.70 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R05 R734 2009-070C TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2009 12 14 0 0 0.0000000 VALID FROM + 2018 8 11 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2421.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2421.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R05 R856 2018-053A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2018 8 22 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2450.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2450.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R06 R764 1994-076B TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1994 11 20 0 0 0.0000000 VALID FROM + 2001 11 30 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R06 R790 2001-053C TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2001 12 1 0 0 0.0000000 VALID FROM + 2003 12 9 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 1950.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 1950.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R06 R701 2003-056A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2003 12 10 0 0 0.0000000 VALID FROM + 2010 4 27 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2251.50 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2251.50 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R06 R714 2005-050A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2010 4 28 0 0 0.0000000 VALID FROM + 2010 9 30 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2060.50 NORTH / EAST / UP + NOAZI 5.20 4.50 3.20 2.00 0.40 -1.00 -2.30 -3.50 -4.00 -4.30 -4.00 -3.20 -1.80 0.50 3.20 5.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2060.50 NORTH / EAST / UP + NOAZI 5.20 4.50 3.20 2.00 0.40 -1.00 -2.30 -3.50 -4.00 -4.30 -4.00 -3.20 -1.80 0.50 3.20 5.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R06 R733 2009-070B TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2010 10 1 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2411.40 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2411.40 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R07 R786 1998-077C TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1998 12 30 0 0 0.0000000 VALID FROM + 2004 12 25 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2015.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2015.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R07 R712 2004-053B TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2004 12 26 0 0 0.0000000 VALID FROM + 2011 12 14 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2345.70 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2345.70 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R07 R745 2011-064B TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2011 12 15 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2600.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2600.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R08 R784 1998-077B TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1998 12 30 0 0 0.0000000 VALID FROM + 2004 12 25 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2028.80 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2028.80 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R08 R797 2004-053C TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2004 12 26 0 0 0.0000000 VALID FROM + 2008 12 24 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 1914.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 1914.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R08 R729 2008-067B TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2008 12 25 0 0 0.0000000 VALID FROM + 2012 9 12 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2492.40 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2492.40 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R08 R743 2011-064C TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2012 9 17 0 0 0.0000000 VALID FROM + 2012 10 17 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2323.80 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2323.80 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R08 R712 2004-053B TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2012 10 18 0 0 0.0000000 VALID FROM + 2012 12 21 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2345.70 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2345.70 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R08 R743 2011-064C TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2012 12 22 0 0 0.0000000 VALID FROM + 2013 1 5 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2323.80 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2323.80 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-K1 R08 R801 2011-009A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2013 1 6 0 0 0.0000000 VALID FROM + 2013 2 22 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2014.70 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2014.70 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R08 R743 2011-064C TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2013 2 23 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2323.80 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2323.80 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R09 R776 1995-068C TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1995 12 14 0 0 0.0000000 VALID FROM + 2007 12 24 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R09 R722 2007-065B TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2007 12 25 0 0 0.0000000 VALID FROM + 2010 9 30 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2469.30 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2469.30 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R09 R736 2010-041C TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2010 10 1 0 0 0.0000000 VALID FROM + 2016 2 15 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2361.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2361.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-K1 R09 R802 2014-075A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2016 2 16 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2083.00 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2083.00 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R10 R781 1995-037B TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1995 7 24 0 0 0.0000000 VALID FROM + 2006 12 24 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R10 R717 2006-062B TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2006 12 25 0 0 0.0000000 VALID FROM + 2019 8 1 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2315.70 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2315.70 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R10 R723 2007-065C TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2019 9 30 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2325.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2325.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R11 R785 1995-037C TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1995 7 24 0 0 0.0000000 VALID FROM + 2007 12 24 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R11 R723 2007-065C TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2007 12 25 0 0 0.0000000 VALID FROM + 2016 6 23 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2325.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2325.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R11 R853 2016-032A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2016 6 24 0 0 0.0000000 VALID FROM + 2020 11 19 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! PRELIMINARY PHASE CENTER CORRECTIONS! COMMENT + R01 START OF FREQUENCY + -545.00 0.00 2400.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2400.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-K1 R11 R805 2020-075A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2020 12 1 13 31 30.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R12 R767 1994-050A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1994 8 11 0 0 0.0000000 VALID FROM + 2010 9 1 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R12 R737 2010-041B TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2010 9 2 0 0 0.0000000 VALID FROM + 2016 11 21 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2427.80 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2427.80 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R12 R723 2007-065C TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2016 12 15 0 0 0.0000000 VALID FROM + 2019 6 19 10 29 59.0000000 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2325.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2325.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R12 R858 2019-030A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2019 6 19 10 30 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2450.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2450.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R13 R782 1995-068A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1995 12 14 0 0 0.0000000 VALID FROM + 2007 12 24 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R13 R721 2007-065A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2007 12 25 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2375.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2375.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R14 R770 1994-050C TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1994 8 11 0 0 0.0000000 VALID FROM + 2006 12 24 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R14 R715 2006-062C TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2006 12 25 0 0 0.0000000 VALID FROM + 2010 12 15 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2351.60 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2351.60 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R14 R722 2007-065B TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2010 12 16 0 0 0.0000000 VALID FROM + 2011 10 12 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2469.30 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2469.30 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R14 R715 2006-062C TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2011 10 13 0 0 0.0000000 VALID FROM + 2017 7 8 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2351.60 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2351.60 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-K1 R14 R801 2011-009A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2017 9 21 0 0 0.0000000 VALID FROM + 2017 10 5 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2014.70 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2014.70 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R14 R852 2017-055A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2017 10 10 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2450.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2450.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R15 R780 1995-037A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1995 7 24 0 0 0.0000000 VALID FROM + 1999 4 6 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R15 R778 1995-068B TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1999 4 7 0 0 0.0000000 VALID FROM + 2006 12 24 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R15 R716 2006-062A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2006 12 25 0 0 0.0000000 VALID FROM + 2018 11 23 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2451.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2451.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R15 R857 2018-086A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2018 11 24 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2450.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2450.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R16 R775 1994-050B TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1994 8 11 0 0 0.0000000 VALID FROM + 2010 9 1 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R16 R736 2010-041C TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2010 9 2 0 0 0.0000000 VALID FROM + 2010 9 30 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2361.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2361.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R16 R738 2010-041A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2010 10 1 0 0 0.0000000 VALID FROM + 2016 2 14 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2456.50 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2456.50 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R16 R736 2010-041C TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2016 3 9 0 0 0.0000000 VALID FROM + 2021 12 17 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2361.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2361.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R16 R861 2022-161A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2022 11 28 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2450.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2450.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R17 R760 1994-021A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1994 4 11 0 0 0.0000000 VALID FROM + 2000 10 12 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R17 R787 2000-063A TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2000 10 13 0 0 0.0000000 VALID FROM + 2007 10 25 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2175.60 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2175.60 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R17 R718 2007-052C TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2007 10 26 0 0 0.0000000 VALID FROM + 2010 12 15 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2490.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2490.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R17 R714 2005-050A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2010 12 16 0 0 0.0000000 VALID FROM + 2011 12 19 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2060.50 NORTH / EAST / UP + NOAZI 5.20 4.50 3.20 2.00 0.40 -1.00 -2.30 -3.50 -4.00 -4.30 -4.00 -3.20 -1.80 0.50 3.20 5.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2060.50 NORTH / EAST / UP + NOAZI 5.20 4.50 3.20 2.00 0.40 -1.00 -2.30 -3.50 -4.00 -4.30 -4.00 -3.20 -1.80 0.50 3.20 5.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R17 R746 2011-071A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2011 12 20 0 0 0.0000000 VALID FROM + 2015 4 12 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2726.30 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2726.30 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R17 R714 2005-050A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2015 4 13 0 0 0.0000000 VALID FROM + 2016 1 26 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2060.50 NORTH / EAST / UP + NOAZI 5.20 4.50 3.20 2.00 0.40 -1.00 -2.30 -3.50 -4.00 -4.30 -4.00 -3.20 -1.80 0.50 3.20 5.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2060.50 NORTH / EAST / UP + NOAZI 5.20 4.50 3.20 2.00 0.40 -1.00 -2.30 -3.50 -4.00 -4.30 -4.00 -3.20 -1.80 0.50 3.20 5.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-K1 R17 R802 2014-075A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2016 1 27 0 0 0.0000000 VALID FROM + 2016 2 15 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2083.00 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2083.00 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R17 R714 2005-050A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2016 2 16 0 0 0.0000000 VALID FROM + 2016 2 23 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2060.50 NORTH / EAST / UP + NOAZI 5.20 4.50 3.20 2.00 0.40 -1.00 -2.30 -3.50 -4.00 -4.30 -4.00 -3.20 -1.80 0.50 3.20 5.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2060.50 NORTH / EAST / UP + NOAZI 5.20 4.50 3.20 2.00 0.40 -1.00 -2.30 -3.50 -4.00 -4.30 -4.00 -3.20 -1.80 0.50 3.20 5.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R17 R851 2016-008A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2016 2 24 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2394.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2394.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R18 R758 1994-021C TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1994 4 11 0 0 0.0000000 VALID FROM + 2000 10 12 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R18 R783 2000-063C TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2000 10 13 0 0 0.0000000 VALID FROM + 2008 9 24 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 1993.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 1993.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R18 R724 2008-046A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2008 9 25 0 0 0.0000000 VALID FROM + 2014 2 11 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2393.90 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2393.90 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R18 R714 2005-050A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2014 2 18 0 0 0.0000000 VALID FROM + 2014 4 10 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2060.50 NORTH / EAST / UP + NOAZI 5.20 4.50 3.20 2.00 0.40 -1.00 -2.30 -3.50 -4.00 -4.30 -4.00 -3.20 -1.80 0.50 3.20 5.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2060.50 NORTH / EAST / UP + NOAZI 5.20 4.50 3.20 2.00 0.40 -1.00 -2.30 -3.50 -4.00 -4.30 -4.00 -3.20 -1.80 0.50 3.20 5.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R18 R854 2014-012A TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2014 4 11 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2490.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2490.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R19 R777 1995-009C TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1995 3 7 0 0 0.0000000 VALID FROM + 2005 12 24 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R19 R798 2005-050C TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2005 12 25 0 0 0.0000000 VALID FROM + 2007 10 25 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2075.80 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2075.80 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R19 R720 2007-052A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2007 10 26 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2443.80 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2443.80 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R20 R765 1995-009A TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1995 3 7 0 0 0.0000000 VALID FROM + 2006 2 27 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R20 R793 2002-060B TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2006 2 28 0 0 0.0000000 VALID FROM + 2007 10 25 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2096.90 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2096.90 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R20 R719 2007-052B TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2007 10 26 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2408.50 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2408.50 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R21 R792 2002-060C TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2002 12 25 0 0 0.0000000 VALID FROM + 2008 9 24 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2038.30 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2038.30 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R21 R725 2008-046B TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2008 9 25 0 0 0.0000000 VALID FROM + 2014 8 1 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2222.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2222.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R21 R855 2014-032A TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2014 8 2 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2398.90 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2398.90 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R22 R766 1995-009B TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1995 3 7 0 0 0.0000000 VALID FROM + 2002 12 24 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R22 R791 2002-060A TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2002 12 25 0 0 0.0000000 VALID FROM + 2007 10 25 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2041.80 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2041.80 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R22 R798 2005-050C TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2007 10 26 0 0 0.0000000 VALID FROM + 2008 9 24 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2075.80 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2075.80 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R22 R726 2008-046C TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2008 9 25 0 0 0.0000000 VALID FROM + 2010 2 28 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2342.50 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2342.50 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R22 R731 2010-007A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2010 3 1 0 0 0.0000000 VALID FROM + 2020 6 24 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2347.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2347.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R22 R735 2010-007B TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2020 8 13 0 0 0.0000000 VALID FROM + 2022 6 4 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2461.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2461.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-K1 R22 R806 2022-075A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2022 7 7 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R23 R761 1994-021B TYPE / SERIAL NO + 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 1994 4 11 0 0 0.0000000 VALID FROM + 2002 12 24 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE +ATTENTION! ROUNDED BLOCK MEAN Z-OFFSET VALUE! COMMENT + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R23 R793 2002-060B TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2002 12 25 0 0 0.0000000 VALID FROM + 2006 2 27 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2096.90 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2096.90 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R23 R714 2005-050A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2006 2 28 0 0 0.0000000 VALID FROM + 2010 3 18 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2060.50 NORTH / EAST / UP + NOAZI 5.20 4.50 3.20 2.00 0.40 -1.00 -2.30 -3.50 -4.00 -4.30 -4.00 -3.20 -1.80 0.50 3.20 5.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2060.50 NORTH / EAST / UP + NOAZI 5.20 4.50 3.20 2.00 0.40 -1.00 -2.30 -3.50 -4.00 -4.30 -4.00 -3.20 -1.80 0.50 3.20 5.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R23 R732 2010-007C TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2010 3 19 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2261.90 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2261.90 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS R24 R788 2000-063B TYPE / SERIAL NO + COD 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2000 10 13 0 0 0.0000000 VALID FROM + 2005 12 24 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2167.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2167.10 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R24 R713 2005-050B TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2005 12 25 0 0 0.0000000 VALID FROM + 2010 2 28 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2428.30 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2428.30 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R24 R735 2010-007B TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2010 3 1 0 0 0.0000000 VALID FROM + 2020 4 10 4 59 59.0000000 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2461.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2461.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R24 R860 2020-018A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2020 4 10 5 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2450.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2450.00 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-K1 R25 R805 2020-075A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2020 11 12 0 0 0.0000000 VALID FROM + 2020 12 1 13 30 30.0000000 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-K1 R25 R807 2022-130A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2022 10 10 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2050.00 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-K1 R26 R801 2011-009A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2012 3 15 0 0 0.0000000 VALID FROM + 2013 1 5 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2014.70 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2014.70 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-K1 R26 R801 2011-009A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2013 2 23 0 0 0.0000000 VALID FROM + 2017 9 20 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2014.70 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2014.70 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-K1 R26 R801 2011-009A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2017 10 6 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2014.70 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2014.70 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-K1 R27 R802 2014-075A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2014 11 30 0 0 0.0000000 VALID FROM + 2016 1 26 23 59 59.9999999 VALID UNTIL +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + 0.00 0.00 2083.00 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + 0.00 0.00 2083.00 NORTH / EAST / UP + NOAZI 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 + R02 END OF FREQUENCY + END OF ANTENNA + START OF ANTENNA +GLONASS-M R27 R716 2006-062A TYPE / SERIAL NO + COD/ESA 0 29-JAN-17 METH / BY / # / DATE + 0.0 DAZI + 0.0 15.0 1.0 ZEN1 / ZEN2 / DZEN + 2 # OF FREQUENCIES + 2019 8 3 0 0 0.0000000 VALID FROM +IGS14_2247 SINEX CODE + R01 START OF FREQUENCY + -545.00 0.00 2451.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R01 END OF FREQUENCY + R02 START OF FREQUENCY + -545.00 0.00 2451.20 NORTH / EAST / UP + NOAZI 1.90 1.50 1.10 0.80 0.20 -0.20 -0.60 -1.10 -1.30 -1.60 -1.80 -1.60 -1.10 0.00 1.50 2.20 + R02 END OF FREQUENCY + END OF ANTENNA diff --git a/src/library/gnss/test_antex_file_reader.cpp b/src/library/gnss/test_antex_file_reader.cpp new file mode 100644 index 000000000..c3608ed4b --- /dev/null +++ b/src/library/gnss/test_antex_file_reader.cpp @@ -0,0 +1,145 @@ +/** + * @file test_antex_file_reader.cpp + * @brief Test codes for AntexReader class with GoogleTest + */ +#include +#include + +#include "antex_file_reader.hpp" + +/** + * @brief Test Constructor + */ +TEST(AntexReader, Constructor) { + std::string test_file_name = "/src/library/gnss/example.atx"; + + AntexFileReader antex_file_fault("false_file_path.atx"); + EXPECT_FALSE(antex_file_fault.GetFileReadSuccessFlag()); + + AntexFileReader antex_file(CORE_DIR_FROM_EXE + test_file_name); + EXPECT_TRUE(antex_file.GetFileReadSuccessFlag()); + + // Check data + EXPECT_EQ(59, antex_file.GetNumberOfSatelliteData()); + + // Check first data + AntexSatelliteData antex_satellite_data = antex_file.GetAntexSatelliteData(0)[0]; + EXPECT_THAT(antex_satellite_data.GetAntennaType(), ::testing::MatchesRegex("BLOCK IIA.*")); + EXPECT_THAT(antex_satellite_data.GetSerialNumber(), ::testing::MatchesRegex("G01.*")); + EXPECT_EQ(2, antex_satellite_data.GetNumberOfFrequency()); + EXPECT_THAT(antex_satellite_data.GetValidStartTime().GetAsString(), ::testing::MatchesRegex("1992/11/22 00:00:0.*")); + EXPECT_THAT(antex_satellite_data.GetValidEndTime().GetAsString(), ::testing::MatchesRegex("2008/10/16 23:59:60.*")); + // First frequency + EXPECT_THAT(antex_satellite_data.GetPhaseCenterData(0).GetFrequencyName(), ::testing::MatchesRegex("G01.*")); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetStart_deg()); + EXPECT_DOUBLE_EQ(17.0, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetEnd_deg()); + EXPECT_DOUBLE_EQ(1.0, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetStep_deg()); + EXPECT_EQ(18, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetNumberOfGrid()); + EXPECT_DOUBLE_EQ(279.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[0]); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[1]); + EXPECT_DOUBLE_EQ(2319.5, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[2]); + EXPECT_DOUBLE_EQ(-0.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[1]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[2]); + EXPECT_DOUBLE_EQ(-0.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[3]); + EXPECT_DOUBLE_EQ(-0.4, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[4]); + EXPECT_DOUBLE_EQ(0.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[5]); + EXPECT_DOUBLE_EQ(0.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[6]); + EXPECT_DOUBLE_EQ(1.3, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[7]); + EXPECT_DOUBLE_EQ(1.4, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[8]); + EXPECT_DOUBLE_EQ(1.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[9]); + EXPECT_DOUBLE_EQ(0.7, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[10]); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[11]); + EXPECT_DOUBLE_EQ(-0.4, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[12]); + EXPECT_DOUBLE_EQ(-0.7, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[13]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[14]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[15]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[16]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[17]); + // Second frequency + EXPECT_THAT(antex_satellite_data.GetPhaseCenterData(1).GetFrequencyName(), ::testing::MatchesRegex("G02.*")); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetStart_deg()); + EXPECT_DOUBLE_EQ(17.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetEnd_deg()); + EXPECT_DOUBLE_EQ(1.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetStep_deg()); + EXPECT_EQ(18, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetNumberOfGrid()); + EXPECT_DOUBLE_EQ(279.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[0]); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[1]); + EXPECT_DOUBLE_EQ(2319.5, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[2]); + EXPECT_DOUBLE_EQ(-0.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[1]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[2]); + EXPECT_DOUBLE_EQ(-0.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[3]); + EXPECT_DOUBLE_EQ(-0.4, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[4]); + EXPECT_DOUBLE_EQ(0.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[5]); + EXPECT_DOUBLE_EQ(0.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[6]); + EXPECT_DOUBLE_EQ(1.3, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[7]); + EXPECT_DOUBLE_EQ(1.4, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[8]); + EXPECT_DOUBLE_EQ(1.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[9]); + EXPECT_DOUBLE_EQ(0.7, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[10]); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[11]); + EXPECT_DOUBLE_EQ(-0.4, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[12]); + EXPECT_DOUBLE_EQ(-0.7, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[13]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[14]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[15]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[16]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[17]); + + // Check last data + // Check first data + antex_satellite_data = antex_file.GetAntexSatelliteData(58)[1]; + EXPECT_THAT(antex_satellite_data.GetAntennaType(), ::testing::MatchesRegex("GLONASS-M.*")); + EXPECT_THAT(antex_satellite_data.GetSerialNumber(), ::testing::MatchesRegex("R27.*")); + EXPECT_EQ(2, antex_satellite_data.GetNumberOfFrequency()); + EXPECT_THAT(antex_satellite_data.GetValidStartTime().GetAsString(), ::testing::MatchesRegex("2019/08/03 00:00:0.*")); + // First frequency + EXPECT_THAT(antex_satellite_data.GetPhaseCenterData(0).GetFrequencyName(), ::testing::MatchesRegex("R01.*")); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetStart_deg()); + EXPECT_DOUBLE_EQ(15.0, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetEnd_deg()); + EXPECT_DOUBLE_EQ(1.0, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetStep_deg()); + EXPECT_EQ(16, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetNumberOfGrid()); + EXPECT_DOUBLE_EQ(-545.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[0]); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[1]); + EXPECT_DOUBLE_EQ(2451.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[2]); + EXPECT_DOUBLE_EQ(1.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0]); + EXPECT_DOUBLE_EQ(1.5, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[1]); + EXPECT_DOUBLE_EQ(1.1, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[2]); + EXPECT_DOUBLE_EQ(0.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[3]); + EXPECT_DOUBLE_EQ(0.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[4]); + EXPECT_DOUBLE_EQ(-0.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[5]); + EXPECT_DOUBLE_EQ(-0.6, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[6]); + EXPECT_DOUBLE_EQ(-1.1, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[7]); + EXPECT_DOUBLE_EQ(-1.3, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[8]); + EXPECT_DOUBLE_EQ(-1.6, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[9]); + EXPECT_DOUBLE_EQ(-1.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[10]); + EXPECT_DOUBLE_EQ(-1.6, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[11]); + EXPECT_DOUBLE_EQ(-1.1, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[12]); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[13]); + EXPECT_DOUBLE_EQ(1.5, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[14]); + EXPECT_DOUBLE_EQ(2.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[15]); + // Second frequency + EXPECT_THAT(antex_satellite_data.GetPhaseCenterData(1).GetFrequencyName(), ::testing::MatchesRegex("R02.*")); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetStart_deg()); + EXPECT_DOUBLE_EQ(15.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetEnd_deg()); + EXPECT_DOUBLE_EQ(1.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetStep_deg()); + EXPECT_EQ(16, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetNumberOfGrid()); + EXPECT_DOUBLE_EQ(-545.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[0]); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[1]); + EXPECT_DOUBLE_EQ(2451.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[2]); + EXPECT_DOUBLE_EQ(1.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0]); + EXPECT_DOUBLE_EQ(1.5, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[1]); + EXPECT_DOUBLE_EQ(1.1, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[2]); + EXPECT_DOUBLE_EQ(0.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[3]); + EXPECT_DOUBLE_EQ(0.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[4]); + EXPECT_DOUBLE_EQ(-0.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[5]); + EXPECT_DOUBLE_EQ(-0.6, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[6]); + EXPECT_DOUBLE_EQ(-1.1, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[7]); + EXPECT_DOUBLE_EQ(-1.3, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[8]); + EXPECT_DOUBLE_EQ(-1.6, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[9]); + EXPECT_DOUBLE_EQ(-1.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[10]); + EXPECT_DOUBLE_EQ(-1.6, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[11]); + EXPECT_DOUBLE_EQ(-1.1, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[12]); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[13]); + EXPECT_DOUBLE_EQ(1.5, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[14]); + EXPECT_DOUBLE_EQ(2.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[15]); + // TODO: Add all satellite check? +} From 2498b53717e96404ac0e1f04f8f5ccceb9aeb6dd Mon Sep 17 00:00:00 2001 From: Satoshi Ikari Date: Wed, 8 Nov 2023 15:46:49 +0100 Subject: [PATCH 2/8] Fix grid angle variable names --- src/library/gnss/antex_file_reader.cpp | 2 +- src/library/gnss/antex_file_reader.hpp | 48 ++++++++++++++------- src/library/gnss/test_antex_file_reader.cpp | 32 +++++++------- 3 files changed, 50 insertions(+), 32 deletions(-) diff --git a/src/library/gnss/antex_file_reader.cpp b/src/library/gnss/antex_file_reader.cpp index ea6db89c0..9714eaece 100644 --- a/src/library/gnss/antex_file_reader.cpp +++ b/src/library/gnss/antex_file_reader.cpp @@ -134,7 +134,7 @@ AntexPhaseCenterData AntexFileReader::ReadPhaseCenterData(std::ifstream& antex_f // Phase center variation if (line.find("NOAZI") != std::string::npos) { std::vector phase_center_variation; - for (size_t i = 0; i < grid_information.GetNumberOfGrid(); i++) { + for (size_t i = 0; i < grid_information.GetNumberOfZenithGrid(); i++) { double parameter = std::stod(line.substr(8 + i * 8, 8)); phase_center_variation.push_back(parameter); } diff --git a/src/library/gnss/antex_file_reader.hpp b/src/library/gnss/antex_file_reader.hpp index 88e0854ae..a62348154 100644 --- a/src/library/gnss/antex_file_reader.hpp +++ b/src/library/gnss/antex_file_reader.hpp @@ -18,20 +18,34 @@ /** * @class AntexGridDefinition * @brief grid data definition in ANTEX file - * @note TODO: support azimuth depending data */ class AntexGridDefinition { public: /** * @fn AntexGridDefinition * @brief Constructor - * @param[in] start_deg: Start azimuth angle [deg] - * @param[in] end_deg: End azimuth angle [deg] - * @param[in] step_deg: Step azimuth angle [deg] + * @param[in] zenith_start_angle_deg: Zenith grid start angle [deg] + * @param[in] zenith_end_angle_deg: Zenith grid end angle [deg] + * @param[in] zenith_step_angle_deg: Zenith grid step angle [deg] + * @param[in] azimuth_step_angle_deg: Azimuth grid step value [deg] */ - AntexGridDefinition(double start_deg = 0.0, double end_deg = 90.0, double step_deg = 10.0) - : start_deg_(start_deg), end_deg_(end_deg), step_deg_(step_deg) { - number_of_grid_ = size_t((end_deg_ - start_deg_) / step_deg_) + 1; + AntexGridDefinition(const double zenith_start_angle_deg = 0.0, const double zenith_end_angle_deg = 90.0, const double zenith_step_angle_deg = 10.0, + const double azimuth_step_angle_deg = 0.0) + : zenith_start_angle_deg_(zenith_start_angle_deg), + zenith_end_angle_deg_(zenith_end_angle_deg), + zenith_step_angle_deg_(zenith_step_angle_deg), + azimuth_step_angle_deg_(azimuth_step_angle_deg) { + if (zenith_step_angle_deg_ <= 0.0) { + number_of_zenith_grid_ = 0; + } else { + number_of_zenith_grid_ = size_t((zenith_end_angle_deg_ - zenith_start_angle_deg_) / zenith_step_angle_deg_) + 1; + } + + if (azimuth_step_angle_deg_ <= 0.0) { + number_of_azimuth_grid_ = 0; + } else { + number_of_azimuth_grid_ = size_t(360.0 / azimuth_step_angle_deg_) + 1; + } } /** * @fn ~AntexGridDefinition @@ -40,16 +54,20 @@ class AntexGridDefinition { ~AntexGridDefinition() {} // Getter - inline double GetStart_deg() const { return start_deg_; } - inline double GetEnd_deg() const { return end_deg_; } - inline double GetStep_deg() const { return step_deg_; } - inline double GetNumberOfGrid() const { return number_of_grid_; } + inline double GetZenithStartAngle_deg() const { return zenith_start_angle_deg_; } + inline double GetZenithEndAngle_deg() const { return zenith_end_angle_deg_; } + inline double GetZenithStepAngle_deg() const { return zenith_step_angle_deg_; } + inline double GetNumberOfZenithGrid() const { return number_of_zenith_grid_; } private: - double start_deg_; //!< Grid start value (ZEN1) [deg] - double end_deg_; //!< Grid end value (ZEN2) [deg] - double step_deg_; //!< Grid step value (DZEN) [deg] - size_t number_of_grid_; //!< Number of grid + // Zenith + double zenith_start_angle_deg_; //!< Zenith grid start value (ZEN1) [deg] + double zenith_end_angle_deg_; //!< Zenith grid end value (ZEN2) [deg] + double zenith_step_angle_deg_; //!< Zenith grid step value (DZEN) [deg] + size_t number_of_zenith_grid_; //!< Number of grid + // Azimuth + double azimuth_step_angle_deg_; //!< Zenith grid step value (DAZI) [deg] + size_t number_of_azimuth_grid_; //!< Number of grid }; /** diff --git a/src/library/gnss/test_antex_file_reader.cpp b/src/library/gnss/test_antex_file_reader.cpp index c3608ed4b..a2568c2e0 100644 --- a/src/library/gnss/test_antex_file_reader.cpp +++ b/src/library/gnss/test_antex_file_reader.cpp @@ -31,10 +31,10 @@ TEST(AntexReader, Constructor) { EXPECT_THAT(antex_satellite_data.GetValidEndTime().GetAsString(), ::testing::MatchesRegex("2008/10/16 23:59:60.*")); // First frequency EXPECT_THAT(antex_satellite_data.GetPhaseCenterData(0).GetFrequencyName(), ::testing::MatchesRegex("G01.*")); - EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetStart_deg()); - EXPECT_DOUBLE_EQ(17.0, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetEnd_deg()); - EXPECT_DOUBLE_EQ(1.0, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetStep_deg()); - EXPECT_EQ(18, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetNumberOfGrid()); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetZenithStartAngle_deg()); + EXPECT_DOUBLE_EQ(17.0, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetZenithEndAngle_deg()); + EXPECT_DOUBLE_EQ(1.0, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetZenithStepAngle_deg()); + EXPECT_EQ(18, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetNumberOfZenithGrid()); EXPECT_DOUBLE_EQ(279.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[0]); EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[1]); EXPECT_DOUBLE_EQ(2319.5, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[2]); @@ -58,10 +58,10 @@ TEST(AntexReader, Constructor) { EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[17]); // Second frequency EXPECT_THAT(antex_satellite_data.GetPhaseCenterData(1).GetFrequencyName(), ::testing::MatchesRegex("G02.*")); - EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetStart_deg()); - EXPECT_DOUBLE_EQ(17.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetEnd_deg()); - EXPECT_DOUBLE_EQ(1.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetStep_deg()); - EXPECT_EQ(18, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetNumberOfGrid()); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetZenithStartAngle_deg()); + EXPECT_DOUBLE_EQ(17.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetZenithEndAngle_deg()); + EXPECT_DOUBLE_EQ(1.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetZenithStepAngle_deg()); + EXPECT_EQ(18, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetNumberOfZenithGrid()); EXPECT_DOUBLE_EQ(279.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[0]); EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[1]); EXPECT_DOUBLE_EQ(2319.5, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[2]); @@ -93,10 +93,10 @@ TEST(AntexReader, Constructor) { EXPECT_THAT(antex_satellite_data.GetValidStartTime().GetAsString(), ::testing::MatchesRegex("2019/08/03 00:00:0.*")); // First frequency EXPECT_THAT(antex_satellite_data.GetPhaseCenterData(0).GetFrequencyName(), ::testing::MatchesRegex("R01.*")); - EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetStart_deg()); - EXPECT_DOUBLE_EQ(15.0, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetEnd_deg()); - EXPECT_DOUBLE_EQ(1.0, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetStep_deg()); - EXPECT_EQ(16, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetNumberOfGrid()); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetZenithStartAngle_deg()); + EXPECT_DOUBLE_EQ(15.0, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetZenithEndAngle_deg()); + EXPECT_DOUBLE_EQ(1.0, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetZenithStepAngle_deg()); + EXPECT_EQ(16, antex_satellite_data.GetPhaseCenterData(0).GetGridInformation().GetNumberOfZenithGrid()); EXPECT_DOUBLE_EQ(-545.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[0]); EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[1]); EXPECT_DOUBLE_EQ(2451.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[2]); @@ -118,10 +118,10 @@ TEST(AntexReader, Constructor) { EXPECT_DOUBLE_EQ(2.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[15]); // Second frequency EXPECT_THAT(antex_satellite_data.GetPhaseCenterData(1).GetFrequencyName(), ::testing::MatchesRegex("R02.*")); - EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetStart_deg()); - EXPECT_DOUBLE_EQ(15.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetEnd_deg()); - EXPECT_DOUBLE_EQ(1.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetStep_deg()); - EXPECT_EQ(16, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetNumberOfGrid()); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetZenithStartAngle_deg()); + EXPECT_DOUBLE_EQ(15.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetZenithEndAngle_deg()); + EXPECT_DOUBLE_EQ(1.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetZenithStepAngle_deg()); + EXPECT_EQ(16, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetNumberOfZenithGrid()); EXPECT_DOUBLE_EQ(-545.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[0]); EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[1]); EXPECT_DOUBLE_EQ(2451.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[2]); From 38675d0162ebc717ccec8296a1662a40d8aacd41 Mon Sep 17 00:00:00 2001 From: Satoshi Ikari Date: Wed, 8 Nov 2023 15:57:31 +0100 Subject: [PATCH 3/8] Modify to handle azimuth depending value --- src/library/gnss/antex_file_reader.cpp | 4 +- src/library/gnss/antex_file_reader.hpp | 14 +- src/library/gnss/test_antex_file_reader.cpp | 136 ++++++++++---------- 3 files changed, 78 insertions(+), 76 deletions(-) diff --git a/src/library/gnss/antex_file_reader.cpp b/src/library/gnss/antex_file_reader.cpp index 9714eaece..819076cbe 100644 --- a/src/library/gnss/antex_file_reader.cpp +++ b/src/library/gnss/antex_file_reader.cpp @@ -138,7 +138,9 @@ AntexPhaseCenterData AntexFileReader::ReadPhaseCenterData(std::ifstream& antex_f double parameter = std::stod(line.substr(8 + i * 8, 8)); phase_center_variation.push_back(parameter); } - phase_center_data.SetPhaseCenterVariationParameters_mm(phase_center_variation); + std::vector> phase_center_variation_matrix; + phase_center_variation_matrix.push_back(phase_center_variation); + phase_center_data.SetPhaseCenterVariationMatrix_mm(phase_center_variation_matrix); } // TODO: implement DAZI } diff --git a/src/library/gnss/antex_file_reader.hpp b/src/library/gnss/antex_file_reader.hpp index a62348154..40f734825 100644 --- a/src/library/gnss/antex_file_reader.hpp +++ b/src/library/gnss/antex_file_reader.hpp @@ -93,21 +93,21 @@ class AntexPhaseCenterData { inline void SetFrequencyName(const std::string frequency_name) { frequency_name_ = frequency_name; } inline void SetPhaseCenterOffset_mm(const libra::Vector<3> phase_center_offset_mm) { phase_center_offset_mm_ = phase_center_offset_mm; } inline void SetGridInformation(const AntexGridDefinition grid_information) { grid_information_ = grid_information; } - inline void SetPhaseCenterVariationParameters_mm(const std::vector phase_center_variation_parameters_mm) { - phase_center_variation_parameters_mm_ = phase_center_variation_parameters_mm; + inline void SetPhaseCenterVariationMatrix_mm(const std::vector> phase_center_variation_parameters_mm) { + phase_center_variation_matrix_mm_ = phase_center_variation_parameters_mm; } // Getter inline std::string GetFrequencyName() const { return frequency_name_; } inline libra::Vector<3> GetPhaseCenterOffset_mm() const { return phase_center_offset_mm_; } inline AntexGridDefinition GetGridInformation() const { return grid_information_; } - inline std::vector GetPhaseCenterVariationParameters_mm() const { return phase_center_variation_parameters_mm_; } + inline std::vector> GetPhaseCenterVariationParameters_mm() const { return phase_center_variation_matrix_mm_; } private: - std::string frequency_name_ = ""; //!< Frequency name - libra::Vector<3> phase_center_offset_mm_{0.0}; //!< Phase center offset for each frequency [mm] - AntexGridDefinition grid_information_; //!< Grid information - std::vector phase_center_variation_parameters_mm_; //!< Phase center variation for each frequency [mm] + std::string frequency_name_ = ""; //!< Frequency name + libra::Vector<3> phase_center_offset_mm_{0.0}; //!< Phase center offset [mm] + AntexGridDefinition grid_information_; //!< Grid information + std::vector> phase_center_variation_matrix_mm_; //!< Phase center variation [mm] (column, row definition: [azimuth][zenith]) }; /** diff --git a/src/library/gnss/test_antex_file_reader.cpp b/src/library/gnss/test_antex_file_reader.cpp index a2568c2e0..bb5884df4 100644 --- a/src/library/gnss/test_antex_file_reader.cpp +++ b/src/library/gnss/test_antex_file_reader.cpp @@ -38,24 +38,24 @@ TEST(AntexReader, Constructor) { EXPECT_DOUBLE_EQ(279.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[0]); EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[1]); EXPECT_DOUBLE_EQ(2319.5, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[2]); - EXPECT_DOUBLE_EQ(-0.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[1]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[2]); - EXPECT_DOUBLE_EQ(-0.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[3]); - EXPECT_DOUBLE_EQ(-0.4, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[4]); - EXPECT_DOUBLE_EQ(0.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[5]); - EXPECT_DOUBLE_EQ(0.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[6]); - EXPECT_DOUBLE_EQ(1.3, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[7]); - EXPECT_DOUBLE_EQ(1.4, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[8]); - EXPECT_DOUBLE_EQ(1.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[9]); - EXPECT_DOUBLE_EQ(0.7, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[10]); - EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[11]); - EXPECT_DOUBLE_EQ(-0.4, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[12]); - EXPECT_DOUBLE_EQ(-0.7, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[13]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[14]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[15]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[16]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[17]); + EXPECT_DOUBLE_EQ(-0.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][0]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][1]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][2]); + EXPECT_DOUBLE_EQ(-0.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][3]); + EXPECT_DOUBLE_EQ(-0.4, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][4]); + EXPECT_DOUBLE_EQ(0.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][5]); + EXPECT_DOUBLE_EQ(0.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][6]); + EXPECT_DOUBLE_EQ(1.3, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][7]); + EXPECT_DOUBLE_EQ(1.4, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][8]); + EXPECT_DOUBLE_EQ(1.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][9]); + EXPECT_DOUBLE_EQ(0.7, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][10]); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][11]); + EXPECT_DOUBLE_EQ(-0.4, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][12]); + EXPECT_DOUBLE_EQ(-0.7, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][13]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][14]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][15]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][16]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][17]); // Second frequency EXPECT_THAT(antex_satellite_data.GetPhaseCenterData(1).GetFrequencyName(), ::testing::MatchesRegex("G02.*")); EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetZenithStartAngle_deg()); @@ -65,24 +65,24 @@ TEST(AntexReader, Constructor) { EXPECT_DOUBLE_EQ(279.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[0]); EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[1]); EXPECT_DOUBLE_EQ(2319.5, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[2]); - EXPECT_DOUBLE_EQ(-0.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[1]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[2]); - EXPECT_DOUBLE_EQ(-0.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[3]); - EXPECT_DOUBLE_EQ(-0.4, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[4]); - EXPECT_DOUBLE_EQ(0.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[5]); - EXPECT_DOUBLE_EQ(0.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[6]); - EXPECT_DOUBLE_EQ(1.3, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[7]); - EXPECT_DOUBLE_EQ(1.4, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[8]); - EXPECT_DOUBLE_EQ(1.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[9]); - EXPECT_DOUBLE_EQ(0.7, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[10]); - EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[11]); - EXPECT_DOUBLE_EQ(-0.4, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[12]); - EXPECT_DOUBLE_EQ(-0.7, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[13]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[14]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[15]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[16]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[17]); + EXPECT_DOUBLE_EQ(-0.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][0]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][1]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][2]); + EXPECT_DOUBLE_EQ(-0.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][3]); + EXPECT_DOUBLE_EQ(-0.4, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][4]); + EXPECT_DOUBLE_EQ(0.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][5]); + EXPECT_DOUBLE_EQ(0.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][6]); + EXPECT_DOUBLE_EQ(1.3, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][7]); + EXPECT_DOUBLE_EQ(1.4, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][8]); + EXPECT_DOUBLE_EQ(1.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][9]); + EXPECT_DOUBLE_EQ(0.7, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][10]); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][11]); + EXPECT_DOUBLE_EQ(-0.4, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][12]); + EXPECT_DOUBLE_EQ(-0.7, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][13]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][14]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][15]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][16]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][17]); // Check last data // Check first data @@ -100,22 +100,22 @@ TEST(AntexReader, Constructor) { EXPECT_DOUBLE_EQ(-545.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[0]); EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[1]); EXPECT_DOUBLE_EQ(2451.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[2]); - EXPECT_DOUBLE_EQ(1.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0]); - EXPECT_DOUBLE_EQ(1.5, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[1]); - EXPECT_DOUBLE_EQ(1.1, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[2]); - EXPECT_DOUBLE_EQ(0.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[3]); - EXPECT_DOUBLE_EQ(0.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[4]); - EXPECT_DOUBLE_EQ(-0.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[5]); - EXPECT_DOUBLE_EQ(-0.6, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[6]); - EXPECT_DOUBLE_EQ(-1.1, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[7]); - EXPECT_DOUBLE_EQ(-1.3, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[8]); - EXPECT_DOUBLE_EQ(-1.6, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[9]); - EXPECT_DOUBLE_EQ(-1.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[10]); - EXPECT_DOUBLE_EQ(-1.6, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[11]); - EXPECT_DOUBLE_EQ(-1.1, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[12]); - EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[13]); - EXPECT_DOUBLE_EQ(1.5, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[14]); - EXPECT_DOUBLE_EQ(2.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[15]); + EXPECT_DOUBLE_EQ(1.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][0]); + EXPECT_DOUBLE_EQ(1.5, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][1]); + EXPECT_DOUBLE_EQ(1.1, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][2]); + EXPECT_DOUBLE_EQ(0.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][3]); + EXPECT_DOUBLE_EQ(0.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][4]); + EXPECT_DOUBLE_EQ(-0.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][5]); + EXPECT_DOUBLE_EQ(-0.6, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][6]); + EXPECT_DOUBLE_EQ(-1.1, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][7]); + EXPECT_DOUBLE_EQ(-1.3, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][8]); + EXPECT_DOUBLE_EQ(-1.6, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][9]); + EXPECT_DOUBLE_EQ(-1.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][10]); + EXPECT_DOUBLE_EQ(-1.6, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][11]); + EXPECT_DOUBLE_EQ(-1.1, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][12]); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][13]); + EXPECT_DOUBLE_EQ(1.5, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][14]); + EXPECT_DOUBLE_EQ(2.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][15]); // Second frequency EXPECT_THAT(antex_satellite_data.GetPhaseCenterData(1).GetFrequencyName(), ::testing::MatchesRegex("R02.*")); EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetZenithStartAngle_deg()); @@ -125,21 +125,21 @@ TEST(AntexReader, Constructor) { EXPECT_DOUBLE_EQ(-545.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[0]); EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[1]); EXPECT_DOUBLE_EQ(2451.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[2]); - EXPECT_DOUBLE_EQ(1.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0]); - EXPECT_DOUBLE_EQ(1.5, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[1]); - EXPECT_DOUBLE_EQ(1.1, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[2]); - EXPECT_DOUBLE_EQ(0.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[3]); - EXPECT_DOUBLE_EQ(0.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[4]); - EXPECT_DOUBLE_EQ(-0.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[5]); - EXPECT_DOUBLE_EQ(-0.6, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[6]); - EXPECT_DOUBLE_EQ(-1.1, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[7]); - EXPECT_DOUBLE_EQ(-1.3, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[8]); - EXPECT_DOUBLE_EQ(-1.6, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[9]); - EXPECT_DOUBLE_EQ(-1.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[10]); - EXPECT_DOUBLE_EQ(-1.6, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[11]); - EXPECT_DOUBLE_EQ(-1.1, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[12]); - EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[13]); - EXPECT_DOUBLE_EQ(1.5, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[14]); - EXPECT_DOUBLE_EQ(2.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[15]); + EXPECT_DOUBLE_EQ(1.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][0]); + EXPECT_DOUBLE_EQ(1.5, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][1]); + EXPECT_DOUBLE_EQ(1.1, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][2]); + EXPECT_DOUBLE_EQ(0.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][3]); + EXPECT_DOUBLE_EQ(0.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][4]); + EXPECT_DOUBLE_EQ(-0.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][5]); + EXPECT_DOUBLE_EQ(-0.6, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][6]); + EXPECT_DOUBLE_EQ(-1.1, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][7]); + EXPECT_DOUBLE_EQ(-1.3, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][8]); + EXPECT_DOUBLE_EQ(-1.6, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][9]); + EXPECT_DOUBLE_EQ(-1.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][10]); + EXPECT_DOUBLE_EQ(-1.6, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][11]); + EXPECT_DOUBLE_EQ(-1.1, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][12]); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][13]); + EXPECT_DOUBLE_EQ(1.5, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][14]); + EXPECT_DOUBLE_EQ(2.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][15]); // TODO: Add all satellite check? } From 315a3f3a000a461ac889ec6de891bce027b4605e Mon Sep 17 00:00:00 2001 From: Satoshi Ikari Date: Wed, 8 Nov 2023 16:18:45 +0100 Subject: [PATCH 4/8] Add doxygen comment --- src/library/gnss/antex_file_reader.cpp | 19 +++ src/library/gnss/antex_file_reader.hpp | 164 +++++++++++++++++--- src/library/gnss/test_antex_file_reader.cpp | 136 ++++++++-------- 3 files changed, 226 insertions(+), 93 deletions(-) diff --git a/src/library/gnss/antex_file_reader.cpp b/src/library/gnss/antex_file_reader.cpp index 819076cbe..2ae55c4f5 100644 --- a/src/library/gnss/antex_file_reader.cpp +++ b/src/library/gnss/antex_file_reader.cpp @@ -12,6 +12,25 @@ #define ANTEX_LINE_TYPE_POSITION (60) +AntexGridDefinition::AntexGridDefinition(const double zenith_start_angle_deg, const double zenith_end_angle_deg, const double zenith_step_angle_deg, + const double azimuth_step_angle_deg) + : zenith_start_angle_deg_(zenith_start_angle_deg), + zenith_end_angle_deg_(zenith_end_angle_deg), + zenith_step_angle_deg_(zenith_step_angle_deg), + azimuth_step_angle_deg_(azimuth_step_angle_deg) { + if (zenith_step_angle_deg_ <= 0.0) { + number_of_zenith_grid_ = 0; + } else { + number_of_zenith_grid_ = size_t((zenith_end_angle_deg_ - zenith_start_angle_deg_) / zenith_step_angle_deg_) + 1; + } + + if (azimuth_step_angle_deg_ <= 0.0) { + number_of_azimuth_grid_ = 0; + } else { + number_of_azimuth_grid_ = size_t(360.0 / azimuth_step_angle_deg_) + 1; + } +} + bool AntexFileReader::ReadFile(const std::string file_name) { // File open std::ifstream antex_file(file_name); diff --git a/src/library/gnss/antex_file_reader.hpp b/src/library/gnss/antex_file_reader.hpp index 40f734825..9efca4394 100644 --- a/src/library/gnss/antex_file_reader.hpp +++ b/src/library/gnss/antex_file_reader.hpp @@ -2,6 +2,7 @@ * @file antex_reader.hpp * @brief Read ANTEX format file * @note Ref. https://files.igs.org/pub/data/format/antex14.txt + * TODO: Support ANTEX receiver data */ #ifndef S2E_LIBRARY_ANTEX_FILE_READER_HPP_ @@ -30,23 +31,7 @@ class AntexGridDefinition { * @param[in] azimuth_step_angle_deg: Azimuth grid step value [deg] */ AntexGridDefinition(const double zenith_start_angle_deg = 0.0, const double zenith_end_angle_deg = 90.0, const double zenith_step_angle_deg = 10.0, - const double azimuth_step_angle_deg = 0.0) - : zenith_start_angle_deg_(zenith_start_angle_deg), - zenith_end_angle_deg_(zenith_end_angle_deg), - zenith_step_angle_deg_(zenith_step_angle_deg), - azimuth_step_angle_deg_(azimuth_step_angle_deg) { - if (zenith_step_angle_deg_ <= 0.0) { - number_of_zenith_grid_ = 0; - } else { - number_of_zenith_grid_ = size_t((zenith_end_angle_deg_ - zenith_start_angle_deg_) / zenith_step_angle_deg_) + 1; - } - - if (azimuth_step_angle_deg_ <= 0.0) { - number_of_azimuth_grid_ = 0; - } else { - number_of_azimuth_grid_ = size_t(360.0 / azimuth_step_angle_deg_) + 1; - } - } + const double azimuth_step_angle_deg = 0.0); /** * @fn ~AntexGridDefinition * @brief Destructor @@ -54,10 +39,36 @@ class AntexGridDefinition { ~AntexGridDefinition() {} // Getter + /** + * @fn GetZenithStartAngle_deg + * @return Zenith grid start angle [deg] + */ inline double GetZenithStartAngle_deg() const { return zenith_start_angle_deg_; } + /** + * @fn GetZenithEndAngle_deg + * @return Zenith grid end angle [deg] + */ inline double GetZenithEndAngle_deg() const { return zenith_end_angle_deg_; } + /** + * @fn GetZenithStepAngle_deg + * @return Zenith grid step angle [deg] + */ inline double GetZenithStepAngle_deg() const { return zenith_step_angle_deg_; } + /** + * @fn GetNumberOfZenithGrid + * @return Number of zenith grid + */ inline double GetNumberOfZenithGrid() const { return number_of_zenith_grid_; } + /** + * @fn GetAzimuthStepAngle_deg + * @return Azimuth grid step angle [deg] + */ + inline double GetAzimuthStepAngle_deg() const { return azimuth_step_angle_deg_; } + /** + * @fn GetNumberOfAzimuthGrid + * @return Number of azimuth grid + */ + inline double GetNumberOfAzimuthGrid() const { return number_of_azimuth_grid_; } private: // Zenith @@ -66,15 +77,14 @@ class AntexGridDefinition { double zenith_step_angle_deg_; //!< Zenith grid step value (DZEN) [deg] size_t number_of_zenith_grid_; //!< Number of grid // Azimuth - double azimuth_step_angle_deg_; //!< Zenith grid step value (DAZI) [deg] - size_t number_of_azimuth_grid_; //!< Number of grid + double azimuth_step_angle_deg_; //!< Zenith grid step value (DAZI) [deg] (Set as zero for azimuth independent grid data) + size_t number_of_azimuth_grid_; //!< Number of grid (Set as zero for azimuth independent grid data) }; /** * @class AntexPhaseCenterData * @brief Phase center data in ANTEX file * @note The frame definition of the offset is X, Y, Z in IGS-specific frame for GNSS satellite and North, East, Up for receivers - * @note TODO: support azimuth depending data */ class AntexPhaseCenterData { public: @@ -90,18 +100,50 @@ class AntexPhaseCenterData { ~AntexPhaseCenterData() {} // Setter + /** + * @fn SetFrequencyName + * @param[in] frequency_name: Frequency name + */ inline void SetFrequencyName(const std::string frequency_name) { frequency_name_ = frequency_name; } + /** + * @fn SetPhaseCenterOffset_mm + * @param[in] phase_center_offset_mm: Phase center offset vector [mm] + */ inline void SetPhaseCenterOffset_mm(const libra::Vector<3> phase_center_offset_mm) { phase_center_offset_mm_ = phase_center_offset_mm; } + /** + * @fn SetGridInformation + * @param[in] grid_information: Grid information + */ inline void SetGridInformation(const AntexGridDefinition grid_information) { grid_information_ = grid_information; } - inline void SetPhaseCenterVariationMatrix_mm(const std::vector> phase_center_variation_parameters_mm) { - phase_center_variation_matrix_mm_ = phase_center_variation_parameters_mm; + /** + * @fn SetPhaseCenterVariationMatrix_mm + * @param[in] phase_center_variation_matrix_mm: Phase center variation matrix (azimuth, zenith) [mm] + */ + inline void SetPhaseCenterVariationMatrix_mm(const std::vector> phase_center_variation_matrix_mm) { + phase_center_variation_matrix_mm_ = phase_center_variation_matrix_mm; } // Getter + /** + * @fn GetFrequencyName + * @return Frequency name + */ inline std::string GetFrequencyName() const { return frequency_name_; } + /** + * @fn GetPhaseCenterOffset_mm + * @return Phase center offset vector [mm] + */ inline libra::Vector<3> GetPhaseCenterOffset_mm() const { return phase_center_offset_mm_; } + /** + * @fn GetGridInformation + * @return Grid information + */ inline AntexGridDefinition GetGridInformation() const { return grid_information_; } - inline std::vector> GetPhaseCenterVariationParameters_mm() const { return phase_center_variation_matrix_mm_; } + /** + * @fn GetPhaseCenterVariationMatrix_mm + * @return Phase center variation matrix [mm] (column, row definition: [azimuth][zenith]) + */ + inline std::vector> GetPhaseCenterVariationMatrix_mm() const { return phase_center_variation_matrix_mm_; } private: std::string frequency_name_ = ""; //!< Frequency name @@ -112,38 +154,97 @@ class AntexPhaseCenterData { /** * @class AntexSatelliteData - * @brief + * @brief ANTEX data for GNSS satellites */ class AntexSatelliteData { public: + /** + * @fn AntexSatelliteData + * @brief Constructor + */ AntexSatelliteData() {} + /** + * @fn ~AntexSatelliteData + * @brief Destructor + */ ~AntexSatelliteData() {} // Setter + /** + * @fn SetAntennaType + * @param[in] antenna_type: Antenna type + */ inline void SetAntennaType(const std::string antenna_type) { antenna_type_ = antenna_type; } + /** + * @fn SetSerialNumber + * @param[in] serial_number: Serial Number + */ inline void SetSerialNumber(const std::string serial_number) { serial_number_ = serial_number; } + /** + * @fn SetValidStartTime + * @param[in] valid_start_time: Valid start time + */ inline void SetValidStartTime(const DateTime valid_start_time) { valid_start_time_ = valid_start_time; }; + /** + * @fn SetValidEndTime + * @param[in] valid_end_time: Valid end time + */ inline void SetValidEndTime(const DateTime valid_end_time) { valid_end_time_ = valid_end_time; }; + /** + * @fn SetNumberOfFrequency + * @param[in] number_of_frequency: Number of frequency + */ inline void SetNumberOfFrequency(const size_t number_of_frequency) { number_of_frequency_ = number_of_frequency; }; + /** + * @fn SetPhaseCenterData + * @param[in] phase_center_data: Phase center data + */ inline void SetPhaseCenterData(const std::vector phase_center_data) { phase_center_data_ = phase_center_data; }; // Getter + /** + * @fn GetAntennaType + * @return Antenna type + */ inline std::string GetAntennaType() const { return antenna_type_; } + /** + * @fn GetSerialNumber + * @return Serial number + */ inline std::string GetSerialNumber() const { return serial_number_; } + /** + * @fn GetValidStartTime + * @return Valid start time + */ inline DateTime GetValidStartTime() const { return valid_start_time_; }; + /** + * @fn GetValidEndTime + * @return Valid end time + */ inline DateTime GetValidEndTime() const { return valid_end_time_; }; + /** + * @fn GetNumberOfFrequency + * @return Number of frequency + */ inline size_t GetNumberOfFrequency() const { return number_of_frequency_; }; + /** + * @fn GetPhaseCenterData + * @param[in] frequency_index: Frequency index start from 0 + * @return Antenna phase center data + */ inline AntexPhaseCenterData GetPhaseCenterData(const size_t frequency_index) const { return phase_center_data_[frequency_index]; }; private: std::string antenna_type_; //!< Antenna type std::string serial_number_; //!< Serial number or satellite code DateTime valid_start_time_; //!< Valid start time - DateTime valid_end_time_; //!< Valid end time + DateTime valid_end_time_; //!< Valid end time (The latest data does not have the end time) size_t number_of_frequency_ = 1; //!< Number of frequency std::vector phase_center_data_; //!< Phase center data for each frequency }; +// TODO: Implement AntexReceiverData + /** * @class AntexFileReader * @brief Read ANTEX format file @@ -163,8 +264,21 @@ class AntexFileReader { ~AntexFileReader() {} // Getters + /** + * @fn GetFileReadSuccessFlag + * @return File read success flag + */ inline bool GetFileReadSuccessFlag() const { return is_file_read_succeeded_; } + /** + * @fn GetNumberOfSatelliteData + * @return Number of GNSS satellites in read data + */ inline size_t GetNumberOfSatelliteData() const { return antex_satellite_data_.size(); } + /** + * @fn GetAntexSatelliteData + * @param[in] satellite_index: GNSS satellite index used in S2E + * @return ANTEX data list for the GNSS satellite (including several valid time data) + */ inline std::vector GetAntexSatelliteData(const size_t satellite_index) const { return antex_satellite_data_.at(satellite_index); }; diff --git a/src/library/gnss/test_antex_file_reader.cpp b/src/library/gnss/test_antex_file_reader.cpp index bb5884df4..9e34e1902 100644 --- a/src/library/gnss/test_antex_file_reader.cpp +++ b/src/library/gnss/test_antex_file_reader.cpp @@ -38,24 +38,24 @@ TEST(AntexReader, Constructor) { EXPECT_DOUBLE_EQ(279.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[0]); EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[1]); EXPECT_DOUBLE_EQ(2319.5, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[2]); - EXPECT_DOUBLE_EQ(-0.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][0]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][1]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][2]); - EXPECT_DOUBLE_EQ(-0.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][3]); - EXPECT_DOUBLE_EQ(-0.4, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][4]); - EXPECT_DOUBLE_EQ(0.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][5]); - EXPECT_DOUBLE_EQ(0.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][6]); - EXPECT_DOUBLE_EQ(1.3, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][7]); - EXPECT_DOUBLE_EQ(1.4, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][8]); - EXPECT_DOUBLE_EQ(1.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][9]); - EXPECT_DOUBLE_EQ(0.7, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][10]); - EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][11]); - EXPECT_DOUBLE_EQ(-0.4, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][12]); - EXPECT_DOUBLE_EQ(-0.7, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][13]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][14]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][15]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][16]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][17]); + EXPECT_DOUBLE_EQ(-0.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][0]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][1]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][2]); + EXPECT_DOUBLE_EQ(-0.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][3]); + EXPECT_DOUBLE_EQ(-0.4, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][4]); + EXPECT_DOUBLE_EQ(0.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][5]); + EXPECT_DOUBLE_EQ(0.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][6]); + EXPECT_DOUBLE_EQ(1.3, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][7]); + EXPECT_DOUBLE_EQ(1.4, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][8]); + EXPECT_DOUBLE_EQ(1.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][9]); + EXPECT_DOUBLE_EQ(0.7, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][10]); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][11]); + EXPECT_DOUBLE_EQ(-0.4, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][12]); + EXPECT_DOUBLE_EQ(-0.7, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][13]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][14]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][15]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][16]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][17]); // Second frequency EXPECT_THAT(antex_satellite_data.GetPhaseCenterData(1).GetFrequencyName(), ::testing::MatchesRegex("G02.*")); EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetZenithStartAngle_deg()); @@ -65,24 +65,24 @@ TEST(AntexReader, Constructor) { EXPECT_DOUBLE_EQ(279.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[0]); EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[1]); EXPECT_DOUBLE_EQ(2319.5, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[2]); - EXPECT_DOUBLE_EQ(-0.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][0]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][1]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][2]); - EXPECT_DOUBLE_EQ(-0.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][3]); - EXPECT_DOUBLE_EQ(-0.4, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][4]); - EXPECT_DOUBLE_EQ(0.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][5]); - EXPECT_DOUBLE_EQ(0.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][6]); - EXPECT_DOUBLE_EQ(1.3, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][7]); - EXPECT_DOUBLE_EQ(1.4, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][8]); - EXPECT_DOUBLE_EQ(1.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][9]); - EXPECT_DOUBLE_EQ(0.7, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][10]); - EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][11]); - EXPECT_DOUBLE_EQ(-0.4, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][12]); - EXPECT_DOUBLE_EQ(-0.7, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][13]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][14]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][15]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][16]); - EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][17]); + EXPECT_DOUBLE_EQ(-0.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][0]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][1]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][2]); + EXPECT_DOUBLE_EQ(-0.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][3]); + EXPECT_DOUBLE_EQ(-0.4, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][4]); + EXPECT_DOUBLE_EQ(0.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][5]); + EXPECT_DOUBLE_EQ(0.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][6]); + EXPECT_DOUBLE_EQ(1.3, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][7]); + EXPECT_DOUBLE_EQ(1.4, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][8]); + EXPECT_DOUBLE_EQ(1.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][9]); + EXPECT_DOUBLE_EQ(0.7, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][10]); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][11]); + EXPECT_DOUBLE_EQ(-0.4, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][12]); + EXPECT_DOUBLE_EQ(-0.7, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][13]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][14]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][15]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][16]); + EXPECT_DOUBLE_EQ(-0.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][17]); // Check last data // Check first data @@ -100,22 +100,22 @@ TEST(AntexReader, Constructor) { EXPECT_DOUBLE_EQ(-545.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[0]); EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[1]); EXPECT_DOUBLE_EQ(2451.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterOffset_mm()[2]); - EXPECT_DOUBLE_EQ(1.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][0]); - EXPECT_DOUBLE_EQ(1.5, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][1]); - EXPECT_DOUBLE_EQ(1.1, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][2]); - EXPECT_DOUBLE_EQ(0.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][3]); - EXPECT_DOUBLE_EQ(0.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][4]); - EXPECT_DOUBLE_EQ(-0.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][5]); - EXPECT_DOUBLE_EQ(-0.6, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][6]); - EXPECT_DOUBLE_EQ(-1.1, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][7]); - EXPECT_DOUBLE_EQ(-1.3, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][8]); - EXPECT_DOUBLE_EQ(-1.6, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][9]); - EXPECT_DOUBLE_EQ(-1.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][10]); - EXPECT_DOUBLE_EQ(-1.6, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][11]); - EXPECT_DOUBLE_EQ(-1.1, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][12]); - EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][13]); - EXPECT_DOUBLE_EQ(1.5, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][14]); - EXPECT_DOUBLE_EQ(2.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationParameters_mm()[0][15]); + EXPECT_DOUBLE_EQ(1.9, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][0]); + EXPECT_DOUBLE_EQ(1.5, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][1]); + EXPECT_DOUBLE_EQ(1.1, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][2]); + EXPECT_DOUBLE_EQ(0.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][3]); + EXPECT_DOUBLE_EQ(0.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][4]); + EXPECT_DOUBLE_EQ(-0.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][5]); + EXPECT_DOUBLE_EQ(-0.6, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][6]); + EXPECT_DOUBLE_EQ(-1.1, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][7]); + EXPECT_DOUBLE_EQ(-1.3, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][8]); + EXPECT_DOUBLE_EQ(-1.6, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][9]); + EXPECT_DOUBLE_EQ(-1.8, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][10]); + EXPECT_DOUBLE_EQ(-1.6, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][11]); + EXPECT_DOUBLE_EQ(-1.1, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][12]); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][13]); + EXPECT_DOUBLE_EQ(1.5, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][14]); + EXPECT_DOUBLE_EQ(2.2, antex_satellite_data.GetPhaseCenterData(0).GetPhaseCenterVariationMatrix_mm()[0][15]); // Second frequency EXPECT_THAT(antex_satellite_data.GetPhaseCenterData(1).GetFrequencyName(), ::testing::MatchesRegex("R02.*")); EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetGridInformation().GetZenithStartAngle_deg()); @@ -125,21 +125,21 @@ TEST(AntexReader, Constructor) { EXPECT_DOUBLE_EQ(-545.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[0]); EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[1]); EXPECT_DOUBLE_EQ(2451.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterOffset_mm()[2]); - EXPECT_DOUBLE_EQ(1.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][0]); - EXPECT_DOUBLE_EQ(1.5, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][1]); - EXPECT_DOUBLE_EQ(1.1, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][2]); - EXPECT_DOUBLE_EQ(0.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][3]); - EXPECT_DOUBLE_EQ(0.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][4]); - EXPECT_DOUBLE_EQ(-0.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][5]); - EXPECT_DOUBLE_EQ(-0.6, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][6]); - EXPECT_DOUBLE_EQ(-1.1, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][7]); - EXPECT_DOUBLE_EQ(-1.3, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][8]); - EXPECT_DOUBLE_EQ(-1.6, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][9]); - EXPECT_DOUBLE_EQ(-1.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][10]); - EXPECT_DOUBLE_EQ(-1.6, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][11]); - EXPECT_DOUBLE_EQ(-1.1, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][12]); - EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][13]); - EXPECT_DOUBLE_EQ(1.5, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][14]); - EXPECT_DOUBLE_EQ(2.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationParameters_mm()[0][15]); + EXPECT_DOUBLE_EQ(1.9, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][0]); + EXPECT_DOUBLE_EQ(1.5, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][1]); + EXPECT_DOUBLE_EQ(1.1, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][2]); + EXPECT_DOUBLE_EQ(0.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][3]); + EXPECT_DOUBLE_EQ(0.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][4]); + EXPECT_DOUBLE_EQ(-0.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][5]); + EXPECT_DOUBLE_EQ(-0.6, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][6]); + EXPECT_DOUBLE_EQ(-1.1, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][7]); + EXPECT_DOUBLE_EQ(-1.3, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][8]); + EXPECT_DOUBLE_EQ(-1.6, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][9]); + EXPECT_DOUBLE_EQ(-1.8, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][10]); + EXPECT_DOUBLE_EQ(-1.6, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][11]); + EXPECT_DOUBLE_EQ(-1.1, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][12]); + EXPECT_DOUBLE_EQ(0.0, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][13]); + EXPECT_DOUBLE_EQ(1.5, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][14]); + EXPECT_DOUBLE_EQ(2.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][15]); // TODO: Add all satellite check? } From 768f7e5648d66efbfe2a4ac4eb10f68dc60822da Mon Sep 17 00:00:00 2001 From: Satoshi Ikari Date: Wed, 8 Nov 2023 16:44:02 +0100 Subject: [PATCH 5/8] Add closest indesx calculation function --- src/library/gnss/antex_file_reader.cpp | 23 +++++++++++++++ src/library/gnss/antex_file_reader.hpp | 15 ++++++++++ src/library/gnss/test_antex_file_reader.cpp | 32 +++++++++++++++++++++ 3 files changed, 70 insertions(+) diff --git a/src/library/gnss/antex_file_reader.cpp b/src/library/gnss/antex_file_reader.cpp index 2ae55c4f5..73d91d87c 100644 --- a/src/library/gnss/antex_file_reader.cpp +++ b/src/library/gnss/antex_file_reader.cpp @@ -31,6 +31,29 @@ AntexGridDefinition::AntexGridDefinition(const double zenith_start_angle_deg, co } } +size_t AntexGridDefinition::CalcClosestZenithIndex(const double zenith_angle_deg) { + if (zenith_angle_deg <= zenith_start_angle_deg_) { + return 0; + } else if (zenith_angle_deg >= zenith_end_angle_deg_) { + return number_of_zenith_grid_ - 1; + } else { + double diff_angle_deg = zenith_angle_deg - zenith_start_angle_deg_; + size_t diff_index = size_t(diff_angle_deg / zenith_step_angle_deg_ + 0.5); + return diff_index; + } +} + +size_t AntexGridDefinition::CalcClosestAzimuthIndex(const double azimuth_angle_deg) { + if (azimuth_angle_deg <= 0.0) { + return 0; + } else if (azimuth_angle_deg >= 360.0) { + return number_of_azimuth_grid_ - 1; + } else { + size_t diff_index = size_t(azimuth_angle_deg / azimuth_step_angle_deg_ + 0.5); + return diff_index; + } +} + bool AntexFileReader::ReadFile(const std::string file_name) { // File open std::ifstream antex_file(file_name); diff --git a/src/library/gnss/antex_file_reader.hpp b/src/library/gnss/antex_file_reader.hpp index 9efca4394..8e27e0699 100644 --- a/src/library/gnss/antex_file_reader.hpp +++ b/src/library/gnss/antex_file_reader.hpp @@ -38,6 +38,21 @@ class AntexGridDefinition { */ ~AntexGridDefinition() {} + /** + * @fn CalcClosestZenithIndex + * @brief Calculate the closest zenith grid index + * @param [in] zenith_angle_deg: Zenith angle [deg] + * @return The closest grid index + */ + size_t CalcClosestZenithIndex(const double zenith_angle_deg); + /** + * @fn CalcClosestAzimuthIndex + * @brief Calculate the closest azimuth grid index + * @param [in] azimuth_angle_deg: Azimuth angle [deg] + * @return The closest grid index + */ + size_t CalcClosestAzimuthIndex(const double azimuth_angle_deg); + // Getter /** * @fn GetZenithStartAngle_deg diff --git a/src/library/gnss/test_antex_file_reader.cpp b/src/library/gnss/test_antex_file_reader.cpp index 9e34e1902..b696e1df7 100644 --- a/src/library/gnss/test_antex_file_reader.cpp +++ b/src/library/gnss/test_antex_file_reader.cpp @@ -143,3 +143,35 @@ TEST(AntexReader, Constructor) { EXPECT_DOUBLE_EQ(2.2, antex_satellite_data.GetPhaseCenterData(1).GetPhaseCenterVariationMatrix_mm()[0][15]); // TODO: Add all satellite check? } + +/** + * @brief Test Closest index + */ +TEST(AntexGridDefinition, Constructor) { + AntexGridDefinition grid(0.0, 90.0, 10.0, 10.0); + + // Zenith + EXPECT_DOUBLE_EQ(0.0, grid.GetZenithStartAngle_deg()); + EXPECT_DOUBLE_EQ(90.0, grid.GetZenithEndAngle_deg()); + EXPECT_DOUBLE_EQ(10.0, grid.GetZenithStepAngle_deg()); + EXPECT_EQ(10, grid.GetNumberOfZenithGrid()); + // Closest value + EXPECT_EQ(0, grid.CalcClosestZenithIndex(0.0)); + EXPECT_EQ(9, grid.CalcClosestZenithIndex(90.0)); + EXPECT_EQ(1, grid.CalcClosestZenithIndex(10.0)); + EXPECT_EQ(2, grid.CalcClosestZenithIndex(15.0)); + EXPECT_EQ(7, grid.CalcClosestZenithIndex(70.0)); + EXPECT_EQ(7, grid.CalcClosestZenithIndex(74.0)); + EXPECT_EQ(8, grid.CalcClosestZenithIndex(79.0)); + + // Azimuth + EXPECT_DOUBLE_EQ(10.0, grid.GetAzimuthStepAngle_deg()); + EXPECT_EQ(37, grid.GetNumberOfAzimuthGrid()); + // Closest value + EXPECT_EQ(0, grid.CalcClosestAzimuthIndex(0.0)); + EXPECT_EQ(36, grid.CalcClosestAzimuthIndex(360.0)); + EXPECT_EQ(1, grid.CalcClosestAzimuthIndex(10.0)); + EXPECT_EQ(2, grid.CalcClosestAzimuthIndex(15.0)); + EXPECT_EQ(10, grid.CalcClosestAzimuthIndex(101.0)); + EXPECT_EQ(20, grid.CalcClosestAzimuthIndex(195.0)); +} From 640a339522fbea61385142931c42467dd71b34cc Mon Sep 17 00:00:00 2001 From: Satoshi Ikari Date: Wed, 8 Nov 2023 16:47:28 +0100 Subject: [PATCH 6/8] Add TODO comment --- src/library/gnss/antex_file_reader.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/library/gnss/antex_file_reader.hpp b/src/library/gnss/antex_file_reader.hpp index 8e27e0699..609abc7c8 100644 --- a/src/library/gnss/antex_file_reader.hpp +++ b/src/library/gnss/antex_file_reader.hpp @@ -114,6 +114,8 @@ class AntexPhaseCenterData { */ ~AntexPhaseCenterData() {} + // TODO: Implement phase center variation calculation from the matrix + // Setter /** * @fn SetFrequencyName From 79e217765e41ed6130eb4dacc7cf636b290b62e8 Mon Sep 17 00:00:00 2001 From: Satoshi Ikari Date: Wed, 8 Nov 2023 19:43:47 +0100 Subject: [PATCH 7/8] Add gmock for target link libraries --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b1d4eaddb..44d895501 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -233,7 +233,7 @@ if(GOOGLE_TEST) # list(FILTER TEST_FILES EXCLUDE REGEX ${CMAKE_CURRENT_LIST_DIR}/src/test_example.cpp) add_executable(${TEST_PROJECT_NAME} ${TEST_FILES}) - target_link_libraries(${TEST_PROJECT_NAME} gtest gtest_main) + target_link_libraries(${TEST_PROJECT_NAME} gtest gtest_main gmock) target_link_libraries(${TEST_PROJECT_NAME} LIBRARY) include_directories(${TEST_PROJECT_NAME}) add_test(NAME s2e-test COMMAND ${TEST_PROJECT_NAME}) From 1d8ec3bc394d931e34b133984a2850d893abb241 Mon Sep 17 00:00:00 2001 From: Satoshi Ikari Date: Wed, 8 Nov 2023 19:56:06 +0100 Subject: [PATCH 8/8] Fix return value --- src/library/gnss/antex_file_reader.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/library/gnss/antex_file_reader.hpp b/src/library/gnss/antex_file_reader.hpp index 609abc7c8..7e7fc8073 100644 --- a/src/library/gnss/antex_file_reader.hpp +++ b/src/library/gnss/antex_file_reader.hpp @@ -73,7 +73,7 @@ class AntexGridDefinition { * @fn GetNumberOfZenithGrid * @return Number of zenith grid */ - inline double GetNumberOfZenithGrid() const { return number_of_zenith_grid_; } + inline size_t GetNumberOfZenithGrid() const { return number_of_zenith_grid_; } /** * @fn GetAzimuthStepAngle_deg * @return Azimuth grid step angle [deg] @@ -83,7 +83,7 @@ class AntexGridDefinition { * @fn GetNumberOfAzimuthGrid * @return Number of azimuth grid */ - inline double GetNumberOfAzimuthGrid() const { return number_of_azimuth_grid_; } + inline size_t GetNumberOfAzimuthGrid() const { return number_of_azimuth_grid_; } private: // Zenith