From 8055803531b09f6e591bc0c36fe2d1d01ef712cd Mon Sep 17 00:00:00 2001 From: Jason Wu <jwu@mpifr-bonn.mpg.de> Date: Thu, 17 Feb 2022 10:56:13 +0100 Subject: [PATCH] put back removed MJD_START calculation --- psrdada_cpp/effelsberg/edd/src/EDDPolnMerge.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/psrdada_cpp/effelsberg/edd/src/EDDPolnMerge.cpp b/psrdada_cpp/effelsberg/edd/src/EDDPolnMerge.cpp index 8f2a161e..7745b071 100644 --- a/psrdada_cpp/effelsberg/edd/src/EDDPolnMerge.cpp +++ b/psrdada_cpp/effelsberg/edd/src/EDDPolnMerge.cpp @@ -59,6 +59,17 @@ void EDDPolnMerge::init(RawBytes& block) ascii_header_get(block.ptr(), "SYNC_TIME", "%s", buffer); long double sync_time = std::strtold(buffer, NULL); long double unix_time = sync_time + (sample_clock_start / sample_clock); + char time_buffer[80]; + std::time_t unix_time_int; + struct std::tm * timeinfo; + double fractpart, intpart; + fractpart = std::modf (static_cast<double>(unix_time) , &intpart); + unix_time_int = static_cast<std::time_t>(intpart); + timeinfo = std::gmtime (&unix_time_int); + std::strftime(time_buffer, 80, "%Y-%m-%d-%H:%M:%S", timeinfo); + std::stringstream utc_time_stamp; + utc_time_stamp << time_buffer << "." << std::setw(10) << std::setfill('0') << std::size_t(fractpart * 10000000000) << std::setfill(' '); + ascii_header_set(oblock.ptr(), "UTC_START", "%s", utc_time_stamp.str().c_str()); long double mjd_time = (unix_time / 86400.0 ) + 40587; std::ostringstream mjd_start; mjd_start << std::fixed; -- GitLab