Index: trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm.c
===================================================================
--- trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm.c	(revision 8973)
+++ trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm.c	(revision 8974)
@@ -694,5 +694,5 @@
 #define G_RESERVEDH(a)                   GETBITS(a,6)
 #define G_SIZE(a)                        GETBITS(a, 10)
-#define G_MESSAGE_NUMBER(a)              GETBITS(a, 12)          /* DF002 */
+#define G_RTCM_MESSAGE_NUMBER(a)         GETBITS(a, 12)          /* DF002 */
 #define G_GPS_SATELLITE_ID(a)            GETBITS(a, 6)           /* DF068 */
 #define G_QZSS_SATELLITE_ID(a)           GETBITS(a, 4)           /* DF249 */
@@ -766,6 +766,6 @@
     return GCOBR_SHORTBUFFER;
 
-#ifdef DEBUG
-  fprintf(stderr, "GetClockOrbitBias START: size %d, numbits %d\n",size, numbits);
+#ifdef BNC_DEBUG
+  fprintf(stderr, "GetSSR START: size %d, numbits %d\n",(int)size, numbits);
 #endif
 
@@ -785,6 +785,6 @@
   size = sizeofrtcmblock; /* reduce size, so overflows are detected */
 
-  G_MESSAGE_NUMBER(type)
-#ifdef DEBUG
+  G_RTCM_MESSAGE_NUMBER(type)
+#ifdef BNC_DEBUG
   fprintf(stderr, "type %d size %d\n",type,sizeofrtcmblock);
 #endif
@@ -804,11 +804,24 @@
     G_VTEC_QUALITY_INDICATOR(v->Quality)
     G_NO_IONO_LAYERS(v->NumLayers)
+#ifdef BNC_DEBUG
+          fprintf(stderr, "epochTime %d ui %d mmi %d ssrIod %d providerId %d solId %d vtecQ %8.3f numLay %d \n",
+        		  v->EpochTime, v->UpdateInterval, mmi,
+				  v->SSRIOD, v->SSRProviderID, v->SSRSolutionID, v->Quality, v->NumLayers);
+#endif
     for (l = 0; l < v->NumLayers; ++l) {
       G_IONO_HEIGHT(v->Layers[l].Height)
       G_IONO_DEGREE(v->Layers[l].Degree)
       G_IONO_ORDER(v->Layers[l].Order)
+#ifdef BNC_DEBUG
+          fprintf(stderr, "h  %8.3f deg %d ord %d \n",
+        		  v->Layers[l].Height, v->Layers[l].Degree, v->Layers[l].Order);
+#endif
       for (o = 0; o <= v->Layers[l].Order; ++o) {
         for (d = o; d <= v->Layers[l].Degree; ++d) {
           G_IONO_COEFF(v->Layers[l].Cosinus[d][o])
+          #ifdef BNC_DEBUG
+          fprintf(stderr, "C[%d][%d]  %8.3f \n",
+        		  d, o, v->Layers[l].Cosinus[d][o]);
+#endif
         }
       }
@@ -816,8 +829,12 @@
         for (d = o; d <= v->Layers[l].Degree; ++d) {
           G_IONO_COEFF(v->Layers[l].Sinus[d][o])
+#ifdef BNC_DEBUG
+          fprintf(stderr, "S[%d][%d]  %8.3f \n",
+        		  d, o, v->Layers[l].Sinus[d][o]);
+#endif
         }
       }
     }
-#ifdef DEBUG
+#ifdef BNC_DEBUG
     for(type = 0; type < (int)size && (unsigned char)buffer[type] != 0xD3; ++type)
     numbits += 8;
@@ -851,4 +868,10 @@
       G_MW_CONSISTENCY_INDICATOR(pb->MWConsistencyIndicator)
       G_NO_OF_SATELLITES(nums)
+#ifdef BNC_DEBUG
+          fprintf(stderr, "epochTime %d ui %d mmi %d sats %d/%d ssrIod %d providerId %d solId %d dispInd %d mwInd %d\n",
+        		  pb->EpochTime[s], pb->UpdateInterval,mmi,pb->NumberOfSat[s],nums,
+				  pb->SSRIOD, pb->SSRProviderID, pb->SSRSolutionID,
+				  pb->DispersiveBiasConsistencyIndicator, pb->MWConsistencyIndicator);
+#endif
       for (i = 0; i < nums; ++i) {
         switch (s) {
@@ -875,8 +898,12 @@
           ++pb->NumberOfSat[s];
         pb->Sat[pos].ID = id;
-
         G_NO_OF_PHASE_BIASES(pb->Sat[pos].NumberOfPhaseBiases)
         G_YAW_ANGLE(pb->Sat[pos].YawAngle)
         G_YAW_RATE(pb->Sat[pos].YawRate)
+#ifdef BNC_DEBUG
+            fprintf(stderr, "id %2d #%d y %8.3f yr %8.3f ",
+                    pb->Sat[pos].ID, pb->Sat[pos].NumberOfPhaseBiases,
+					pb->Sat[pos].YawAngle, pb->Sat[pos].YawRate);
+#endif
         for (j = 0; j < pb->Sat[pos].NumberOfPhaseBiases; ++j) {
           G_SIGNAL_IDENTIFIER(pb->Sat[pos].Biases[j].Type)
@@ -887,7 +914,18 @@
               pb->Sat[pos].Biases[j].SignalDiscontinuityCounter)
           G_PHASE_BIAS(pb->Sat[pos].Biases[j].Bias)
+#ifdef BNC_DEBUG
+            fprintf(stderr, "t%d int %d wl %d disc %d b %8.4f ",
+                    pb->Sat[pos].Biases[j].Type,
+					pb->Sat[pos].Biases[j].SignalIntegerIndicator,
+					pb->Sat[pos].Biases[j].SignalsWideLaneIntegerIndicator,
+					pb->Sat[pos].Biases[j].SignalDiscontinuityCounter,
+					pb->Sat[pos].Biases[j].Bias);
+#endif
         }
-      }
-#ifdef DEBUG
+#ifdef BNC_DEBUG
+            fprintf(stderr, "\n");
+#endif
+      }
+#ifdef BNC_DEBUG
       for(type = 0; type < (int)size && (unsigned char)buffer[type] != 0xD3; ++type)
       numbits += 8;
@@ -922,7 +960,8 @@
           G_NO_OF_SATELLITES(nums)
           co->Supplied[COBOFS_ORBIT] |= 1;
-#ifdef DEBUG
-          fprintf(stderr, "epochtime %d ui %d mmi %d sats %d/%d rd %d\n",co->EpochTime[s],
-              co->UpdateInterval,mmi,co->NumberOfSat[s],nums, co->SatRefDatum);
+#ifdef BNC_DEBUG
+          fprintf(stderr, "epochTime %d ui %d mmi %d sats %d/%d rd %d ssrIod %d providerId %d solId %d\n",
+        		  co->EpochTime[s], co->UpdateInterval,mmi,co->NumberOfSat[s],nums,
+				  co->SatRefDatum, co->SSRIOD, co->SSRProviderID, co->SSRSolutionID);
 #endif
           for (i = 0; i < nums; ++i) {
@@ -977,5 +1016,5 @@
             G_DELTA_DOT_ALONG_TRACK(co->Sat[pos].Orbit.DotDeltaAlongTrack)
             G_DELTA_DOT_CROSS_TRACK(co->Sat[pos].Orbit.DotDeltaCrossTrack)
-#ifdef DEBUG
+#ifdef BNC_DEBUG
             fprintf(stderr, "id %2d iod %3d dr %8.3f da %8.3f dc %8.3f dr %8.3f da %8.3f dc %8.3f\n",
                 co->Sat[pos].ID,co->Sat[pos].IOD,co->Sat[pos].Orbit.DeltaRadial,
@@ -1010,7 +1049,8 @@
           G_NO_OF_SATELLITES(nums)
           co->Supplied[COBOFS_CLOCK] |= 1;
-#ifdef DEBUG
-          fprintf(stderr, "epochtime %d ui %d mmi %d sats %d/%d\n",co->EpochTime[s],
-              co->UpdateInterval,mmi,co->NumberOfSat[s],nums);
+#ifdef BNC_DEBUG
+          fprintf(stderr, "epochTime %d ui %d mmi %d sats %d/%d ssrIod %d providerId %d solId %d\n",
+        		  co->EpochTime[s], co->UpdateInterval,mmi,co->NumberOfSat[s],nums,
+				  co->SSRIOD, co->SSRProviderID, co->SSRSolutionID);
 #endif
           for (i = 0; i < nums; ++i) {
@@ -1042,5 +1082,5 @@
             G_DELTA_CLOCK_C1(co->Sat[pos].Clock.DeltaA1)
             G_DELTA_CLOCK_C2(co->Sat[pos].Clock.DeltaA2)
-#ifdef DEBUG
+#ifdef BNC_DEBUG
             fprintf(stderr, "id %2d c0 %8.3f c1 %8.3f c2 %8.3f\n",
                 co->Sat[pos].ID, co->Sat[pos].Clock.DeltaA0, co->Sat[pos].Clock.DeltaA1,
@@ -1074,4 +1114,9 @@
           co->Supplied[COBOFS_ORBIT] |= 1;
           co->Supplied[COBOFS_CLOCK] |= 1;
+#ifdef BNC_DEBUG
+          fprintf(stderr, "epochTime %d ui %d mmi %d sats %d/%d rd %d ssrIod %d providerId %d solId %d\n",
+        		  co->EpochTime[s], co->UpdateInterval,mmi,co->NumberOfSat[s],nums,
+				  co->SatRefDatum, co->SSRIOD, co->SSRProviderID, co->SSRSolutionID);
+#endif
           for (i = 0; i < nums; ++i) {
             switch (s) {
@@ -1128,4 +1173,12 @@
             G_DELTA_CLOCK_C1(co->Sat[pos].Clock.DeltaA1)
             G_DELTA_CLOCK_C2(co->Sat[pos].Clock.DeltaA2)
+#ifdef BNC_DEBUG
+            fprintf(stderr, "id %2d iod %3d dr %8.4f da %8.4f dc %8.4f dr %8.3f da %8.3f dc %8.3f  c0 %8.3f c1 %8.3f c2 %8.3f\n",
+                co->Sat[pos].ID,co->Sat[pos].IOD,co->Sat[pos].Orbit.DeltaRadial,
+                co->Sat[pos].Orbit.DeltaAlongTrack,co->Sat[pos].Orbit.DeltaCrossTrack,
+                co->Sat[pos].Orbit.DotDeltaRadial, co->Sat[pos].Orbit.DotDeltaAlongTrack,
+                co->Sat[pos].Orbit.DotDeltaCrossTrack,
+				co->Sat[pos].Clock.DeltaA0, co->Sat[pos].Clock.DeltaA1, co->Sat[pos].Clock.DeltaA2);
+#endif
           }
           break;
@@ -1153,4 +1206,9 @@
           G_NO_OF_SATELLITES(nums)
           co->Supplied[COBOFS_URA] |= 1;
+#ifdef BNC_DEBUG
+          fprintf(stderr, "epochTime %d ui %d mmi %d sats %d/%d ssrIod %d providerId %d solId %d\n",
+        		  co->EpochTime[s], co->UpdateInterval,mmi,co->NumberOfSat[s],nums,
+				  co->SSRIOD, co->SSRProviderID, co->SSRSolutionID);
+#endif
           for (i = 0; i < nums; ++i) {
             switch (s) {
@@ -1177,6 +1235,9 @@
               ++co->NumberOfSat[s];
             co->Sat[pos].ID = id;
-
             G_SSR_URA(co->Sat[pos].UserRangeAccuracy)
+#ifdef BNC_DEBUG
+            fprintf(stderr, "id %2d ura %8.3f \n",
+                co->Sat[pos].ID, co->Sat[pos].UserRangeAccuracy);
+#endif
           }
           break;
@@ -1204,4 +1265,9 @@
           G_NO_OF_SATELLITES(nums)
           co->Supplied[COBOFS_HR] |= 1;
+#ifdef BNC_DEBUG
+          fprintf(stderr, "epochTime %d ui %d mmi %d sats %d/%d ssrIod %d providerId %d solId %d\n",
+        		  co->EpochTime[s], co->UpdateInterval,mmi,co->NumberOfSat[s],nums,
+				  co->SSRIOD, co->SSRProviderID, co->SSRSolutionID);
+#endif
           for (i = 0; i < nums; ++i) {
             switch (s) {
@@ -1229,4 +1295,8 @@
             co->Sat[pos].ID = id;
             G_HR_CLOCK_CORRECTION(co->Sat[pos].hrclock)
+#ifdef BNC_DEBUG
+            fprintf(stderr, "id %2d hrClock %8.3f \n",
+                    co->Sat[pos].ID, co->Sat[pos].hrclock);
+#endif
           }
           break;
@@ -1253,4 +1323,9 @@
           G_SSR_SOLUTION_ID(b->SSRSolutionID)
           G_NO_OF_SATELLITES(nums)
+#ifdef BNC_DEBUG
+          fprintf(stderr, "epochTime %d ui %d mmi %d sats %d/%d ssrIod %d providerId %d solId %d\n",
+        		  b->EpochTime[s], b->UpdateInterval,mmi,b->NumberOfSat[s],nums,
+				  b->SSRIOD, b->SSRProviderID, b->SSRSolutionID);
+#endif
           for (i = 0; i < nums; ++i) {
             switch (s) {
@@ -1277,10 +1352,20 @@
               ++b->NumberOfSat[s];
             b->Sat[pos].ID = id;
-
             G_NO_OF_CODE_BIASES(b->Sat[pos].NumberOfCodeBiases)
+            #ifdef BNC_DEBUG
+            fprintf(stderr, "id %2d #%d ",
+                    b->Sat[pos].ID, b->Sat[pos].NumberOfCodeBiases);
+#endif
             for (j = 0; j < b->Sat[pos].NumberOfCodeBiases; ++j) {
               G_SIGNAL_IDENTIFIER(b->Sat[pos].Biases[j].Type)
               G_CODE_BIAS(b->Sat[pos].Biases[j].Bias)
+#ifdef BNC_DEBUG
+            fprintf(stderr, "t%d b %8.2f ",
+                    b->Sat[pos].Biases[j].Type, b->Sat[pos].Biases[j].Bias);
+#endif
             }
+#ifdef BNC_DEBUG
+            fprintf(stderr, "\n");
+#endif
           }
           break;
@@ -1288,5 +1373,5 @@
           continue;
       }
-#ifdef DEBUG
+#ifdef BNC_DEBUG
       for(type = 0; type < (int)size && (unsigned char)buffer[type] != 0xD3; ++type)
       numbits += 8;
