Index: /trunk/BNC/src/PPP/pppClient.cpp
===================================================================
--- /trunk/BNC/src/PPP/pppClient.cpp	(revision 9551)
+++ /trunk/BNC/src/PPP/pppClient.cpp	(revision 9552)
@@ -669,7 +669,4 @@
       if (_filter->processEpoch() != success) {
         LOG << "filter->processEpoch() != success" << endl;
-        if (_filter->ageOfLastSolutionOK() >= 120) {
-          reset();
-        }
         return finish(failure,7);
       }
Index: /trunk/BNC/src/PPP/pppFilter.h
===================================================================
--- /trunk/BNC/src/PPP/pppFilter.h	(revision 9551)
+++ /trunk/BNC/src/PPP/pppFilter.h	(revision 9552)
@@ -61,5 +61,4 @@
     return 0.0;
   };
-  double ageOfLastSolutionOK() { return (_epoTime - _lastEpoTimeOK);}
 
  private:
Index: /trunk/BNC/src/PPP/pppSatObs.cpp
===================================================================
--- /trunk/BNC/src/PPP/pppSatObs.cpp	(revision 9551)
+++ /trunk/BNC/src/PPP/pppSatObs.cpp	(revision 9552)
@@ -344,5 +344,5 @@
   }
   if (tLC == t_lc::GIM) {
-    retVal = 3.0 * (OPT->_sigmaGIM * OPT->_sigmaGIM + OPT->_sigmaGIM * OPT->_sigmaGIM);
+    retVal = it->second * it->second * OPT->_maxResGIM * OPT->_maxResGIM;
   }
 
Index: /trunk/BNC/src/bncwindow.cpp
===================================================================
--- /trunk/BNC/src/bncwindow.cpp	(revision 9551)
+++ /trunk/BNC/src/bncwindow.cpp	(revision 9552)
@@ -1063,6 +1063,8 @@
   pppLayout3->addWidget(_pppWidgets._sigmaGIM,              ir, 4); _pppWidgets._sigmaGIM->setMaximumWidth(8*ww);
   pppLayout3->addItem(new QSpacerItem(8*ww, 0),             ir, 5);
+  pppLayout3->addWidget(new QLabel("Max Res GIM"),            ir, 6, Qt::AlignLeft);
+  pppLayout3->addWidget(_pppWidgets._maxResGIM,        ir, 7); _pppWidgets._maxResGIM->setMaximumWidth(8*ww);
   ++ir;
-  pppLayout3->addWidget(new QLabel(""),                     ir, 6);
+  pppLayout3->addWidget(new QLabel(""),                     ir, 8);
   pppLayout3->setColumnStretch(8, 999);
   ++ir;
@@ -1454,6 +1456,7 @@
   _pppWidgets._sigmaL1->setWhatsThis(tr("<p>Enter a Sigma for GPS L1 phase observations in meters.</p><p>The higher the sigma you enter, the less the contribution of L1 phase observations to a PPP solutions from combined code and phase data. 0.01 is likely to be an appropriate choice.</p><p>Default is an empty option field, meaning<br>'Sigma L1 = 0.01' <i>[key: PPP/sigmaL1]</i></p>"));
   _pppWidgets._sigmaGIM->setWhatsThis(tr("<p>Enter a Sigma for GIM pseudo observations in meters.</p><p>The higher the sigma you enter, the less the contribution of GIM pseudo observations to a PPP solution. 3.0 is likely to be an appropriate choice.</p><p>Default is an empty option field, meaning<br>'Sigma GIM = 3.0' <i>[key: PPP/sigmaGIM]</i></p>"));
-  _pppWidgets._maxResC1->setWhatsThis(tr("<p>Specify a maximum for residuals from GPS C1 code observations in a PPP solution. '3.0' meters may be an appropriate choice for that.</p><p>If the maximum is exceeded, contributions from the corresponding observation will be ignored in the PPP solution.</p><p>Default is an empty option field, meaning<br>'Max Rex C1 = 3.0' <i>[key: PPP/maxResC1]</i></p>"));
-  _pppWidgets._maxResL1->setWhatsThis(tr("<p>Specify a maximum for residuals from GPS L1 code observations in a PPP solution. '0.03' meters may be an appropriate choice for that.</p><p>If the maximum is exceeded, contributions from the corresponding observation will be ignored in the PPP solution.</p><p>Default is an empty option field, meaning<br>'Max Rex L1 = 0.03' <i>[key: PPP/maxResL1]</i></p>"));
+  _pppWidgets._maxResC1->setWhatsThis(tr("<p>Specify a maximum for residuals from GPS C1 code observations in a PPP solution. '3.0' meters may be an appropriate choice for that.</p><p>If the maximum is exceeded, contributions from the corresponding observation will be ignored in the PPP solution.</p><p>Default is an empty option field, meaning<br>'Max Res C1 = 3.0' <i>[key: PPP/maxResC1]</i></p>"));
+  _pppWidgets._maxResL1->setWhatsThis(tr("<p>Specify a maximum for residuals from GPS L1 code observations in a PPP solution. '0.03' meters may be an appropriate choice for that.</p><p>If the maximum is exceeded, contributions from the corresponding observation will be ignored in the PPP solution.</p><p>Default is an empty option field, meaning<br>'Max Res L1 = 0.03' <i>[key: PPP/maxResL1]</i></p>"));
+  _pppWidgets._maxResGIM->setWhatsThis(tr("<p>Specify a maximum for residuals from GIM pseudo observations in a PPP solution. '6.0' meters may be an appropriate choice for that.</p><p>If the maximum is exceeded, contributions from the corresponding observation will be ignored in the PPP solution.</p><p>Default is an empty option field, meaning<br>'Max Res L1 = 1.0' <i>[key: PPP/maxResGIM]</i></p>"));
   _pppWidgets._eleWgtCode->setWhatsThis(tr("<p>Tic 'Ele Wgt Code' to use satellite Elevation depending Weights for Code observations in the PPP solution. <i>[key: PPP/eleWgtCode]</i></p>"));
   _pppWidgets._eleWgtPhase->setWhatsThis(tr("<p>Tic 'Ele Wgt Phase' to use satellite Elevation depending Weights for Phase observations in the PPP solution. <i>[key: PPP/eleWgtPhase]</i></p>"));
Index: /trunk/BNC/src/pppMain.cpp
===================================================================
--- /trunk/BNC/src/pppMain.cpp	(revision 9551)
+++ /trunk/BNC/src/pppMain.cpp	(revision 9552)
@@ -409,4 +409,5 @@
     opt->_maxResC1    = settings.value("PPP/maxResC1").toDouble(); if (opt->_maxResC1 <= 0.0) opt->_maxResC1 = 3.0;
     opt->_maxResL1    = settings.value("PPP/maxResL1").toDouble(); if (opt->_maxResL1 <= 0.0) opt->_maxResL1 = 0.03;
+    opt->_maxResGIM   = settings.value("PPP/maxResGIM").toDouble(); if (opt->_maxResGIM <= 0.0) opt->_maxResGIM = 6.0;
     opt->_eleWgtCode  = (settings.value("PPP/eleWgtCode").toInt() != 0);
     opt->_eleWgtPhase = (settings.value("PPP/eleWgtPhase").toInt() != 0);
Index: /trunk/BNC/src/pppOptions.h
===================================================================
--- /trunk/BNC/src/pppOptions.h	(revision 9551)
+++ /trunk/BNC/src/pppOptions.h	(revision 9552)
@@ -54,4 +54,5 @@
   double                  _maxResC1;
   double                  _maxResL1;
+  double                  _maxResGIM;
   bool                    _eleWgtCode;
   bool                    _eleWgtPhase;
Index: /trunk/BNC/src/pppWidgets.cpp
===================================================================
--- /trunk/BNC/src/pppWidgets.cpp	(revision 9551)
+++ /trunk/BNC/src/pppWidgets.cpp	(revision 9552)
@@ -89,4 +89,5 @@
   _maxResC1     = new QLineEdit();     _maxResC1    ->setObjectName("PPP/maxResC1");     _widgets << _maxResC1;
   _maxResL1     = new QLineEdit();     _maxResL1    ->setObjectName("PPP/maxResL1");     _widgets << _maxResL1;
+  _maxResGIM    = new QLineEdit();     _maxResGIM   ->setObjectName("PPP/maxResGIM");    _widgets << _maxResGIM;
   _minObs       = new QSpinBox();      _minObs      ->setObjectName("PPP/minObs");       _widgets << _minObs;
   _minEle       = new QSpinBox();      _minEle      ->setObjectName("PPP/minEle");       _widgets << _minEle;
@@ -258,4 +259,5 @@
   delete _maxResC1;
   delete _maxResL1;
+  delete _maxResGIM;
   delete _minObs;
   delete _minEle;
@@ -367,4 +369,12 @@
     _maxResL1->setText("0.03");
   }
+
+  if (!settings.value(_maxResGIM->objectName()).toString().isEmpty()) {
+    _maxResGIM->setText(settings.value(_maxResGIM->objectName()).toString());
+  }
+  else {
+    _maxResGIM->setText("6.0");
+  }
+
 
   if (!settings.value(_seedingTime->objectName()).toString().isEmpty()) {
@@ -459,4 +469,5 @@
   settings.setValue(_maxResC1    ->objectName(), _maxResC1    ->text());
   settings.setValue(_maxResL1    ->objectName(), _maxResL1    ->text());
+  settings.setValue(_maxResGIM   ->objectName(), _maxResGIM   ->text());
   settings.setValue(_seedingTime ->objectName(), _seedingTime ->text());
   settings.setValue(_minObs      ->objectName(), _minObs      ->value());
Index: /trunk/BNC/src/pppWidgets.h
===================================================================
--- /trunk/BNC/src/pppWidgets.h	(revision 9551)
+++ /trunk/BNC/src/pppWidgets.h	(revision 9552)
@@ -75,4 +75,5 @@
   QLineEdit*     _maxResC1;
   QLineEdit*     _maxResL1;
+  QLineEdit*     _maxResGIM;
   QCheckBox*     _eleWgtCode;
   QCheckBox*     _eleWgtPhase;
