Index: trunk/BNC/src/PPP/pppClient.cpp
===================================================================
--- trunk/BNC/src/PPP/pppClient.cpp	(revision 9582)
+++ trunk/BNC/src/PPP/pppClient.cpp	(revision 9583)
@@ -523,5 +523,5 @@
       // use observations only if satellite code biases are available
       // ------------------------------------------------------------
-      //useObsWithCodeBiasesOnly(_obsRover);
+      useObsWithCodeBiasesOnly(_obsRover);
 
       if (int(_obsRover.size()) < _opt->_minObs) {
@@ -719,6 +719,6 @@
           continue;
         }
-        if (satObs->prn().system() == sys && 
-        !_historicalRefSats[sys].contains(satObs->prn())) {
+        if (satObs->prn().system() == sys &&
+            !_historicalRefSats[sys].contains(satObs->prn())) {
           obsVector[ii]->setAsReference();
           refSat->setPrn(satObs->prn());
Index: trunk/BNC/src/PPP/pppFilter.cpp
===================================================================
--- trunk/BNC/src/PPP/pppFilter.cpp	(revision 9582)
+++ trunk/BNC/src/PPP/pppFilter.cpp	(revision 9583)
@@ -119,5 +119,5 @@
       if (processSystem(OPT->LCs(sys), obsVector, _refPrn,
                         epoch->pseudoObsIono(), preProcessing) != success) {
-        LOG << "processSystem !=  success (pre-processing)" << endl;
+        LOG << sys << ": processSystem !=  success (pre-processing)" << endl;
         _xFlt = xFltOld;
         _QFlt = QFltOld;
@@ -240,4 +240,5 @@
     // Real Observations
     // =================
+    double nSat = 0;
     for (unsigned ii = 0; ii < obsVector.size(); ii++) {
       t_pppSatObs* obs = obsVector[ii];
@@ -246,4 +247,5 @@
       }
       if (!obs->outlier()) {
+        nSat++;
         for (unsigned jj = 0; jj < usedLCs; jj++) {
           const t_lc::type tLC = LCs[jj];
@@ -264,6 +266,17 @@
     // Check number of observations
     // ----------------------------
-    if (iObs == -1) {LOG << "iObs == -1\n";
-      return failure;
+
+    if (OPT->_obsModelType == OPT->DCMcodeBias ||
+        OPT->_obsModelType == OPT->DCMphaseBias) {
+      if (nSat < 2.0) {
+        LOG << " number of observations < 2\n";
+        return failure;
+      }
+    }
+    else {
+      if (iObs == -1) {
+        LOG << " number of observations == -1\n";
+        return failure;
+      }
     }
 
Index: trunk/BNC/src/PPP/pppSatObs.cpp
===================================================================
--- trunk/BNC/src/PPP/pppSatObs.cpp	(revision 9582)
+++ trunk/BNC/src/PPP/pppSatObs.cpp	(revision 9583)
@@ -312,10 +312,4 @@
   retVal = sqrt(retVal);
 
-  // De-Weight measurements
-  // ----------------------
-  if (_prn.system() == 'R') {
-    retVal *= 50.0;
-  }
-
   // Elevation-Dependent Weighting
   // -----------------------------
@@ -353,8 +347,4 @@
 
   retVal = sqrt(retVal);
-
-  if (_prn.system() == 'R') {
-    retVal *= 5.0;
-  }
 
   return retVal;
Index: trunk/BNC/src/pppMain.cpp
===================================================================
--- trunk/BNC/src/pppMain.cpp	(revision 9582)
+++ trunk/BNC/src/pppMain.cpp	(revision 9583)
@@ -216,5 +216,5 @@
       opt->_obsModelType = t_pppOptions::DCMcodeBias;
       opt->_refSatRequired = true;
-      opt->_noiseCodeBias  = 1000.0;
+      opt->_noiseCodeBias  = 0.1;
       opt->_noiseIon = 0.1;
     }
@@ -222,5 +222,5 @@
       opt->_obsModelType = t_pppOptions::DCMphaseBias;
       opt->_refSatRequired = true;
-      opt->_noisePhaseBias = 1000.0;
+      opt->_noisePhaseBias = 0.1;
       opt->_noiseIon = 0.1;
     }
