Index: trunk/BNC/src/bncwindow.cpp
===================================================================
--- trunk/BNC/src/bncwindow.cpp	(revision 9598)
+++ trunk/BNC/src/bncwindow.cpp	(revision 9599)
@@ -957,4 +957,6 @@
   _pppWidgets._snxtroAc  ->setMaximumWidth(10*ww);
   _pppWidgets._snxtroSol ->setMaximumWidth(7*ww);
+  _pppWidgets._ionoMount->setMaximumWidth(15*ww);
+
 
   QGridLayout* pppLayout1 = new QGridLayout();
@@ -997,4 +999,8 @@
   pppLayout1->addWidget(_pppWidgets._snxtroSampl,            ir, 7, Qt::AlignRight);
   ++ir;
+  pppLayout1->addWidget(new QLabel("Ionosphere stream"),     ir, 0);
+  pppLayout1->addWidget(_pppWidgets._ionoMount,              ir, 1);
+  pppLayout1->addWidget(new QLabel("Ionosphere file"),       ir, 2);
+  pppLayout1->addWidget(_pppWidgets._ionoFile,               ir, 3);
   pppLayout1->addWidget(new QLabel("   SNX TRO AC"),         ir, 4);
   pppLayout1->addWidget(_pppWidgets._snxtroAc,               ir, 5);
@@ -1444,4 +1450,5 @@
   _pppWidgets._snxtroAc->setWhatsThis(tr("<p>Specify a 3-character abbreviation describing you as the generating Analysis Center (AC) in your SINEX troposphere files.</p>"));
   _pppWidgets._snxtroSol->setWhatsThis(tr("<p>Specify a 4-character solution ID to allow a distingtion between different solutions per AC.</p>"));
+  _pppWidgets._ionoMount->setWhatsThis(tr("<p>Specify a 'mountpoint' from the 'Streams' canvas below which provides VTEC informations in SSR format.</p><p>If you don't specify a corrections stream via this option, BNC will use VTEC informations from the Corrections stream 'mountpoint', if available.</p>"));
 
   // WhatsThis, PPP (3)
Index: trunk/BNC/src/pppMain.cpp
===================================================================
--- trunk/BNC/src/pppMain.cpp	(revision 9598)
+++ trunk/BNC/src/pppMain.cpp	(revision 9599)
@@ -164,4 +164,5 @@
       opt->_corrMount.assign(settings.value("PPP/corrMount").toString().toStdString());
       opt->_isAPC = (opt->_corrMount.substr(0,4)=="SSRA");
+      opt->_ionoMount.assign(settings.value("PPP/ionoMount").toString().toStdString());
     }
     else {
@@ -171,4 +172,5 @@
       QFileInfo tmp = QFileInfo(QString::fromStdString(opt->_corrFile));
       opt->_isAPC = (tmp.baseName().mid(0,4)=="SSRA");
+      opt->_ionoFile.assign(settings.value("PPP/ionoFile").toString().toStdString());
     }
 
Index: trunk/BNC/src/pppOptions.h
===================================================================
--- trunk/BNC/src/pppOptions.h	(revision 9598)
+++ trunk/BNC/src/pppOptions.h	(revision 9599)
@@ -36,8 +36,10 @@
   std::string             _crdFile;
   std::string             _corrMount;
+  std::string             _ionoMount;
   bool                    _isAPC;
   std::string             _rinexObs;
   std::string             _rinexNav;
   std::string             _corrFile;
+  std::string             _ionoFile;
   double                  _corrWaitTime;
   std::string             _roverName;
Index: trunk/BNC/src/pppRun.cpp
===================================================================
--- trunk/BNC/src/pppRun.cpp	(revision 9598)
+++ trunk/BNC/src/pppRun.cpp	(revision 9599)
@@ -130,4 +130,5 @@
     _rnxNavFile = 0;
     _corrFile   = 0;
+    _ionoFile   = 0;
     _speed      = settings.value("PPP/mapSpeedSlider").toInt();
     connect(this, SIGNAL(progressRnxPPP(int)), BNC_CORE, SIGNAL(progressRnxPPP(int)));
@@ -422,9 +423,15 @@
 
   if (_opt->_realTime) {
-    if (_opt->_corrMount.empty() || _opt->_corrMount != vTec._staID) {
-      return;
-    }
-  }
-
+    if (_opt->_ionoMount.empty() && _opt->_corrMount.empty()) {
+      return;
+    }
+    if ( _opt->_ionoMount.empty() &&
+        !_opt->_corrMount.empty() && _opt->_corrMount != vTec._staID) {
+      return;
+    }
+    if (!_opt->_ionoMount.empty() && _opt->_ionoMount != vTec._staID) {
+      return;
+    }
+  }
   _pppClient->putTec(&vTec);
 }
@@ -555,4 +562,10 @@
   }
 
+  if (!_opt->_ionoFile.empty()) {
+    _ionoFile = new t_corrFile(QString(_opt->_corrFile.c_str()));
+    connect(_ionoFile, SIGNAL(newTec(t_vTec)),
+            this, SLOT(slotNewTec(t_vTec)));
+  }
+
   // Read/Process Observations
   // -------------------------
@@ -583,4 +596,24 @@
       catch (...) {
         emit newMessage("unknown exceptions in corrFile", true);
+        break;
+      }
+    }
+
+    // Get Additional VTEC Informations
+    // --------------------------------
+    if (_ionoFile) {
+      try {
+        _ionoFile->syncRead(epo->tt);
+      }
+      catch (const char* msg) {
+        emit newMessage(QByteArray(msg), true);
+        break;
+      }
+      catch (const string& msg) {
+        emit newMessage(QByteArray(msg.c_str()), true);
+        break;
+      }
+      catch (...) {
+        emit newMessage("unknown exceptions in ionoFile", true);
         break;
       }
Index: trunk/BNC/src/pppRun.h
===================================================================
--- trunk/BNC/src/pppRun.h	(revision 9598)
+++ trunk/BNC/src/pppRun.h	(revision 9599)
@@ -71,4 +71,5 @@
   t_rnxNavFile*          _rnxNavFile;
   t_corrFile*            _corrFile;
+  t_corrFile*            _ionoFile;
   int                    _speed;
   bool                   _stopFlag;
Index: trunk/BNC/src/pppWidgets.cpp
===================================================================
--- trunk/BNC/src/pppWidgets.cpp	(revision 9598)
+++ trunk/BNC/src/pppWidgets.cpp	(revision 9599)
@@ -65,5 +65,7 @@
   _rinexNav     = new qtFileChooser(); _rinexNav    ->setObjectName("PPP/rinexNav");     _widgets << _rinexNav;
   _corrMount    = new QLineEdit();     _corrMount   ->setObjectName("PPP/corrMount");    _widgets << _corrMount;
+  _ionoMount    = new QLineEdit();     _ionoMount   ->setObjectName("PPP/ionoMount");    _widgets << _ionoMount;
   _corrFile     = new qtFileChooser(); _corrFile    ->setObjectName("PPP/corrFile");     _widgets << _corrFile;
+  _ionoFile     = new qtFileChooser(); _ionoFile    ->setObjectName("PPP/ionoFile");     _widgets << _ionoFile;
   _crdFile      = new qtFileChooser(); _crdFile     ->setObjectName("PPP/crdFile");      _widgets << _crdFile;
   _antexFile    = new qtFileChooser(); _antexFile   ->setObjectName("PPP/antexFile");    _widgets << _antexFile;
@@ -233,5 +235,7 @@
   delete _rinexNav;
   delete _corrMount;
+  delete _ionoMount;
   delete _corrFile;
+  delete _ionoFile;
   delete _crdFile;
   delete _antexFile;
@@ -330,4 +334,5 @@
   // ---------
   _corrMount  ->setText(settings.value(_corrMount  ->objectName()).toString());
+  _ionoMount  ->setText(settings.value(_ionoMount  ->objectName()).toString());
   _logPath    ->setText(settings.value(_logPath    ->objectName()).toString());
   _nmeaPath   ->setText(settings.value(_nmeaPath   ->objectName()).toString());
@@ -446,5 +451,7 @@
   settings.setValue(_rinexNav    ->objectName(), _rinexNav    ->fileName());
   settings.setValue(_corrMount   ->objectName(), _corrMount   ->text());
+  settings.setValue(_ionoMount   ->objectName(), _ionoMount   ->text());
   settings.setValue(_corrFile    ->objectName(), _corrFile    ->fileName());
+  settings.setValue(_ionoFile    ->objectName(), _ionoFile    ->fileName());
   settings.setValue(_crdFile     ->objectName(), _crdFile     ->fileName());
   settings.setValue(_antexFile   ->objectName(), _antexFile   ->fileName());
@@ -527,7 +534,9 @@
     _rinexNav->setEnabled(false);
     _corrFile->setEnabled(false);
+    _ionoFile->setEnabled(false);
   }
   else if (rinexFiles) {
     _corrMount    ->setEnabled(false);
+    _ionoMount    ->setEnabled(false);
     _audioResponse->setEnabled(false);
   }
@@ -549,7 +558,9 @@
     _pseudoObs->setEnabled(true);
     _sigmaGIM->setEnabled(true);
+    _maxResGIM->setEnabled(true);
   } else {
     _pseudoObs->setEnabled(false);
     _sigmaGIM->setEnabled(false);
+    _maxResGIM->setEnabled(false);
   }
 
Index: trunk/BNC/src/pppWidgets.h
===================================================================
--- trunk/BNC/src/pppWidgets.h	(revision 9598)
+++ trunk/BNC/src/pppWidgets.h	(revision 9599)
@@ -49,5 +49,7 @@
   qtFileChooser* _rinexNav;
   QLineEdit*     _corrMount;
+  QLineEdit*     _ionoMount;
   qtFileChooser* _corrFile;
+  qtFileChooser* _ionoFile;
   qtFileChooser* _crdFile;
   qtFileChooser* _antexFile;
