Index: trunk/BNC/src/rinex/reqcedit.cpp
===================================================================
--- trunk/BNC/src/rinex/reqcedit.cpp	(revision 8148)
+++ trunk/BNC/src/rinex/reqcedit.cpp	(revision 8168)
@@ -651,4 +651,7 @@
         ephs.append(new t_ephBDS(*dynamic_cast<t_ephBDS*>(eph)));
       }
+      else if (eph->type() == t_eph::IRNSS) {
+        ephs.append(new t_ephGPS(*dynamic_cast<t_ephGPS*>(eph)));
+      }
     }
   }
Index: trunk/BNC/src/rinex/rnxnavfile.cpp
===================================================================
--- trunk/BNC/src/rinex/rnxnavfile.cpp	(revision 8148)
+++ trunk/BNC/src/rinex/rnxnavfile.cpp	(revision 8168)
@@ -203,4 +203,10 @@
       }
       eph = new t_ephBDS(version(), lines);
+    }
+    else if (prn[0] == 'I') {
+      for (int ii = 1; ii < 8; ii++) {
+        lines << stream->readLine();
+      }
+      eph = new t_ephGPS(version(), lines);
     }
     if (eph &&
Index: trunk/BNC/src/rinex/rnxobsfile.cpp
===================================================================
--- trunk/BNC/src/rinex/rnxobsfile.cpp	(revision 8148)
+++ trunk/BNC/src/rinex/rnxobsfile.cpp	(revision 8168)
@@ -52,5 +52,5 @@
 ////////////////////////////////////////////////////////////////////////////
 t_rnxObsHeader::t_rnxObsHeader() {
-  _usedSystems = "GREJCS";
+  _usedSystems = "GREJCSI";
   _antNEU.ReSize(3); _antNEU = 0.0;
   _antXYZ.ReSize(3); _antXYZ = 0.0;
@@ -447,4 +447,7 @@
                        << "C6I" << "L6I" << "S6I"
                        << "C7I" << "L7I" << "S7I";
+
+        _obsTypes['I'] << "C5A" << "L5A" << "S5A"
+                       << "C9A" << "L9A" << "S9A";
       }
       else {
