Index: trunk/BNC/src/PPP/pppClient.cpp
===================================================================
--- trunk/BNC/src/PPP/pppClient.cpp	(revision 10381)
+++ trunk/BNC/src/PPP/pppClient.cpp	(revision 10384)
@@ -67,5 +67,4 @@
     }
   }
-  _offGps = 0.0;
   _offGlo = 0.0;
   _offGal = 0.0;
@@ -256,30 +255,5 @@
                                   ColumnVector& xyzc, bool print) {
   t_lc::type tLC = t_lc::dummy;
-  char sysBancroft = 'G';
   int  numBancroft = obsVector.size();
-
-  _usedSystems['G'] = _usedSystems['R'] = _usedSystems['E'] = _usedSystems['C'] = 0;
-  for (unsigned jj = 0; jj < obsVector.size(); jj++) {
-    const t_pppSatObs* satObs = obsVector[jj];
-    char sys = satObs->prn().system();
-    _usedSystems[sys]++;
-  }
-
-  if      ((numBancroft = _usedSystems.value('G')) >= _opt->_minObs) {
-    sysBancroft = 'G';
-  }
-  else if ((numBancroft = _usedSystems.value('E')) >= _opt->_minObs) {
-    sysBancroft = 'E';
-  }
-  else if ((numBancroft = _usedSystems.value('C')) >= _opt->_minObs) {
-    sysBancroft = 'C';
-  }
-  else if ((numBancroft = _usedSystems.value('R')) >= _opt->_minObs) {
-    sysBancroft = 'R';
-  }
-  else {
-    LOG << "t_pppClient::cmpBancroft not enough observations: " << endl;
-    return failure;
-  }
 
   while (_running) {
@@ -288,5 +262,4 @@
     for (unsigned ii = 0; ii < obsVector.size(); ii++) {
       const t_pppSatObs* satObs = obsVector.at(ii);
-      if (satObs->prn().system() == sysBancroft) {
       if (tLC == t_lc::dummy) {
         if (satObs->isValid(t_lc::cIF)) {
@@ -309,5 +282,4 @@
       }
     }
-    }
     if (iObs + 1 < _opt->_minObs) {
       LOG << "t_pppClient::cmpBancroft not enough observations: " << iObs + 1 << endl;
@@ -329,5 +301,5 @@
       const t_pppSatObs* satObs = obsVector.at(ii);
       char sys = satObs->prn().system();
-      if (satObs->isValid() && sys == sysBancroft &&
+      if (satObs->isValid() && 
           (!satObs->modelSet() || satObs->eleSat() >= _opt->_minEle) ) {
         ColumnVector rr = satObs->xc().Rows(1,3) - xyzc.Rows(1,3);
@@ -346,5 +318,5 @@
         if (!_epoTimeRover.undef()) LOG << string(_epoTimeRover);
         LOG << "\n---------------------------------------------------------------\n";
-        LOG << string(epoTime) << " BANCROFT " <<   sysBancroft << ": "
+        LOG << string(epoTime) << " BANCROFT: "
             << setw(14) << setprecision(3) << xyzc[0] << ' '
             << setw(14) << setprecision(3) << xyzc[1] << ' '
@@ -364,56 +336,4 @@
 
   return success;
-}
-// Compute A Priori Gps Clock Offset
-//////////////////////////////////////////////////////////////////////////////
-double t_pppClient::cmpOffGps(vector<t_pppSatObs*>& obsVector) {
-
-  t_lc::type tLC   = t_lc::dummy;
-  double     offGps = 0.0;
-
-  if (_opt->useSystem('G')) {
-    while (obsVector.size() > 0) {
-      offGps = 0.0;
-      double   maxRes      = 0.0;
-      int      maxResIndex = -1;
-      unsigned nObs        = 0;
-      t_prn    maxResPrn;
-      for (unsigned ii = 0; ii < obsVector.size(); ii++) {
-        const t_pppSatObs* satObs = obsVector.at(ii);
-        if (satObs->prn().system() == 'G') {
-          if (tLC == t_lc::dummy) {
-            tLC = satObs->isValid(t_lc::cIF) ? t_lc::cIF : t_lc::c1;
-          }
-          if (satObs->isValid(tLC) && (!satObs->modelSet() || satObs->eleSat() >= _opt->_minEle)) {
-            double ll = satObs->obsValue(tLC) - satObs->cmpValue(tLC);
-            ++nObs;
-            offGps += ll;
-            if (fabs(ll) > fabs(maxRes)) {
-              maxRes      = ll;
-              maxResIndex = ii;
-              maxResPrn   = satObs->prn();
-            }
-          }
-        }
-      }
-
-      if (nObs > 0) {
-        offGps = offGps / nObs;
-      }
-      else {
-        offGps = 0.0;
-      }
-
-      if (fabs(maxRes) > 100.0) {
-        LOG << "t_pppClient::cmpOffGps outlier " << maxResPrn.toString() << " " << maxRes << endl;
-        delete obsVector.at(maxResIndex);
-        obsVector.erase(obsVector.begin() + maxResIndex);
-      }
-      else {
-        break;
-      }
-    }
-  }
-  return offGps;
 }
 
@@ -718,5 +638,4 @@
     }
 
-    _offGps = cmpOffGps(_obsRover);
     _offGlo = cmpOffGlo(_obsRover);
     _offGal = cmpOffGal(_obsRover);
Index: trunk/BNC/src/PPP/pppClient.h
===================================================================
--- trunk/BNC/src/PPP/pppClient.h	(revision 10381)
+++ trunk/BNC/src/PPP/pppClient.h	(revision 10384)
@@ -36,12 +36,7 @@
   const bncAntex*     antex() const {return _antex;}
   const t_pppStation* staRover() const {return _staRover;}
-  double              offGps() const {return _offGps;}
   double              offGlo() const {return _offGlo;}
   double              offGal() const {return _offGal;}
   double              offBds() const {return _offBds;}
-  void                resetOffGps() {_offGps = 0.0;}
-  void                resetOffGlo() {_offGlo = 0.0;}
-  void                resetOffGal() {_offGal = 0.0;}
-  void                resetOffBds() {_offBds = 0.0;}
 
 
@@ -66,5 +61,4 @@
   t_irc cmpBancroft(const bncTime& epoTime, std::vector<t_pppSatObs*>& obsVector,
                     ColumnVector& xyzc, bool print);
-  double cmpOffGps(std::vector<t_pppSatObs*>& obsVector);
   double cmpOffGlo(std::vector<t_pppSatObs*>& obsVector);
   double cmpOffGal(std::vector<t_pppSatObs*>& obsVector);
@@ -79,5 +73,4 @@
   bncAntex*                 _antex;
   t_pppFilter*              _filter;
-  double                    _offGps;
   double                    _offGlo;
   double                    _offGal;
Index: trunk/BNC/src/PPP/pppFilter.cpp
===================================================================
--- trunk/BNC/src/PPP/pppFilter.cpp	(revision 10381)
+++ trunk/BNC/src/PPP/pppFilter.cpp	(revision 10384)
@@ -76,6 +76,4 @@
   string epoTimeStr = string(_epoTime);
 
-  const QMap<char, int> &usedSystems = _parlist->usedSystems();
-
   // Set Parameters
   // --------------
@@ -92,7 +90,7 @@
   // Process Satellite Systems separately
   // ------------------------------------
-  for (auto it = usedSystems.begin(); it != usedSystems.end(); ++it) {
-    char     sys = it.key();
-    unsigned num = 0;
+  for (unsigned iSys = 0; iSys < OPT->systems().size(); iSys++) {
+    char sys = OPT->systems()[iSys];
+    int num = 0;
     vector<t_pppSatObs*> obsVector;
     for (unsigned jj = 0; jj < allObs.size(); jj++) {
@@ -167,5 +165,4 @@
     for (unsigned ii = 0; ii < obsVector.size(); ii++) {
       t_pppSatObs *obs = obsVector[ii];
-      char sys = obs->prn().system();
       if (iOutlier == 0) {
         obs->resetOutlier();
@@ -185,21 +182,6 @@
             AA[iObs][iPar] = par->partial(_epoTime, obs, tLC);
           }
-          double offGps = 0.0;
-          if (sys == 'G' && tLC != t_lc::MW) {
-            offGps = PPP_CLIENT->offGps();
-          }
-          double offGlo = 0.0;
-          if (sys == 'R' && tLC != t_lc::MW) {
-            offGlo = PPP_CLIENT->offGlo();
-          }
-          double offGal = 0.0;
-          if (sys == 'E' && tLC != t_lc::MW) {
-            offGal = PPP_CLIENT->offGal();
-          }
-          double offBds = 0.0;
-          if (sys == 'C' && tLC != t_lc::MW) {
-            offBds = PPP_CLIENT->offBds();
-          }
-          ll[iObs] = obs->obsValue(tLC) -offGps - offGlo - offGal - offBds  - obs->cmpValue(tLC) - DotProduct(_x0, AA.Row(iObs + 1));
+
+          ll[iObs] = obs->obsValue(tLC) - obs->cmpValue(tLC) - DotProduct(_x0, AA.Row(iObs + 1));
           PP[iObs] = 1.0 / (obs->sigma(tLC) * obs->sigma(tLC));
         }
@@ -218,5 +200,4 @@
       for (unsigned ii = 0; ii < obsVector.size(); ii++) {
         t_pppSatObs *obs = obsVector[ii];
-        char sys = obs->prn().system();
         if (!obs->outlier()) {
           for (unsigned jj = 0; jj < usedLCs; jj++) {
@@ -233,21 +214,5 @@
               AA[iObs][iPar] = par->partial(_epoTime, obs, tLC);
             }
-            double offGps = 0.0;
-            if (sys == 'G' && tLC != t_lc::MW) {
-              offGps = PPP_CLIENT->offGps();
-            }
-            double offGlo = 0.0;
-            if (sys == 'R' && tLC != t_lc::MW) {
-              offGlo = PPP_CLIENT->offGlo();
-            }
-            double offGal = 0.0;
-            if (sys == 'E' && tLC != t_lc::MW) {
-              offGal = PPP_CLIENT->offGal();
-            }
-            double offBds = 0.0;
-            if (sys == 'C' && tLC != t_lc::MW) {
-              offBds = PPP_CLIENT->offBds();
-            }
-            ll[iObs] = obs->obsValue(tLC) -offGps - offGlo - offGal - offBds  - obs->cmpValue(tLC) - DotProduct(_x0, AA.Row(iObs + 1));
+            ll[iObs] = obs->obsValue(tLC) - obs->cmpValue(tLC) - DotProduct(_x0, AA.Row(iObs + 1));
             PP[iObs] = 1.0 / (obs->sigma(tLC) * obs->sigma(tLC));
           }
@@ -351,5 +316,4 @@
       for (unsigned iObs = 0; iObs < obsVector.size(); iObs++) {
         const t_pppSatObs *obs = obsVector[iObs];
-        char sys = obs->prn().system();
 
         // Check set Slips and Jump Counters
@@ -383,5 +347,5 @@
 
         // Check Pre-Fit Residuals
-        /* -----------------------
+        // -----------------------
         else {
           ColumnVector AA(params.size());
@@ -390,21 +354,5 @@
             AA[iPar] = par->partial(_epoTime, obs, tLC);
           }
-          double offGps = 0.0;
-          if (sys == 'G' && tLC != t_lc::MW) {
-            offGps = PPP_CLIENT->offGps();
-          }
-          double offGlo = 0.0;
-          if (sys == 'R' && tLC != t_lc::MW) {
-            offGlo = PPP_CLIENT->offGlo();
-          }
-          double offGal = 0.0;
-          if (sys == 'E' && tLC != t_lc::MW) {
-            offGal = PPP_CLIENT->offGal();
-          }
-          double offBds = 0.0;
-          if (sys == 'C' && tLC != t_lc::MW) {
-            offBds = PPP_CLIENT->offBds();
-          }
-          double ll = obs->obsValue(tLC) -offGps - offGlo - offGal - offBds  - obs->cmpValue(tLC) - DotProduct(_x0, AA);
+          double ll = obs->obsValue(tLC) - obs->cmpValue(tLC) - DotProduct(_x0, AA);
           double vv = DotProduct(AA, _xFlt) - ll;
 
@@ -414,5 +362,5 @@
             resetAmb(obs->prn(), obsVector, tLC);
           }
-        }*/
+        }
       }
     }
Index: trunk/BNC/src/PPP/pppParlist.cpp
===================================================================
--- trunk/BNC/src/PPP/pppParlist.cpp	(revision 10381)
+++ trunk/BNC/src/PPP/pppParlist.cpp	(revision 10384)
@@ -74,8 +74,4 @@
          const t_pppSatObs* obs = obsVector->at(ii);
          if (obs->prn() == _prn) {
-           double offGps = 0.0;
-           if (_prn.system() == 'G' && tLC != t_lc::MW) {
-             offGps = PPP_CLIENT->offGps();
-           }
            double offGlo = 0.0;
            if (_prn.system() == 'R' && tLC != t_lc::MW) {
@@ -90,14 +86,9 @@
              offBds = PPP_CLIENT->offBds();
            }
-           _x0 = floor((obs->obsValue(tLC) - offGps - offGlo - offGal - offBds - obs->cmpValue(tLC)) / obs->lambda(tLC) + 0.5);
+           _x0 = floor((obs->obsValue(tLC) - offGlo - offGal - offBds - obs->cmpValue(tLC)) / obs->lambda(tLC) + 0.5);
            break;
          }
        }
      }
-     break;
-   case offGps:
-     _epoSpec = true;
-     _sigma0  = OPT->_aprSigClkOff;
-     _x0      = PPP_CLIENT->offGps();
      break;
    case offGlo:
@@ -180,7 +171,4 @@
     if (tLC == t_lc::GIM) {return 0.0;}
     return 1.0;
-  case offGps:
-    if (tLC == t_lc::GIM) {return 0.0;}
-    return (obs->prn().system() == 'G') ? 1.0 : 0.0;
   case offGlo:
     if (tLC == t_lc::GIM) {return 0.0;}
@@ -311,7 +299,4 @@
     ss << "REC_CLK     ";
     break;
-  case offGps:
-    ss << "OFF_GPS     ";
-    break;
   case offGlo:
     ss << "OFF_GLO     ";
@@ -385,14 +370,22 @@
              par->type() == t_pppParam::crdX ||
              par->type() == t_pppParam::crdY ||
-             par->type() == t_pppParam::crdZ) {
+             par->type() == t_pppParam::crdZ ||
+             par->type() == t_pppParam::ion  ||
+             par->type() == t_pppParam::cBiasC1 ||
+             par->type() == t_pppParam::cBiasC2 ||
+             par->type() == t_pppParam::cBiasE1 ||
+             par->type() == t_pppParam::cBiasE2 ||
+             par->type() == t_pppParam::cBiasR1 ||
+             par->type() == t_pppParam::cBiasR2 ||
+             par->type() == t_pppParam::pBiasC1 ||
+             par->type() == t_pppParam::pBiasC2 ||
+             par->type() == t_pppParam::pBiasE1 ||
+             par->type() == t_pppParam::pBiasE2 ||
+             par->type() == t_pppParam::pBiasR1 ||
+             par->type() == t_pppParam::pBiasR2) {
       if (par->lastObsTime().valid() && (epoTime - par->lastObsTime() > 60.0)) {
         remove = true;
       }
     }
-    else if (par->type() == t_pppParam::ion) {
-      if (par->lastObsTime().valid() && (epoTime - par->lastObsTime() > 5.0)) {
-        remove = true;
-      }
-}
 
     if (remove) {
@@ -406,13 +399,4 @@
       ++it;
     }
-  }
-
-  // check which systems have observations
-  // -------------------------------------
-  _usedSystems['G'] = _usedSystems['R'] = _usedSystems['E'] = _usedSystems['C'] = 0;
-  for (unsigned jj = 0; jj < obsVector.size(); jj++) {
-    const t_pppSatObs* satObs = obsVector[jj];
-    char sys = satObs->prn().system();
-    _usedSystems[sys]++;
   }
 
@@ -441,56 +425,4 @@
   }
 
-  if (OPT->_ionoModelType == OPT->PPP_RTK || OPT->_pseudoObsIono) {
-    vector<t_pppParam*>::iterator it = _params.begin();
-    while (it != _params.end()) {
-      t_pppParam* par = *it;
-      // Check if systems have to be presented per biases
-      // ----------------------------------------------
-      if ((     par->type() == t_pppParam::cBiasG1 ||
-                par->type() == t_pppParam::cBiasG2 ||
-                par->type() == t_pppParam::pBiasG1 ||
-                par->type() == t_pppParam::pBiasG2) && !_usedSystems.value('G')) {
-#ifdef BNC_DEBUG_PPP
-       //LOG << "remove1 " << par->toString() << std::endl;
-#endif
-        delete par;
-        it = _params.erase(it);
-      }
-      else if ((par->type() == t_pppParam::cBiasR1 ||
-                par->type() == t_pppParam::cBiasR2 ||
-                par->type() == t_pppParam::pBiasR1 ||
-                par->type() == t_pppParam::pBiasR2) && !_usedSystems.value('R')){
-#ifdef BNC_DEBUG_PPP
-        //LOG << "remove1 " << par->toString() << std::endl;
-#endif
-        delete par;
-        it = _params.erase(it);
-      }
-      else if ((par->type() == t_pppParam::cBiasE1 ||
-                par->type() == t_pppParam::cBiasE2 ||
-                par->type() == t_pppParam::pBiasE1 ||
-                par->type() == t_pppParam::pBiasE2) && !_usedSystems.value('E')) {
-#ifdef BNC_DEBUG_PPP
-        //LOG << "remove1 " << par->toString() << std::endl;
-#endif
-        delete par;
-        it = _params.erase(it);
-      }
-      else if ((par->type() == t_pppParam::cBiasC1 ||
-                par->type() == t_pppParam::cBiasC2 ||
-                par->type() == t_pppParam::pBiasC1 ||
-                par->type() == t_pppParam::pBiasC2) && !_usedSystems.value('C')) {
-#ifdef BNC_DEBUG_PPP
-        //LOG << "remove1 " << par->toString() << std::endl;
-#endif
-        delete par;
-        it = _params.erase(it);
-      }
-      else {
-        ++it;
-      }
-    }
-  }
-
   // Required Set of Parameters
   // --------------------------
@@ -509,38 +441,18 @@
   // GLONASS Clock Offset
   // --------------------
-  if ( _usedSystems.value('R')  &&
-      (_usedSystems.value('G') || _usedSystems.value('E') || _usedSystems.value('C'))) {
+  if (OPT->useSystem('R')) {
     required.push_back(new t_pppParam(t_pppParam::offGlo, t_prn(), t_lc::dummy));
-  }
-  else {
-    PPP_CLIENT->resetOffGlo();
   }
 
   // Galileo Clock Offset
   // --------------------
-  if (_usedSystems.value('E') && _usedSystems.value('G') && _usedSystems.value('G') >= OPT->_minObs) {
+  if (OPT->useSystem('E')) {
     required.push_back(new t_pppParam(t_pppParam::offGal, t_prn(), t_lc::dummy));
-  }
-  else {
-    PPP_CLIENT->resetOffGal();
-  }
-
-  // GPS Clock Offset
-  // --------------------
-  if (_usedSystems.value('E') && _usedSystems.value('G') && _usedSystems.value('G') < OPT->_minObs) {
-    required.push_back(new t_pppParam(t_pppParam::offGps, t_prn(), t_lc::dummy));
-  }
-  else {
-    PPP_CLIENT->resetOffGps();
   }
 
   // BDS Clock Offset
   // ----------------
-  if (_usedSystems.contains('C')  &&
-      (_usedSystems.contains('G') || _usedSystems.contains('E'))) {
+  if (OPT->useSystem('C')) {
     required.push_back(new t_pppParam(t_pppParam::offBds, t_prn(), t_lc::dummy));
-  }
-  else {
-    PPP_CLIENT->resetOffBds();
   }
 
@@ -577,7 +489,7 @@
   // Receiver Code Biases
   // --------------------
-  if (OPT->_ionoModelType == OPT->PPP_RTK) {
+    if (OPT->_ionoModelType == OPT->PPP_RTK) {
     std::vector<t_lc::type> lc;
-    if (_usedSystems.contains('G')) {
+    if (OPT->useSystem('G')) {
       lc = OPT->LCs('G');
       if (std::find(lc.begin(), lc.end(), t_lc::c1) != lc.end()) {
@@ -588,5 +500,5 @@
       }
     }
-    if (_usedSystems.contains('R')) {
+    if (OPT->useSystem('R')) {
       lc = OPT->LCs('R');
       if (std::find(lc.begin(), lc.end(), t_lc::c1) != lc.end()) {
@@ -597,5 +509,5 @@
       }
     }
-    if (_usedSystems.contains('E')) {
+    if (OPT->useSystem('E')) {
       lc = OPT->LCs('E');
       if (std::find(lc.begin(), lc.end(), t_lc::c1) != lc.end()) {
@@ -606,5 +518,5 @@
       }
     }
-    if (_usedSystems.contains('C')) {
+    if (OPT->useSystem('C')) {
       lc = OPT->LCs('C');
       if (std::find(lc.begin(), lc.end(), t_lc::c1) != lc.end()) {
@@ -616,7 +528,8 @@
     }
   }
+
   if (OPT->_pseudoObsIono) {
     std::vector<t_lc::type> lc;
-    if (_usedSystems.contains('G')) {
+    if (OPT->useSystem('G')) {
       lc = OPT->LCs('G');
       if (std::find(lc.begin(), lc.end(), t_lc::c2) != lc.end()) {
@@ -624,5 +537,5 @@
       }
     }
-    if (_usedSystems.contains('R')) {
+    if (OPT->useSystem('R')) {
       lc = OPT->LCs('R');
       if (std::find(lc.begin(), lc.end(), t_lc::c2) != lc.end()) {
@@ -630,5 +543,5 @@
       }
     }
-    if (_usedSystems.contains('E')) {
+    if (OPT->useSystem('E')) {
       lc = OPT->LCs('E');
       if (std::find(lc.begin(), lc.end(), t_lc::c2) != lc.end()) {
@@ -636,5 +549,5 @@
       }
     }
-    if (_usedSystems.contains('C')) {
+    if (OPT->useSystem('C')) {
       lc = OPT->LCs('C');
       if (std::find(lc.begin(), lc.end(), t_lc::c2) != lc.end()) {
@@ -644,9 +557,7 @@
   }
 
-  // Receiver Phase Biases
-  // ---------------------
   if (OPT->_ionoModelType == OPT->PPP_RTK) {
     std::vector<t_lc::type> lc;
-    if (_usedSystems.contains('G')) {
+    if (OPT->useSystem('G')) {
       lc = OPT->LCs('G');
       if (std::find(lc.begin(), lc.end(), t_lc::l1) != lc.end()) {
@@ -657,5 +568,5 @@
       }
     }
-    if (_usedSystems.contains('R')) {
+    if (OPT->useSystem('R')) {
       lc = OPT->LCs('R');
       if (std::find(lc.begin(), lc.end(), t_lc::l1) != lc.end()) {
@@ -666,5 +577,5 @@
       }
     }
-    if (_usedSystems.contains('E')) {
+    if (OPT->useSystem('E')) {
       lc = OPT->LCs('E');
       if (std::find(lc.begin(), lc.end(), t_lc::l1) != lc.end()) {
@@ -675,5 +586,5 @@
       }
     }
-    if (_usedSystems.contains('C')) {
+    if (OPT->useSystem('C')) {
       lc = OPT->LCs('C');
       if (std::find(lc.begin(), lc.end(), t_lc::l1) != lc.end()) {
Index: trunk/BNC/src/PPP/pppParlist.h
===================================================================
--- trunk/BNC/src/PPP/pppParlist.h	(revision 10381)
+++ trunk/BNC/src/PPP/pppParlist.h	(revision 10384)
@@ -14,5 +14,5 @@
 class t_pppParam {
  public:
-  enum e_type {crdX, crdY, crdZ, rClk, offGps, offGlo, offGal, offBds, trp, ion, amb,
+  enum e_type {crdX, crdY, crdZ, rClk, offGlo, offGal, offBds, trp, ion, amb,
                cBiasG1, cBiasR1, cBiasE1, cBiasC1, pBiasG1, pBiasR1, pBiasE1, pBiasC1,
                cBiasG2, cBiasR2, cBiasE2, cBiasC2, pBiasG2, pBiasR2, pBiasE2, pBiasC2};
@@ -104,5 +104,4 @@
   const std::vector<t_pppParam*>& params() const {return _params;}
   std::vector<t_pppParam*>& params() {return _params;}
-  const QMap<char, int>& usedSystems() const {return _usedSystems;}
   void printResult(const bncTime& epoTime, const SymmetricMatrix& QQ,
                    const ColumnVector& xx) const;
@@ -111,5 +110,4 @@
  private:
   std::vector<t_pppParam*> _params;
-  QMap<char, int>          _usedSystems;
 };
 
Index: trunk/BNC/src/PPP/pppSatObs.cpp
===================================================================
--- trunk/BNC/src/PPP/pppSatObs.cpp	(revision 10381)
+++ trunk/BNC/src/PPP/pppSatObs.cpp	(revision 10384)
@@ -33,5 +33,6 @@
 using namespace std;
 
-const double   GLO_WEIGHT_FACTOR = 1.0;
+const double   GLO_WEIGHT_FACTOR = 5.0;
+const double   BDS_WEIGHT_FACTOR = 1.0;
 
 // Constructor
@@ -61,5 +62,5 @@
 //
 ////////////////////////////////////////////////////////////////////////////
-void t_pppSatObs::prepareObs(const t_satObs& pppSatObs) {//cout << "SATELLITE: " << _prn.toString() << endl;
+void t_pppSatObs::prepareObs(const t_satObs& pppSatObs) {
 
   _model.reset();
@@ -353,8 +354,11 @@
   retVal = sqrt(retVal);
 
-  // De-Weight GLO
+  // De-Weight R+C
   // -------------
-  if (_prn.system() == 'R' && t_lc::includesCode(tLC)) {
+  if (_prn.system() == 'R') {
     retVal *= GLO_WEIGHT_FACTOR;
+  }
+  if (_prn.system() == 'C') {
+    retVal *= BDS_WEIGHT_FACTOR;
   }
 
@@ -394,10 +398,4 @@
 
   retVal = sqrt(retVal);
-
-  // Enlarge maxRes GLO
-  // ------------------
-  if (_prn.system() == 'R' && t_lc::includesCode(tLC)) {
-    retVal *= GLO_WEIGHT_FACTOR;
-  }
 
   return retVal;
@@ -660,24 +658,8 @@
   for (unsigned ii = 0; ii < OPT->LCs(sys).size(); ii++) {
     t_lc::type tLC = OPT->LCs(sys)[ii];
-    double offGps = 0.0;
-    if (_prn.system() == 'G' && tLC != t_lc::MW) {
-      offGps = PPP_CLIENT->offGps();
-    }
-    double offGlo = 0;
-    if (sys == 'R' && tLC != t_lc::MW) {
-      offGlo = PPP_CLIENT->offGlo();
-    }
-    double offGal = 0;
-    if (sys == 'E' && tLC != t_lc::MW) {
-      offGal = PPP_CLIENT->offGal();
-    }
-    double offBds = 0;
-    if (sys == 'C' && tLC != t_lc::MW) {
-      offBds = PPP_CLIENT->offBds();
-    }
     LOG << "OBS-CMP " << setw(4) << t_lc::toString(tLC) << ": " << _prn.toString() << " "
         << setw(12) << setprecision(3) << obsValue(tLC) << " "
         << setw(12) << setprecision(3) << cmpValue(tLC) << " "
-        << setw(12) << setprecision(3) << obsValue(tLC) - offGps - offGlo - offGal - offBds  - cmpValue(tLC) << endl;
+        << setw(12) << setprecision(3) << obsValue(tLC)  - cmpValue(tLC) << endl;
   }
 }
