Index: trunk/BNC/combination/bnccomb.cpp
===================================================================
--- trunk/BNC/combination/bnccomb.cpp	(revision 3655)
+++ trunk/BNC/combination/bnccomb.cpp	(revision 3751)
@@ -309,5 +309,5 @@
   // Save Orbit-Only Corrections
   // ---------------------------
-  if (newCorr->raoSet && !newCorr->dClkSet) {
+  if (newCorr->tRao.valid() && !newCorr->tClk.valid()) {
     QString corrID = newCorr->ID();
     if (_orbitCorrs.find(corrID) != _orbitCorrs.end()) {
@@ -320,5 +320,5 @@
   // Merge with saved orbit correction
   // ---------------------------------
-  else if (newCorr->dClkSet && !newCorr->raoSet) {
+  else if (newCorr->tClk.valid() && !newCorr->tRao.valid()) {
     QString corrID = newCorr->ID();
     if (_orbitCorrs.find(corrID) != _orbitCorrs.end()) {
@@ -329,5 +329,5 @@
   // Check Modulo Time
   // -----------------
-  if (int(newCorr->tt.gpssec()) % moduloTime != 0.0) {
+  if (int(newCorr->tClk.gpssec()) % moduloTime != 0.0) {
     delete newCorr;
     return;
@@ -336,5 +336,5 @@
   // Delete old corrections
   // ----------------------
-  if (_resTime.valid() && newCorr->tt <= _resTime) {
+  if (_resTime.valid() && newCorr->tClk <= _resTime) {
     delete newCorr;
     return;
@@ -368,5 +368,5 @@
   while (itTime.hasNext()) {
     bncTime epoTime = itTime.next();
-    if (epoTime < newCorr->tt - moduloTime) {
+    if (epoTime < newCorr->tClk - moduloTime) {
       _resTime = epoTime;
       processEpoch();
@@ -376,5 +376,5 @@
   // Merge or add the correction
   // ---------------------------
-  QVector<cmbCorr*>& corrs = _buffer[newCorr->tt].corrs;
+  QVector<cmbCorr*>& corrs = _buffer[newCorr->tClk].corrs;
   cmbCorr* existingCorr = 0;
   QVectorIterator<cmbCorr*> itCorr(corrs);
@@ -406,10 +406,10 @@
   ColumnVector oldXC(4);
   ColumnVector oldVV(3);
-  corr->eph->position(corr->tt.gpsw(), corr->tt.gpssec(), 
+  corr->eph->position(corr->tRao.gpsw(), corr->tRao.gpssec(), 
                       oldXC.data(), oldVV.data());
 
   ColumnVector newXC(4);
   ColumnVector newVV(3);
-  lastEph->position(corr->tt.gpsw(), corr->tt.gpssec(), 
+  lastEph->position(corr->tRao.gpsw(), corr->tRao.gpssec(), 
                     newXC.data(), newVV.data());
 
@@ -1154,20 +1154,11 @@
 t_irc bncComb::mergeOrbitCorr(const cmbCorr* orbitCorr, cmbCorr* clkCorr) {
 
-  double dt = clkCorr->tt - orbitCorr->tt;
-
-  clkCorr->iod = orbitCorr->iod; // is it always correct?
-  clkCorr->eph = orbitCorr->eph; 
-
-  clkCorr->rao = orbitCorr->rao 
-               + orbitCorr->dotRao    * dt
-               + orbitCorr->dotDotRao * dt * dt;
-
-  clkCorr->dotRao = orbitCorr->dotRao
-                  + orbitCorr->dotDotRao * dt;
-
+  clkCorr->iod       = orbitCorr->iod; // is it always correct?
+  clkCorr->eph       = orbitCorr->eph; 
+  clkCorr->tRao      = orbitCorr->tRao;
+  clkCorr->rao       = orbitCorr->rao;
+  clkCorr->dotRao    = orbitCorr->dotRao;
   clkCorr->dotDotRao = orbitCorr->dotDotRao;
 
-  clkCorr->raoSet = true;
-
   return success;
 }
