Index: /trunk/BNC/src/upload/bncrtnetuploadcaster.cpp
===================================================================
--- /trunk/BNC/src/upload/bncrtnetuploadcaster.cpp	(revision 9349)
+++ /trunk/BNC/src/upload/bncrtnetuploadcaster.cpp	(revision 9350)
@@ -472,268 +472,268 @@
         }
       }
-    }
-
-    if (eph  &&  !outDatedBcep(eph)           &&  // detected from storage because of no update
-        eph->checkState() != t_eph::bad       &&
-        eph->checkState() != t_eph::unhealthy &&
-        eph->checkState() != t_eph::outdated) {  // detected during reception (bncephuser)
-      QMap<QString, double> codeBiases;
-      QList<phaseBiasSignal> phaseBiasList;
-      phaseBiasesSat pbSat;
-      _phaseBiasInformationDecoded = false;
-
-      while (true) {
-        QString key;
-        int numVal = 0;
-        in >> key;
-        if (in.status() != QTextStream::Ok) {
-          break;
-        }
-        if (key == "APC") {
-          in >> numVal;
-          rtnAPC.ReSize(3); rtnAPC = 0.0;
-          for (int ii = 0; ii < numVal; ii++) {
-            in >> rtnAPC[ii];
-          }
-        }
-        else if (key == "Ura") {
-          in >> numVal;
-          if (numVal == 1)
-            in >> rtnUra;
-        }
-        else if (key == "Clk") {
-          in >> numVal;
-          rtnClk.ReSize(3); rtnClk = 0.0;
-          for (int ii = 0; ii < numVal; ii++) {
-            in >> rtnClk[ii];
-          }
-        }
-        else if (key == "ClkSig") {
-          in >> numVal;
-          rtnClkSig.ReSize(3); rtnClkSig = 0.0;
-          for (int ii = 0; ii < numVal; ii++) {
-            in >> rtnClkSig[ii];
-          }
-        }
-        else if (key == "Vel") {
-          in >> numVal;
-          rtnVel.ReSize(3); rtnVel = 0.0;
-          for (int ii = 0; ii < numVal; ii++) {
-            in >> rtnVel[ii];
-          }
-        }
-        else if (key == "CoM") {
-          in >> numVal;
-          rtnCoM.ReSize(3); rtnCoM = 0.0;
-          for (int ii = 0; ii < numVal; ii++) {
-            in >> rtnCoM[ii];
-          }
-        }
-        else if (key == "CodeBias") {
-          in >> numVal;
-          for (int ii = 0; ii < numVal; ii++) {
-            QString type;
-            double value;
-            in >> type >> value;
-            codeBiases[type] = value;
-          }
-        }
-        else if (key == "YawAngle") {
-          _phaseBiasInformationDecoded = true;
-          in >> numVal >> pbSat.yawAngle;
-          if      (pbSat.yawAngle < 0.0) {
-            pbSat.yawAngle += (2*M_PI);
-          }
-          else if (pbSat.yawAngle > 2*M_PI) {
-            pbSat.yawAngle -= (2*M_PI);
-          }
-        }
-        else if (key == "YawRate") {
-          _phaseBiasInformationDecoded = true;
-          in >> numVal >> pbSat.yawRate;
-        }
-        else if (key == "PhaseBias") {
-          _phaseBiasInformationDecoded = true;
-          in >> numVal;
-          for (int ii = 0; ii < numVal; ii++) {
-            phaseBiasSignal pb;
-            in >> pb.type >> pb.bias >> pb.integerIndicator
-              >> pb.wlIndicator >> pb.discontinuityCounter;
-            phaseBiasList.append(pb);
-          }
-        }
-        else {
-          in >> numVal;
-          for (int ii = 0; ii < numVal; ii++) {
-            double dummy;
-            in >> dummy;
-          }
-          emit(newMessage("                      RTNET format error: "
-                          +  lines[ii].toLatin1(), false));
-        }
-      }
-
-      struct SsrCorr::ClockOrbit::SatData* sd = 0;
-      if (prn.system() == 'G') {
-        sd = co.Sat + co.NumberOfSat[CLOCKORBIT_SATGPS];
-        ++co.NumberOfSat[CLOCKORBIT_SATGPS];
-      }
-      else if (prn.system() == 'R') {
-        sd = co.Sat + CLOCKORBIT_NUMGPS + co.NumberOfSat[CLOCKORBIT_SATGLONASS];
-        ++co.NumberOfSat[CLOCKORBIT_SATGLONASS];
-      }
-      else if (prn.system() == 'E') {
-        sd = co.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
-           + co.NumberOfSat[CLOCKORBIT_SATGALILEO];
-        ++co.NumberOfSat[CLOCKORBIT_SATGALILEO];
-      }
-      else if (prn.system() == 'J') {
-        sd = co.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
-           + CLOCKORBIT_NUMGALILEO
-           + co.NumberOfSat[CLOCKORBIT_SATQZSS];
-        ++co.NumberOfSat[CLOCKORBIT_SATQZSS];
-      }
-      else if (prn.system() == 'S') {
-        sd = co.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
-            + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS
-            + co.NumberOfSat[CLOCKORBIT_SATSBAS];
-        ++co.NumberOfSat[CLOCKORBIT_SATSBAS];
-      }
-      else if (prn.system() == 'C') {
-        sd = co.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
-            + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS
-            + CLOCKORBIT_NUMSBAS
-            + co.NumberOfSat[CLOCKORBIT_SATBDS];
-        ++co.NumberOfSat[CLOCKORBIT_SATBDS];
-      }
-      if (sd) {
-        QString outLine;
-        t_irc irc = processSatellite(eph, epoTime.gpsw(), epoTime.gpssec(), prnStr, rtnAPC,
-                                     rtnUra, rtnClk, rtnVel, rtnCoM, rtnClkSig, sd, outLine);
-        if (irc != success) {/*
-          // very few cases: check states bad and unhealthy are excluded earlier
-          sd->ID = prnStr.mid(1).toInt(); // to prevent G00, R00 entries
-          sd->IOD = eph->IOD();
-          */
-          continue;
-        }
-      }
-
-      // Code Biases
-      // -----------
-      struct SsrCorr::CodeBias::BiasSat* biasSat = 0;
-      if (!codeBiases.isEmpty()) {
+
+      if (!outDatedBcep(eph)                    &&  // detected from storage because of no update
+          eph->checkState() != t_eph::bad       &&
+          eph->checkState() != t_eph::unhealthy &&
+          eph->checkState() != t_eph::outdated) {   // detected during reception (bncephuser)
+        QMap<QString, double> codeBiases;
+        QList<phaseBiasSignal> phaseBiasList;
+        phaseBiasesSat pbSat;
+        _phaseBiasInformationDecoded = false;
+
+        while (true) {
+          QString key;
+          int numVal = 0;
+          in >> key;
+          if (in.status() != QTextStream::Ok) {
+            break;
+          }
+          if (key == "APC") {
+            in >> numVal;
+            rtnAPC.ReSize(3); rtnAPC = 0.0;
+            for (int ii = 0; ii < numVal; ii++) {
+              in >> rtnAPC[ii];
+            }
+          }
+          else if (key == "Ura") {
+            in >> numVal;
+            if (numVal == 1)
+              in >> rtnUra;
+          }
+          else if (key == "Clk") {
+            in >> numVal;
+            rtnClk.ReSize(3); rtnClk = 0.0;
+            for (int ii = 0; ii < numVal; ii++) {
+              in >> rtnClk[ii];
+            }
+          }
+          else if (key == "ClkSig") {
+            in >> numVal;
+            rtnClkSig.ReSize(3); rtnClkSig = 0.0;
+            for (int ii = 0; ii < numVal; ii++) {
+              in >> rtnClkSig[ii];
+            }
+          }
+          else if (key == "Vel") {
+            in >> numVal;
+            rtnVel.ReSize(3); rtnVel = 0.0;
+            for (int ii = 0; ii < numVal; ii++) {
+              in >> rtnVel[ii];
+            }
+          }
+          else if (key == "CoM") {
+            in >> numVal;
+            rtnCoM.ReSize(3); rtnCoM = 0.0;
+            for (int ii = 0; ii < numVal; ii++) {
+              in >> rtnCoM[ii];
+            }
+          }
+          else if (key == "CodeBias") {
+            in >> numVal;
+            for (int ii = 0; ii < numVal; ii++) {
+              QString type;
+              double value;
+              in >> type >> value;
+              codeBiases[type] = value;
+            }
+          }
+          else if (key == "YawAngle") {
+            _phaseBiasInformationDecoded = true;
+            in >> numVal >> pbSat.yawAngle;
+            if      (pbSat.yawAngle < 0.0) {
+              pbSat.yawAngle += (2*M_PI);
+            }
+            else if (pbSat.yawAngle > 2*M_PI) {
+              pbSat.yawAngle -= (2*M_PI);
+            }
+          }
+          else if (key == "YawRate") {
+            _phaseBiasInformationDecoded = true;
+            in >> numVal >> pbSat.yawRate;
+          }
+          else if (key == "PhaseBias") {
+            _phaseBiasInformationDecoded = true;
+            in >> numVal;
+            for (int ii = 0; ii < numVal; ii++) {
+              phaseBiasSignal pb;
+              in >> pb.type >> pb.bias >> pb.integerIndicator
+                >> pb.wlIndicator >> pb.discontinuityCounter;
+              phaseBiasList.append(pb);
+            }
+          }
+          else {
+            in >> numVal;
+            for (int ii = 0; ii < numVal; ii++) {
+              double dummy;
+              in >> dummy;
+            }
+            emit(newMessage("                      RTNET format error: "
+                            +  lines[ii].toLatin1(), false));
+          }
+        }
+
+        struct SsrCorr::ClockOrbit::SatData* sd = 0;
         if (prn.system() == 'G') {
-          biasSat = bias.Sat + bias.NumberOfSat[CLOCKORBIT_SATGPS];
-          ++bias.NumberOfSat[CLOCKORBIT_SATGPS];
+          sd = co.Sat + co.NumberOfSat[CLOCKORBIT_SATGPS];
+          ++co.NumberOfSat[CLOCKORBIT_SATGPS];
         }
         else if (prn.system() == 'R') {
-          biasSat = bias.Sat + CLOCKORBIT_NUMGPS
-                  + bias.NumberOfSat[CLOCKORBIT_SATGLONASS];
-          ++bias.NumberOfSat[CLOCKORBIT_SATGLONASS];
+          sd = co.Sat + CLOCKORBIT_NUMGPS + co.NumberOfSat[CLOCKORBIT_SATGLONASS];
+          ++co.NumberOfSat[CLOCKORBIT_SATGLONASS];
         }
         else if (prn.system() == 'E') {
-          biasSat = bias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
-                  + bias.NumberOfSat[CLOCKORBIT_SATGALILEO];
-          ++bias.NumberOfSat[CLOCKORBIT_SATGALILEO];
+          sd = co.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
+             + co.NumberOfSat[CLOCKORBIT_SATGALILEO];
+          ++co.NumberOfSat[CLOCKORBIT_SATGALILEO];
         }
         else if (prn.system() == 'J') {
-          biasSat = bias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
-                  + CLOCKORBIT_NUMGALILEO
-                  + bias.NumberOfSat[CLOCKORBIT_SATQZSS];
-          ++bias.NumberOfSat[CLOCKORBIT_SATQZSS];
+          sd = co.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
+             + CLOCKORBIT_NUMGALILEO
+             + co.NumberOfSat[CLOCKORBIT_SATQZSS];
+          ++co.NumberOfSat[CLOCKORBIT_SATQZSS];
         }
         else if (prn.system() == 'S') {
-          biasSat = bias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
-                  + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS
-                  + bias.NumberOfSat[CLOCKORBIT_SATSBAS];
-          ++bias.NumberOfSat[CLOCKORBIT_SATSBAS];
+          sd = co.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
+              + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS
+              + co.NumberOfSat[CLOCKORBIT_SATSBAS];
+          ++co.NumberOfSat[CLOCKORBIT_SATSBAS];
         }
         else if (prn.system() == 'C') {
-          biasSat = bias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
-                  + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS
-                  + CLOCKORBIT_NUMSBAS
-                  + bias.NumberOfSat[CLOCKORBIT_SATBDS];
-          ++bias.NumberOfSat[CLOCKORBIT_SATBDS];
-        }
-      }
-
-      if (biasSat) {
-        biasSat->ID = prn.number();
-        biasSat->NumberOfCodeBiases = 0;
-        QMapIterator<QString, double> it(codeBiases);
-        while (it.hasNext()) {
-          it.next();
-          int ii = biasSat->NumberOfCodeBiases;
-          if (ii >= CLOCKORBIT_NUMBIAS)
-            break;
-          SsrCorr::CodeType type = _ssrCorr->rnxTypeToCodeType(prn.system(), it.key().toStdString());
-          if (type != _ssrCorr->RESERVED) {
-            biasSat->NumberOfCodeBiases += 1;
-            biasSat->Biases[ii].Type = type;
-            biasSat->Biases[ii].Bias = it.value();
-          }
-        }
-      }
-
-      // Phase Biases
-      // ------------
-      struct SsrCorr::PhaseBias::PhaseBiasSat* phasebiasSat = 0;
-      if (prn.system()      == 'G') {
-        phasebiasSat = phasebias.Sat
-                     + phasebias.NumberOfSat[CLOCKORBIT_SATGPS];
-        ++phasebias.NumberOfSat[CLOCKORBIT_SATGPS];
-      }
-      else if (prn.system() == 'R') {
-        phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS
-                     + phasebias.NumberOfSat[CLOCKORBIT_SATGLONASS];
-        ++phasebias.NumberOfSat[CLOCKORBIT_SATGLONASS];
-      }
-      else if (prn.system() == 'E') {
-        phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS
-                     + phasebias.NumberOfSat[CLOCKORBIT_SATGALILEO];
-        ++phasebias.NumberOfSat[CLOCKORBIT_SATGALILEO];
-      }
-      else if (prn.system() == 'J') {
-        phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS
-                     + CLOCKORBIT_NUMGALILEO
-                     + phasebias.NumberOfSat[CLOCKORBIT_SATQZSS];
-        ++phasebias.NumberOfSat[CLOCKORBIT_SATQZSS];
-      }
-      else if (prn.system() == 'S') {
-        phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS
-                     + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS
-                     + phasebias.NumberOfSat[CLOCKORBIT_SATSBAS];
-        ++phasebias.NumberOfSat[CLOCKORBIT_SATSBAS];
-      }
-      else if (prn.system() == 'C') {
-        phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS
-                     + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS
-                     + CLOCKORBIT_NUMSBAS
-                     + phasebias.NumberOfSat[CLOCKORBIT_SATBDS];
-        ++phasebias.NumberOfSat[CLOCKORBIT_SATBDS];
-      }
-
-      if (phasebiasSat && _phaseBiasInformationDecoded) {
-        phasebias.DispersiveBiasConsistencyIndicator = dispersiveBiasConsistenyIndicator;
-        phasebias.MWConsistencyIndicator = mwConsistencyIndicator;
-        phasebiasSat->ID = prn.number();
-        phasebiasSat->NumberOfPhaseBiases = 0;
-        phasebiasSat->YawAngle = pbSat.yawAngle;
-        phasebiasSat->YawRate = pbSat.yawRate;
-        QListIterator<phaseBiasSignal> it(phaseBiasList);
-        while (it.hasNext()) {
-          const phaseBiasSignal &pbSig = it.next();
-          int ii = phasebiasSat->NumberOfPhaseBiases;
-          if (ii >= CLOCKORBIT_NUMBIAS)
-            break;
-          SsrCorr::CodeType type = _ssrCorr->rnxTypeToCodeType(prn.system(), pbSig.type.toStdString());
-          if (type != _ssrCorr->RESERVED) {
-            phasebiasSat->NumberOfPhaseBiases += 1;
-            phasebiasSat->Biases[ii].Type = type;
-            phasebiasSat->Biases[ii].Bias = pbSig.bias;
-            phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.integerIndicator;
-            phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator = pbSig.wlIndicator;
-            phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
+          sd = co.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
+              + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS
+              + CLOCKORBIT_NUMSBAS
+              + co.NumberOfSat[CLOCKORBIT_SATBDS];
+          ++co.NumberOfSat[CLOCKORBIT_SATBDS];
+        }
+        if (sd) {
+          QString outLine;
+          t_irc irc = processSatellite(eph, epoTime.gpsw(), epoTime.gpssec(), prnStr, rtnAPC,
+                                       rtnUra, rtnClk, rtnVel, rtnCoM, rtnClkSig, sd, outLine);
+          if (irc != success) {/*
+            // very few cases: check states bad and unhealthy are excluded earlier
+            sd->ID = prnStr.mid(1).toInt(); // to prevent G00, R00 entries
+            sd->IOD = eph->IOD();
+            */
+            continue;
+          }
+        }
+
+        // Code Biases
+        // -----------
+        struct SsrCorr::CodeBias::BiasSat* biasSat = 0;
+        if (!codeBiases.isEmpty()) {
+          if (prn.system() == 'G') {
+            biasSat = bias.Sat + bias.NumberOfSat[CLOCKORBIT_SATGPS];
+            ++bias.NumberOfSat[CLOCKORBIT_SATGPS];
+          }
+          else if (prn.system() == 'R') {
+            biasSat = bias.Sat + CLOCKORBIT_NUMGPS
+                    + bias.NumberOfSat[CLOCKORBIT_SATGLONASS];
+            ++bias.NumberOfSat[CLOCKORBIT_SATGLONASS];
+          }
+          else if (prn.system() == 'E') {
+            biasSat = bias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
+                    + bias.NumberOfSat[CLOCKORBIT_SATGALILEO];
+            ++bias.NumberOfSat[CLOCKORBIT_SATGALILEO];
+          }
+          else if (prn.system() == 'J') {
+            biasSat = bias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
+                    + CLOCKORBIT_NUMGALILEO
+                    + bias.NumberOfSat[CLOCKORBIT_SATQZSS];
+            ++bias.NumberOfSat[CLOCKORBIT_SATQZSS];
+          }
+          else if (prn.system() == 'S') {
+            biasSat = bias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
+                    + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS
+                    + bias.NumberOfSat[CLOCKORBIT_SATSBAS];
+            ++bias.NumberOfSat[CLOCKORBIT_SATSBAS];
+          }
+          else if (prn.system() == 'C') {
+            biasSat = bias.Sat + CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
+                    + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS
+                    + CLOCKORBIT_NUMSBAS
+                    + bias.NumberOfSat[CLOCKORBIT_SATBDS];
+            ++bias.NumberOfSat[CLOCKORBIT_SATBDS];
+          }
+        }
+
+        if (biasSat) {
+          biasSat->ID = prn.number();
+          biasSat->NumberOfCodeBiases = 0;
+          QMapIterator<QString, double> it(codeBiases);
+          while (it.hasNext()) {
+            it.next();
+            int ii = biasSat->NumberOfCodeBiases;
+            if (ii >= CLOCKORBIT_NUMBIAS)
+              break;
+            SsrCorr::CodeType type = _ssrCorr->rnxTypeToCodeType(prn.system(), it.key().toStdString());
+            if (type != _ssrCorr->RESERVED) {
+              biasSat->NumberOfCodeBiases += 1;
+              biasSat->Biases[ii].Type = type;
+              biasSat->Biases[ii].Bias = it.value();
+            }
+          }
+        }
+
+        // Phase Biases
+        // ------------
+        struct SsrCorr::PhaseBias::PhaseBiasSat* phasebiasSat = 0;
+        if (prn.system()      == 'G') {
+          phasebiasSat = phasebias.Sat
+                       + phasebias.NumberOfSat[CLOCKORBIT_SATGPS];
+          ++phasebias.NumberOfSat[CLOCKORBIT_SATGPS];
+        }
+        else if (prn.system() == 'R') {
+          phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS
+                       + phasebias.NumberOfSat[CLOCKORBIT_SATGLONASS];
+          ++phasebias.NumberOfSat[CLOCKORBIT_SATGLONASS];
+        }
+        else if (prn.system() == 'E') {
+          phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS
+                       + phasebias.NumberOfSat[CLOCKORBIT_SATGALILEO];
+          ++phasebias.NumberOfSat[CLOCKORBIT_SATGALILEO];
+        }
+        else if (prn.system() == 'J') {
+          phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS
+                       + CLOCKORBIT_NUMGALILEO
+                       + phasebias.NumberOfSat[CLOCKORBIT_SATQZSS];
+          ++phasebias.NumberOfSat[CLOCKORBIT_SATQZSS];
+        }
+        else if (prn.system() == 'S') {
+          phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS
+                       + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS
+                       + phasebias.NumberOfSat[CLOCKORBIT_SATSBAS];
+          ++phasebias.NumberOfSat[CLOCKORBIT_SATSBAS];
+        }
+        else if (prn.system() == 'C') {
+          phasebiasSat = phasebias.Sat + CLOCKORBIT_NUMGPS  + CLOCKORBIT_NUMGLONASS
+                       + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS
+                       + CLOCKORBIT_NUMSBAS
+                       + phasebias.NumberOfSat[CLOCKORBIT_SATBDS];
+          ++phasebias.NumberOfSat[CLOCKORBIT_SATBDS];
+        }
+
+        if (phasebiasSat && _phaseBiasInformationDecoded) {
+          phasebias.DispersiveBiasConsistencyIndicator = dispersiveBiasConsistenyIndicator;
+          phasebias.MWConsistencyIndicator = mwConsistencyIndicator;
+          phasebiasSat->ID = prn.number();
+          phasebiasSat->NumberOfPhaseBiases = 0;
+          phasebiasSat->YawAngle = pbSat.yawAngle;
+          phasebiasSat->YawRate = pbSat.yawRate;
+          QListIterator<phaseBiasSignal> it(phaseBiasList);
+          while (it.hasNext()) {
+            const phaseBiasSignal &pbSig = it.next();
+            int ii = phasebiasSat->NumberOfPhaseBiases;
+            if (ii >= CLOCKORBIT_NUMBIAS)
+              break;
+            SsrCorr::CodeType type = _ssrCorr->rnxTypeToCodeType(prn.system(), pbSig.type.toStdString());
+            if (type != _ssrCorr->RESERVED) {
+              phasebiasSat->NumberOfPhaseBiases += 1;
+              phasebiasSat->Biases[ii].Type = type;
+              phasebiasSat->Biases[ii].Bias = pbSig.bias;
+              phasebiasSat->Biases[ii].SignalIntegerIndicator = pbSig.integerIndicator;
+              phasebiasSat->Biases[ii].SignalsWideLaneIntegerIndicator = pbSig.wlIndicator;
+              phasebiasSat->Biases[ii].SignalDiscontinuityCounter = pbSig.discontinuityCounter;
+            }
           }
         }
