Index: trunk/BNC/src/PPP/pppSatObs.cpp
===================================================================
--- trunk/BNC/src/PPP/pppSatObs.cpp	(revision 8495)
+++ trunk/BNC/src/PPP/pppSatObs.cpp	(revision 8619)
@@ -62,4 +62,5 @@
   // ------------------------------------------
   const string preferredAttrib = "CWPXI_";
+  //const string preferredAttrib = "G:12&PWCSLXYN G:5&IQX R:12&PC R:3&IQX E:16&BCX E:578&IQX J:1&SLXCZ J:26&SLX J:5&IQX C:IQX I:ABCX S:1&C S:5&IQX";
 
   for (unsigned iFreq = 1; iFreq < t_frequency::max; iFreq++) {
@@ -106,8 +107,8 @@
   // Compute Satellite Coordinates at Time of Transmission
   // -----------------------------------------------------
-  _xcSat.ReSize(7); _xcSat = 0.0;
+  _xcSat.ReSize(6); _xcSat = 0.0;
   _vvSat.ReSize(3); _vvSat = 0.0;
   bool totOK  = false;
-  ColumnVector satPosOld(7); satPosOld = 0.0;
+  ColumnVector satPosOld(6); satPosOld = 0.0;
   t_lc::type tLC = isValid(t_lc::cIF) ? t_lc::cIF : t_lc::c1;
   double prange = obsValue(tLC);
@@ -328,4 +329,6 @@
   _model._rho = rhoV.norm_Frobenius();
 
+  ColumnVector vSat = _vvSat;
+
   ColumnVector neu(3);
   xyz2neu(station->ellApr().data(), rhoV.data(), neu.data());
@@ -371,8 +374,4 @@
   // ------------------
   _model._tropo = t_tropo::delay_saast(station->xyzApr(), _model._eleSat);
-
-  // Phase Wind-Up
-  // -------------
-  _model._windUp = station->windUp(_time, _prn, rSat);
 
   // Code Biases
@@ -393,7 +392,11 @@
   // Phase Biases
   // -----------
-  // TODO: consideration of fix indicators, yaw angle and jump counter
+  // TODO: consideration of fix indicators and jump counter
   const t_satPhaseBias* satPhaseBias = PPP_CLIENT->obsPool()->satPhaseBias(_prn);
+  double yaw = 0.0;
+  bool ssr = false;
   if (satPhaseBias) {
+    yaw = satPhaseBias->_yaw;
+    ssr = true;
     for (unsigned ii = 0; ii < satPhaseBias->_bias.size(); ii++) {
       const t_frqPhaseBias& bias = satPhaseBias->_bias[ii];
@@ -407,4 +410,9 @@
   }
 
+  // Phase Wind-Up
+  // -------------
+  _model._windUp = station->windUp(_time, _prn, rSat, ssr, yaw, vSat) ;
+
+
   // Tidal Correction
   // ----------------
@@ -428,4 +436,8 @@
     }
   }
+
+  // Relativistic effect due to earth gravity
+  // ----------------------------------------
+  // TODO
 
   // Ocean Loading
Index: trunk/BNC/src/PPP/pppSatObs.h
===================================================================
--- trunk/BNC/src/PPP/pppSatObs.h	(revision 8495)
+++ trunk/BNC/src/PPP/pppSatObs.h	(revision 8619)
@@ -90,4 +90,5 @@
       _tide    = 0.0;
       _windUp  = 0.0;
+      _rel    = 0.0;
       for (unsigned ii = 0; ii < t_frequency::max; ii++) {
         _antPCO[ii]        = 0.0;
@@ -108,4 +109,5 @@
     double _tide;
     double _windUp;
+    double _rel;
     double _antPCO[t_frequency::max];
     double _codeBias[t_frequency::max];
Index: trunk/BNC/src/PPP/pppStation.cpp
===================================================================
--- trunk/BNC/src/PPP/pppStation.cpp	(revision 8495)
+++ trunk/BNC/src/PPP/pppStation.cpp	(revision 8619)
@@ -11,5 +11,5 @@
  * Created:    29-Jul-2014
  *
- * Changes:    
+ * Changes:
  *
  * -----------------------------------------------------------------------*/
@@ -37,5 +37,5 @@
 }
 
-// 
+//
 //////////////////////////////////////////////////////////////////////////////
 void t_pppStation::setXyzApr(const ColumnVector& xyzApr) {
@@ -45,5 +45,5 @@
 }
 
-// 
+//
 //////////////////////////////////////////////////////////////////////////////
 void t_pppStation::setNeuEcc(const ColumnVector& neuEcc) {
@@ -53,9 +53,10 @@
 }
 
-// 
+//
 //////////////////////////////////////////////////////////////////////////////
-double t_pppStation::windUp(const bncTime& time, t_prn prn, 
-                         const ColumnVector& rSat) const {
-  return _windUp->value(time, _xyzApr, prn, rSat);
+double t_pppStation::windUp(const bncTime& time, t_prn prn,
+                         const ColumnVector& rSat, bool ssr, double yaw,
+                         const ColumnVector& vSat) const {
+  return _windUp->value(time, _xyzApr, prn, rSat, ssr, yaw, vSat);
 }
 
Index: trunk/BNC/src/PPP/pppStation.h
===================================================================
--- trunk/BNC/src/PPP/pppStation.h	(revision 8495)
+++ trunk/BNC/src/PPP/pppStation.h	(revision 8619)
@@ -31,5 +31,6 @@
   const ColumnVector& tideDspl()  const {return _tideDspl;}
   double dClk() const {return _dClk;}
-  double windUp(const bncTime& time, t_prn prn, const ColumnVector& rSat) const;
+  double windUp(const bncTime& time, t_prn prn, const ColumnVector& rSat, bool ssr,
+                double yaw, const ColumnVector& vSat) const;
   double stec(const t_vTec* vTec, const double signalPropagationTime, const ColumnVector& rSat) const;
 
