Index: /trunk/BNC/bncmodel.cpp
===================================================================
--- /trunk/BNC/bncmodel.cpp	(revision 2064)
+++ /trunk/BNC/bncmodel.cpp	(revision 2065)
@@ -183,5 +183,5 @@
   satData->rho = (satData->xx - xRec).norm_Frobenius();
 
-  double tropDelay = delay_saast();
+  double tropDelay = delay_saast(satData->eleSat);
 
   cout << "tropDelay " << tropDelay << endl;
@@ -192,8 +192,7 @@
 // Tropospheric Model (Saastamoinen)
 ////////////////////////////////////////////////////////////////////////////
-double bncModel::delay_saast() {
+double bncModel::delay_saast(double Ele) {
 
   double height = _ellBanc(3);
-  double Ele = M_PI/2.0;
 
   double pp =  1013.25 * pow(1.0 - 2.26e-5 * height, 5.225);
Index: /trunk/BNC/bncmodel.h
===================================================================
--- /trunk/BNC/bncmodel.h	(revision 2064)
+++ /trunk/BNC/bncmodel.h	(revision 2065)
@@ -55,5 +55,5 @@
  private:
   double cmpValueP3(t_satData* satData);
-  double delay_saast();
+  double delay_saast(double Ele);
 
   QList<bncParam*> _params;
Index: /trunk/BNC/bncpppclient.h
===================================================================
--- /trunk/BNC/bncpppclient.h	(revision 2064)
+++ /trunk/BNC/bncpppclient.h	(revision 2065)
@@ -52,4 +52,6 @@
   double       clk;
   bool         clkCorr;
+  double       eleSat;
+  double       azSat;
   double       rho;
 };
Index: /trunk/BNC/bncutils.cpp
===================================================================
--- /trunk/BNC/bncutils.cpp	(revision 2064)
+++ /trunk/BNC/bncutils.cpp	(revision 2065)
@@ -222,2 +222,23 @@
   return failure;
 }
+
+// Rectangular Coordinates -> North, East, Up Components
+////////////////////////////////////////////////////////////////////////////
+void xyz2neu(const double* Ell, const double* xyz, double* neu) {
+
+  double sinPhi = sin(Ell[0]);
+  double cosPhi = cos(Ell[0]);
+  double sinLam = sin(Ell[1]);
+  double cosLam = cos(Ell[1]);
+
+  neu[0] = - sinPhi*cosLam * xyz[0]
+           - sinPhi*sinLam * xyz[1]
+           + cosPhi        * xyz[2];
+
+  neu[1] = - sinLam * xyz[0]
+           + cosLam * xyz[1];
+
+  neu[2] = + cosPhi*cosLam * xyz[0]
+           + cosPhi*sinLam * xyz[1]
+           + sinPhi        * xyz[2];
+}
Index: /trunk/BNC/bncutils.h
===================================================================
--- /trunk/BNC/bncutils.h	(revision 2064)
+++ /trunk/BNC/bncutils.h	(revision 2065)
@@ -49,3 +49,5 @@
 t_irc xyz2ell(const double* XYZ, double* Ell);
 
+void xyz2neu(const double* Ell, const double* xyz, double* neu);
+
 #endif
