Index: /trunk/BNC/src/PPP/pppClient.cpp
===================================================================
--- /trunk/BNC/src/PPP/pppClient.cpp	(revision 7230)
+++ /trunk/BNC/src/PPP/pppClient.cpp	(revision 7231)
@@ -332,4 +332,10 @@
 }
 
+//
+//////////////////////////////////////////////////////////////////////////////
+void t_pppClient::putTec(const t_vTec* vTec) {
+  _pppUtils->putTec(new t_vTec(*vTec));
+}
+
 // 
 //////////////////////////////////////////////////////////////////////////////
Index: /trunk/BNC/src/PPP/pppClient.h
===================================================================
--- /trunk/BNC/src/PPP/pppClient.h	(revision 7230)
+++ /trunk/BNC/src/PPP/pppClient.h	(revision 7231)
@@ -44,5 +44,6 @@
   ~t_pppClient();
   void                processEpoch(const std::vector<t_satObs*>& satObs, t_output* output);
-  void                putEphemeris(const t_eph* eph);                  
+  void                putEphemeris(const t_eph* eph);
+  void                putTec(const t_vTec* vTec);
   void                putOrbCorrections(const std::vector<t_orbCorr*>& corr); 
   void                putClkCorrections(const std::vector<t_clkCorr*>& corr); 
Index: /trunk/BNC/src/PPP/pppUtils.cpp
===================================================================
--- /trunk/BNC/src/PPP/pppUtils.cpp	(revision 7230)
+++ /trunk/BNC/src/PPP/pppUtils.cpp	(revision 7231)
@@ -19,4 +19,7 @@
 #include "pppModel.h"
 
+#include <iostream>     // std::cout, std::ios
+#include <sstream>      // std::ostringstream
+
 using namespace BNC_PPP;
 using namespace std;
@@ -30,4 +33,5 @@
     _satCodeBiases[ii] = 0;
   }
+  _vTec = 0;
 }
 
@@ -38,4 +42,5 @@
     delete _satCodeBiases[ii];
   }
+  delete _vTec;
 }
 
@@ -47,2 +52,9 @@
   _satCodeBiases[iPrn] = satCodeBias;
 }
+
+//
+//////////////////////////////////////////////////////////////////////////////
+void t_pppUtils::putTec(t_vTec* vTec) {
+  delete _vTec;
+  _vTec = vTec;
+}
Index: /trunk/BNC/src/PPP/pppUtils.h
===================================================================
--- /trunk/BNC/src/PPP/pppUtils.h	(revision 7230)
+++ /trunk/BNC/src/PPP/pppUtils.h	(revision 7231)
@@ -16,8 +16,12 @@
       return _satCodeBiases[prn.toInt()];
   }
+  void putTec(t_vTec* vTec);
+  const t_vTec* vTec() const {
+    return _vTec;
+  }
 
  private:
   t_satCodeBias*   _satCodeBiases[t_prn::MAXPRN+1];
-
+  t_vTec*          _vTec;
 };
 
Index: /trunk/BNC/src/PPP_RTK/pppClient.cpp
===================================================================
--- /trunk/BNC/src/PPP_RTK/pppClient.cpp	(revision 7230)
+++ /trunk/BNC/src/PPP_RTK/pppClient.cpp	(revision 7231)
@@ -98,4 +98,10 @@
 }
 
+//
+//////////////////////////////////////////////////////////////////////////////
+void t_pppClient::putTec(const t_vTec* vTec) {
+  _staRover->putTec(new t_vTec(*vTec));
+}
+
 // 
 //////////////////////////////////////////////////////////////////////////////
@@ -122,5 +128,5 @@
 }
 
-// 
+//
 //////////////////////////////////////////////////////////////////////////////
 t_irc t_pppClient::prepareObs(const vector<t_satObs*>& satObs,
Index: /trunk/BNC/src/PPP_RTK/pppClient.h
===================================================================
--- /trunk/BNC/src/PPP_RTK/pppClient.h	(revision 7230)
+++ /trunk/BNC/src/PPP_RTK/pppClient.h	(revision 7231)
@@ -26,4 +26,5 @@
 
   void putEphemeris(const t_eph* eph);                  
+  void putTec(const t_vTec* vTec);
   void putOrbCorrections(const std::vector<t_orbCorr*>& corr); 
   void putClkCorrections(const std::vector<t_clkCorr*>& corr); 
Index: /trunk/BNC/src/PPP_RTK/pppStation.cpp
===================================================================
--- /trunk/BNC/src/PPP_RTK/pppStation.cpp	(revision 7230)
+++ /trunk/BNC/src/PPP_RTK/pppStation.cpp	(revision 7231)
@@ -26,4 +26,5 @@
 t_pppStation::t_pppStation() {
   _windUp    = new t_windUp();
+  _vTec = 0;
 }
 
@@ -32,4 +33,5 @@
 t_pppStation::~t_pppStation() {
   delete _windUp;
+  delete _vTec;
 }
 
@@ -57,2 +59,9 @@
 }
 
+//
+//////////////////////////////////////////////////////////////////////////////
+void t_pppStation::putTec(t_vTec* vTec) {
+  delete _vTec;
+  _vTec = vTec;
+}
+
Index: /trunk/BNC/src/PPP_RTK/pppStation.h
===================================================================
--- /trunk/BNC/src/PPP_RTK/pppStation.h	(revision 7230)
+++ /trunk/BNC/src/PPP_RTK/pppStation.h	(revision 7231)
@@ -30,4 +30,8 @@
   double dClk() const {return _dClk;}
   double windUp(const bncTime& time, t_prn prn, const ColumnVector& rSat) const;
+  void putTec(t_vTec* vTec);
+  const t_vTec* vTec() const {
+    return _vTec;
+  }
 
  private:
@@ -43,4 +47,5 @@
   bncTime           _timeCheck;
   ColumnVector      _xyzCheck;
+  t_vTec*           _vTec;
 };
 
Index: /trunk/BNC/src/pppRun.cpp
===================================================================
--- /trunk/BNC/src/pppRun.cpp	(revision 7230)
+++ /trunk/BNC/src/pppRun.cpp	(revision 7231)
@@ -101,4 +101,7 @@
             this, SLOT(slotNewBDSEph(t_ephBDS)),conType);
 
+    connect(BNC_CORE, SIGNAL(newTec(t_vTec)),
+            this, SLOT(slotNewTec(t_vTec)),conType);
+
     connect(BNC_CORE, SIGNAL(newOrbCorrections(QList<t_orbCorr>)),
             this, SLOT(slotNewOrbCorrections(QList<t_orbCorr>)),conType);
@@ -315,5 +318,21 @@
   }
 }
-    
+
+//
+////////////////////////////////////////////////////////////////////////////
+void t_pppRun::slotNewTec(t_vTec vTec) {
+  if (vTec._layers.size() == 0) {
+    return;
+  }
+
+  if (_opt->_realTime) {
+    if (_opt->_corrMount.empty() || _opt->_corrMount != vTec._staID) {
+      return;
+    }
+  }
+
+  _pppClient->putTec(&vTec);
+}
+
 // 
 ////////////////////////////////////////////////////////////////////////////
@@ -393,4 +412,6 @@
   if (!_opt->_corrFile.empty()) {
     _corrFile = new t_corrFile(QString(_opt->_corrFile.c_str()));
+    connect(_corrFile, SIGNAL(newTec(t_vTec)),
+            this, SLOT(slotNewTec(t_vTec)));
     connect(_corrFile, SIGNAL(newOrbCorrections(QList<t_orbCorr>)),
             this, SLOT(slotNewOrbCorrections(QList<t_orbCorr>)));
Index: /trunk/BNC/src/pppRun.h
===================================================================
--- /trunk/BNC/src/pppRun.h	(revision 7230)
+++ /trunk/BNC/src/pppRun.h	(revision 7231)
@@ -40,4 +40,5 @@
   void slotNewGalileoEph(t_ephGal);
   void slotNewBDSEph(t_ephBDS);
+  void slotNewTec(t_vTec);
   void slotNewOrbCorrections(QList<t_orbCorr> orbCorr);
   void slotNewClkCorrections(QList<t_clkCorr> clkCorr);
