Index: /trunk/BNC/src/PPP/pppClient.cpp
===================================================================
--- /trunk/BNC/src/PPP/pppClient.cpp	(revision 9544)
+++ /trunk/BNC/src/PPP/pppClient.cpp	(revision 9545)
@@ -277,5 +277,5 @@
     }
     if (iObs + 1 < _opt->_minObs) {
-      LOG << "t_pppClient::cmpBancroft not enough observations" << endl;
+      LOG << "t_pppClient::cmpBancroft not enough observations: " << iObs + 1  << endl;
       return failure;
     }
@@ -507,5 +507,5 @@
 //
 //////////////////////////////////////////////////////////////////////////////
-void t_pppClient::finish(t_irc irc) {
+void t_pppClient::finish(t_irc irc, int ind) {// LOG << "t_pppClient::finish(" << irc << ") " << ind << endl;
 
   clearObs();
@@ -535,4 +535,6 @@
   _output->_log = _log->str();
   delete _log; _log = new ostringstream();
+
+  return;
 }
 
@@ -604,5 +606,5 @@
         if(_filter->datumTransformation(_refSatMap) != success) {
           LOG << "t_pppFilter::datumTransformation() != success" << endl;
-          return finish(failure);
+          return finish(failure,1);
         }
         else {
@@ -614,5 +616,5 @@
       // ---------------------------------
       if (prepareObs(satObs, _obsRover, _epoTimeRover) != success) {
-        return finish(failure);
+        return finish(failure,2);
       }
 
@@ -627,14 +629,19 @@
         bool print = (iter == 2);
         if (cmpBancroft(_epoTimeRover, _obsRover, xyzc, print) != success) {
-          return finish(failure);
+          return finish(failure,3);
         }
         if (cmpModel(_staRover, xyzc, _obsRover) != success) {
-          return finish(failure);
-        }
+          return finish(failure,4);
+        }
+      }
+
+      if (int(_obsRover.size()) < _opt->_minObs) {
+        LOG << "t_pppClient::processEpoch not enough observations" << endl;
+        return finish(failure,5);
       }
 
       if (_opt->_refSatRequired) {
         if (handleRefSatellites(_obsRover) != success) {
-          return finish(failure);
+          return finish(failure,6);
         }
         if (_obsPool->refSatChanged()) {
@@ -653,9 +660,4 @@
       _pseudoObsIono = preparePseudoObs(_obsRover);
 
-      if (int(_obsRover.size()) < _opt->_minObs) {
-        LOG << "t_pppClient::processEpoch not enough observations" << endl;
-        return finish(failure);
-      }
-
       // Store last epoch of data
       // ------------------------
@@ -665,5 +667,6 @@
       // -----------------------
       if (_filter->processEpoch() != success) {
-        return finish(failure);
+        LOG << "filter->processEpoch() != success" << endl;
+        return finish(failure,7);
       }
 
@@ -672,4 +675,5 @@
       if (_obsPool->refSatChangeRequired() && //SLIP
           _opt->_obsModelType  != t_pppOptions::UncombPPP) {
+        LOG << "pppClient: _obsPool->refSatChangeRequired() " << endl;
         epochReProcessing = true;
         _obsPool->deleteLastEpoch();
@@ -689,20 +693,19 @@
   catch (Exception& exc) {
     LOG << exc.what() << endl;
-    return finish(failure);
+    return finish(failure,8);
   }
   catch (t_except msg) {
     LOG << msg.what() << endl;
-    return finish(failure);
+    return finish(failure,9);
   }
   catch (const char* msg) {
     LOG << msg << endl;
-    return finish(failure);
+    return finish(failure,10);
   }
   catch (...) {
     LOG << "unknown exception" << endl;
-    return finish(failure);
-  }
-
-  return finish(success);
+    return finish(failure,11);
+  }
+  return finish(success,12);
 }
 
Index: /trunk/BNC/src/PPP/pppClient.h
===================================================================
--- /trunk/BNC/src/PPP/pppClient.h	(revision 9544)
+++ /trunk/BNC/src/PPP/pppClient.h	(revision 9545)
@@ -52,5 +52,5 @@
  private:
   void initOutput(t_output* output);
-  void finish(t_irc irc);
+  void finish(t_irc irc, int ind);
   void clearObs();
   t_irc prepareObs(const std::vector<t_satObs*>& satObs,
Index: /trunk/BNC/src/PPP/pppFilter.cpp
===================================================================
--- /trunk/BNC/src/PPP/pppFilter.cpp	(revision 9544)
+++ /trunk/BNC/src/PPP/pppFilter.cpp	(revision 9545)
@@ -693,4 +693,5 @@
 
   if (OPT->_obsModelType == OPT->UncombPPP) {
+    _obsPool->putEpoch(_epoTime, allObs, peseudoObsIono, refSatMap);
     return success;
   }
Index: /trunk/BNC/src/PPP/pppParlist.cpp
===================================================================
--- /trunk/BNC/src/PPP/pppParlist.cpp	(revision 9544)
+++ /trunk/BNC/src/PPP/pppParlist.cpp	(revision 9545)
@@ -448,4 +448,7 @@
 
     else if (par->type() == t_pppParam::amb) {
+      if (par->lastObsTime().valid() && (epoTime - par->lastObsTime() > 60.0)) {
+          remove = true;
+      }
       if (OPT->_obsModelType == OPT->DCMcodeBias ||
           OPT->_obsModelType == OPT->DCMphaseBias) {
@@ -453,9 +456,4 @@
         t_prn refPrn = (refSatMap[sys])->prn();
         if (par->lastObsTime().valid() && par->prn() == refPrn) {
-            remove = true;
-        }
-      }
-      else {
-        if (par->lastObsTime().valid() && (epoTime - par->lastObsTime() > 60.0)) {
             remove = true;
         }
@@ -875,4 +873,5 @@
         << endl;
   }
+  return;
 }
 
