Index: trunk/BNC/src/PPP/pppParlist.cpp
===================================================================
--- trunk/BNC/src/PPP/pppParlist.cpp	(revision 9551)
+++ trunk/BNC/src/PPP/pppParlist.cpp	(revision 9558)
@@ -62,5 +62,17 @@
      _noise   = OPT->_noiseCrd[2];
      break;
-   case clkR:
+   case rClkG:
+     _epoSpec = true;
+     _sigma0  = OPT->_aprSigClk;
+     break;
+   case rClkR:
+     _epoSpec = true;
+     _sigma0  = OPT->_aprSigClk;
+     break;
+   case rClkE:
+     _epoSpec = true;
+     _sigma0  = OPT->_aprSigClk;
+     break;
+   case rClkC:
      _epoSpec = true;
      _sigma0  = OPT->_aprSigClk;
@@ -74,36 +86,9 @@
          const t_pppSatObs* obs = obsVector->at(ii);
          if (obs->prn() == _prn) {
-           double offGR = 0;
-           if (_prn.system() == 'R' && tLC != t_lc::MW) {
-             offGR = PPP_CLIENT->offGR();
-           }
-           double offGE = 0;
-           if (_prn.system() == 'E' && tLC != t_lc::MW) {
-             offGE = PPP_CLIENT->offGE();
-           }
-           double offGC = 0;
-           if (_prn.system() == 'C' && tLC != t_lc::MW) {
-             offGC = PPP_CLIENT->offGC();
-           }
-           _x0 = floor((obs->obsValue(tLC) - offGR -offGE - offGC - obs->cmpValue(tLC)) / obs->lambda(tLC) + 0.5);
+           _x0 = floor((obs->obsValue(tLC) - obs->cmpValue(tLC)) / obs->lambda(tLC) + 0.5);
            break;
          }
        }
      }
-     break;
-   case offGR:
-     _epoSpec = true;
-     _sigma0  = OPT->_aprSigOGR;
-     _x0      = PPP_CLIENT->offGR();
-     break;
-   case offGE:
-     _epoSpec = true;
-     _sigma0  = OPT->_aprSigOGE;
-     _x0      = PPP_CLIENT->offGE();
-     break;
-   case offGC:
-     _epoSpec = true;
-     _sigma0  = OPT->_aprSigOGC;
-     _x0      = PPP_CLIENT->offGC();
      break;
    case trp:
@@ -123,6 +108,6 @@
      _noise   = OPT->_noiseCodeBias;
      break;
-   case pBiasG1:   case pBiasE1:   case pBiasR1:   case pBiasC1:
-   case pBiasG2:   case pBiasE2:   case pBiasR2:   case pBiasC2:
+   case pBiasG1:   case pBiasE1:   case pBiasC1:
+   case pBiasG2:   case pBiasE2:   case pBiasC2:
      _epoSpec = false;
      _sigma0  = OPT->_aprSigPhaseBias;
@@ -191,14 +176,14 @@
     if (tLC == t_lc::GIM) {return 0.0;}
     return (sta->xyzApr()[2] - obs->xc()[2]) / rhoV.NormFrobenius();
-  case clkR:
+  case rClkG:
     if (tLC == t_lc::GIM) {return 0.0;}
-    return 1.0;
-  case offGR:
+    return (obs->prn().system() == 'G') ? 1.0 : 0.0;
+  case rClkR:
     if (tLC == t_lc::GIM) {return 0.0;}
     return (obs->prn().system() == 'R') ? 1.0 : 0.0;
-  case offGE:
+  case rClkE:
     if (tLC == t_lc::GIM) {return 0.0;}
     return (obs->prn().system() == 'E') ? 1.0 : 0.0;
-  case offGC:
+  case rClkC:
     if (tLC == t_lc::GIM) {return 0.0;}
     return (obs->prn().system() == 'C') ? 1.0 : 0.0;
@@ -285,7 +270,4 @@
     if ((obs->prn().system() == 'G') && (tLC == t_lc::l1)) {return 1.0;} else {return 0.0;}
     break;
-  case pBiasR1:
-    if ((obs->prn().system() == 'R') && (tLC == t_lc::l1)) {return 1.0;} else {return 0.0;}
-    break;
   case pBiasE1:
     if ((obs->prn().system() == 'E') && (tLC == t_lc::l1)) {return 1.0;} else {return 0.0;}
@@ -296,7 +278,4 @@
   case pBiasG2:
     if ((obs->prn().system() == 'G') && (tLC == t_lc::l2)) {return 1.0;} else {return 0.0;}
-    break;
-  case pBiasR2:
-    if ((obs->prn().system() == 'R') && (tLC == t_lc::l2)) {return 1.0;} else {return 0.0;}
     break;
   case pBiasE2:
@@ -325,15 +304,15 @@
     ss << "CRD_Z";
     break;
-  case clkR:
-    ss << "REC_CLK     ";
-    break;
-  case offGR:
-    ss << "OGR         ";
-    break;
-  case offGE:
-    ss << "OGE         ";
-    break;
-  case offGC:
-    ss << "OGC         ";
+  case rClkG:
+    ss << "REC_CLK  G  ";
+    break;
+  case rClkR:
+    ss << "REC_CLK  R  ";
+    break;
+  case rClkE:
+    ss << "REC_CLK  E  ";
+    break;
+  case rClkC:
+    ss << "REC_CLK  C  ";
     break;
   case trp:
@@ -350,6 +329,6 @@
     ss << "BIA  " << left << setw(3) << t_lc::toString(_tLC) << right << " G  ";
     break;
-  case cBiasR1:  case pBiasR1:
-  case cBiasR2:  case pBiasR2:
+  case cBiasR1:
+  case cBiasR2:
     ss << "BIA  " << left << setw(3) << t_lc::toString(_tLC) << right << " R  ";
     break;
@@ -485,11 +464,4 @@
     }
   }
-
-  if (_usedSystems.size() > 1 &&
-      !_usedSystems.contains('G')) { // required to setup ISB w. r. t. GPS
-    return failure;
-  }
-
-
 
   // Check whether parameters have observations
@@ -548,7 +520,5 @@
       }
       else if ((par->type() == t_pppParam::cBiasR1 ||
-                par->type() == t_pppParam::cBiasR2 ||
-                par->type() == t_pppParam::pBiasR1 ||
-                par->type() == t_pppParam::pBiasR2) && !usedSystems().contains('R')) {
+                par->type() == t_pppParam::cBiasR2) && !usedSystems().contains('R')) {
 #ifdef BNC_DEBUG_PPP
         LOG << "remove1 " << par->toString() << std::endl;
@@ -667,13 +637,4 @@
       }
     }
-    if (_usedSystems.contains('R')) {
-      lc = OPT->LCs('R');
-      if (std::find(lc.begin(), lc.end(), t_lc::l1) != lc.end()) {
-        required.push_back(new t_pppParam(t_pppParam::pBiasR1, t_prn(), t_lc::l1));
-      }
-      if (std::find(lc.begin(), lc.end(), t_lc::l2) != lc.end()) {
-        required.push_back(new t_pppParam(t_pppParam::pBiasR2, t_prn(), t_lc::l2));
-      }
-    }
     if (_usedSystems.contains('E')) {
       lc = OPT->LCs('E');
@@ -696,25 +657,24 @@
   }
 
-  // Receiver Clock
-  // --------------
-  required.push_back(new t_pppParam(t_pppParam::clkR, t_prn(), t_lc::dummy));
+  // Receiver Clocks
+  // ---------------
 
   // GPS-GLONASS Clock Offset
-  // ------------------------
-  if (_usedSystems.contains('G') && _usedSystems.contains('R')) {
-    required.push_back(new t_pppParam(t_pppParam::offGR, t_prn(), t_lc::dummy));
-  }
-
-  //GPS-Galileo Clock Offset
-  // ------------------------
-  if (_usedSystems.contains('G') && _usedSystems.contains('E')) {
-    required.push_back(new t_pppParam(t_pppParam::offGE, t_prn(), t_lc::dummy));
-  }
-
-  // GPS-BDS Clock Offset
-  // ------------------------
-  if (_usedSystems.contains('G') && _usedSystems.contains('C')) {
-    required.push_back(new t_pppParam(t_pppParam::offGC, t_prn(), t_lc::dummy));
-  }
+   // ------------------------
+   if (_usedSystems.contains('G')) {
+     required.push_back(new t_pppParam(t_pppParam::rClkG, t_prn(), t_lc::dummy));
+   }
+
+   if (_usedSystems.contains('R')) {
+     required.push_back(new t_pppParam(t_pppParam::rClkR, t_prn(), t_lc::dummy));
+   }
+
+   if (_usedSystems.contains('E')) {
+     required.push_back(new t_pppParam(t_pppParam::rClkE, t_prn(), t_lc::dummy));
+   }
+
+   if (_usedSystems.contains('C')) {
+     required.push_back(new t_pppParam(t_pppParam::rClkC, t_prn(), t_lc::dummy));
+   }
 
   // Troposphere
