Index: trunk/BNC/src/PPP/pppClient.cpp
===================================================================
--- trunk/BNC/src/PPP/pppClient.cpp	(revision 9547)
+++ trunk/BNC/src/PPP/pppClient.cpp	(revision 9548)
@@ -507,5 +507,5 @@
 //
 //////////////////////////////////////////////////////////////////////////////
-void t_pppClient::finish(t_irc irc, int ind) {// LOG << "t_pppClient::finish(" << irc << ") " << ind << endl;
+void t_pppClient::finish(t_irc irc, int ind) { //LOG << "t_pppClient::finish(" << irc << ") " << ind << endl;
 
   clearObs();
@@ -606,4 +606,5 @@
         if(_filter->datumTransformation(_refSatMap) != success) {
           LOG << "t_pppFilter::datumTransformation() != success" << endl;
+          reset();
           return finish(failure,1);
         }
@@ -915,5 +916,5 @@
     t_prn prn = it.value()->prn();
     char sys = prn.system();
-    if (_obsPool->refSatChangeRequired(sys)){
+    if (_obsPool->refSatChangeRequired(sys)) {
       _historicalRefSats[sys].append(prn);
     }
@@ -923,5 +924,5 @@
 //
 //////////////////////////////////////////////////////////////////////////////
-void t_pppClient::reset() {
+void t_pppClient::reset() {LOG << "t_pppClient::reset()" << endl;
 
   // to delete old orbit and clock corrections
Index: trunk/BNC/src/PPP/pppFilter.cpp
===================================================================
--- trunk/BNC/src/PPP/pppFilter.cpp	(revision 9547)
+++ trunk/BNC/src/PPP/pppFilter.cpp	(revision 9548)
@@ -249,5 +249,4 @@
           const t_lc::type tLC = LCs[jj];
           if (tLC == t_lc::GIM) {continue;}
-          if (tLC == t_lc::Tz0) {continue;}
           ++iObs;
           usedObs.push_back(obs);
@@ -683,15 +682,15 @@
   const QMap<char, t_pppRefSat*>& refSatMapLastEpoch = epoch->refSatMap();
 
-  bool peseudoObsIono = epoch->pseudoObsIono();
+  bool pseudoObsIono = epoch->pseudoObsIono();
 
   // reset old and set new refSats in last epoch (ambiguities/GIM)
   // =============================================================
   if (resetRefSatellitesLastEpoch(allObs, refSatMap, refSatMapLastEpoch) != true) {
-    LOG  << "datumTransformation: refsatChange required" << endl;
-    return success;
+    LOG  << "datumTransformation: resetRefSatellitesLastEpoch != success" << endl;
+    return failure;
   }
 
   if (OPT->_obsModelType == OPT->UncombPPP) {
-    _obsPool->putEpoch(_epoTime, allObs, peseudoObsIono, refSatMap);
+    _obsPool->putEpoch(_epoTime, allObs, pseudoObsIono, refSatMap);
     return success;
   }
@@ -724,5 +723,5 @@
     vector<t_lc::type> LCs = OPT->LCs(sys);
     unsigned usedLCs = LCs.size();
-    if (OPT->_pseudoObsIono && !peseudoObsIono) {
+    if (OPT->_pseudoObsIono && !pseudoObsIono) {
         usedLCs -= 1;  // GIM not used
     }
@@ -730,5 +729,5 @@
     unsigned maxObs = obsVector.size() * usedLCs;
 
-    if (OPT->_pseudoObsIono && peseudoObsIono) {
+    if (OPT->_pseudoObsIono && pseudoObsIono) {
       maxObs -= 1; // pseudo obs iono with respect to refSat
     }
@@ -747,5 +746,4 @@
         const t_lc::type tLC = LCs[jj];
         if (tLC == t_lc::GIM) {continue;}
-        if (tLC == t_lc::Tz0) {continue;}
         ++iObs;
         for (unsigned iPar = 0; iPar < nPar; iPar++) {
@@ -769,6 +767,6 @@
   // ====================
 #ifdef BNC_DEBUG_PPP
-      //LOG << "AA1\n"; _datumTrafo->printMatrix(_datumTrafo->AA1(), _datumTrafo->numObs(), _datumTrafo->numPar());
-      //LOG << "AA2\n"; _datumTrafo->printMatrix(_datumTrafo->AA2(), _datumTrafo->numObs(), _datumTrafo->numPar());
+  //LOG << "AA1\n"; _datumTrafo->printMatrix(_datumTrafo->AA1(), _datumTrafo->numObs(), _datumTrafo->numPar());
+  //LOG << "AA2\n"; _datumTrafo->printMatrix(_datumTrafo->AA2(), _datumTrafo->numObs(), _datumTrafo->numPar());
 #endif
   if(_datumTrafo->computeTrafoMatrix() != success) {
@@ -776,5 +774,5 @@
   }
 #ifdef BNC_DEBUG_PPP
-      //LOG << "D21" << endl; _datumTrafo->printMatrix(_datumTrafo->D21(), _datumTrafo->numObs(), _datumTrafo->numPar());
+  //LOG << "D21" << endl; _datumTrafo->printMatrix(_datumTrafo->D21(), _datumTrafo->numObs(), _datumTrafo->numPar());
 #endif
   ColumnVector    xFltOld = _xFlt;
@@ -809,5 +807,5 @@
   _datumTrafo->switchAA();
 
-  _obsPool->putEpoch(_epoTime, allObs, peseudoObsIono, refSatMap);
+  _obsPool->putEpoch(_epoTime, allObs, pseudoObsIono, refSatMap);
 
   return success;
Index: trunk/BNC/src/PPP/pppParlist.cpp
===================================================================
--- trunk/BNC/src/PPP/pppParlist.cpp	(revision 9547)
+++ trunk/BNC/src/PPP/pppParlist.cpp	(revision 9548)
@@ -183,26 +183,26 @@
   switch (_type) {
   case crdX:
-    if (tLC == t_lc::GIM || tLC == t_lc::Tz0) {return 0.0;}
+    if (tLC == t_lc::GIM) {return 0.0;}
     return (sta->xyzApr()[0] - obs->xc()[0]) / rhoV.NormFrobenius();
   case crdY:
-    if (tLC == t_lc::GIM || tLC == t_lc::Tz0) {return 0.0;}
+    if (tLC == t_lc::GIM) {return 0.0;}
     return (sta->xyzApr()[1] - obs->xc()[1]) / rhoV.NormFrobenius();
   case crdZ:
-    if (tLC == t_lc::GIM || tLC == t_lc::Tz0) {return 0.0;}
+    if (tLC == t_lc::GIM) {return 0.0;}
     return (sta->xyzApr()[2] - obs->xc()[2]) / rhoV.NormFrobenius();
   case clkR:
-    if (tLC == t_lc::GIM || tLC == t_lc::Tz0) {return 0.0;}
+    if (tLC == t_lc::GIM) {return 0.0;}
     return 1.0;
   case offGR:
-    if (tLC == t_lc::GIM || tLC == t_lc::Tz0) {return 0.0;}
+    if (tLC == t_lc::GIM) {return 0.0;}
     return (obs->prn().system() == 'R') ? 1.0 : 0.0;
   case offGE:
-    if (tLC == t_lc::GIM || tLC == t_lc::Tz0) {return 0.0;}
+    if (tLC == t_lc::GIM) {return 0.0;}
     return (obs->prn().system() == 'E') ? 1.0 : 0.0;
   case offGC:
-    if (tLC == t_lc::GIM || tLC == t_lc::Tz0) {return 0.0;}
+    if (tLC == t_lc::GIM) {return 0.0;}
     return (obs->prn().system() == 'C') ? 1.0 : 0.0;
   case amb:
-    if      (tLC == t_lc::GIM || tLC == t_lc::Tz0) {return 0.0;}
+    if      (tLC == t_lc::GIM) {return 0.0;}
     else if ((OPT->_obsModelType == OPT->IF)     ||
              (OPT->_obsModelType == OPT->PPPRTK) ||
@@ -232,7 +232,4 @@
     if      (tLC == t_lc::GIM) {
       return 0.0;
-    }
-    else if (tLC == t_lc::Tz0) {
-      return 1.0;
     }
     else {
@@ -544,9 +541,9 @@
                 par->type() == t_pppParam::pBiasG1 ||
                 par->type() == t_pppParam::pBiasG2) && !usedSystems().contains('G')) {
-        delete par;
 #ifdef BNC_DEBUG_PPP
         LOG << "remove1 " << par->toString() << std::endl;
 #endif
-       it = _params.erase(it);
+        delete par;
+        it = _params.erase(it);
       }
       else if ((par->type() == t_pppParam::cBiasR1 ||
@@ -554,9 +551,9 @@
                 par->type() == t_pppParam::pBiasR1 ||
                 par->type() == t_pppParam::pBiasR2) && !usedSystems().contains('R')) {
-        delete par;
 #ifdef BNC_DEBUG_PPP
         LOG << "remove1 " << par->toString() << std::endl;
 #endif
-       it = _params.erase(it);
+        delete par;
+        it = _params.erase(it);
       }
       else if ((par->type() == t_pppParam::cBiasE1 ||
@@ -564,19 +561,19 @@
                 par->type() == t_pppParam::pBiasE1 ||
                 par->type() == t_pppParam::pBiasE2) && !usedSystems().contains('E')) {
-        delete par;
 #ifdef BNC_DEBUG_PPP
         LOG << "remove1 " << par->toString() << std::endl;
 #endif
-       it = _params.erase(it);
+        delete par;
+        it = _params.erase(it);
       }
       else if ((par->type() == t_pppParam::cBiasC1 ||
                 par->type() == t_pppParam::cBiasC2 ||
                 par->type() == t_pppParam::pBiasC1 ||
-                par->type() == t_pppParam::pBiasG2) && !usedSystems().contains('C')) {
-        delete par;
+                par->type() == t_pppParam::pBiasC2) && !usedSystems().contains('C')) {
 #ifdef BNC_DEBUG_PPP
         LOG << "remove1 " << par->toString() << std::endl;
 #endif
-       it = _params.erase(it);
+        delete par;
+        it = _params.erase(it);
       }
       else {
Index: trunk/BNC/src/PPP/pppSatObs.cpp
===================================================================
--- trunk/BNC/src/PPP/pppSatObs.cpp	(revision 9547)
+++ trunk/BNC/src/PPP/pppSatObs.cpp	(revision 9548)
@@ -93,5 +93,5 @@
   for (unsigned ii = 0; ii < OPT->LCs(_prn.system()).size(); ii++) {
     t_lc::type tLC = OPT->LCs(_prn.system())[ii];
-    if (tLC == t_lc::GIM || tLC == t_lc::Tz0) {continue;}
+    if (tLC == t_lc::GIM) {continue;}
     if (!isValid(tLC)) {
       _valid = false;
@@ -191,5 +191,4 @@
     return;
   case t_lc::GIM:
-  case t_lc::Tz0:
   case t_lc::dummy:
   case t_lc::maxLc:
@@ -222,8 +221,4 @@
       return _stecRefSat;
     }
-  }
-
-  if (tLC == t_lc::Tz0) {
-    return _model._tropo0;
   }
 
@@ -310,5 +305,5 @@
 
   retVal = sqrt(retVal);
-
+/*
   // De-Weight GLONASS
   // -----------------
@@ -322,5 +317,5 @@
     retVal *= 2.0;
   }
-
+*/
   // Elevation-Dependent Weighting
   // -----------------------------
@@ -358,9 +353,9 @@
 
   retVal = sqrt(retVal);
-
+/*
   // De-Weight GLONASS
   // -----------------
   if (_prn.system() == 'R' && (t_lc::includesCode(tLC) ||  t_lc::includesPhase(tLC))) {
-    retVal *= 2.0;
+    retVal *= 5.0;
   }
 
@@ -370,5 +365,5 @@
     retVal *= 2.0;
   }
-
+*/
 
   return retVal;
@@ -645,7 +640,4 @@
     cmpValue =  _stecSat;
   }
-  else if (tLC == t_lc::Tz0) {
-    cmpValue = _model._tropo0;
-  }
   else {
     // Non-Dispersive Part
