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