Index: trunk/BNC/src/PPP/pppFilter.cpp
===================================================================
--- trunk/BNC/src/PPP/pppFilter.cpp	(revision 10167)
+++ trunk/BNC/src/PPP/pppFilter.cpp	(revision 10168)
@@ -268,11 +268,12 @@
       }
       if (par) {
-//        if (par->ambResetCandidate()) {
+        if (par->ambResetCandidate()) {
           resetAmb(par->prn(), obsVector, maxOutlierLC, &QSav, &xSav);
-//        }
-//        else {
-//          par->setAmbResetCandidate();
-//          obs->setOutlier();
-//        }
+        }
+        else {
+          par->setAmbResetCandidate();
+          obs->setOutlier();
+        }
+        addNoiseToPar(t_pppParam::ion, par->prn(), 0.001);
       }
       else {
@@ -391,5 +392,5 @@
       }
       t_lc::type tLC = par->tLC();
-//      if (tLC != lc) {continue;}
+      if (tLC != lc) {continue;}
       LOG << string(_epoTime) << " RESET " << par->toString() << endl;
       delete par; par = new t_pppParam(t_pppParam::amb, prn, tLC, &obsVector);
@@ -413,4 +414,23 @@
       }
       _x0[ind] = par->x0();
+      irc = success;
+    }
+  }
+
+  return irc;
+}
+
+// Add noise to individual parameter
+////////////////////////////////////////////////////////////////////////////
+t_irc t_pppFilter::addNoiseToPar(t_pppParam::e_type parType, t_prn prn, double noise) {
+  t_irc irc = failure;
+  vector<t_pppParam*> &params = _parlist->params();
+  for (unsigned iPar = 0; iPar < params.size(); iPar++) {
+    t_pppParam *par = params[iPar];
+    if (par->type() == parType && par->prn() == prn) {
+      int ind = par->indexNew();
+      LOG << string(_epoTime) << " ADD NOISE TO " << par->toString() << endl;
+      par->setIndex(ind);
+      _QFlt(ind + 1, ind + 1) = noise * noise;
       irc = success;
     }
Index: trunk/BNC/src/PPP/pppFilter.h
===================================================================
--- trunk/BNC/src/PPP/pppFilter.h	(revision 10167)
+++ trunk/BNC/src/PPP/pppFilter.h	(revision 10168)
@@ -83,4 +83,6 @@
                  SymmetricMatrix* QSav = 0, ColumnVector* xSav = 0);
 
+  t_irc addNoiseToPar(t_pppParam::e_type parType, t_prn prn, double noise);
+
   void cmpDOP(const std::vector<t_pppSatObs*>& obsVector);
 
