From 8d70abb7af322ffd1db44700babbd1c6faaa3249 Mon Sep 17 00:00:00 2001 From: Mathieu Favreau Date: Wed, 28 Jan 2026 16:56:31 +0000 Subject: [PATCH] Only create Glonass file if needed --- src/algorithms/PVT/libs/rinex_printer.cc | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/algorithms/PVT/libs/rinex_printer.cc b/src/algorithms/PVT/libs/rinex_printer.cc index 31733b86b..9dc8bd893 100644 --- a/src/algorithms/PVT/libs/rinex_printer.cc +++ b/src/algorithms/PVT/libs/rinex_printer.cc @@ -1942,10 +1942,14 @@ Rinex_Printer::Rinex_Printer(uint32_t signal_enabled_flags, navGlofilename(getFilePath("RINEX_FILE_TYPE_GLO_NAV", base_name, base_rinex_path)), output_navfilename({navfilename}) { - const std::map fileMap = { + std::map fileMap = { {navfilename, navFile}, - {obsfilename, obsFile}, - {navGlofilename, navGloFile}}; + {obsfilename, obsFile}}; + + if (d_version == 2 && navfilename != navGlofilename) + { + fileMap.emplace(navGlofilename, navGloFile); + } bool all_open = true; @@ -1966,10 +1970,14 @@ Rinex_Printer::~Rinex_Printer() { DLOG(INFO) << "RINEX printer destructor called."; - const std::map fileMap = { + std::map fileMap = { {navfilename, navFile}, - {obsfilename, obsFile}, - {navGlofilename, navGloFile}}; + {obsfilename, obsFile}}; + + if (d_version == 2 && navfilename != navGlofilename) + { + fileMap.emplace(navGlofilename, navGloFile); + } std::map filePosMap; @@ -2162,7 +2170,7 @@ void Rinex_Printer::print_rinex_annotation(const Rtklib_Solver* pvt_solver, } if (has_glonass_eph) { - if (d_version == 2 && output_navfilename.size() == 2) + if (d_version == 2 && navfilename != navGlofilename) { log_rinex_nav(navGloFile, pvt_solver->glonass_gnav_ephemeris_map); } @@ -2472,7 +2480,7 @@ void Rinex_Printer::log_rinex_nav_gal_nav(const std::map& new_glo_eph) { - if (d_version == 2 && output_navfilename.size() == 2) + if (d_version == 2 && navfilename != navGlofilename) { log_rinex_nav(navGloFile, new_glo_eph); }