Index: trunk/BNC/src/PPP/pppClient.cpp
===================================================================
--- trunk/BNC/src/PPP/pppClient.cpp	(revision 10023)
+++ trunk/BNC/src/PPP/pppClient.cpp	(revision 10028)
@@ -523,9 +523,4 @@
         }
         if (_obsPool->refSatChanged()) {
-          if (_numEpoProcessing >1 &&
-              (OPT->_obsModelType == OPT->DCMcodeBias ||
-               OPT->_obsModelType == OPT->DCMphaseBias)) {
-            _obsPool->deleteLastEpoch();
-          }
           epochReProcessing = true;
           continue;
@@ -540,8 +535,11 @@
       // ------------------------
       _obsPool->putEpoch(_epoTimeRover, _obsRover, _pseudoObsIono, _refSatMap);
-
+#ifdef BNC_DEBUG_PPP
+      LOG << "PUT EPOCH t_pppClient::processEpoch " << _epoTimeRover.timestr().c_str() << endl;
+#endif
+      
       // Process Epoch in Filter
       // -----------------------
-      if (_filter->processEpoch() != success) {
+      if (_filter->processEpoch(_numEpoProcessing) != success) {
         LOG << "filter->processEpoch() != success" << endl;
         return finish(failure,7);
@@ -554,4 +552,8 @@
         LOG << "pppClient: _obsPool->refSatChangeRequired() " << endl;
         epochReProcessing = true;
+#ifdef BNC_DEBUG_PPP        
+        LOG <<  "DELETE EPOCH" << endl;
+#endif        
+        _obsPool->deleteLastEpoch();
         _filter->restoreState(0);
         setHistoricalRefSats();
Index: trunk/BNC/src/PPP/pppFilter.cpp
===================================================================
--- trunk/BNC/src/PPP/pppFilter.cpp	(revision 10023)
+++ trunk/BNC/src/PPP/pppFilter.cpp	(revision 10028)
@@ -48,7 +48,12 @@
 // Process Single Epoch
 ////////////////////////////////////////////////////////////////////////////
-t_irc t_pppFilter::processEpoch() {
+t_irc t_pppFilter::processEpoch(int num) {
   _numSat = 0;
   const double maxSolGap = 60.0;
+  bool setNeuNoiseToZero = false;
+
+  if (num > 1) {
+    setNeuNoiseToZero = true;
+  }
 
   // Vector of all Observations
@@ -80,5 +85,6 @@
     return failure;
   }
-  #ifdef BNC_DEBUG_PPP
+
+#ifdef BNC_DEBUG_PPP
   if (OPT->_obsModelType == OPT->DCMcodeBias ||
       OPT->_obsModelType == OPT->DCMphaseBias) {
@@ -91,17 +97,4 @@
   ColumnVector xFltOld = _xFlt;
   SymmetricMatrix QFltOld = _QFlt;
-  bool setNeuNoiseToZero = false;
-  for (int iSys = 0; iSys < usedSystems.size(); iSys++) {
-    char sys = usedSystems[iSys];
-    int num = 0;
-    for (unsigned jj = 0; jj < allObs.size(); jj++) {
-      if (allObs[jj]->prn().system() == sys) {
-        ++num;
-      }
-    }
-//    if (num < OPT->_minObs) {
-//      setNeuNoiseToZero = true;
-//    }
-  }
   setStateVectorAndVarCovMatrix(xFltOld, QFltOld, setNeuNoiseToZero);
 
@@ -687,4 +680,7 @@
   // get last epoch
   t_pppObsPool::t_epoch *epoch = _obsPool->lastEpoch();
+#ifdef BNC_DEBUG_PPP
+    LOG << "GET LAST EPOCH" << endl;
+#endif    
   if (!epoch) {
     LOG << "t_pppFilter::datumTransformation: !lastEpoch" << endl;
@@ -692,6 +688,7 @@
   }
   _epoTime = epoch->epoTime();
+ 
   LOG.setf(ios::fixed);
-  LOG << string(_epoTime) << "\nDATUM TRANSFORMATION " << endl;
+  LOG  << "DATUM TRANSFORMATION in Epoch  "<<  string(_epoTime) << endl;
 
   vector<t_pppSatObs*> &allObs = epoch->obsVector();
@@ -795,6 +792,6 @@
 
 #ifdef BNC_DEBUG_PPP
-  //LOG << "xFltOld:\n" << xFltOld << endl;
-  //LOG << "xFlt   :\n" << _xFlt   << endl;
+//  LOG << "xFltOld:\n" << xFltOld << endl;
+//  LOG << "xFlt   :\n" << _xFlt   << endl;
 #endif
 
@@ -824,6 +821,9 @@
   // =================
   _datumTrafo->switchAA();
-
+  
   _obsPool->putEpoch(_epoTime, allObs, pseudoObsIono, refSatMap);
+#ifdef BNC_DEBUG_PPP  
+  LOG << "PUT EPOCH t_pppFilter::datumTransformation " << _epoTime.timestr().c_str() << endl;
+#endif
 
   return success;
Index: trunk/BNC/src/PPP/pppFilter.h
===================================================================
--- trunk/BNC/src/PPP/pppFilter.h	(revision 10023)
+++ trunk/BNC/src/PPP/pppFilter.h	(revision 10028)
@@ -21,5 +21,5 @@
   ~t_pppFilter();
 
-  t_irc processEpoch();
+  t_irc processEpoch(int num);
 
   const ColumnVector&    x() const {return _xFlt;}
