Index: /trunk/BNS/bnsoutf.h
===================================================================
--- /trunk/BNS/bnsoutf.h	(revision 858)
+++ /trunk/BNS/bnsoutf.h	(revision 859)
@@ -19,4 +19,5 @@
  protected:
   virtual void writeHeader(const QDateTime& datTim) = 0;
+  virtual void closeFile();
   std::ofstream _out;
 
@@ -26,5 +27,4 @@
                        QDateTime* nextEpoch = 0);
   void resolveFileName(int GPSweek, const QDateTime& datTim);
-  void closeFile();
 
   int           _sampl;
Index: /trunk/BNS/bnsrinex.cpp
===================================================================
--- /trunk/BNS/bnsrinex.cpp	(revision 858)
+++ /trunk/BNS/bnsrinex.cpp	(revision 859)
@@ -47,7 +47,7 @@
       _out << "AS " << prn.toAscii().data()
            << datTim.toString("  yyyy MM dd hh mm").toAscii().data()
-           << fixed      << setw(10) << setprecision(6)  << sec << "  2  "
-           << scientific << setw(20) << setprecision(12) << xx(4) 
-           << scientific << setw(20) << setprecision(12) << 0.0 << endl;
+           << fixed      << setw(10) << setprecision(6)  << sec 
+           << "  1   "
+           << scientific << setw(19) << setprecision(12) << xx(4) << endl;
 
     return success;
Index: /trunk/BNS/bnssp3.cpp
===================================================================
--- /trunk/BNS/bnssp3.cpp	(revision 858)
+++ /trunk/BNS/bnssp3.cpp	(revision 859)
@@ -39,10 +39,4 @@
 }
 
-// Write Header
-////////////////////////////////////////////////////////////////////////////
-void bnsSP3::writeHeader(const QDateTime& datTim) {
-  _out << "THIS IS A DUMMY SP3 HEADER" << endl;
-}
-
 // Write One Epoch
 ////////////////////////////////////////////////////////////////////////////
@@ -74,2 +68,38 @@
   }
 }
+
+// Close File (write last line)
+////////////////////////////////////////////////////////////////////////////
+void bnsSP3::closeFile() {
+  _out << "EOF" << endl;
+  bnsoutf::closeFile();
+}
+
+// Write Header
+////////////////////////////////////////////////////////////////////////////
+void bnsSP3::writeHeader(const QDateTime& datTim) {
+  _out << "#cP2007  7  1  0  0  0.00000000      96 ORBIT IGS05 HLM  IGS"
+       << "## 1434      0.00000000   900.00000000 54282 0.0000000000000"
+
+  _out << "+   32   G01G02G03G04G05G06G07G08G09G10G11G12G13G14G15G16G17\n"
+       << "+        G18G19G20G21G22G23G24G25G26G27G28G29G30G31G32  0  0\n"
+       << "+          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0\n"
+       << "+          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0\n"
+       << "+          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0\n"
+       << "++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0\n"
+       << "++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0\n"
+       << "++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0\n"
+       << "++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0\n"
+       << "++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0\n"
+       << "%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc\n"
+       << "%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc\n"
+       << "%f  0.0000000  0.000000000  0.00000000000  0.000000000000000\n"
+       << "%f  0.0000000  0.000000000  0.00000000000  0.000000000000000\n"
+       << "%i    0    0    0    0      0      0      0      0         0\n"
+       << "%i    0    0    0    0      0      0      0      0         0\n"
+       << "/*                                                          \n"
+       << "/*                                                          \n"
+       << "/*                                                          \n"
+       << "/*                                                          \n";
+}
+
Index: /trunk/BNS/bnssp3.h
===================================================================
--- /trunk/BNS/bnssp3.h	(revision 858)
+++ /trunk/BNS/bnssp3.h	(revision 859)
@@ -18,4 +18,5 @@
  private:
   virtual void writeHeader(const QDateTime& datTim);
+  virtual void closeFile();
   int    _lastGPSweek;
   double _lastGPSweeks;
