Index: trunk/BNC/src/satObs.cpp
===================================================================
--- trunk/BNC/src/satObs.cpp	(revision 10622)
+++ trunk/BNC/src/satObs.cpp	(revision 10993)
@@ -86,4 +86,5 @@
   _xr.ReSize(3);    _xr    = 0.0;
   _dotXr.ReSize(3); _dotXr = 0.0;
+  _rtcmSsr   = false;
 }
 
@@ -111,5 +112,6 @@
          << setw(10) << setprecision(4) << corr._dotXr[0] * 1.e3 << ' '   // m/s => mm/s
          << setw(10) << setprecision(4) << corr._dotXr[1] * 1.e3 << ' '   // m/s => mm/s
-         << setw(10) << setprecision(4) << corr._dotXr[2] * 1.e3 << endl; // m/s => mm/s
+         << setw(10) << setprecision(4) << corr._dotXr[2] * 1.e3 << ' '   // m/s => mm/s
+         << (corr._rtcmSsr ? 1 : 0) << endl;
   }
   out->flush();
@@ -148,4 +150,15 @@
     corr._dotXr[1] /= 1.e3; // mm/s => m/s
     corr._dotXr[2] /= 1.e3; // mm/s => m/s
+
+    // Optional trailing column - absent in files written before this field
+    // existed, in which case the source format is unknown and defaults to
+    // the classic eccentricity-based relativistic correction.
+    int rtcmSsrFlag = 0;
+    if (in >> rtcmSsrFlag) {
+      corr._rtcmSsr = (rtcmSsrFlag != 0);
+    }
+    else {
+      corr._rtcmSsr = false;
+    }
 
     corrList.push_back(corr);
