Index: trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit.h
===================================================================
--- trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit.h	(revision 10989)
+++ trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit.h	(revision 10990)
@@ -432,20 +432,13 @@
   };
 
-
   /* return size of resulting data or 0 in case of an error */
-  virtual size_t MakeClockOrbit(const struct ClockOrbit *co, CodeType type,
-      int moremessagesfollow, char *buffer, size_t size) = 0;
-  virtual size_t MakeCodeBias(const struct CodeBias *b, CodeBiasType type,
-      int moremessagesfollow, char *buffer, size_t size) = 0;
-  virtual size_t MakePhaseBias(const struct PhaseBias *b, CodeBiasType type,
-      int moremessagesfollow, char *buffer, size_t size) = 0;
-  virtual size_t MakeVTEC(const struct VTEC *v,
-      int moremessagesfollow, char *buffer, size_t size) = 0;
+  virtual size_t MakeClockOrbit(const struct ClockOrbit *co, CodeType type, int moremessagesfollow, char *buffer, size_t size) = 0;
+  virtual size_t MakeCodeBias(const struct CodeBias *b, CodeBiasType type,  int moremessagesfollow, char *buffer, size_t size) = 0;
+  virtual size_t MakePhaseBias(const struct PhaseBias *b, CodeBiasType type, int moremessagesfollow, char *buffer, size_t size) = 0;
+  virtual size_t MakeVTEC(const struct VTEC *v, int moremessagesfollow, char *buffer, size_t size) = 0;
 
   /* buffer should point to a RTCM3 block */
-  virtual enum GCOB_RETURN GetSSR(struct ClockOrbit *co, struct CodeBias *b,
-      struct VTEC *v, struct PhaseBias *pb, const char *buffer, size_t size,
-      int *bytesused) = 0;
-
+  virtual enum GCOB_RETURN GetSSR(struct ClockOrbit *co, struct CodeBias *b, struct VTEC *v, struct PhaseBias *pb, 
+                                  const char *buffer, size_t size, int *bytesused) = 0;
   virtual std::string codeTypeToRnxType(char system, CodeType type) = 0;
   virtual CodeType    rnxTypeToCodeType(char system, std::string type) = 0;
@@ -454,109 +447,166 @@
 
 /* GNSS macros - Header part */
-#define T_RTCM_MESSAGE_NUMBER(a)         ADDBITS(12, a)      /* DF002  */
-#define T_IGS_SSR_VERSION(a)             ADDBITS( 3, a)      /* IDF001 */
-#define T_IGS_MESSAGE_NUMBER(a)          ADDBITS( 8, a)      /* IDF002 */
-
-#define T_GPS_EPOCH_TIME(a)              ADDBITS(20, a)      /* IDF003 DF385 DF458 DF460 DF465*/
-#define T_GLONASS_EPOCH_TIME(a)          ADDBITS(17, a)      /* DF386  */
-
-#define T_SSR_UPDATE_INTERVAL(a)         ADDBITS( 4, a)      /* DF391, IDF004 */
-#define T_MULTIPLE_MESSAGE_INDICATOR(a)  ADDBITS( 1, a)      /* DF388, IDF005 */
-#define T_SSR_IOD(a)                     ADDBITS( 4, a)      /* DF413, IDF007 */
-#define T_SSR_PROVIDER_ID(a)             ADDBITS(16, a)      /* DF414, IDF008 */
-#define T_SSR_SOLUTION_ID(a)             ADDBITS( 4, a)      /* DF415, IDF009 */
-#define T_SATELLITE_REFERENCE_DATUM(a)   ADDBITS( 1, a)      /* DF375, IDF006 */
-#define T_NO_OF_SATELLITES(a)            ADDBITS( 6, a)      /* DF387, IDF010 */
+#define E_RTCM_MESSAGE_NUMBER(a)                         ADDBITS(12, a)                     /* DF002  */
+#define E_IGS_SSR_VERSION(a)                             ADDBITS( 3, a)                     /* IDF001 */
+#define E_IGS_MESSAGE_NUMBER(a)                          ADDBITS( 8, a)                     /* IDF002 */
+
+#define E_GPS_EPOCH_TIME(a)                              ADDBITS(20, a)                     /* IDF003 DF385 DF458 DF460 DF465*/
+#define E_GLONASS_EPOCH_TIME(a)                          ADDBITS(17, a)                     /* DF386  */
+#define E_SSR_UPDATE_INTERVAL(a)                         ADDBITS( 4, a)                     /* DF391, IDF004 */
+#define E_MULTIPLE_MESSAGE_INDICATOR(a)                  ADDBITS( 1, a)                     /* DF388, IDF005 */
+#define E_SSR_IOD(a)                                     ADDBITS( 4, a)                     /* DF413, IDF007 */
+#define E_SSR_PROVIDER_ID(a)                             ADDBITS(16, a)                     /* DF414, IDF008 */
+#define E_SSR_SOLUTION_ID(a)                             ADDBITS( 4, a)                     /* DF415, IDF009 */
+#define E_SATELLITE_REFERENCE_DATUM(a)                   ADDBITS( 1, a)                     /* DF375, IDF006 */
+#define E_NO_OF_SATELLITES(a)                            ADDBITS( 6, a)                     /* DF387, IDF010 */
 
 /* GNSS macros - Satellite specific part */
-#define T_GPS_SATELLITE_ID(a)            ADDBITS( 6, a)      /* IDF011 DF068 DF488 */
-#define T_QZSS_SATELLITE_ID(a)           ADDBITS( 4, a)      /* DF249  */
-#define T_GLONASS_SATELLITE_ID(a)        ADDBITS( 5, a)      /* DF384 (old RTCM) */
-#define T_GLONASS_SATELLITE_ID_NEW(a)    ADDBITS( 6, a)      /* DF (new RTCM) */
-#define T_GPS_IODE(a)                    ADDBITS( 8, a)      /* IDF012 DF071  */
-#define T_GLONASS_IOD(a)                 ADDBITS( 8, a)      /* DF239  */
-#define T_GALILEO_IOD(a)                 ADDBITS(10, a)      /* DF459  */
-#define T_SBAS_T0MOD(a)                  ADDBITS( 9, (a/16)) /* DF468  */
-#define T_SBAS_IODCRC(a)                 ADDBITS(24, a)      /* DF469  */
-#define T_BDS_TOEMOD(a)                  ADDBITS(10, (a/8))  /* DF470  */
-#define T_BDS_IOD(a)                     ADDBITS( 8, a)      /* DF471  */
-
+#define E_GPS_SATELLITE_ID(a)                            ADDBITS( 6, a)                     /* IDF011 DF068 DF488 */
+#define E_QZSS_SATELLITE_ID_OLD(a)                       ADDBITS( 4, a)                     /* DF249 (old RTCM)*/
+#define E_GLONASS_SATELLITE_ID_OLD(a)                    ADDBITS( 5, a)                     /* DF384 (old RTCM) */
+#define E_GPS_IODE(a)                                    ADDBITS( 8, a)                     /* IDF012 DF071  */
+#define E_GLONASS_IOD(a)                                 ADDBITS( 8, a)                     /* DF239  */
+#define E_GALILEO_IOD(a)                                 ADDBITS(10, a)                     /* DF459  */
+#define E_SBAS_T0MOD(a)                                  ADDBITS( 9, (a/16))                 /* DF468  */
+#define E_SBAS_IODCRC(a)                                 ADDBITS(24, a)                     /* DF469  */
+#define E_BDS_TOEMOD(a)                                  ADDBITS(10, (a/8))                 /* DF470  */
+#define E_BDS_IOD(a)                                     ADDBITS( 8, a)                     /* DF471  */
+ 
 /* Orbit Corrections */
-#define T_DELTA_RADIAL(a)                SCALEADDBITS(22,    10000.0, a) /* DF365, IDF013 */
-#define T_DELTA_ALONG_TRACK(a)           SCALEADDBITS(20,     2500.0, a) /* DF366, IDF014 */
-#define T_DELTA_CROSS_TRACK(a)           SCALEADDBITS(20,     2500.0, a) /* DF367, IDF015 */
-#define T_DELTA_DOT_RADIAL(a)            SCALEADDBITS(21,  1000000.0, a) /* DF368, IDF016 */
-#define T_DELTA_DOT_ALONG_TRACK(a)       SCALEADDBITS(19,   250000.0, a) /* DF369, IDF017 */
-#define T_DELTA_DOT_CROSS_TRACK(a)       SCALEADDBITS(19,   250000.0, a) /* DF370, IDF018 */
+#define E_DELTA_RADIAL(a)                                SCALEADDBITS(22,    10000.0, a)    /* DF365, IDF013 */
+#define E_DELTA_ALONG_TRACK(a)                           SCALEADDBITS(20,     2500.0, a)    /* DF366, IDF014 */
+#define E_DELTA_CROSS_TRACK(a)                           SCALEADDBITS(20,     2500.0, a)    /* DF367, IDF015 */
+#define E_DOT_DELTA_RADIAL(a)                            SCALEADDBITS(21,  1000000.0, a)    /* DF368, IDF016 */
+#define E_DOT_DELTA_ALONG_TRACK(a)                       SCALEADDBITS(19,   250000.0, a)    /* DF369, IDF017 */
+#define E_DOT_DELTA_CROSS_TRACK(a)                       SCALEADDBITS(19,   250000.0, a)    /* DF370, IDF018 */
 
 /* Clock Corrections */
-#define T_DELTA_CLOCK_C0(a)              SCALEADDBITS(22,    10000.0, a) /* DF376, IDF019 */
-#define T_DELTA_CLOCK_C1(a)              SCALEADDBITS(21,  1000000.0, a) /* DF377, IDF020 */
-#define T_DELTA_CLOCK_C2(a)              SCALEADDBITS(27, 50000000.0, a) /* DF378, IDF021 */
-#define T_HR_CLOCK_CORRECTION(a)         SCALEADDBITS(22,    10000.0, a) /* DF390, IDF022 */
+#define E_DELTA_CLOCK_C0(a)                              SCALEADDBITS(22,    10000.0, a)    /* DF376, IDF019 */
+#define E_DELTA_CLOCK_C1(a)                              SCALEADDBITS(21,  1000000.0, a)    /* DF377, IDF020 */
+#define E_DELTA_CLOCK_C2(a)                              SCALEADDBITS(27, 50000000.0, a)    /* DF378, IDF021 */
+#define E_HR_CLOCK_CORRECTION(a)                         SCALEADDBITS(22,    10000.0, a)    /* DF390, IDF022 */
 
 /* Biases */
-#define T_NO_OF_BIASES(a)                ADDBITS(5, a)                   /* DF479 DF379 IDF023 */
-#define T_GNSS_SIGNAL_IDENTIFIER(a)      ADDBITS(5, a)                   /* DF380, IDF024 */
-#define T_CODE_BIAS(a)                   SCALEADDBITS(14,      100.0, a) /* DF383, IDF025 */
-#define T_YAW_ANGLE(a)                   SCALEADDBITS( 9,  256.0/MPI, a) /* DF480, IDF026 */
-#define T_YAW_RATE(a)                    SCALEADDBITS( 8, 8192.0/MPI, a) /* DF481, IDF027 */
-#define T_PHASE_BIAS(a)                  SCALEADDBITS(20,    10000.0, a) /* DF482, IDF028 */
+#define E_NO_OF_BIASES(a)                                ADDBITS(5, a)                      /* DF479, DF379, IDF023 */
+#define E_GNSS_SIGNAL_IDENTIFIER(a)                      ADDBITS(5, a)                      /* DF380, IDF024 */
+#define E_CODE_BIAS(a)                                   SCALEADDBITS(14,      100.0, a)    /* DF383, IDF025 */
+#define E_YAW_ANGLE(a)                                   SCALEADDBITS( 9,  256.0/MPI, a)    /* DF480, IDF026 */
+#define E_YAW_RATE(a)                                    SCALEADDBITS( 8, 8192.0/MPI, a)    /* DF481, IDF027 */
+#define E_PHASE_BIAS_CORRECTION(a)                       SCALEADDBITS(20,    10000.0, a)    /* DF482, IDF028 */
 
 /* Phase specific part of GNSS phase bias message */
-#define T_INTEGER_INDICATOR(a)           ADDBITS(1, a)                  /* DF483, IDF029 */
-#define T_WIDE_LANE_INDICATOR(a)         ADDBITS(2, a)                  /* DF484, IDF030 */
-#define T_DISCONTINUITY_COUNTER(a)       ADDBITS(4, a)                  /* DF485, IDF031 */
-#define T_DISPERSIVE_BIAS_INDICATOR(a)   ADDBITS(1, a)                  /* DF486 (old RTCM), IDF032 */
-#define T_YAW_INFO_INDICATOR(a)          ADDBITS(1, a)                  /* DF486 (new RTCM) */
-#define T_MW_CONSISTENCY_INDICATOR(a)    ADDBITS(1, a)                  /* DF487 (old RTCM), IDF033 */
-#define T_EXTENDED_PHASE_BIAS_ID(a)      ADDBITS(4, a)                  /* DF+002 (new RTCM) */
+#define E_INTEGER_INDICATOR(a)                          ADDBITS(1, a)                       /* DF483, IDF029 */
+#define E_WIDE_LANE_INDICATOR(a)                        ADDBITS(2, a)                       /* DF484, IDF030 */
+#define E_DISCONTINUITY_COUNTER(a)                      ADDBITS(4, a)                       /* DF485, IDF031 */
+#define E_DISPERSIVE_BIAS_INDICATOR(a)                  ADDBITS(1, a)                       /* DF486 (old RTCM), IDF032 */
+#define E_YAW_INFO_INDICATOR(a)                         ADDBITS(1, a)                       /* DF486 (new RTCM) */
+#define E_MW_CONSISTENCY_INDICATOR(a)                   ADDBITS(1, a)                       /* DF487 (old RTCM), IDF033 */
+
+#define E_EXTENDED_PHASE_BIAS_ID(a)                     ADDBITS(4, a)                       /* DF+002 (new RTCM) */
+
+#define E_GLONASS_SATELLITE_ID(a)                       ADDBITS(6, a)                     /* DF+003 (new RTCM) */
 
 /* URA */
-#define T_SSR_URA(a)                     ADDBITS( 6, a)                 /* DF389, IDF034 */
+#define E_SSR_URA(a)                                    ADDBITS(6, a)                      /* DF389, IDF034 */
+
+/* Ionosphere */
+#define E_NO_IONO_LAYERS(a)                             ADDBITS(2, a-1)                     /* DF472, IDF035 */
+#define E_IONO_HEIGHT(a)                                SCALEADDBITS( 8,  1/10000.0, a)     /* DF473, IDF036 */
+#define E_IONO_DEGREE(a)                                ADDBITS(4, a-1)                     /* DF474, IDF037 */
+#define E_IONO_ORDER(a)                                 ADDBITS(4, a-1)                     /* DF475, IDF038 */
+#define E_IONO_COEFF_C(a)                               SCALEADDBITS(16,      200.0, a)     /* DF476, IDF039 */
+#define E_IONO_COEFF_S(a)                               SCALEADDBITS(16,      200.0, a)     /* DF477, IDF040 */
+#define E_VTEC_QUALITY_INDICATOR(a)                     SCALEADDBITS( 9,       20.0, a)     /* DF478, IDF041 */
 
 /* Antenna Information*/
-#define T_SATELLITE_ANTENNA_IOD(a)                      ADDBITS(6,  a)  /* DF+010 (new RTCM) */
-#define T_PHASE_CENTER_INFO_INDICATOR(a)                ADDBITS(1,  a)  /* DF+011 (new RTCM) */    
-#define T_GROUP_DELAY_INFO_INDICATOR(a)                 ADDBITS(1,  a)  /* DF+012 (new RTCM) */    
-#define T_NADIR_ANGLE_DEPENDENT_CORR_INDICATOR(a)       ADDBITS(1,  a)  /* DF+013 (new RTCM) */
-#define T_MAXIMUM_OFF_NADIR_ANGLE(a)                    ADDBITS(5,  a)  /* DF+014 (new RTCM) */  
-#define T_NADIR_ANGLE_DEPENDENT_CORR_RANGE_EXTENSION(a) ADDBITS(4,  a)  /* DF+015 (new RTCM) */
-#define T_SATELLITE_SET_INDICATOR(a)                    ADDBITS(1,  a)  /* DF+016 (new RTCM) */
-#define T_FREQUENCY_SET_INDICATOR(a)                    ADDBITS(1,  a)  /* DF+017 (new RTCM) */
-#define T_GNSS_FREQUENCY_MASK(a)                        ADDBITS(6,  a)  /* DF+018 (new RTCM) */
-#define T_NADIR_CORR_INDICATOR(a)                       ADDBITS(1,  a)  /* DF+019 (new RTCM) */
-#define T_NADIR_CORRECTION(a)                           ADDBITS(12, a)  /* DF+020 (new RTCM) */
-#define T_NADIR_ANGLE_DEPENDENT_CORRECTION(a, nbits)    SCALEADDBITS(3 + nbits, 1000.0, a)  /* DF+021 (new RTCM)  can be extended up to 15/18 Bits from DF+015*/
-
-/* Grid Messages */
-#define T_GRID_ID(a)                                    ADDBITS(10, a)                     /* DF+022 (new RTCM) */
-#define T_GRID_TYPE(a)                                  ADDBITS(3 , a)                     /* DF+023 (new RTCM) */
-#define T_LATITUDE_OF_REFERENCE_POINT(a)                SCALEADDBITS(18, 1000.0, a)        /* DF+024 (new RTCM) */
-#define T_LONGITUDE_OF_REFERENCE_POINT(a)               SCALEADDBITS(19, 1000.0, a)        /* DF+025 (new RTCM) */
-#define T_ELLIPSOIDAL_HEIGHT_OF_REFERENCE_POINT(a)      SCALEADDBITS(10, 1/12.5, a+1000.0) /* DF+026 (new RTCM) */
-#define T_NUMNBER_OF_RELATIVE_POINTS(a)                 ADDBITS(8, a)                      /* DF+027 (new RTCM) */
-#define T_RELATIVE_LATITUDE(a)                          SCALEADDBITS(13, 1000.0, a)        /* DF+028 (new RTCM) */
-#define T_RELATIVE_LONGITUDE(a)                         SCALEADDBITS(14, 1000.0, a)        /* DF+029 (new RTCM) */
-#define T_RELATIVE_HIGHT(a)                             SCALEADDBITS(9,  1/12.5, a)        /* DF+030 (new RTCM) */
-#define T_NUMBER_OF_POINTS_IN_LATITIDE_DIRECTION(a)     ADDBITS(6,  a)                     /* DF+031 (new RTCM) */
-#define T_NUMBER_OF_POINTS_IN_LONGITUDE_DIRECTION(a)    ADDBITS(6,  a)                     /* DF+032 (new RTCM) */
-#define T_GRID_STEP_SIZE_IN_LATITIDE_DIRECTION(a)       SCALEADDBITS(9,  100.0, a)         /* DF+033 (new RTCM) */
-#define T_GRID_STEP_SIZE_IN_LONGITUDE_DIRECTION(a)      SCALEADDBITS(10, 100.0, a)         /* DF+034 (new RTCM) */
-#define T_GRID_MASK_AVAILABILITY_FLAG(a)                ADDBITS(1,  a)                     /* DF+035 (new RTCM) */
-#define T_GRID_MASK(a, nbits)                           ADDBITS(nbits, a)                  /* DF+036 (new RTCM) nbits from DF+031 or DF+032 */
+#define E_SATELLITE_ANTENNA_IOD(a)                      ADDBITS(6,  a)                      /* DF+010 (new RTCM) */
+#define E_PHASE_CENTER_INFO_INDICATOR(a)                ADDBITS(1,  a)                      /* DF+011 (new RTCM) */    
+#define E_GROUP_DELAY_INFO_INDICATOR(a)                 ADDBITS(1,  a)                      /* DF+012 (new RTCM) */    
+#define E_NADIR_ANGLE_DEPENDENT_CORR_INDICATOR(a)       ADDBITS(1,  a)                      /* DF+013 (new RTCM) */
+#define E_MAXIMUM_OFF_NADIR_ANGLE(a)                    ADDBITS(5,  a)                      /* DF+014 (new RTCM) */  
+#define E_NADIR_ANGLE_DEPENDENT_CORR_RANGE_EXTENSION(a) ADDBITS(4,  a)                      /* DF+015 (new RTCM) to extend DF+021*/
+#define E_SATELLITE_SET_INDICATOR(a)                    ADDBITS(1,  a)                      /* DF+016 (new RTCM) */
+#define E_FREQUENCY_SET_INDICATOR(a)                    ADDBITS(1,  a)                      /* DF+017 (new RTCM) */
+#define E_GNSS_FREQUENCY_MASK(a)                        ADDBITS(6,  a)                      /* DF+018 (new RTCM) */
+#define E_NADIR_CORR_INDICATOR(a)                       ADDBITS(1,  a)                      /* DF+019 (new RTCM) */
+#define E_NADIR_CORRECTION(a)                           SCALEADDBITS(12, 1000.0,  a)        /* DF+020 (new RTCM) [m] => [mm] */
+#define E_NADIR_ANGLE_DEPENDENT_CORRECTION(a, nbits)    SCALEADDBITS(3 + nbits, 1000.0, a)  /* DF+021 (new RTCM) [m] => [mm] can be extended up to 15/18 Bits from DF+015*/
 /*
 //Encoding
-#define T_NEW_PAR(a, nbits)        ADDBITS(nbits, a)               //called as T_NEW_PAR(co->NewPar, co->NewParNumBits)
-#define T_NEW_PAR_SCALE(a, nbits)  SCALEADDBITS(nbits, 10000.0, a) //called as T_NEW_PAR(co->NewPar, co->NewParNumBits)
+#define E_NEW_PAR(a, nbits)        ADDBITS(nbits, a)               //called as E_NEW_PAR(co->NewPar, co->NewParNumBits)
+#define E_NEW_PAR_SCALE(a, nbits)  SCALEADDBITS(nbits, 10000.0, a) //called as E_NEW_PAR(co->NewPar, co->NewParNumBits)
 */
-/* Ionosphere */
-#define T_NO_IONO_LAYERS(a)              ADDBITS(2, a-1)                 /* DF472, IDF035 */
-#define T_IONO_HEIGHT(a)                 SCALEADDBITS( 8,  1/10000.0, a) /* DF473, IDF036 */
-#define T_IONO_DEGREE(a)                 ADDBITS(4, a-1)                 /* DF474, IDF037 */
-#define T_IONO_ORDER(a)                  ADDBITS(4, a-1)                 /* DF475, IDF038 */
-#define T_IONO_COEFF_C(a)                SCALEADDBITS(16,      200.0, a) /* DF476, IDF039 */
-#define T_IONO_COEFF_S(a)                SCALEADDBITS(16,      200.0, a) /* DF477, IDF040 */
-#define T_VTEC_QUALITY_INDICATOR(a)      SCALEADDBITS( 9,       20.0, a) /* DF478, IDF041 */
+/* Grid Messages */
+#define E_GRID_ID(a)                                    ADDBITS(10, a)                      /* DF+022 (new RTCM) */
+#define E_GRID_TYPE(a)                                  ADDBITS(3 , a)                      /* DF+023 (new RTCM) */
+#define E_LATITUDE_OF_REFERENCE_POINT(a)                SCALEADDBITS(18, 1000.0, a)         /* DF+024 (new RTCM) */
+#define E_LONGITUDE_OF_REFERENCE_POINT(a)               SCALEADDBITS(19, 1000.0, a)         /* DF+025 (new RTCM) */
+#define E_ELLIPSOIDAL_HEIGHT_OF_REFERENCE_POINT(a)      SCALEADDBITS(10, 1/12.5, a+1000.0)  /* DF+026 (new RTCM) */
+#define E_NUMNBER_OF_RELATIVE_POINTS(a)                 ADDBITS(8, a)                       /* DF+027 (new RTCM) */
+#define E_RELATIVE_LATITUDE(a)                          SCALEADDBITS(13, 1000.0, a)         /* DF+028 (new RTCM) */
+#define E_RELATIVE_LONGITUDE(a)                         SCALEADDBITS(14, 1000.0, a)         /* DF+029 (new RTCM) */
+#define E_RELATIVE_HIGHT(a)                             SCALEADDBITS(9,  1/12.5, a)         /* DF+030 (new RTCM) */
+#define E_NUMBER_OF_POINTS_IN_LATITIDE_DIRECTION(a)     ADDBITS(6,  a)                      /* DF+031 (new RTCM) */
+#define E_NUMBER_OF_POINTS_IN_LONGITUDE_DIRECTION(a)    ADDBITS(6,  a)                      /* DF+032 (new RTCM) */
+#define E_GRID_STEP_SIZE_IN_LATITIDE_DIRECTION(a)       SCALEADDBITS(9,  100.0, a)          /* DF+033 (new RTCM) */
+#define E_GRID_STEP_SIZE_IN_LONGITUDE_DIRECTION(a)      SCALEADDBITS(10, 100.0, a)          /* DF+034 (new RTCM) */
+#define E_GRID_MASK_AVAILABILITY_FLAG(a)                ADDBITS(1,  a)                      /* DF+035 (new RTCM) */
+#define E_GRID_MASK(a, nbits)                           ADDBITS(nbits, a)                   /* DF+036 (new RTCM) nbits from DF+031 or DF+032 */
+
+/* Troposphere Messages */
+#define E_HYDROSTATIC_MAPPING_FUNCTION_PAR_AH(a)        SCALEADDBITS(11, 25000000.0, a - 0.00118, a)  /* DF+038 (new RTCM) */
+#define E_HYDROSTATIC_MAPPING_FUNCTION_PAR_BH(a)        SCALEADDBITS( 9,  5000000.0, a - 0.00298, a)  /* DF+039 (new RTCM) */
+#define E_HYDROSTATIC_MAPPING_FUNCTION_PAR_CH(a)        SCALEADDBITS( 9,    20000.0, a - 0.0682, a)   /* DF+040 (new RTCM) */
+#define E_WET_MAPPING_FUNCTION_PAR_AW(a)                SCALEADDBITS(13,  1000000.0, a - 0.000104, a) /* DF+041 (new RTCM) */
+#define E_WET_MAPPING_FUNCTION_PAR_BW(a)                SCALEADDBITS( 6,   250000.0, a - 0.0015, a)   /* DF+042 (new RTCM) */
+#define E_WET_MAPPING_FUNCTION_PAR_CW(a)                SCALEADDBITS( 5,     2000.0, a - 0.0048, a)   /* DF+043 (new RTCM) */ 
+#define E_HYDROSTATIC_OFFSET(a)                         SCALEADDBITS(13,    10000.0, a - 2.3, a)      /* DF+044 (new RTCM) [m] -2.3 m => [0.1 mm] */
+#define E_HYDROSTATIC_GRADIENT_LATITUDE_DIRECTION(a)    SCALEADDBITS(15,   100000.0, a)               /* DF+045 (new RTCM) [m] => [0.01 mm] */
+#define E_HYDROSTATIC_GRADIENT_LONGITUDE_DIRECTION(a)   SCALEADDBITS(15,   100000.0, a)               /* DF+046 (new RTCM) [m] => [0.01 mm] */ 
+#define E_WET_OFFSET(a)                                 SCALEADDBITS(13,    10000.0, a - 0.252)       /* DF+047 (new RTCM) [m] - 0.252 m => [0.1 mm] */
+#define E_WET_GRADIENT_LATITUDE_DIRECTION(a)            SCALEADDBITS(15,   100000.0, a)               /* DF+048 (new RTCM) */
+#define E_WET_GRADIENT_LONGITUDE_DIRECTION(a)           SCALEADDBITS(15,   100000.0, a)               /* DF+049 (new RTCM) */ 
+#define E_HYDTOSTATIC_GRID_POINT_RESIDUAL_LENGTH(a)     ADDBITS(4,  a)                                /* DF+050 (new RTCM) */
+#define E_WET_GRID_POINT_RESIDUAL_LENGTH(a)             ADDBITS(4.  a)                                /* DF+051 (new RTCM) */
+#define E_HYDTOSTATIC_GRID_POINT_RESIDUAL(a, nbits)     SCALEADDBITS(nbits, 10000.0, a)               /* DF+052 (new RTCM) size depends on DF+050 */
+#define E_WET_GRID_POINT_RESIDUAL(a, nbits)             SCALEADDBITS(nbits, 10000.0, a)               /* DF+053 (new RTCM) size depends on DF+051 */
+
+#define E_SSR_EPOCH_TIME(a)                             ADDBITS(20,  a)                               /* DF*055 (new RTCM) same definition as in IGS-SSR */ 
+
+/* Ionosphere Messages */
+#define E_ZENITH_MAPPED_STEC_POLYNOM_COEFF_C00(a)                     SCALEADDBITS(17,  1000.0, a)    /* DF+057 (new RTCM) */
+#define E_ZENITH_MAPPED_STEC_POLYNOM_COEFF_C01(a)                     SCALEADDBITS(18, 10000.0, a)    /* DF+058 (new RTCM) */
+#define E_ZENITH_MAPPED_STEC_POLYNOM_COEFF_C10(a)                     SCALEADDBITS(18, 10000.0, a)    /* DF+059 (new RTCM) */
+#define E_ZENITH_MAPPED_STEC_POLYNOMIAL_GRADIENT_INDICATOR(a)         ADDBITS(1,  a)                  /* DF+060 (new RTCM) */
+#define E_ZENITH_MAPPED_STEC_GRID_POINT_RESIDUAL(a)                   ADDBITS(5,  a)                  /* DF+061 (new RTCM) size required for DF+062 */      
+#define E_ZENITH_MAPPED_STEC_GRID_POINT_RESIDUAL_CORRECTION(a, nbits) ADDBITS(nbits, a)               /* DF+062 (new RTCM) nbits depends on DF+061 */   
+
+/* Metadata */
+#define E_NUMBER_OF_SSR_MODEL_CORRECTION_ENTRIES(a)     ADDBITS(5,  a)                     /* DF+063 (new RTCM) */   
+#define E_MODEL_CORRECTION_TYPE_INDICATOR(a)            ADDBITS(5,  a)                     /* DF+064 (new RTCM) */
+#define E_MODEL_CORRECTION_APPLICATION_INDICATOR(a)     ADDBITS(1,  a)                     /* DF+065 (new RTCM) */
+#define E_NON_DEFAULT_MODEL_CORRECTION_INDICATOR(a)     ADDBITS(1,  a)                     /* DF+066 (new RTCM) */
+#define E_NON_DEFAULT_MODEL_CORRECTION_IDENTIFIER(a)    ADDBITS(3,  a)                     /* DF+067 (new RTCM) */
+#define E_MODEL_CORRECTION_DATA_IOD_INDICATOR(a)        ADDBITS(1,  a)                     /* DF+068 (new RTCM) */
+#define E_MODEL_CORRECTION_DATA_IOD(a)                  ADDBITS(6,  a)                     /* DF+069 (new RTCM) */
+#define E_ADDITIONAL_MODEL_PARAMETER_INDICATOR(a)       ADDBITS(1,  a)                     /* DF+070 (new RTCM) */
+#define E_NUMBER_OF_ADDITIONAL_MODEL_PARAMETER_BITS(a)  ADDBITS(8,  a)                     /* DF+071 (new RTCM) */  
+#define E_ADDITIONAL_MODEL_PARAMETER_DATA(a, nbits)     ADDBITS(nbits,  a)                 /* DF+072 (new RTCM) nbits from DF+071*/
+
+#define E_ZENITH_MAPPED_STEC_GRID_POINT_RESIDUAL_RESOLUTION_SCALE_FACTOR_EXPONENT(a)   GETSSRBITS(3,  a) /* DF+073 (new RTCM) */  
+
+#define E_QZSS_SATELLITE_ID(a)                          ADDBITS(6,  a)                    /* DF+080 (new RTCM) */
+
+#define E_GRID_POINT_LATITUDE_MASK(a, nbits)            ADDBITS(nbits, a)                 /* DF+090 (new RTCM) nbits corresponds to DF+031*/
+#define E_GRID_POINT_LONGIITUDE_MASK(a, nbits)          ADDBITS(nbits, a)                 /* DF+091 (new RTCM) nbits corresponds to DF+032*/
+#define E_EXCLUDED_GRID_POINT_MASK(a, nbits)            ADDBITS(nbits, a)                 /* DF+092 (new RTCM) nbits corresponds to DF+090 * DF091 */
+
+#define E_GRID_POINT_OFFSET(a)                          ADDBITS(12,  a)                   /* DF+094 (new RTCM) */
+
+#define E_PLYNOMIAL_MODEL_INDICATOR(a)                  ADDBITS(1,  a)                    /* DF+096 (new RTCM) */
+#define E_GNSS_IDENTIFIER(a)                            ADDBITS(4,  a)                    /* DF+097 (new RTCM) */
+#define E_GNSS_BE_IDENTYFIER(a)                         ADDBITS(4,  a)                    /* DF+098 (new RTCM) */
+#define E_RESIDUAL_MODEL_IDENTUICATOR(a)                ADDBITS(1,  a)                    /* DF+099 (new RTCM) */
+#define E_NUMBER_OF_GRID_POINTS(a)                      ADDBITS(1,  a)                    /* DF+100 (new RTCM) */
 
 
@@ -604,4 +654,12 @@
 
 /* extract bits from data stream
+   b = variable to store result, a = number of bits */
+#define GETSSRBITSSIGN(b, a) { \
+  LOADBITS(a) \
+  b = ((int64_t)(bitfield<<(64-numbits)))>>(64-(a)); \
+  numbits -= (a); \
+}
+
+/* extract bits from data stream
  b = variable to store result, a = number of bits */
 #define GETSSRBITSFACTOR(b, a, c) { \
@@ -630,102 +688,174 @@
 
 /* GPS macros also used for other systems when matching! */
-#define G_HEADER(a)                      GETSSRBITS(a,  8)
-#define G_RESERVEDH(a)                   GETSSRBITS(a,  6)
-#define G_SIZE(a)                        GETSSRBITS(a, 10)
+
+#define D_HEADER(a)                                      GETSSRBITS(a,  8)
+#define D_RESERVEDH(a)                                   GETSSRBITS(a,  6)
+#define D_SIZE(a)                                        GETSSRBITS(a, 10)
 
 /* GNSS macros - Header part */
-#define G_RTCM_MESSAGE_NUMBER(a)         GETSSRBITS(a,12)      /* DF002  */
-#define G_IGS_MESSAGE_NUMBER(a)          GETSSRBITS(a, 8)      /* IDF002 */
-#define G_IGS_SSR_VERSION(a)             GETSSRBITS(a, 3)      /* IDF001 */
-
-#define G_GPS_EPOCH_TIME(a)              GETSSRBITS(a,20)      /* IDF003 DF385 DF458 DF460 DF465*/
-#define G_GLONASS_EPOCH_TIME(a)          GETSSRBITS(a,17)      /* DF386 */
-#define G_GPS_EPOCH_TIME_CHECK(a, b)     {unsigned int temp; GETSSRBITS(temp, 20) if(b && a != temp) return GCOBR_TIMEMISMATCH; a = temp;}
-#define G_GLONASS_EPOCH_TIME_CHECK(a, b) {unsigned int temp; GETSSRBITS(temp, 17) if(b && a != temp) return GCOBR_TIMEMISMATCH; a = temp;}
-
-#define G_SSR_UPDATE_INTERVAL(a)         GETSSRBITS(a,  4)      /* DF391, IDF004 */
-#define G_MULTIPLE_MESSAGE_INDICATOR(a)  GETSSRBITS(a,  1)      /* DF388, IDF005 */
-#define G_SSR_IOD(a)                     GETSSRBITS(a,  4)      /* DF413, IDF007 */
-#define G_SSR_PROVIDER_ID(a)             GETSSRBITS(a, 16)      /* DF414, IDF008 */
-#define G_SSR_SOLUTION_ID(a)             GETSSRBITS(a,  4)      /* DF415, IDF009 */
-#define G_SATELLITE_REFERENCE_DATUM(a)   GETSSRBITS(a,  1)      /* DF375, IDF006 */
-#define G_NO_OF_SATELLITES(a)            GETSSRBITS(a,  6)      /* DF387, IDF010 */
+#define D_RTCM_MESSAGE_NUMBER(a)                         GETSSRBITS(a, 12)                    /* DF002  */
+#define D_IGS_MESSAGE_NUMBER(a)                          GETSSRBITS(a,  8)                    /* IDF002 */
+#define D_IGS_SSR_VERSION(a)                             GETSSRBITS(a,  3)                    /* IDF001 */
+
+#define D_GPS_EPOCH_TIME(a)                              GETSSRBITS(a, 20)                    /* IDF003 DF385 DF458 DF460 DF465*/
+#define D_GLONASS_EPOCH_TIME(a)                          GETSSRBITS(a, 17)                    /* DF386 */
+#define D_GPS_EPOCH_TIME_CHECK(a, b)     {unsigned int temp; GETSSRBITS(temp, 20) if(b && a != temp) return GCOBR_TIMEMISMATCH; a = temp;}
+#define D_GLONASS_EPOCH_TIME_CHECK(a, b) {unsigned int temp; GETSSRBITS(temp, 17) if(b && a != temp) return GCOBR_TIMEMISMATCH; a = temp;}
+
+#define D_SSR_UPDATE_INTERVAL(a)                         GETSSRBITS(a,  4)                    /* DF391, IDF004 */
+#define D_MULTIPLE_MESSAGE_INDICATOR(a)                  GETSSRBITS(a,  1)                    /* DF388, IDF005 */
+#define D_SSR_IOD(a)                                     GETSSRBITS(a,  4)                    /* DF413, IDF007 */
+#define D_SSR_PROVIDER_ID(a)                             GETSSRBITS(a, 16)                    /* DF414, IDF008 */
+#define D_SSR_SOLUTION_ID(a)                             GETSSRBITS(a,  4)                    /* DF415, IDF009 */
+#define D_SATELLITE_REFERENCE_DATUM(a)                   GETSSRBITS(a,  1)                    /* DF375, IDF006 */
+#define D_NO_OF_SATELLITES(a)                            GETSSRBITS(a,  6)                    /* DF387, IDF010 */
 
 /* GNSS macros - Satellite specific part */
-#define G_GPS_SATELLITE_ID(a)            GETSSRBITS(a,  6)     /* IDF011 DF068 DF488 */
-#define G_GLONASS_SATELLITE_ID(a)        GETSSRBITS(a,  5)     /* DF384 */
-#define G_GLONASS_SATELLITE_ID_NEW(a)    GETSSRBITS(a,  6)     /* DF*/
-#define G_QZSS_SATELLITE_ID(a)           GETSSRBITS(a,  4)     /* DF249 */
-
-#define G_GPS_IODE(a)                    GETSSRBITS(a,  8)     /*  DF071, DF467, IDF012 */
-#define G_GALILEO_IOD(a)                 GETSSRBITS(a, 10)          /* DF459 */
-
-#define G_SBAS_T0MOD(a)                  GETSSRBITSFACTOR(a, 9, 16) /* DF468 */
-#define G_SBAS_IODCRC(a)                 GETSSRBITS(a, 24)          /* DF469 */
-#define G_BDS_TOEMOD(a)                  GETSSRBITSFACTOR(a, 10, 8) /* DF470 */
+#define D_GPS_SATELLITE_ID(a)                            GETSSRBITS(a,  6)                    /* IDF011 DF068 DF488 */
+#define D_GLONASS_SATELLITE_ID_OLD(a)                    GETSSRBITS(a,  5)                    /* DF384  (old RTCM)*/
+#define D_QZSS_SATELLITE_ID_OLD(a)                       GETSSRBITS(a,  4)                    /* DF249 */
+
+#define D_GPS_IODE(a)                                    GETSSRBITS(a,  8)                    /* DF071, DF467, IDF012 */
+#define D_GALILEO_IOD(a)                                 GETSSRBITS(a, 10)                    /* DF459 */
+
+#define D_SBAS_T0MOD(a)                                  GETSSRBITSFACTOR(a, 9, 16)           /* DF468 */
+#define D_SBAS_IODCRC(a)                                 GETSSRBITS(a, 24)                    /* DF469 */
+#define D_BDS_TOEMOD(a)                                  GETSSRBITSFACTOR(a, 10, 8)           /* DF470 */
 
 /* Orbit Corrections */
-#define G_DELTA_RADIAL(a)                GETSSRFLOATSIGN(a, 22,   1/10000.0)  /* DF365, IDF013 */
-#define G_DELTA_ALONG_TRACK(a)           GETSSRFLOATSIGN(a, 20,    1/2500.0)  /* DF366, IDF014 */
-#define G_DELTA_CROSS_TRACK(a)           GETSSRFLOATSIGN(a, 20,    1/2500.0)  /* DF367, IDF015 */
-#define G_DELTA_DOT_RADIAL(a)            GETSSRFLOATSIGN(a, 21, 1/1000000.0)  /* DF368, IDF016 */
-#define G_DELTA_DOT_ALONG_TRACK(a)       GETSSRFLOATSIGN(a, 19,  1/250000.0)  /* DF369, IDF017 */
-#define G_DELTA_DOT_CROSS_TRACK(a)       GETSSRFLOATSIGN(a, 19,  1/250000.0)  /* DF370, IDF018 */
+#define D_DELTA_RADIAL(a)                                GETSSRFLOATSIGN(a, 22,   1/10000.0)  /* DF365, IDF013 */
+#define D_DELTA_ALONG_TRACK(a)                           GETSSRFLOATSIGN(a, 20,    1/2500.0)  /* DF366, IDF014 */
+#define D_DELTA_CROSS_TRACK(a)                           GETSSRFLOATSIGN(a, 20,    1/2500.0)  /* DF367, IDF015 */
+#define D_DOT_DELTA_RADIAL(a)                            GETSSRFLOATSIGN(a, 21, 1/1000000.0)  /* DF368, IDF016 */
+#define D_DOT_DELTA_ALONG_TRACK(a)                       GETSSRFLOATSIGN(a, 19,  1/250000.0)  /* DF369, IDF017 */
+#define D_DOT_DELTA_CROSS_TRACK(a)                       GETSSRFLOATSIGN(a, 19,  1/250000.0)  /* DF370, IDF018 */
 
 /* Clock Corrections */
-#define G_DELTA_CLOCK_C0(a)              GETSSRFLOATSIGN(a, 22,    1/10000.0) /* DF376, IDF019 */
-#define G_DELTA_CLOCK_C1(a)              GETSSRFLOATSIGN(a, 21,  1/1000000.0) /* DF377, IDF020 */
-#define G_DELTA_CLOCK_C2(a)              GETSSRFLOATSIGN(a, 27, 1/50000000.0) /* DF378, IDF021 */
-#define G_HR_CLOCK_CORRECTION(a)         GETSSRFLOATSIGN(a, 22,    1/10000.0) /* DF390, IDF022 */
+#define D_DELTA_CLOCK_C0(a)                              GETSSRFLOATSIGN(a, 22,    1/10000.0) /* DF376, IDF019 */
+#define D_DELTA_CLOCK_C1(a)                              GETSSRFLOATSIGN(a, 21,  1/1000000.0) /* DF377, IDF020 */
+#define D_DELTA_CLOCK_C2(a)                              GETSSRFLOATSIGN(a, 27, 1/50000000.0) /* DF378, IDF021 */
+#define D_HR_CLOCK_CORRECTION(a)                         GETSSRFLOATSIGN(a, 22,    1/10000.0) /* DF390, IDF022 */
 
 /* Biases */
-#define G_NO_OF_BIASES(a)                GETSSRBITS(a,  5)                    /* DF479 DF379 IDF023 */
-#define G_GNSS_SIGNAL_IDENTIFIER(a)      GETSSRBITS(a,  5)                    /* DF     IDF024 */
-#define G_CODE_BIAS(a)                   GETSSRFLOATSIGN(a, 14, 1/100.0)      /* DF383, IDF025 */
-#define G_YAW_ANGLE(a)                   GETSSRFLOAT    (a,  9, MPI/256.0)    /* DF480, IDF026 */
-#define G_YAW_RATE(a)                    GETSSRFLOATSIGN(a,  8, MPI/8192.0)   /* DF481, IDF027 */
-#define G_PHASE_BIAS(a)                  GETSSRFLOATSIGN(a, 20, 1/10000.)     /* DF482, IDF028 */
+#define D_NO_OF_BIASES(a)                                GETSSRBITS(a,  5)                    /* DF479 DF379 IDF023 */
+#define D_GNSS_SIGNAL_IDENTIFIER(a)                      GETSSRBITS(a,  5)                    /* DF460  IDF024 */
+#define D_CODE_BIAS(a)                                   GETSSRFLOATSIGN(a, 14, 1/100.0)      /* DF383, IDF025 */
+#define D_YAW_ANGLE(a)                                   GETSSRFLOAT    (a,  9, MPI/256.0)    /* DF480, IDF026 */
+#define D_YAW_RATE(a)                                    GETSSRFLOATSIGN(a,  8, MPI/8192.0)   /* DF481, IDF027 */
+#define D_PHASE_BIAS_CORRECTION(a)                       GETSSRFLOATSIGN(a, 20, 1/10000.)     /* DF482, IDF028 */
 
 /* Phase specific part of GNSS phase bias message */
-#define G_INTEGER_INDICATOR(a)           GETSSRBITS(a, 1)                    /* DF483, IDF029 */
-#define G_WIDE_LANE_INDICATOR(a)         GETSSRBITS(a, 2)                    /* DF484, IDF030 */
-#define G_DISCONTINUITY_COUNTER(a)       GETSSRBITS(a, 4)                    /* DF485, IDF031 */
-#define G_DISPERSIVE_BIAS_INDICATOR(a)   GETSSRBITS(a, 1)                    /* DF486 (old RTCM), IDF032 */
-#define G_YAW_INFO_INDICATOR(a)          GETSSRBITS(a, 1)                    /* DF486 (new RTCM) */
-#define G_MW_CONSISTENCY_INDICATOR(a)    GETSSRBITS(a, 1)                    /* DF487, IDF033 */
-#define G_EXTENDED_PHASE_BIAS_ID(a)      GETSSRBITS(4, a)                    /* DF??  (new RTCM)*/
+#define D_INTEGER_INDICATOR(a)                           GETSSRBITS(a, 1)                    /* DF483, IDF029 */
+#define D_WIDE_LANE_INDICATOR(a)                         GETSSRBITS(a, 2)                    /* DF484, IDF030 */
+#define D_DISCONTINUITY_COUNTER(a)                       GETSSRBITS(a, 4)                    /* DF485, IDF031 */
+#define D_DISPERSIVE_BIAS_INDICATOR(a)                   GETSSRBITS(a, 1)                    /* DF486 (old RTCM), IDF032 */
+#define D_YAW_INFO_INDICATOR(a)                          GETSSRBITS(a, 1)                    /* DF486 (new RTCM) */
+#define D_MW_CONSISTENCY_INDICATOR(a)                    GETSSRBITS(a, 1)                    /* DF487, IDF033 */
+
+#define D_EXTENDED_PHASE_BIAS_ID(a)                      GETSSRBITS(4, a)                    /* DF+002 (new RTCM)*/
+
+#define D_GLONASS_SATELLITE_ID(a)                        GETSSRBITS(a,  6)                   /* DF+003 (new RTCM)*/
 
 /* URA */
-#define G_SSR_URA(a)  {int temp; GETSSRBITS(temp, 6) \ 
-  (a) = URAToValue(temp);} /* DF389, IDF034 */
+#define D_SSR_URA(a)  {int temp; GETSSRBITS(temp, 6) a = URAToValue(temp);}                  /* DF389, IDF034 */
+
+/* Ionosphere */
+#define D_NO_IONO_LAYERS(a)         {unsigned int temp; GETSSRBITS(temp, 2) a = temp+1;}     /* DF472, IDF035 */
+#define D_IONO_HEIGHT(a)                                GETSSRFLOAT(a, 8, 10000.0)           /* DF473, IDF036 */
+#define D_IONO_DEGREE(a)            {unsigned int temp; GETSSRBITS(temp, 4) a = temp+1;}     /* DF474, IDF037 */
+#define D_IONO_ORDER(a)             {unsigned int temp; GETSSRBITS(temp, 4) a = temp+1;}     /* DF475, IDF038 */
+#define D_IONO_COEFF_C(a)                               GETSSRFLOATSIGN(a, 16, 1/200.0)      /* DF476, IDF039 */
+#define D_IONO_COEFF_S(a)                               GETSSRFLOATSIGN(a, 16, 1/200.0)      /* DF477, IDF040 */
+#define D_VTEC_QUALITY_INDICATOR(a)                     GETSSRFLOAT(a, 9, 1/20.0)            /* DF478, IDF041 */  
 
 /* Antenna Information*/
-#define G_SATELLITE_ANTENNA_IOD(a)                      GETSSRBITS(a,  6)          /* DF+010 (new RTCM) */
-#define G_PHASE_CENTER_INFO_INDICATORD(a)               GETSSRBITS(a,  1)          /* DF+011 (new RTCM) */    
-#define G_GROUP_DELAY_INFO_INDICATOR(a)                 GETSSRBITS(a,  1)          /* DF+012 (new RTCM) */    
-#define G_NADIR_ANGLE_DEPENDENT_CORR_INDICATOR(a)       GETSSRBITS(a,  1)          /* DF+013 (new RTCM) */
-#define G_MAXIMUM_OFF_NADIR_ANGLE(a)                    GETSSRBITS(a,  5)          /* DF+014 (new RTCM) */  
-#define G_NADIR_ANGLE_DEPENDENT_CORR_RANGE_EXTENSION(a) GETSSRBITS(a,  4)          /* DF+015 (new RTCM) */
-#define G_SATELLITE_SET_INDICATOR(a)                    GETSSRBITS(a,  1)          /* DF+016 (new RTCM) */
-#define G_FREQUENCY_SET_INDICATOR (a)                   GETSSRBITS(a,  1)          /* DF+017 (new RTCM) */
-#define G_GNSS_FREQUENCY_MASK (a)                       GETSSRBITS(a,  6)          /* DF+018 (new RTCM) */
-#define G_NADIR_CORR_INDICATOR(a)                       GETSSRBITS(a,  1)          /* DF+019 (new RTCM) */
-#define G_NADIR_CORRECTION(a)                           GETSSRBITS(a, 12)          /* DF+020 (new RTCM) */
-#define G_NADIR_ANGLE_DEPENDENT_CORRECTION(a)           GETSSRBITS(a,  3 + nbits)  /* DF+021 (new RTCM) can be extended up to 15/18 Bits from DF+015*/
-
+#define D_SATELLITE_ANTENNA_IOD(a)                      GETSSRBITS(a,  6)                    /* DF+010 (new RTCM) */
+#define D_PHASE_CENTER_INFO_INDICATORD(a)               GETSSRBITS(a,  1)                    /* DF+011 (new RTCM) */    
+#define D_GROUP_DELAY_INFO_INDICATOR(a)                 GETSSRBITS(a,  1)                    /* DF+012 (new RTCM) */    
+#define D_NADIR_ANGLE_DEPENDENT_CORR_INDICATOR(a)       GETSSRBITS(a,  1)                    /* DF+013 (new RTCM) */
+#define D_NADIR_ANGLE_DEPENDENT_CORR_RANGE_EXTENSION(a) GETSSRBITS(a,  4)                    /* DF+015 (new RTCM) required to extend DF+021*/
+#define D_SATELLITE_SET_INDICATOR(a)                    GETSSRBITS(a,  1)                    /* DF+016 (new RTCM) */
+#define D_FREQUENCY_SET_INDICATOR (a)                   GETSSRBITS(a,  1)                    /* DF+017 (new RTCM) */
+#define D_GNSS_FREQUENCY_MASK (a)                       GETSSRBITS(a,  6)                    /* DF+018 (new RTCM) */
+#define D_NADIR_CORR_INDICATOR(a)                       GETSSRBITS(a,  1)                    /* DF+019 (new RTCM) */
+#define D_NADIR_CORRECTION(a)                           GETSSRFLOATSIGN(a, 12, 1/1000.0)     /* DF+020 (new RTCM) in [m] */
+#define D_NADIR_ANGLE_DEPENDENT_CORRECTION(a, nbits)    GETSSRFLOATSIGN(a,  3 + nbits, 1/1000.0) /* DF+021 (new RTCM) in [m]; can be extended up to 15/18 Bits from DF+015*/
 /*
-//Decoding
-#define G_NEW_PAR(a, nbits)        GETSSRBITS(a, nbits)            //called as G_NEW_PAR(co->NewPar, co->NewParNumBits)
-#define G_NEW_PAR_SCALE(a, nbits)  GETSSRFLOAT(a, nbits, 10000.0)  //called as G_NEW_PAR(co->NewPar, co->NewParNumBits)
+//Decoding 
+#define D_NEW_PAR(a, nbits)        GETSSRBITS(a, nbits)            //called as D_NEW_PAR(co->NewPar, co->NewParNumBits)
+#define D_NEW_PAR_SCALE(a, nbits)  GETSSRFLOAT(a, nbits, 10000.0)  //called as D_NEW_PAR(co->NewPar, co->NewParNumBits)
 */
-
-/* Ionosphere */
-#define G_NO_IONO_LAYERS(a) {unsigned int temp; GETSSRBITS(temp, 2) a = temp+1;} /* DF472, IDF035 */
-#define G_IONO_HEIGHT(a)                 GETSSRFLOAT(a, 8 ,    10000.0)          /* DF473, IDF036 */
-#define G_IONO_DEGREE(a)    {unsigned int temp; GETSSRBITS(temp, 4) a = temp+1;} /* DF474, IDF037 */
-#define G_IONO_ORDER(a)     {unsigned int temp; GETSSRBITS(temp, 4) a = temp+1;} /* DF475, IDF038 */
-#define G_IONO_COEFF_C(a)                GETSSRFLOATSIGN(a, 16,1/200.0)          /* DF476, IDF039 */
-#define G_IONO_COEFF_S(a)                GETSSRFLOATSIGN(a, 16,1/200.0)          /* DF477, IDF040 */
-#define G_VTEC_QUALITY_INDICATOR(a)      GETSSRFLOAT     (a, 9, 1/20.0)          /* DF478, IDF041 */
+/* Grid Messages */
+#define D_GRID_ID(a)                                    GETSSRBITS(a, 10)                     /* DF+022 (new RTCM) */
+#define D_GRID_TYPE(a)                                  GETSSRBITS(a,  3)                     /* DF+023 (new RTCM) */
+#define D_LATITUDE_OF_REFERENCE_POINT(a)                GETSSRFLOATSIGN(a, 18, 1/1000.0)      /* DF+024 (new RTCM) */
+#define D_LONGITUDE_OF_REFERENCE_POINT(a)               GETSSRFLOATSIGN(a, 19, 1/1000.0)      /* DF+025 (new RTCM) */
+#define D_ELLIPSOIDAL_HEIGHT_OF_REFERENCE_POINT(a) {unsigned int temp; GETSSRFLOAT(temp, 10, 12.5) a = temp - 1000.0;} /* DF+026 (new RTCM) */
+#define D_NUMNBER_OF_RELATIVE_POINTS(a)                 GETSSRBITS(a,  8)                     /* DF+027 (new RTCM) */
+#define D_RELATIVE_LATITUDE(a)                          GETSSRFLOATSIGN(a, 13, 1/1000.0)      /* DF+028 (new RTCM) */
+#define D_RELATIVE_LONGITUDE(a)                         GETSSRFLOATSIGN(a, 14, 1/1000.0)      /* DF+029 (new RTCM) */
+#define D_RELATIVE_HIGHT(a)                             GETSSRFLOATSIGN(a,  9, 12.5)          /* DF+030 (new RTCM) */
+#define D_NUMBER_OF_POINTS_IN_LATITIDE_DIRECTION(a)     GETSSRBITS(a,  6)                     /* DF+031 (new RTCM) */
+#define D_NUMBER_OF_POINTS_IN_LONGITUDE_DIRECTION(a)    GETSSRBITS(a,  6)                     /* DF+032 (new RTCM) */
+#define D_GRID_STEP_SIZE_IN_LATITIDE_DIRECTION(a)       GETSSRFLOAT(a,  9, 1/100.0)           /* DF+033 (new RTCM) */
+#define D_GRID_STEP_SIZE_IN_LONGITUDE_DIRECTION(a)      GETSSRFLOAT(a, 10, 1/100.0)           /* DF+034 (new RTCM) */
+#define D_GRID_MASK_AVAILABILITY_FLAG(a)                GETSSRBITS(a,  1)                     /* DF+035 (new RTCM) */
+#define D_GRID_MASK(a, nbits)                           GETSSRBITS(a, nbits)                  /* DF+036 (new RTCM) nbits from DF+031 or DF+032 */
+
+/* Troposphere Messages */
+#define D_HYDROSTATIC_MAPPING_FUNCTION_PAR_AH(a)  {unsigned int dah; GETSSRFLOATSIGN(dah, 11, 2.5/10000000.0) a = dah + 0.00118;}  /* DF+038 (new RTCM) */
+#define D_HYDROSTATIC_MAPPING_FUNCTION_PAR_BH(a)  {unsigned int dbh; GETSSRFLOATSIGN(dbh,  9, 5/1000000.0)    a = dbh + 0.00298;}  /* DF+039 (new RTCM) */
+#define D_HYDROSTATIC_MAPPING_FUNCTION_PAR_CH(a)  {unsigned int dch; GETSSRFLOATSIGN(dch,  9, 2/10000.0)      a = dch + 0.0682;}   /* DF+040 (new RTCM) */
+#define D_WET_MAPPING_FUNCTION_PAR_AW(a)          {unsigned int daw; GETSSRFLOATSIGN(daw, 13, 1/1000000.0)    a = daw + 0.000104;} /* DF+041 (new RTCM) */
+#define D_WET_MAPPING_FUNCTION_PAR_BW(a)          {unsigned int dbw; GETSSRFLOATSIGN(dbw,  6, 2.5/100000.0)   a = dbw + 0.0015;}   /* DF+042 (new RTCM) */
+#define D_WET_MAPPING_FUNCTION_PAR_CW(a)          {unsigned int dcw; GETSSRFLOATSIGN(dcw,  5, 2/1000.0 )      a = dcw + 0.0048;}   /* DF+043 (new RTCM) */
+#define D_HYDROSTATIC_OFFSET(a)                   {unsigned int dho; GETSSRFLOATSIGN(dho, 13, 1/10000.0) a = dho + 2.3 }  /* DF+044 (new RTCM) [0.1 mm] => [m] +2.3 m */
+#define D_HYDROSTATIC_GRADIENT_LATITUDE_DIRECTION(a)                 GETSSRFLOATSIGN(a, 15, 1/100000.0)                   /* DF+045 (new RTCM) [0.01 mm] => [m]*/
+#define D_HYDROSTATIC_GRADIENT_LONGITUDE_DIRECTION(a)                GETSSRFLOATSIGN(a, 15, 1/100000.0)                   /* DF+046 (new RTCM) [0.01 mm] => [m]*/ 
+#define D_WET_OFFSET(a)                           {unsigned int dwo; GETSSRFLOATSIGN(dwo, 13, 1/10000.0) a = dwo + 0.252 }/* DF+047 (new RTCM) [0.1 mm] => [m] +0.252 m */
+#define D_WET_GRADIENT_LATITUDE_DIRECTION(a)                         GETSSRFLOATSIGN(a, 15, 1/100000.0)                   /* DF+048 (new RTCM) */
+#define D_WET_GRADIENT_LONGITUDE_DIRECTION(a)                        GETSSRFLOATSIGN(a, 15, 1/100000.0)                   /* DF+049 (new RTCM) */ 
+#define D_HYDTOSTATIC_GRID_POINT_RESIDUAL_LENGTH(a)                  GETSSRBITS(a,  4)                                    /* DF+050 (new RTCM) */
+#define D_WET_GRID_POINT_RESIDUAL_LENGTH(a)                          GETSSRBITS(a,  4)                                    /* DF+051 (new RTCM) */
+#define D_HYDTOSTATIC_GRID_POINT_RESIDUAL(a, nbits)                  GETSSRFLOATSIGN(a, nbits, 1/10000.0)                 /* DF+052 (new RTCM) size depends on DF+050 */
+#define D_WET_GRID_POINT_RESIDUAL(a, nbits)                          GETSSRFLOATSIGN(a, nbits, 1/10000.0)                 /* DF+053 (new RTCM) size depends on DF+051 */
+
+#define D_SSR_EPOCH_TIME(a)                                          GETSSRBITS(a,  20)                                   /* DF*055 (new RTCM) same definition as in IGS-SSR */  
+
+/* Ionosphere Messages */
+#define D_ZENITH_MAPPED_STEC_POLYNOM_COEFF_C00(a)                     GETSSRFLOATSIGN(a, 17, 1/1000.0)   /* DF+057 (new RTCM)  */
+#define D_ZENITH_MAPPED_STEC_POLYNOM_COEFF_C01(a)                     GETSSRFLOATSIGN(a, 18, 1/10000.0)  /* DF+058 (new RTCM)  */
+#define D_ZENITH_MAPPED_STEC_POLYNOM_COEFF_C10(a)                     GETSSRFLOATSIGN(a, 18, 1/10000.0)  /* DF+059 (new RTCM)  */
+#define D_ZENITH_MAPPED_STEC_POLYNOMIAL_GRADIENT_INDICATOR(a)         GETSSRBITS(a,  1)                  /* DF+060 (new RTCM)  */
+#define D_ZENITH_MAPPED_STEC_GRID_POINT_RESIDUAL(a)                   GETSSRBITS(a,  5)                  /* DF+061 (new RTCM) size required for DF+062 */      
+#define D_ZENITH_MAPPED_STEC_GRID_POINT_RESIDUAL_CORRECTION(a, nbits) GETSSRBITSSIGN(a,  nbits)          /* DF+062 (new RTCM) nbits depends on DF+061 */                        
+
+/* Metadata */
+#define D_NUMBER_OF_SSR_MODEL_CORRECTION_ENTRIES(a)     GETSSRBITS(a,  5)                     /* DF+063 (new RTCM) */   
+#define D_MODEL_CORRECTION_TYPE_INDICATOR(a)            GETSSRBITS(a,  5)                     /* DF+064 (new RTCM) */
+#define D_MODEL_CORRECTION_APPLICATION_INDICATOR(a)     GETSSRBITS(a,  1)                     /* DF+065 (new RTCM) */
+#define D_NON_DEFAULT_MODEL_CORRECTION_INDICATOR(a)     GETSSRBITS(a,  1)                     /* DF+066 (new RTCM) */
+#define D_NON_DEFAULT_MODEL_CORRECTION_IDENTIFIER(a)    GETSSRBITS(a,  3)                     /* DF+067 (new RTCM) */
+#define D_MODEL_CORRECTION_DATA_IOD_INDICATOR(a)        GETSSRBITS(a,  1)                     /* DF+068 (new RTCM) */
+#define D_MODEL_CORRECTION_DATA_IOD(a)                  GETSSRBITS(a,  6)                     /* DF+069 (new RTCM) */
+#define D_ADDITIONAL_MODEL_PARAMETER_INDICATOR(a)       GETSSRBITS(a,  1)                     /* DF+070 (new RTCM) */
+#define D_NUMBER_OF_ADDITIONAL_MODEL_PARAMETER_BITS(a)  GETSSRBITS(a,  8)                     /* DF+071 (new RTCM) */  
+#define D_ADDITIONAL_MODEL_PARAMETER_DATA(a, nbits)     GETSSRBITS(a,  nbits)                 /* DF+072 (new RTCM) nbits from DF+071*/
+
+#define D_ZENITH_MAPPED_STEC_GRID_POINT_RESIDUAL_RESOLUTION_SCALE_FACTOR_EXPONENT(a)   GETSSRBITS(a,  3) /* DF+073 (new RTCM) */  
+
+#define D_QZSS_SATELLITE_ID(a)                          GETSSRBITS(a,  6)                    /* DF+080 (new RTCM) */
+
+#define D_GRID_POINT_LATITUDE_MASK(a, nbits)            GETSSRBITS(a, nbits)                 /* DF+090 (new RTCM) nbits corresponds to DF+031*/
+#define D_GRID_POINT_LONGIITUDE_MASK(a, nbits)          GETSSRBITS(a, nbits)                 /* DF+091 (new RTCM) nbits corresponds to DF+032*/
+#define D_EXCLUDED_GRID_POINT_MASK(a, nbits)            GETSSRBITS(a, nbits)                 /* DF+092 (new RTCM) nbits corresponds to DF+090 * DF091 */
+
+#define D_GRID_POINT_OFFSET(a)                          GETSSRBITS(a, 12)                    /* DF+094 (new RTCM) */
+
+#define D_PLYNOMIAL_MODEL_INDICATOR(a)                  GETSSRBITS(a,  1)                    /* DF+096 (new RTCM) */
+#define D_GNSS_IDENTIFIER(a)                            GETSSRBITS(a,  4)                    /* DF+097 (new RTCM) */
+#define D_GNSS_BE_IDENTYFIER(a)                         GETSSRBITS(a,  4)                    /* DF+098 (new RTCM) */
+#define D_RESIDUAL_MODEL_IDENTUICATOR(a)                GETSSRBITS(a,  1)                    /* DF+099 (new RTCM) */
+#define D_NUMBER_OF_GRID_POINTS(a)                      GETSSRBITS(a,  1)                    /* DF+100 (new RTCM) */
 
 };
Index: trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_igs.cpp
===================================================================
--- trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_igs.cpp	(revision 10989)
+++ trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_igs.cpp	(revision 10990)
@@ -67,24 +67,24 @@
     if (status[s][COBOFS_ORBIT]) {
       INITBLOCK
-	    T_RTCM_MESSAGE_NUMBER(RTCM_MESSAGE_NUMBER_IGS)
-      T_IGS_SSR_VERSION(IGS_SSR_VERSION)
-	    T_IGS_MESSAGE_NUMBER(corbase[s] + COBOFS_ORBIT)
-	    T_GPS_EPOCH_TIME(co->EpochTime[s])
-      T_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-	    T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-      T_SSR_IOD(co->SSRIOD)
-      T_SSR_PROVIDER_ID(co->SSRProviderID)
-      T_SSR_SOLUTION_ID(co->SSRSolutionID)
-	    T_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
-      T_NO_OF_SATELLITES(co->NumberOfSat[s])
+	    E_RTCM_MESSAGE_NUMBER(RTCM_MESSAGE_NUMBER_IGS)
+      E_IGS_SSR_VERSION(IGS_SSR_VERSION)
+	    E_IGS_MESSAGE_NUMBER(corbase[s] + COBOFS_ORBIT)
+	    E_GPS_EPOCH_TIME(co->EpochTime[s])
+      E_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+	    E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+      E_SSR_IOD(co->SSRIOD)
+      E_SSR_PROVIDER_ID(co->SSRProviderID)
+      E_SSR_SOLUTION_ID(co->SSRSolutionID)
+	    E_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
+      E_NO_OF_SATELLITES(co->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + co->NumberOfSat[s]; ++i) {
-        T_GPS_SATELLITE_ID(co->Sat[i].ID)
-        T_GPS_IODE(co->Sat[i].IOD)
-        T_DELTA_RADIAL(co->Sat[i].Orbit.DeltaRadial)
-        T_DELTA_ALONG_TRACK(co->Sat[i].Orbit.DeltaAlongTrack)
-        T_DELTA_CROSS_TRACK(co->Sat[i].Orbit.DeltaCrossTrack)
-        T_DELTA_DOT_RADIAL(co->Sat[i].Orbit.DotDeltaRadial)
-        T_DELTA_DOT_ALONG_TRACK(co->Sat[i].Orbit.DotDeltaAlongTrack)
-        T_DELTA_DOT_CROSS_TRACK(co->Sat[i].Orbit.DotDeltaCrossTrack)
+        E_GPS_SATELLITE_ID(co->Sat[i].ID)
+        E_GPS_IODE(co->Sat[i].IOD)
+        E_DELTA_RADIAL(co->Sat[i].Orbit.DeltaRadial)
+        E_DELTA_ALONG_TRACK(co->Sat[i].Orbit.DeltaAlongTrack)
+        E_DELTA_CROSS_TRACK(co->Sat[i].Orbit.DeltaCrossTrack)
+        E_DOT_DELTA_RADIAL(co->Sat[i].Orbit.DotDeltaRadial)
+        E_DOT_DELTA_ALONG_TRACK(co->Sat[i].Orbit.DotDeltaAlongTrack)
+        E_DOT_DELTA_CROSS_TRACK(co->Sat[i].Orbit.DotDeltaCrossTrack)
       }
       ENDBLOCK
@@ -92,19 +92,19 @@
     if (status[s][COBOFS_CLOCK]) {
       INITBLOCK
-	    T_RTCM_MESSAGE_NUMBER(RTCM_MESSAGE_NUMBER_IGS)
-      T_IGS_SSR_VERSION(IGS_SSR_VERSION)
-	    T_IGS_MESSAGE_NUMBER(corbase[s] + COBOFS_CLOCK)
-	    T_GPS_EPOCH_TIME(co->EpochTime[s])
-      T_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-	    T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-      T_SSR_IOD(co->SSRIOD)
-      T_SSR_PROVIDER_ID(co->SSRProviderID)
-      T_SSR_SOLUTION_ID(co->SSRSolutionID)
-      T_NO_OF_SATELLITES(co->NumberOfSat[s])
+	    E_RTCM_MESSAGE_NUMBER(RTCM_MESSAGE_NUMBER_IGS)
+      E_IGS_SSR_VERSION(IGS_SSR_VERSION)
+	    E_IGS_MESSAGE_NUMBER(corbase[s] + COBOFS_CLOCK)
+	    E_GPS_EPOCH_TIME(co->EpochTime[s])
+      E_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+	    E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+      E_SSR_IOD(co->SSRIOD)
+      E_SSR_PROVIDER_ID(co->SSRProviderID)
+      E_SSR_SOLUTION_ID(co->SSRSolutionID)
+      E_NO_OF_SATELLITES(co->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + co->NumberOfSat[s]; ++i) {
-        T_GPS_SATELLITE_ID(co->Sat[i].ID)
-        T_DELTA_CLOCK_C0(co->Sat[i].Clock.DeltaA0)
-        T_DELTA_CLOCK_C1(co->Sat[i].Clock.DeltaA1)
-        T_DELTA_CLOCK_C2(co->Sat[i].Clock.DeltaA2)
+        E_GPS_SATELLITE_ID(co->Sat[i].ID)
+        E_DELTA_CLOCK_C0(co->Sat[i].Clock.DeltaA0)
+        E_DELTA_CLOCK_C1(co->Sat[i].Clock.DeltaA1)
+        E_DELTA_CLOCK_C2(co->Sat[i].Clock.DeltaA2)
       }
       ENDBLOCK
@@ -124,36 +124,36 @@
 #endif
       INITBLOCK
-	    T_RTCM_MESSAGE_NUMBER(RTCM_MESSAGE_NUMBER_IGS)
-      T_IGS_SSR_VERSION(IGS_SSR_VERSION)
-	    T_IGS_MESSAGE_NUMBER(corbase[s] + COBOFS_COMBINED)
-	    T_GPS_EPOCH_TIME(co->EpochTime[s])
-      T_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+	    E_RTCM_MESSAGE_NUMBER(RTCM_MESSAGE_NUMBER_IGS)
+      E_IGS_SSR_VERSION(IGS_SSR_VERSION)
+	    E_IGS_MESSAGE_NUMBER(corbase[s] + COBOFS_COMBINED)
+	    E_GPS_EPOCH_TIME(co->EpochTime[s])
+      E_SSR_UPDATE_INTERVAL(co->UpdateInterval)
 #ifdef SPLITBLOCK
-      T_MULTIPLE_MESSAGE_INDICATOR((moremessagesfollow || left) ? 1 : 0)
+      E_MULTIPLE_MESSAGE_INDICATOR((moremessagesfollow || left) ? 1 : 0)
 #else
-      T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-#endif
-      T_SSR_IOD(co->SSRIOD)
-      T_SSR_PROVIDER_ID(co->SSRProviderID)
-      T_SSR_SOLUTION_ID(co->SSRSolutionID)
-	  T_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
+      E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+#endif
+      E_SSR_IOD(co->SSRIOD)
+      E_SSR_PROVIDER_ID(co->SSRProviderID)
+      E_SSR_SOLUTION_ID(co->SSRSolutionID)
+	  E_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
 #ifdef SPLITBLOCK
-      T_NO_OF_SATELLITES(nums)
+      E_NO_OF_SATELLITES(nums)
       for(i = start; i < start+nums; ++i) {
 #else
-      T_NO_OF_SATELLITES(co->NumberOfSat[s])
+      E_NO_OF_SATELLITES(co->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + co->NumberOfSat[s]; ++i) {
 #endif
-        T_GPS_SATELLITE_ID(co->Sat[i].ID)
-        T_GPS_IODE(co->Sat[i].IOD)
-        T_DELTA_RADIAL(co->Sat[i].Orbit.DeltaRadial)
-        T_DELTA_ALONG_TRACK(co->Sat[i].Orbit.DeltaAlongTrack)
-        T_DELTA_CROSS_TRACK(co->Sat[i].Orbit.DeltaCrossTrack)
-        T_DELTA_DOT_RADIAL(co->Sat[i].Orbit.DotDeltaRadial)
-        T_DELTA_DOT_ALONG_TRACK(co->Sat[i].Orbit.DotDeltaAlongTrack)
-        T_DELTA_DOT_CROSS_TRACK(co->Sat[i].Orbit.DotDeltaCrossTrack)
-        T_DELTA_CLOCK_C0(co->Sat[i].Clock.DeltaA0)
-        T_DELTA_CLOCK_C1(co->Sat[i].Clock.DeltaA1)
-        T_DELTA_CLOCK_C2(co->Sat[i].Clock.DeltaA2)
+        E_GPS_SATELLITE_ID(co->Sat[i].ID)
+        E_GPS_IODE(co->Sat[i].IOD)
+        E_DELTA_RADIAL(co->Sat[i].Orbit.DeltaRadial)
+        E_DELTA_ALONG_TRACK(co->Sat[i].Orbit.DeltaAlongTrack)
+        E_DELTA_CROSS_TRACK(co->Sat[i].Orbit.DeltaCrossTrack)
+        E_DOT_DELTA_RADIAL(co->Sat[i].Orbit.DotDeltaRadial)
+        E_DOT_DELTA_ALONG_TRACK(co->Sat[i].Orbit.DotDeltaAlongTrack)
+        E_DOT_DELTA_CROSS_TRACK(co->Sat[i].Orbit.DotDeltaCrossTrack)
+        E_DELTA_CLOCK_C0(co->Sat[i].Clock.DeltaA0)
+        E_DELTA_CLOCK_C1(co->Sat[i].Clock.DeltaA1)
+        E_DELTA_CLOCK_C2(co->Sat[i].Clock.DeltaA2)
       }
       ENDBLOCK
@@ -167,17 +167,17 @@
     if (status[s][COBOFS_HR]) {
       INITBLOCK
-	    T_RTCM_MESSAGE_NUMBER(RTCM_MESSAGE_NUMBER_IGS)
-      T_IGS_SSR_VERSION(IGS_SSR_VERSION)
-	    T_IGS_MESSAGE_NUMBER(corbase[s] + COBOFS_HR)
-	    T_GPS_EPOCH_TIME(co->EpochTime[s])
-      T_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-	    T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-      T_SSR_IOD(co->SSRIOD)
-      T_SSR_PROVIDER_ID(co->SSRProviderID)
-      T_SSR_SOLUTION_ID(co->SSRSolutionID)
-      T_NO_OF_SATELLITES(co->NumberOfSat[s])
+	    E_RTCM_MESSAGE_NUMBER(RTCM_MESSAGE_NUMBER_IGS)
+      E_IGS_SSR_VERSION(IGS_SSR_VERSION)
+	    E_IGS_MESSAGE_NUMBER(corbase[s] + COBOFS_HR)
+	    E_GPS_EPOCH_TIME(co->EpochTime[s])
+      E_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+	    E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+      E_SSR_IOD(co->SSRIOD)
+      E_SSR_PROVIDER_ID(co->SSRProviderID)
+      E_SSR_SOLUTION_ID(co->SSRSolutionID)
+      E_NO_OF_SATELLITES(co->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + co->NumberOfSat[s]; ++i) {
-        T_GPS_SATELLITE_ID(co->Sat[i].ID)
-        T_HR_CLOCK_CORRECTION(co->Sat[i].hrclock)
+        E_GPS_SATELLITE_ID(co->Sat[i].ID)
+        E_HR_CLOCK_CORRECTION(co->Sat[i].hrclock)
       }
       ENDBLOCK
@@ -185,17 +185,17 @@
     if (status[s][COBOFS_URA]) {
       INITBLOCK
-	    T_RTCM_MESSAGE_NUMBER(RTCM_MESSAGE_NUMBER_IGS)
-      T_IGS_SSR_VERSION(IGS_SSR_VERSION)
-	    T_IGS_MESSAGE_NUMBER(corbase[s] + COBOFS_URA)
-	    T_GPS_EPOCH_TIME(co->EpochTime[s])
-      T_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-	    T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-      T_SSR_IOD(co->SSRIOD)
-      T_SSR_PROVIDER_ID(co->SSRProviderID)
-      T_SSR_SOLUTION_ID(co->SSRSolutionID)
-      T_NO_OF_SATELLITES(co->NumberOfSat[s])
+	    E_RTCM_MESSAGE_NUMBER(RTCM_MESSAGE_NUMBER_IGS)
+      E_IGS_SSR_VERSION(IGS_SSR_VERSION)
+	    E_IGS_MESSAGE_NUMBER(corbase[s] + COBOFS_URA)
+	    E_GPS_EPOCH_TIME(co->EpochTime[s])
+      E_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+	    E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+      E_SSR_IOD(co->SSRIOD)
+      E_SSR_PROVIDER_ID(co->SSRProviderID)
+      E_SSR_SOLUTION_ID(co->SSRSolutionID)
+      E_NO_OF_SATELLITES(co->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + co->NumberOfSat[s]; ++i) {
-        T_GPS_SATELLITE_ID(co->Sat[i].ID)
-        T_SSR_URA(ValueToURA(co->Sat[i].UserRangeAccuracy))
+        E_GPS_SATELLITE_ID(co->Sat[i].ID)
+        E_SSR_URA(ValueToURA(co->Sat[i].UserRangeAccuracy))
       }
       ENDBLOCK
@@ -214,20 +214,20 @@
     if (b->NumberOfSat[s] && (type == CBTYPE_AUTO || type == corbase[s] + COBOFS_CBIAS)) {
       INITBLOCK
-	    T_RTCM_MESSAGE_NUMBER(RTCM_MESSAGE_NUMBER_IGS)
-      T_IGS_SSR_VERSION(IGS_SSR_VERSION)
-	    T_IGS_MESSAGE_NUMBER(corbase[s] + COBOFS_CBIAS)
-	    T_GPS_EPOCH_TIME(b->EpochTime[s])
-      T_SSR_UPDATE_INTERVAL(b->UpdateInterval)
-	    T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-      T_SSR_IOD(b->SSRIOD)
-      T_SSR_PROVIDER_ID(b->SSRProviderID)
-      T_SSR_SOLUTION_ID(b->SSRSolutionID)
-      T_NO_OF_SATELLITES(b->NumberOfSat[s])
+	    E_RTCM_MESSAGE_NUMBER(RTCM_MESSAGE_NUMBER_IGS)
+      E_IGS_SSR_VERSION(IGS_SSR_VERSION)
+	    E_IGS_MESSAGE_NUMBER(corbase[s] + COBOFS_CBIAS)
+	    E_GPS_EPOCH_TIME(b->EpochTime[s])
+      E_SSR_UPDATE_INTERVAL(b->UpdateInterval)
+	    E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+      E_SSR_IOD(b->SSRIOD)
+      E_SSR_PROVIDER_ID(b->SSRProviderID)
+      E_SSR_SOLUTION_ID(b->SSRSolutionID)
+      E_NO_OF_SATELLITES(b->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + b->NumberOfSat[s]; ++i) {
-        T_GPS_SATELLITE_ID(b->Sat[i].ID)
-        T_NO_OF_BIASES(b->Sat[i].NumberOfCodeBiases)
+        E_GPS_SATELLITE_ID(b->Sat[i].ID)
+        E_NO_OF_BIASES(b->Sat[i].NumberOfCodeBiases)
         for (j = 0; j < b->Sat[i].NumberOfCodeBiases; ++j) {
-          T_GNSS_SIGNAL_IDENTIFIER(b->Sat[i].Biases[j].Type)
-          T_CODE_BIAS(b->Sat[i].Biases[j].Bias)
+          E_GNSS_SIGNAL_IDENTIFIER(b->Sat[i].Biases[j].Type)
+          E_CODE_BIAS(b->Sat[i].Biases[j].Bias)
         }
       }
@@ -247,27 +247,27 @@
     if (b->NumberOfSat[s] && (type == PBTYPE_AUTO || type == corbase[s] + COBOFS_PBIAS)) {
       INITBLOCK
-	    T_RTCM_MESSAGE_NUMBER(RTCM_MESSAGE_NUMBER_IGS)
-      T_IGS_SSR_VERSION(IGS_SSR_VERSION)
-	    T_IGS_MESSAGE_NUMBER(corbase[s] + COBOFS_PBIAS)
-	    T_GPS_EPOCH_TIME(b->EpochTime[s])
-      T_SSR_UPDATE_INTERVAL(b->UpdateInterval)
-	    T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-      T_SSR_IOD(b->SSRIOD)
-      T_SSR_PROVIDER_ID(b->SSRProviderID)
-      T_SSR_SOLUTION_ID(b->SSRSolutionID)
-      T_DISPERSIVE_BIAS_INDICATOR(b->DispersiveBiasConsistencyIndicator ? 1 : 0)
-      T_MW_CONSISTENCY_INDICATOR(b->MWConsistencyIndicator ? 1 : 0)
-      T_NO_OF_SATELLITES(b->NumberOfSat[s])
+	    E_RTCM_MESSAGE_NUMBER(RTCM_MESSAGE_NUMBER_IGS)
+      E_IGS_SSR_VERSION(IGS_SSR_VERSION)
+	    E_IGS_MESSAGE_NUMBER(corbase[s] + COBOFS_PBIAS)
+	    E_GPS_EPOCH_TIME(b->EpochTime[s])
+      E_SSR_UPDATE_INTERVAL(b->UpdateInterval)
+	    E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+      E_SSR_IOD(b->SSRIOD)
+      E_SSR_PROVIDER_ID(b->SSRProviderID)
+      E_SSR_SOLUTION_ID(b->SSRSolutionID)
+      E_DISPERSIVE_BIAS_INDICATOR(b->DispersiveBiasConsistencyIndicator ? 1 : 0)
+      E_MW_CONSISTENCY_INDICATOR(b->MWConsistencyIndicator ? 1 : 0)
+      E_NO_OF_SATELLITES(b->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + b->NumberOfSat[s]; ++i) {
-        T_GPS_SATELLITE_ID(b->Sat[i].ID)
-        T_NO_OF_BIASES(b->Sat[i].NumberOfPhaseBiases)
-        T_YAW_ANGLE(b->Sat[i].YawAngle)
-        T_YAW_RATE(b->Sat[i].YawRate)
+        E_GPS_SATELLITE_ID(b->Sat[i].ID)
+        E_NO_OF_BIASES(b->Sat[i].NumberOfPhaseBiases)
+        E_YAW_ANGLE(b->Sat[i].YawAngle)
+        E_YAW_RATE(b->Sat[i].YawRate)
         for (j = 0; j < b->Sat[i].NumberOfPhaseBiases; ++j) {
-          T_GNSS_SIGNAL_IDENTIFIER(b->Sat[i].Biases[j].Type)
-          T_INTEGER_INDICATOR(b->Sat[i].Biases[j].SignalIntegerIndicator ? 1 : 0)
-          T_WIDE_LANE_INDICATOR(b->Sat[i].Biases[j].SignalsWideLaneIntegerIndicator)
-          T_DISCONTINUITY_COUNTER(b->Sat[i].Biases[j].SignalDiscontinuityCounter)
-          T_PHASE_BIAS(b->Sat[i].Biases[j].Bias)
+          E_GNSS_SIGNAL_IDENTIFIER(b->Sat[i].Biases[j].Type)
+          E_INTEGER_INDICATOR(b->Sat[i].Biases[j].SignalIntegerIndicator ? 1 : 0)
+          E_WIDE_LANE_INDICATOR(b->Sat[i].Biases[j].SignalsWideLaneIntegerIndicator)
+          E_DISCONTINUITY_COUNTER(b->Sat[i].Biases[j].SignalDiscontinuityCounter)
+          E_PHASE_BIAS_CORRECTION(b->Sat[i].Biases[j].Bias)
         }
       }
@@ -284,27 +284,27 @@
     INITBLOCK
 
-  T_RTCM_MESSAGE_NUMBER(RTCM_MESSAGE_NUMBER_IGS)
-  T_IGS_SSR_VERSION(IGS_SSR_VERSION)
-  T_IGS_MESSAGE_NUMBER(VTEC_BASE)
-  T_GPS_EPOCH_TIME(v->EpochTime)
-  T_SSR_UPDATE_INTERVAL(v->UpdateInterval)
-  T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-  T_SSR_IOD(v->SSRIOD)
-  T_SSR_PROVIDER_ID(v->SSRProviderID)
-  T_SSR_SOLUTION_ID(v->SSRSolutionID)
-  T_VTEC_QUALITY_INDICATOR(v->Quality)
-  T_NO_IONO_LAYERS(v->NumLayers)
+  E_RTCM_MESSAGE_NUMBER(RTCM_MESSAGE_NUMBER_IGS)
+  E_IGS_SSR_VERSION(IGS_SSR_VERSION)
+  E_IGS_MESSAGE_NUMBER(VTEC_BASE)
+  E_GPS_EPOCH_TIME(v->EpochTime)
+  E_SSR_UPDATE_INTERVAL(v->UpdateInterval)
+  E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+  E_SSR_IOD(v->SSRIOD)
+  E_SSR_PROVIDER_ID(v->SSRProviderID)
+  E_SSR_SOLUTION_ID(v->SSRSolutionID)
+  E_VTEC_QUALITY_INDICATOR(v->Quality)
+  E_NO_IONO_LAYERS(v->NumLayers)
   for (l = 0; l < v->NumLayers; ++l) {
-    T_IONO_HEIGHT(v->Layers[l].Height)
-    T_IONO_DEGREE(v->Layers[l].Degree)
-    T_IONO_ORDER(v->Layers[l].Order)
+    E_IONO_HEIGHT(v->Layers[l].Height)
+    E_IONO_DEGREE(v->Layers[l].Degree)
+    E_IONO_ORDER(v->Layers[l].Order)
     for (o = 0; o <= v->Layers[l].Order; ++o) {
       for (d = o; d <= v->Layers[l].Degree; ++d) {
-        T_IONO_COEFF_C(v->Layers[l].Cosinus[d][o])
+        E_IONO_COEFF_C(v->Layers[l].Cosinus[d][o])
       }
     }
     for (o = 1; o <= v->Layers[l].Order; ++o) {
       for (d = o; d <= v->Layers[l].Degree; ++d) {
-        T_IONO_COEFF_S(v->Layers[l].Sinus[d][o])
+        E_IONO_COEFF_S(v->Layers[l].Sinus[d][o])
       }
     }
@@ -317,5 +317,6 @@
     struct PhaseBias *pb, const char *buffer, size_t size, int *bytesused) {
   int mmi = 0, h, rs;
-  unsigned int rtcmtype, igstype, pos, i, j, s, nums, id, version;
+  unsigned int igstype, pos, i, j, s, nums, id;
+  unsigned int rtcmtype, version;
   size_t sizeofrtcmblock;
   const char *blockstart = buffer;
@@ -329,7 +330,7 @@
 #endif
 
-  G_HEADER(h)
-  G_RESERVEDH(rs)
-  G_SIZE(sizeofrtcmblock);
+  D_HEADER(h)
+  D_RESERVEDH(rs)
+  D_SIZE(sizeofrtcmblock);
 
   if ((unsigned char) h != 0xD3 || rs)
@@ -344,10 +345,10 @@
   size = sizeofrtcmblock; /* reduce size, so overflows are detected */
 
-  G_RTCM_MESSAGE_NUMBER(rtcmtype)
-  G_IGS_SSR_VERSION(version)
+  D_RTCM_MESSAGE_NUMBER(rtcmtype)
+  D_IGS_SSR_VERSION(version)
 #ifdef BNC_DEBUG_SSR
   fprintf(stderr, "rtcmType %d igsVersion %d ", rtcmtype, version);
 #endif
-  G_IGS_MESSAGE_NUMBER(igstype)
+  D_IGS_MESSAGE_NUMBER(igstype)
 #ifdef BNC_DEBUG_SSR
   fprintf(stderr, "igsType IM%d size %d\n", igstype,(int)sizeofrtcmblock);
@@ -361,12 +362,12 @@
       return GCOBR_NOVTECPARAMETER;
     memset(v, 0, sizeof(*v));
-    G_GPS_EPOCH_TIME(v->EpochTime)
-    G_SSR_UPDATE_INTERVAL(v->UpdateInterval)
-    G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-    G_SSR_IOD(v->SSRIOD)
-    G_SSR_PROVIDER_ID(v->SSRProviderID)
-    G_SSR_SOLUTION_ID(v->SSRSolutionID)
-    G_VTEC_QUALITY_INDICATOR(v->Quality)
-    G_NO_IONO_LAYERS(v->NumLayers)
+    D_GPS_EPOCH_TIME(v->EpochTime)
+    D_SSR_UPDATE_INTERVAL(v->UpdateInterval)
+    D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+    D_SSR_IOD(v->SSRIOD)
+    D_SSR_PROVIDER_ID(v->SSRProviderID)
+    D_SSR_SOLUTION_ID(v->SSRSolutionID)
+    D_VTEC_QUALITY_INDICATOR(v->Quality)
+    D_NO_IONO_LAYERS(v->NumLayers)
 #ifdef BNC_DEBUG_SSR
           fprintf(stderr, "epochTime %d ui %d mmi %d ssrIod %d providerId %d solId %d vtecQ %8.3f numLay %d \n",
@@ -375,7 +376,7 @@
 #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)
+      D_IONO_HEIGHT(v->Layers[l].Height)
+      D_IONO_DEGREE(v->Layers[l].Degree)
+      D_IONO_ORDER(v->Layers[l].Order)
 #ifdef BNC_DEBUG_SSR
           fprintf(stderr, "h  %8.3f deg %d ord %d \n",
@@ -384,5 +385,5 @@
       for (o = 0; o <= v->Layers[l].Order; ++o) {
         for (d = o; d <= v->Layers[l].Degree; ++d) {
-          G_IONO_COEFF_C(v->Layers[l].Cosinus[d][o])
+          D_IONO_COEFF_C(v->Layers[l].Cosinus[d][o])
 #ifdef BNC_DEBUG_SSR
           fprintf(stderr, "C[%02d][%02d]  %8.3f \n",
@@ -393,5 +394,5 @@
       for (o = 1; o <= v->Layers[l].Order; ++o) {
         for (d = o; d <= v->Layers[l].Degree; ++d) {
-          G_IONO_COEFF_S(v->Layers[l].Sinus[d][o])
+          D_IONO_COEFF_S(v->Layers[l].Sinus[d][o])
 #ifdef BNC_DEBUG_SSR
           fprintf(stderr, "S[%02d][%02d]  %8.3f \n",
@@ -415,12 +416,12 @@
             return GCOBR_NOCLOCKORBITPARAMETER;
           co->messageType = igstype;
-          G_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
-          G_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-          G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-          G_SSR_IOD(co->SSRIOD)
-          G_SSR_PROVIDER_ID(co->SSRProviderID)
-          G_SSR_SOLUTION_ID(co->SSRSolutionID)
-          G_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
-          G_NO_OF_SATELLITES(nums)
+          D_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+          D_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+          D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+          D_SSR_IOD(co->SSRIOD)
+          D_SSR_PROVIDER_ID(co->SSRProviderID)
+          D_SSR_SOLUTION_ID(co->SSRSolutionID)
+          D_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
+          D_NO_OF_SATELLITES(nums)
           co->Supplied[COBOFS_ORBIT] |= 1;
 #ifdef BNC_DEBUG_SSR
@@ -430,5 +431,5 @@
 #endif
           for (i = 0; i < nums; ++i) {
-            G_GPS_SATELLITE_ID(id)
+            D_GPS_SATELLITE_ID(id)
             for (pos = satoffset[s];
                 pos < satoffset[s] + co->NumberOfSat[s] && co->Sat[pos].ID != id;
@@ -440,11 +441,11 @@
               ++co->NumberOfSat[s];
             co->Sat[pos].ID = id;
-            G_GPS_IODE(co->Sat[pos].IOD)
-            G_DELTA_RADIAL(co->Sat[pos].Orbit.DeltaRadial)
-            G_DELTA_ALONG_TRACK(co->Sat[pos].Orbit.DeltaAlongTrack)
-            G_DELTA_CROSS_TRACK(co->Sat[pos].Orbit.DeltaCrossTrack)
-            G_DELTA_DOT_RADIAL(co->Sat[pos].Orbit.DotDeltaRadial)
-            G_DELTA_DOT_ALONG_TRACK(co->Sat[pos].Orbit.DotDeltaAlongTrack)
-            G_DELTA_DOT_CROSS_TRACK(co->Sat[pos].Orbit.DotDeltaCrossTrack)
+            D_GPS_IODE(co->Sat[pos].IOD)
+            D_DELTA_RADIAL(co->Sat[pos].Orbit.DeltaRadial)
+            D_DELTA_ALONG_TRACK(co->Sat[pos].Orbit.DeltaAlongTrack)
+            D_DELTA_CROSS_TRACK(co->Sat[pos].Orbit.DeltaCrossTrack)
+            D_DOT_DELTA_RADIAL(co->Sat[pos].Orbit.DotDeltaRadial)
+            D_DOT_DELTA_ALONG_TRACK(co->Sat[pos].Orbit.DotDeltaAlongTrack)
+            D_DOT_DELTA_CROSS_TRACK(co->Sat[pos].Orbit.DotDeltaCrossTrack)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d iod %3d dr %8.4f da %8.4f dc %8.4f dr %8.3f da %8.3f dc %8.3f\n",
@@ -461,11 +462,11 @@
             return GCOBR_NOCLOCKORBITPARAMETER;
           co->messageType = igstype;
-          G_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
-          G_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-          G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-          G_SSR_IOD(co->SSRIOD)
-          G_SSR_PROVIDER_ID(co->SSRProviderID)
-          G_SSR_SOLUTION_ID(co->SSRSolutionID)
-          G_NO_OF_SATELLITES(nums)
+          D_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+          D_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+          D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+          D_SSR_IOD(co->SSRIOD)
+          D_SSR_PROVIDER_ID(co->SSRProviderID)
+          D_SSR_SOLUTION_ID(co->SSRSolutionID)
+          D_NO_OF_SATELLITES(nums)
           co->Supplied[COBOFS_CLOCK] |= 1;
 #ifdef BNC_DEBUG_SSR
@@ -475,5 +476,5 @@
 #endif
           for (i = 0; i < nums; ++i) {
-            G_GPS_SATELLITE_ID(id)
+            D_GPS_SATELLITE_ID(id)
             for (pos = satoffset[s];
                 pos < satoffset[s] + co->NumberOfSat[s] && co->Sat[pos].ID != id;
@@ -485,7 +486,7 @@
               ++co->NumberOfSat[s];
             co->Sat[pos].ID = id;
-            G_DELTA_CLOCK_C0(co->Sat[pos].Clock.DeltaA0)
-            G_DELTA_CLOCK_C1(co->Sat[pos].Clock.DeltaA1)
-            G_DELTA_CLOCK_C2(co->Sat[pos].Clock.DeltaA2)
+            D_DELTA_CLOCK_C0(co->Sat[pos].Clock.DeltaA0)
+            D_DELTA_CLOCK_C1(co->Sat[pos].Clock.DeltaA1)
+            D_DELTA_CLOCK_C2(co->Sat[pos].Clock.DeltaA2)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d c0 %8.3f c1 %8.3f c2 %8.3f\n",
@@ -499,12 +500,12 @@
             return GCOBR_NOCLOCKORBITPARAMETER;
           co->messageType = igstype;
-          G_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
-          G_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-          G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-          G_SSR_IOD(co->SSRIOD)
-          G_SSR_PROVIDER_ID(co->SSRProviderID)
-          G_SSR_SOLUTION_ID(co->SSRSolutionID)
-          G_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
-          G_NO_OF_SATELLITES(nums)
+          D_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+          D_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+          D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+          D_SSR_IOD(co->SSRIOD)
+          D_SSR_PROVIDER_ID(co->SSRProviderID)
+          D_SSR_SOLUTION_ID(co->SSRSolutionID)
+          D_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
+          D_NO_OF_SATELLITES(nums)
           co->Supplied[COBOFS_ORBIT] |= 1;
           co->Supplied[COBOFS_CLOCK] |= 1;
@@ -515,5 +516,5 @@
 #endif
           for (i = 0; i < nums; ++i) {
-            G_GPS_SATELLITE_ID(id)
+            D_GPS_SATELLITE_ID(id)
             for (pos = satoffset[s];
                 pos < satoffset[s] + co->NumberOfSat[s] && co->Sat[pos].ID != id;
@@ -525,14 +526,14 @@
               ++co->NumberOfSat[s];
             co->Sat[pos].ID = id;
-            G_GPS_IODE(co->Sat[pos].IOD)
-            G_DELTA_RADIAL(co->Sat[pos].Orbit.DeltaRadial)
-            G_DELTA_ALONG_TRACK(co->Sat[pos].Orbit.DeltaAlongTrack)
-            G_DELTA_CROSS_TRACK(co->Sat[pos].Orbit.DeltaCrossTrack)
-            G_DELTA_DOT_RADIAL(co->Sat[pos].Orbit.DotDeltaRadial)
-            G_DELTA_DOT_ALONG_TRACK(co->Sat[pos].Orbit.DotDeltaAlongTrack)
-            G_DELTA_DOT_CROSS_TRACK(co->Sat[pos].Orbit.DotDeltaCrossTrack)
-            G_DELTA_CLOCK_C0(co->Sat[pos].Clock.DeltaA0)
-            G_DELTA_CLOCK_C1(co->Sat[pos].Clock.DeltaA1)
-            G_DELTA_CLOCK_C2(co->Sat[pos].Clock.DeltaA2)
+            D_GPS_IODE(co->Sat[pos].IOD)
+            D_DELTA_RADIAL(co->Sat[pos].Orbit.DeltaRadial)
+            D_DELTA_ALONG_TRACK(co->Sat[pos].Orbit.DeltaAlongTrack)
+            D_DELTA_CROSS_TRACK(co->Sat[pos].Orbit.DeltaCrossTrack)
+            D_DOT_DELTA_RADIAL(co->Sat[pos].Orbit.DotDeltaRadial)
+            D_DOT_DELTA_ALONG_TRACK(co->Sat[pos].Orbit.DotDeltaAlongTrack)
+            D_DOT_DELTA_CROSS_TRACK(co->Sat[pos].Orbit.DotDeltaCrossTrack)
+            D_DELTA_CLOCK_C0(co->Sat[pos].Clock.DeltaA0)
+            D_DELTA_CLOCK_C1(co->Sat[pos].Clock.DeltaA1)
+            D_DELTA_CLOCK_C2(co->Sat[pos].Clock.DeltaA2)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d iod %3d dr %10.6f da %10.6f dc %10.6f dr %10.6f da %10.6f dc %10.6f  c0 %10.6f c1 %10.6f c2 %10.6f\n",
@@ -549,11 +550,11 @@
             return GCOBR_NOCLOCKORBITPARAMETER;
           co->messageType = igstype;
-          G_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
-          G_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-          G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-          G_SSR_IOD(co->SSRIOD)
-          G_SSR_PROVIDER_ID(co->SSRProviderID)
-          G_SSR_SOLUTION_ID(co->SSRSolutionID)
-          G_NO_OF_SATELLITES(nums)
+          D_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+          D_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+          D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+          D_SSR_IOD(co->SSRIOD)
+          D_SSR_PROVIDER_ID(co->SSRProviderID)
+          D_SSR_SOLUTION_ID(co->SSRSolutionID)
+          D_NO_OF_SATELLITES(nums)
           co->Supplied[COBOFS_URA] |= 1;
 #ifdef BNC_DEBUG_SSR
@@ -563,5 +564,5 @@
 #endif
           for (i = 0; i < nums; ++i) {
-            G_GPS_SATELLITE_ID(id)
+            D_GPS_SATELLITE_ID(id)
             for (pos = satoffset[s];
                 pos < satoffset[s] + co->NumberOfSat[s] && co->Sat[pos].ID != id;
@@ -573,5 +574,5 @@
               ++co->NumberOfSat[s];
             co->Sat[pos].ID = id;
-            G_SSR_URA(co->Sat[pos].UserRangeAccuracy)
+            D_SSR_URA(co->Sat[pos].UserRangeAccuracy)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d ura %8.3f \n",
@@ -584,11 +585,11 @@
             return GCOBR_NOCLOCKORBITPARAMETER;
           co->messageType = igstype;
-          G_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
-          G_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-          G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-          G_SSR_IOD(co->SSRIOD)
-          G_SSR_PROVIDER_ID(co->SSRProviderID)
-          G_SSR_SOLUTION_ID(co->SSRSolutionID)
-          G_NO_OF_SATELLITES(nums)
+          D_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+          D_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+          D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+          D_SSR_IOD(co->SSRIOD)
+          D_SSR_PROVIDER_ID(co->SSRProviderID)
+          D_SSR_SOLUTION_ID(co->SSRSolutionID)
+          D_NO_OF_SATELLITES(nums)
           co->Supplied[COBOFS_HR] |= 1;
 #ifdef BNC_DEBUG_SSR
@@ -598,5 +599,5 @@
 #endif
           for (i = 0; i < nums; ++i) {
-            G_GPS_SATELLITE_ID(id)
+            D_GPS_SATELLITE_ID(id)
             for (pos = satoffset[s];
                 pos < satoffset[s] + co->NumberOfSat[s] && co->Sat[pos].ID != id;
@@ -608,5 +609,5 @@
               ++co->NumberOfSat[s];
             co->Sat[pos].ID = id;
-            G_HR_CLOCK_CORRECTION(co->Sat[pos].hrclock)
+            D_HR_CLOCK_CORRECTION(co->Sat[pos].hrclock)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d hrClock %8.3f \n",
@@ -619,11 +620,11 @@
             return GCOBR_NOCODEBIASPARAMETER;
           b->messageType = igstype;
-          G_GPS_EPOCH_TIME_CHECK(b->EpochTime[s], b->NumberOfSat[s])
-          G_SSR_UPDATE_INTERVAL(b->UpdateInterval)
-          G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-          G_SSR_IOD(b->SSRIOD)
-          G_SSR_PROVIDER_ID(b->SSRProviderID)
-          G_SSR_SOLUTION_ID(b->SSRSolutionID)
-          G_NO_OF_SATELLITES(nums)
+          D_GPS_EPOCH_TIME_CHECK(b->EpochTime[s], b->NumberOfSat[s])
+          D_SSR_UPDATE_INTERVAL(b->UpdateInterval)
+          D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+          D_SSR_IOD(b->SSRIOD)
+          D_SSR_PROVIDER_ID(b->SSRProviderID)
+          D_SSR_SOLUTION_ID(b->SSRSolutionID)
+          D_NO_OF_SATELLITES(nums)
 #ifdef BNC_DEBUG_SSR
           fprintf(stderr, "epochTime %d ui %d mmi %d sats %d/%d ssrIod %d providerId %d solId %d\n",
@@ -632,5 +633,5 @@
 #endif
           for (i = 0; i < nums; ++i) {
-            G_GPS_SATELLITE_ID(id)
+            D_GPS_SATELLITE_ID(id)
             for (pos = satoffset[s];
                 pos < satoffset[s] + b->NumberOfSat[s] && b->Sat[pos].ID != id;
@@ -642,5 +643,5 @@
               ++b->NumberOfSat[s];
             b->Sat[pos].ID = id;
-            G_NO_OF_BIASES(b->Sat[pos].NumberOfCodeBiases)
+            D_NO_OF_BIASES(b->Sat[pos].NumberOfCodeBiases)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d #%d ",
@@ -648,6 +649,6 @@
 #endif
             for (j = 0; j < b->Sat[pos].NumberOfCodeBiases; ++j) {
-              G_GNSS_SIGNAL_IDENTIFIER(b->Sat[pos].Biases[j].Type)
-              G_CODE_BIAS(b->Sat[pos].Biases[j].Bias)
+              D_GNSS_SIGNAL_IDENTIFIER(b->Sat[pos].Biases[j].Type)
+              D_CODE_BIAS(b->Sat[pos].Biases[j].Bias)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "t%02d b %8.2f ",
@@ -664,13 +665,13 @@
               return GCOBR_NOPHASEBIASPARAMETER;
             pb->messageType = igstype;
-            G_GPS_EPOCH_TIME_CHECK(pb->EpochTime[s], pb->NumberOfSat[s])
-            G_SSR_UPDATE_INTERVAL(pb->UpdateInterval)
-            G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-            G_SSR_IOD(pb->SSRIOD)
-            G_SSR_PROVIDER_ID(pb->SSRProviderID)
-            G_SSR_SOLUTION_ID(pb->SSRSolutionID)
-            G_DISPERSIVE_BIAS_INDICATOR(pb->DispersiveBiasConsistencyIndicator)
-            G_MW_CONSISTENCY_INDICATOR(pb->MWConsistencyIndicator)
-            G_NO_OF_SATELLITES(nums)
+            D_GPS_EPOCH_TIME_CHECK(pb->EpochTime[s], pb->NumberOfSat[s])
+            D_SSR_UPDATE_INTERVAL(pb->UpdateInterval)
+            D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+            D_SSR_IOD(pb->SSRIOD)
+            D_SSR_PROVIDER_ID(pb->SSRProviderID)
+            D_SSR_SOLUTION_ID(pb->SSRSolutionID)
+            D_DISPERSIVE_BIAS_INDICATOR(pb->DispersiveBiasConsistencyIndicator)
+            D_MW_CONSISTENCY_INDICATOR(pb->MWConsistencyIndicator)
+            D_NO_OF_SATELLITES(nums)
 #ifdef BNC_DEBUG_SSR
           fprintf(stderr, "epochTime %d ui %d mmi %d sats %d/%d ssrIod %d providerId %d solId %d dispInd %d mwInd %d\n",
@@ -680,5 +681,5 @@
 #endif
             for (i = 0; i < nums; ++i) {
-              G_GPS_SATELLITE_ID(id)
+              D_GPS_SATELLITE_ID(id)
               for (pos = satoffset[s];
                   pos < satoffset[s] + pb->NumberOfSat[s] && pb->Sat[pos].ID != id;
@@ -690,7 +691,7 @@
                 ++pb->NumberOfSat[s];
               pb->Sat[pos].ID = id;
-              G_NO_OF_BIASES(pb->Sat[pos].NumberOfPhaseBiases)
-              G_YAW_ANGLE(pb->Sat[pos].YawAngle)
-              G_YAW_RATE(pb->Sat[pos].YawRate)
+              D_NO_OF_BIASES(pb->Sat[pos].NumberOfPhaseBiases)
+              D_YAW_ANGLE(pb->Sat[pos].YawAngle)
+              D_YAW_RATE(pb->Sat[pos].YawRate)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d #%d y %10.6f yr %10.6f ",
@@ -699,9 +700,9 @@
 #endif
               for (j = 0; j < pb->Sat[pos].NumberOfPhaseBiases; ++j) {
-                G_GNSS_SIGNAL_IDENTIFIER(pb->Sat[pos].Biases[j].Type)
-                G_INTEGER_INDICATOR(pb->Sat[pos].Biases[j].SignalIntegerIndicator)
-                G_WIDE_LANE_INDICATOR(pb->Sat[pos].Biases[j].SignalsWideLaneIntegerIndicator)
-                G_DISCONTINUITY_COUNTER(pb->Sat[pos].Biases[j].SignalDiscontinuityCounter)
-                G_PHASE_BIAS(pb->Sat[pos].Biases[j].Bias)
+                D_GNSS_SIGNAL_IDENTIFIER(pb->Sat[pos].Biases[j].Type)
+                D_INTEGER_INDICATOR(pb->Sat[pos].Biases[j].SignalIntegerIndicator)
+                D_WIDE_LANE_INDICATOR(pb->Sat[pos].Biases[j].SignalsWideLaneIntegerIndicator)
+                D_DISCONTINUITY_COUNTER(pb->Sat[pos].Biases[j].SignalDiscontinuityCounter)
+                D_PHASE_BIAS_CORRECTION(pb->Sat[pos].Biases[j].Bias)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "t%02d int %d wl %d disc %02d b %8.4f ",
Index: trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm.cpp
===================================================================
--- trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm.cpp	(revision 10989)
+++ trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm.cpp	(revision 10990)
@@ -69,5 +69,5 @@
     if (status[s][COBOFS_ORBIT]) {
       INITBLOCK
-      T_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_ORBIT)
+      E_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_ORBIT)
       switch (s) {
         case CLOCKORBIT_SATGPS:
@@ -76,52 +76,52 @@
         case CLOCKORBIT_SATSBAS:
         case CLOCKORBIT_SATBDS:
-          T_GPS_EPOCH_TIME(co->EpochTime[s])
+          E_GPS_EPOCH_TIME(co->EpochTime[s])
           break;
         case CLOCKORBIT_SATGLONASS:
-          T_GLONASS_EPOCH_TIME(co->EpochTime[s])
-          break;
-      }
-      T_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-      T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-      T_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
-      T_SSR_IOD(co->SSRIOD)
-      T_SSR_PROVIDER_ID(co->SSRProviderID)
-      T_SSR_SOLUTION_ID(co->SSRSolutionID)
-      T_NO_OF_SATELLITES(co->NumberOfSat[s])
+          E_GLONASS_EPOCH_TIME(co->EpochTime[s])
+          break;
+      }
+      E_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+      E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+      E_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
+      E_SSR_IOD(co->SSRIOD)
+      E_SSR_PROVIDER_ID(co->SSRProviderID)
+      E_SSR_SOLUTION_ID(co->SSRSolutionID)
+      E_NO_OF_SATELLITES(co->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + co->NumberOfSat[s]; ++i) {
         switch (s)         {
           case CLOCKORBIT_SATGPS:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
-            T_GPS_IODE(co->Sat[i].IOD)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_GPS_IODE(co->Sat[i].IOD)
             break;
           case CLOCKORBIT_SATGLONASS:
-            T_GLONASS_SATELLITE_ID(co->Sat[i].ID)
-            T_GLONASS_IOD(co->Sat[i].IOD)
+            E_GLONASS_SATELLITE_ID(co->Sat[i].ID)
+            E_GLONASS_IOD(co->Sat[i].IOD)
             break;
           case CLOCKORBIT_SATGALILEO:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
-            T_GALILEO_IOD(co->Sat[i].IOD)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_GALILEO_IOD(co->Sat[i].IOD)
             break;
           case CLOCKORBIT_SATQZSS:
-            T_QZSS_SATELLITE_ID(co->Sat[i].ID)
-            T_GPS_IODE(co->Sat[i].IOD)
+            E_QZSS_SATELLITE_ID_OLD(co->Sat[i].ID)
+            E_GPS_IODE(co->Sat[i].IOD)
             break;
           case CLOCKORBIT_SATSBAS:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
-            T_SBAS_T0MOD(co->Sat[i].toe)
-            T_SBAS_IODCRC(co->Sat[i].IOD)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_SBAS_T0MOD(co->Sat[i].toe)
+            E_SBAS_IODCRC(co->Sat[i].IOD)
             break;
           case CLOCKORBIT_SATBDS:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
-            T_BDS_TOEMOD(co->Sat[i].toe)
-            T_BDS_IOD(co->Sat[i].IOD)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_BDS_TOEMOD(co->Sat[i].toe)
+            E_BDS_IOD(co->Sat[i].IOD)
             break;
         }
-        T_DELTA_RADIAL(co->Sat[i].Orbit.DeltaRadial)
-        T_DELTA_ALONG_TRACK(co->Sat[i].Orbit.DeltaAlongTrack)
-        T_DELTA_CROSS_TRACK(co->Sat[i].Orbit.DeltaCrossTrack)
-        T_DELTA_DOT_RADIAL(co->Sat[i].Orbit.DotDeltaRadial)
-        T_DELTA_DOT_ALONG_TRACK(co->Sat[i].Orbit.DotDeltaAlongTrack)
-        T_DELTA_DOT_CROSS_TRACK(co->Sat[i].Orbit.DotDeltaCrossTrack)
+        E_DELTA_RADIAL(co->Sat[i].Orbit.DeltaRadial)
+        E_DELTA_ALONG_TRACK(co->Sat[i].Orbit.DeltaAlongTrack)
+        E_DELTA_CROSS_TRACK(co->Sat[i].Orbit.DeltaCrossTrack)
+        E_DOT_DELTA_RADIAL(co->Sat[i].Orbit.DotDeltaRadial)
+        E_DOT_DELTA_ALONG_TRACK(co->Sat[i].Orbit.DotDeltaAlongTrack)
+        E_DOT_DELTA_CROSS_TRACK(co->Sat[i].Orbit.DotDeltaCrossTrack)
       }
       ENDBLOCK
@@ -129,5 +129,5 @@
     if (status[s][COBOFS_CLOCK]) {
       INITBLOCK
-      T_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_CLOCK)
+      E_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_CLOCK)
       switch (s) {
         case CLOCKORBIT_SATGPS:
@@ -136,16 +136,16 @@
         case CLOCKORBIT_SATSBAS:
         case CLOCKORBIT_SATBDS:
-          T_GPS_EPOCH_TIME(co->EpochTime[s])
+          E_GPS_EPOCH_TIME(co->EpochTime[s])
           break;
         case CLOCKORBIT_SATGLONASS:
-          T_GLONASS_EPOCH_TIME(co->EpochTime[s])
-          break;
-      }
-      T_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-      T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-      T_SSR_IOD(co->SSRIOD)
-      T_SSR_PROVIDER_ID(co->SSRProviderID)
-      T_SSR_SOLUTION_ID(co->SSRSolutionID)
-      T_NO_OF_SATELLITES(co->NumberOfSat[s])
+          E_GLONASS_EPOCH_TIME(co->EpochTime[s])
+          break;
+      }
+      E_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+      E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+      E_SSR_IOD(co->SSRIOD)
+      E_SSR_PROVIDER_ID(co->SSRProviderID)
+      E_SSR_SOLUTION_ID(co->SSRSolutionID)
+      E_NO_OF_SATELLITES(co->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + co->NumberOfSat[s]; ++i) {
         switch (s) {
@@ -154,16 +154,16 @@
           case CLOCKORBIT_SATSBAS:
           case CLOCKORBIT_SATBDS:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
             break;
           case CLOCKORBIT_SATQZSS:
-            T_QZSS_SATELLITE_ID(co->Sat[i].ID)
+            E_QZSS_SATELLITE_ID_OLD(co->Sat[i].ID)
             break;
           case CLOCKORBIT_SATGLONASS:
-            T_GLONASS_SATELLITE_ID(co->Sat[i].ID)
+            E_GLONASS_SATELLITE_ID(co->Sat[i].ID)
             break;
         }
-        T_DELTA_CLOCK_C0(co->Sat[i].Clock.DeltaA0)
-        T_DELTA_CLOCK_C1(co->Sat[i].Clock.DeltaA1)
-        T_DELTA_CLOCK_C2(co->Sat[i].Clock.DeltaA2)
+        E_DELTA_CLOCK_C0(co->Sat[i].Clock.DeltaA0)
+        E_DELTA_CLOCK_C1(co->Sat[i].Clock.DeltaA1)
+        E_DELTA_CLOCK_C2(co->Sat[i].Clock.DeltaA2)
       }
       ENDBLOCK
@@ -171,6 +171,6 @@
     if (status[s][COBOFS_COMBINED]) {
 #ifdef SPLITBLOCK
-      int nums = co->NumberOfSat[s];
-      int left, start = satoffset[s];
+      unsigned int nums = co->NumberOfSat[s];
+      unsigned int left, start = satoffset[s];
       if(nums > 28) {/* split block when more than 28 sats */
         left = nums - 28;
@@ -183,5 +183,5 @@
 #endif
       INITBLOCK
-      T_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_COMBINED)
+      E_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_COMBINED)
       switch (s) {
         case CLOCKORBIT_SATGPS:
@@ -190,25 +190,25 @@
         case CLOCKORBIT_SATSBAS:
         case CLOCKORBIT_SATBDS:
-          T_GPS_EPOCH_TIME(co->EpochTime[s])
+          E_GPS_EPOCH_TIME(co->EpochTime[s])
           break;
         case CLOCKORBIT_SATGLONASS:
-          T_GLONASS_EPOCH_TIME(co->EpochTime[s])
-          break;
-      }
-      T_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+          E_GLONASS_EPOCH_TIME(co->EpochTime[s])
+          break;
+      }
+      E_SSR_UPDATE_INTERVAL(co->UpdateInterval)
 #ifdef SPLITBLOCK
-      T_MULTIPLE_MESSAGE_INDICATOR((moremessagesfollow || left) ? 1 : 0)
+      E_MULTIPLE_MESSAGE_INDICATOR((moremessagesfollow || left) ? 1 : 0)
 #else
-      T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-#endif
-      T_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
-      T_SSR_IOD(co->SSRIOD)
-      T_SSR_PROVIDER_ID(co->SSRProviderID)
-      T_SSR_SOLUTION_ID(co->SSRSolutionID)
+      E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+#endif
+      E_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
+      E_SSR_IOD(co->SSRIOD)
+      E_SSR_PROVIDER_ID(co->SSRProviderID)
+      E_SSR_SOLUTION_ID(co->SSRSolutionID)
 #ifdef SPLITBLOCK
-      T_NO_OF_SATELLITES(nums)
+      E_NO_OF_SATELLITES(nums)
       for(i = start; i < start+nums; ++i)
 #else
-      T_NO_OF_SATELLITES(co->NumberOfSat[s])
+      E_NO_OF_SATELLITES(co->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + co->NumberOfSat[s]; ++i)
 #endif
@@ -216,39 +216,39 @@
         switch (s) {
           case CLOCKORBIT_SATGPS:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
-            T_GPS_IODE(co->Sat[i].IOD)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_GPS_IODE(co->Sat[i].IOD)
             break;
           case CLOCKORBIT_SATGLONASS:
-            T_GLONASS_SATELLITE_ID(co->Sat[i].ID)
-            T_GLONASS_IOD(co->Sat[i].IOD)
+            E_GLONASS_SATELLITE_ID(co->Sat[i].ID)
+            E_GLONASS_IOD(co->Sat[i].IOD)
             break;
           case CLOCKORBIT_SATGALILEO:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
-            T_GALILEO_IOD(co->Sat[i].IOD)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_GALILEO_IOD(co->Sat[i].IOD)
             break;
           case CLOCKORBIT_SATQZSS:
-            T_QZSS_SATELLITE_ID(co->Sat[i].ID)
-            T_GPS_IODE(co->Sat[i].IOD)
+            E_QZSS_SATELLITE_ID_OLD(co->Sat[i].ID)
+            E_GPS_IODE(co->Sat[i].IOD)
             break;
           case CLOCKORBIT_SATSBAS:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
-            T_SBAS_T0MOD(co->Sat[i].toe)
-            T_SBAS_IODCRC(co->Sat[i].IOD)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_SBAS_T0MOD(co->Sat[i].toe)
+            E_SBAS_IODCRC(co->Sat[i].IOD)
             break;
           case CLOCKORBIT_SATBDS:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
-            T_BDS_TOEMOD(co->Sat[i].toe)
-            T_BDS_IOD(co->Sat[i].IOD)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_BDS_TOEMOD(co->Sat[i].toe)
+            E_BDS_IOD(co->Sat[i].IOD)
             break;
         }
-        T_DELTA_RADIAL(co->Sat[i].Orbit.DeltaRadial)
-        T_DELTA_ALONG_TRACK(co->Sat[i].Orbit.DeltaAlongTrack)
-        T_DELTA_CROSS_TRACK(co->Sat[i].Orbit.DeltaCrossTrack)
-        T_DELTA_DOT_RADIAL(co->Sat[i].Orbit.DotDeltaRadial)
-        T_DELTA_DOT_ALONG_TRACK(co->Sat[i].Orbit.DotDeltaAlongTrack)
-        T_DELTA_DOT_CROSS_TRACK(co->Sat[i].Orbit.DotDeltaCrossTrack)
-        T_DELTA_CLOCK_C0(co->Sat[i].Clock.DeltaA0)
-        T_DELTA_CLOCK_C1(co->Sat[i].Clock.DeltaA1)
-        T_DELTA_CLOCK_C2(co->Sat[i].Clock.DeltaA2)
+        E_DELTA_RADIAL(co->Sat[i].Orbit.DeltaRadial)
+        E_DELTA_ALONG_TRACK(co->Sat[i].Orbit.DeltaAlongTrack)
+        E_DELTA_CROSS_TRACK(co->Sat[i].Orbit.DeltaCrossTrack)
+        E_DOT_DELTA_RADIAL(co->Sat[i].Orbit.DotDeltaRadial)
+        E_DOT_DELTA_ALONG_TRACK(co->Sat[i].Orbit.DotDeltaAlongTrack)
+        E_DOT_DELTA_CROSS_TRACK(co->Sat[i].Orbit.DotDeltaCrossTrack)
+        E_DELTA_CLOCK_C0(co->Sat[i].Clock.DeltaA0)
+        E_DELTA_CLOCK_C1(co->Sat[i].Clock.DeltaA1)
+        E_DELTA_CLOCK_C2(co->Sat[i].Clock.DeltaA2)
       }
       ENDBLOCK
@@ -262,5 +262,5 @@
     if (status[s][COBOFS_HR]) {
       INITBLOCK
-      T_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_HR)
+      E_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_HR)
       switch (s) {
         case CLOCKORBIT_SATGPS:
@@ -269,16 +269,16 @@
         case CLOCKORBIT_SATSBAS:
         case CLOCKORBIT_SATBDS:
-          T_GPS_EPOCH_TIME(co->EpochTime[s])
+          E_GPS_EPOCH_TIME(co->EpochTime[s])
           break;
         case CLOCKORBIT_SATGLONASS:
-          T_GLONASS_EPOCH_TIME(co->EpochTime[s])
-          break;
-      }
-      T_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-      T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-      T_SSR_IOD(co->SSRIOD)
-      T_SSR_PROVIDER_ID(co->SSRProviderID)
-      T_SSR_SOLUTION_ID(co->SSRSolutionID)
-      T_NO_OF_SATELLITES(co->NumberOfSat[s])
+          E_GLONASS_EPOCH_TIME(co->EpochTime[s])
+          break;
+      }
+      E_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+      E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+      E_SSR_IOD(co->SSRIOD)
+      E_SSR_PROVIDER_ID(co->SSRProviderID)
+      E_SSR_SOLUTION_ID(co->SSRSolutionID)
+      E_NO_OF_SATELLITES(co->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + co->NumberOfSat[s]; ++i) {
         switch (s) {
@@ -287,14 +287,14 @@
             case CLOCKORBIT_SATSBAS:
             case CLOCKORBIT_SATBDS:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
             break;
           case CLOCKORBIT_SATQZSS:
-            T_QZSS_SATELLITE_ID(co->Sat[i].ID)
+            E_QZSS_SATELLITE_ID_OLD(co->Sat[i].ID)
             break;
           case CLOCKORBIT_SATGLONASS:
-            T_GLONASS_SATELLITE_ID(co->Sat[i].ID)
+            E_GLONASS_SATELLITE_ID(co->Sat[i].ID)
             break;
         }
-        T_HR_CLOCK_CORRECTION(co->Sat[i].hrclock)
+        E_HR_CLOCK_CORRECTION(co->Sat[i].hrclock)
       }
       ENDBLOCK
@@ -302,5 +302,5 @@
     if (status[s][COBOFS_URA]) {
       INITBLOCK
-      T_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_URA)
+      E_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_URA)
       switch (s) {
         case CLOCKORBIT_SATGPS:
@@ -309,16 +309,16 @@
         case CLOCKORBIT_SATSBAS:
         case CLOCKORBIT_SATBDS:
-          T_GPS_EPOCH_TIME(co->EpochTime[s])
+          E_GPS_EPOCH_TIME(co->EpochTime[s])
           break;
         case CLOCKORBIT_SATGLONASS:
-          T_GLONASS_EPOCH_TIME(co->EpochTime[s])
-          break;
-      }
-      T_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-      T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-      T_SSR_IOD(co->SSRIOD)
-      T_SSR_PROVIDER_ID(co->SSRProviderID)
-      T_SSR_SOLUTION_ID(co->SSRSolutionID)
-      T_NO_OF_SATELLITES(co->NumberOfSat[s])
+          E_GLONASS_EPOCH_TIME(co->EpochTime[s])
+          break;
+      }
+      E_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+      E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+      E_SSR_IOD(co->SSRIOD)
+      E_SSR_PROVIDER_ID(co->SSRProviderID)
+      E_SSR_SOLUTION_ID(co->SSRSolutionID)
+      E_NO_OF_SATELLITES(co->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + co->NumberOfSat[s]; ++i) {
         switch (s) {
@@ -327,14 +327,14 @@
           case CLOCKORBIT_SATSBAS:
           case CLOCKORBIT_SATBDS:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
             break;
           case CLOCKORBIT_SATQZSS:
-            T_QZSS_SATELLITE_ID(co->Sat[i].ID)
+            E_QZSS_SATELLITE_ID_OLD(co->Sat[i].ID)
             break;
           case CLOCKORBIT_SATGLONASS:
-            T_GLONASS_SATELLITE_ID(co->Sat[i].ID)
+            E_GLONASS_SATELLITE_ID(co->Sat[i].ID)
             break;
         }
-        T_SSR_URA(ValueToURA(co->Sat[i].UserRangeAccuracy))
+        E_SSR_URA(ValueToURA(co->Sat[i].UserRangeAccuracy))
       }
       ENDBLOCK
@@ -353,5 +353,5 @@
     if (b->NumberOfSat[s] && (type == CBTYPE_AUTO || type == corbase[s] + COBOFS_CBIAS)) {
       INITBLOCK
-      T_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_CBIAS)
+      E_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_CBIAS)
       switch (s) {
         case CLOCKORBIT_SATGPS:
@@ -360,16 +360,16 @@
         case CLOCKORBIT_SATSBAS:
         case CLOCKORBIT_SATBDS:
-          T_GPS_EPOCH_TIME(b->EpochTime[s])
+          E_GPS_EPOCH_TIME(b->EpochTime[s])
           break;
         case CLOCKORBIT_SATGLONASS:
-          T_GLONASS_EPOCH_TIME(b->EpochTime[s])
-          break;
-      }
-      T_SSR_UPDATE_INTERVAL(b->UpdateInterval)
-      T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-      T_SSR_IOD(b->SSRIOD)
-      T_SSR_PROVIDER_ID(b->SSRProviderID)
-      T_SSR_SOLUTION_ID(b->SSRSolutionID)
-      T_NO_OF_SATELLITES(b->NumberOfSat[s])
+          E_GLONASS_EPOCH_TIME(b->EpochTime[s])
+          break;
+      }
+      E_SSR_UPDATE_INTERVAL(b->UpdateInterval)
+      E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+      E_SSR_IOD(b->SSRIOD)
+      E_SSR_PROVIDER_ID(b->SSRProviderID)
+      E_SSR_SOLUTION_ID(b->SSRSolutionID)
+      E_NO_OF_SATELLITES(b->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + b->NumberOfSat[s]; ++i) {
         switch (s) {
@@ -378,17 +378,17 @@
           case CLOCKORBIT_SATSBAS:
           case CLOCKORBIT_SATBDS:
-            T_GPS_SATELLITE_ID(b->Sat[i].ID)
+            E_GPS_SATELLITE_ID(b->Sat[i].ID)
             break;
           case CLOCKORBIT_SATQZSS:
-            T_QZSS_SATELLITE_ID(b->Sat[i].ID)
+            E_QZSS_SATELLITE_ID_OLD(b->Sat[i].ID)
             break;
           case CLOCKORBIT_SATGLONASS:
-            T_GLONASS_SATELLITE_ID(b->Sat[i].ID)
+            E_GLONASS_SATELLITE_ID(b->Sat[i].ID)
             break;
         }
-        T_NO_OF_BIASES(b->Sat[i].NumberOfCodeBiases)
+        E_NO_OF_BIASES(b->Sat[i].NumberOfCodeBiases)
         for (j = 0; j < b->Sat[i].NumberOfCodeBiases; ++j) {
-          T_GNSS_SIGNAL_IDENTIFIER(b->Sat[i].Biases[j].Type)
-          T_CODE_BIAS(b->Sat[i].Biases[j].Bias)
+          E_GNSS_SIGNAL_IDENTIFIER(b->Sat[i].Biases[j].Type)
+          E_CODE_BIAS(b->Sat[i].Biases[j].Bias)
         }
       }
@@ -408,5 +408,5 @@
     if (b->NumberOfSat[s] && (type == PBTYPE_AUTO || type == s + PBTYPE_BASE)) {
       INITBLOCK
-      T_RTCM_MESSAGE_NUMBER(s + PBTYPE_BASE)
+      E_RTCM_MESSAGE_NUMBER(s + PBTYPE_BASE)
       switch (s) {
         case CLOCKORBIT_SATGPS:
@@ -415,18 +415,18 @@
         case CLOCKORBIT_SATSBAS:
         case CLOCKORBIT_SATBDS:
-          T_GPS_EPOCH_TIME(b->EpochTime[s])
+          E_GPS_EPOCH_TIME(b->EpochTime[s])
           break;
         case CLOCKORBIT_SATGLONASS:
-          T_GLONASS_EPOCH_TIME(b->EpochTime[s])
-          break;
-      }
-      T_SSR_UPDATE_INTERVAL(b->UpdateInterval)
-      T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-      T_SSR_IOD(b->SSRIOD)
-      T_SSR_PROVIDER_ID(b->SSRProviderID)
-      T_SSR_SOLUTION_ID(b->SSRSolutionID)
-      T_DISPERSIVE_BIAS_INDICATOR(b->DispersiveBiasConsistencyIndicator ? 1 : 0)
-      T_MW_CONSISTENCY_INDICATOR(b->MWConsistencyIndicator ? 1 : 0)
-      T_NO_OF_SATELLITES(b->NumberOfSat[s])
+          E_GLONASS_EPOCH_TIME(b->EpochTime[s])
+          break;
+      }
+      E_SSR_UPDATE_INTERVAL(b->UpdateInterval)
+      E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+      E_SSR_IOD(b->SSRIOD)
+      E_SSR_PROVIDER_ID(b->SSRProviderID)
+      E_SSR_SOLUTION_ID(b->SSRSolutionID)
+      E_DISPERSIVE_BIAS_INDICATOR(b->DispersiveBiasConsistencyIndicator ? 1 : 0)
+      E_MW_CONSISTENCY_INDICATOR(b->MWConsistencyIndicator ? 1 : 0)
+      E_NO_OF_SATELLITES(b->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + b->NumberOfSat[s]; ++i) {
         switch (s) {
@@ -435,25 +435,25 @@
             case CLOCKORBIT_SATSBAS:
             case CLOCKORBIT_SATBDS:
-            T_GPS_SATELLITE_ID(b->Sat[i].ID)
+            E_GPS_SATELLITE_ID(b->Sat[i].ID)
             break;
           case CLOCKORBIT_SATQZSS:
-            T_QZSS_SATELLITE_ID(b->Sat[i].ID)
+            E_QZSS_SATELLITE_ID_OLD(b->Sat[i].ID)
             break;
           case CLOCKORBIT_SATGLONASS:
-            T_GLONASS_SATELLITE_ID(b->Sat[i].ID)
+            E_GLONASS_SATELLITE_ID(b->Sat[i].ID)
             break;
         }
-        T_NO_OF_BIASES(b->Sat[i].NumberOfPhaseBiases)
-        T_YAW_ANGLE(b->Sat[i].YawAngle)
-        T_YAW_RATE(b->Sat[i].YawRate)
+        E_NO_OF_BIASES(b->Sat[i].NumberOfPhaseBiases)
+        E_YAW_ANGLE(b->Sat[i].YawAngle)
+        E_YAW_RATE(b->Sat[i].YawRate)
         for (j = 0; j < b->Sat[i].NumberOfPhaseBiases; ++j) {
-          T_GNSS_SIGNAL_IDENTIFIER(b->Sat[i].Biases[j].Type)
-          T_INTEGER_INDICATOR(
+          E_GNSS_SIGNAL_IDENTIFIER(b->Sat[i].Biases[j].Type)
+          E_INTEGER_INDICATOR(
               b->Sat[i].Biases[j].SignalIntegerIndicator ? 1 : 0)
-          T_WIDE_LANE_INDICATOR(
+          E_WIDE_LANE_INDICATOR(
               b->Sat[i].Biases[j].SignalsWideLaneIntegerIndicator)
-          T_DISCONTINUITY_COUNTER(
+          E_DISCONTINUITY_COUNTER(
               b->Sat[i].Biases[j].SignalDiscontinuityCounter)
-          T_PHASE_BIAS(b->Sat[i].Biases[j].Bias)
+          E_PHASE_BIAS_CORRECTION(b->Sat[i].Biases[j].Bias)
         }
       }
@@ -469,25 +469,25 @@
   STARTDATA
     INITBLOCK
-  T_RTCM_MESSAGE_NUMBER(VTEC_BASE)
-  T_GPS_EPOCH_TIME(v->EpochTime)
-  T_SSR_UPDATE_INTERVAL(v->UpdateInterval)
-  T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-  T_SSR_IOD(v->SSRIOD)
-  T_SSR_PROVIDER_ID(v->SSRProviderID)
-  T_SSR_SOLUTION_ID(v->SSRSolutionID)
-  T_VTEC_QUALITY_INDICATOR(v->Quality)
-  T_NO_IONO_LAYERS(v->NumLayers)
+  E_RTCM_MESSAGE_NUMBER(VTEC_BASE)
+  E_GPS_EPOCH_TIME(v->EpochTime)
+  E_SSR_UPDATE_INTERVAL(v->UpdateInterval)
+  E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+  E_SSR_IOD(v->SSRIOD)
+  E_SSR_PROVIDER_ID(v->SSRProviderID)
+  E_SSR_SOLUTION_ID(v->SSRSolutionID)
+  E_VTEC_QUALITY_INDICATOR(v->Quality)
+  E_NO_IONO_LAYERS(v->NumLayers)
   for (l = 0; l < v->NumLayers; ++l) {
-    T_IONO_HEIGHT(v->Layers[l].Height)
-    T_IONO_DEGREE(v->Layers[l].Degree)
-    T_IONO_ORDER(v->Layers[l].Order)
+    E_IONO_HEIGHT(v->Layers[l].Height)
+    E_IONO_DEGREE(v->Layers[l].Degree)
+    E_IONO_ORDER(v->Layers[l].Order)
     for (o = 0; o <= v->Layers[l].Order; ++o) {
       for (d = o; d <= v->Layers[l].Degree; ++d) {
-        T_IONO_COEFF_C(v->Layers[l].Cosinus[d][o])
+        E_IONO_COEFF_C(v->Layers[l].Cosinus[d][o])
       }
     }
     for (o = 1; o <= v->Layers[l].Order; ++o) {
       for (d = o; d <= v->Layers[l].Degree; ++d) {
-        T_IONO_COEFF_S(v->Layers[l].Sinus[d][o])
+        E_IONO_COEFF_S(v->Layers[l].Sinus[d][o])
       }
     }
@@ -512,7 +512,7 @@
 #endif
 
-  G_HEADER(h)
-  G_RESERVEDH(rs)
-  G_SIZE(sizeofrtcmblock);
+  D_HEADER(h)
+  D_RESERVEDH(rs)
+  D_SIZE(sizeofrtcmblock);
 
   if ((unsigned char) h != 0xD3 || rs)
@@ -527,5 +527,5 @@
   size = sizeofrtcmblock; /* reduce size, so overflows are detected */
 
-  G_RTCM_MESSAGE_NUMBER(type)
+  D_RTCM_MESSAGE_NUMBER(type)
 #ifdef BNC_DEBUG_SSR
   fprintf(stderr, "type %d size %d\n",type,(int)sizeofrtcmblock);
@@ -538,12 +538,12 @@
       return GCOBR_NOVTECPARAMETER;
     memset(v, 0, sizeof(*v));
-    G_GPS_EPOCH_TIME(v->EpochTime)
-    G_SSR_UPDATE_INTERVAL(v->UpdateInterval)
-    G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-    G_SSR_IOD(v->SSRIOD)
-    G_SSR_PROVIDER_ID(v->SSRProviderID)
-    G_SSR_SOLUTION_ID(v->SSRSolutionID)
-    G_VTEC_QUALITY_INDICATOR(v->Quality)
-    G_NO_IONO_LAYERS(v->NumLayers)
+    D_GPS_EPOCH_TIME(v->EpochTime)
+    D_SSR_UPDATE_INTERVAL(v->UpdateInterval)
+    D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+    D_SSR_IOD(v->SSRIOD)
+    D_SSR_PROVIDER_ID(v->SSRProviderID)
+    D_SSR_SOLUTION_ID(v->SSRSolutionID)
+    D_VTEC_QUALITY_INDICATOR(v->Quality)
+    D_NO_IONO_LAYERS(v->NumLayers)
 #ifdef BNC_DEBUG_SSR
           fprintf(stderr, "epochTime %d ui %d mmi %d ssrIod %d providerId %d solId %d vtecQ %8.3f numLay %d \n",
@@ -552,7 +552,7 @@
 #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)
+      D_IONO_HEIGHT(v->Layers[l].Height)
+      D_IONO_DEGREE(v->Layers[l].Degree)
+      D_IONO_ORDER(v->Layers[l].Order)
 #ifdef BNC_DEBUG_SSR
           fprintf(stderr, "h  %8.3f deg %d ord %d \n",
@@ -561,5 +561,5 @@
       for (o = 0; o <= v->Layers[l].Order; ++o) {
         for (d = o; d <= v->Layers[l].Degree; ++d) {
-          G_IONO_COEFF_C(v->Layers[l].Cosinus[d][o])
+          D_IONO_COEFF_C(v->Layers[l].Cosinus[d][o])
 #ifdef BNC_DEBUG_SSR
           fprintf(stderr, "C[%02d][%02d]  %8.3f \n",
@@ -570,5 +570,5 @@
       for (o = 1; o <= v->Layers[l].Order; ++o) {
         for (d = o; d <= v->Layers[l].Degree; ++d) {
-          G_IONO_COEFF_S(v->Layers[l].Sinus[d][o])
+          D_IONO_COEFF_S(v->Layers[l].Sinus[d][o])
 #ifdef BNC_DEBUG_SSR
           fprintf(stderr, "S[%02d][%02d]  %8.3f \n",
@@ -596,18 +596,18 @@
         case CLOCKORBIT_SATSBAS:
         case CLOCKORBIT_SATBDS:
-          G_GPS_EPOCH_TIME_CHECK(pb->EpochTime[s], pb->NumberOfSat[s])
+          D_GPS_EPOCH_TIME_CHECK(pb->EpochTime[s], pb->NumberOfSat[s])
           break;
         case CLOCKORBIT_SATGLONASS:
-          G_GLONASS_EPOCH_TIME_CHECK(pb->EpochTime[s], pb->NumberOfSat[s])
-          break;
-      }
-      G_SSR_UPDATE_INTERVAL(pb->UpdateInterval)
-      G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-      G_SSR_IOD(pb->SSRIOD)
-      G_SSR_PROVIDER_ID(pb->SSRProviderID)
-      G_SSR_SOLUTION_ID(pb->SSRSolutionID)
-      G_DISPERSIVE_BIAS_INDICATOR(pb->DispersiveBiasConsistencyIndicator)
-      G_MW_CONSISTENCY_INDICATOR(pb->MWConsistencyIndicator)
-      G_NO_OF_SATELLITES(nums)
+          D_GLONASS_EPOCH_TIME_CHECK(pb->EpochTime[s], pb->NumberOfSat[s])
+          break;
+      }
+      D_SSR_UPDATE_INTERVAL(pb->UpdateInterval)
+      D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+      D_SSR_IOD(pb->SSRIOD)
+      D_SSR_PROVIDER_ID(pb->SSRProviderID)
+      D_SSR_SOLUTION_ID(pb->SSRSolutionID)
+      D_DISPERSIVE_BIAS_INDICATOR(pb->DispersiveBiasConsistencyIndicator)
+      D_MW_CONSISTENCY_INDICATOR(pb->MWConsistencyIndicator)
+      D_NO_OF_SATELLITES(nums)
 #ifdef BNC_DEBUG_SSR
           fprintf(stderr, "epochTime %d ui %d mmi %d sats %d/%d ssrIod %d providerId %d solId %d dispInd %d mwInd %d\n",
@@ -622,11 +622,11 @@
           case CLOCKORBIT_SATSBAS:
           case CLOCKORBIT_SATBDS:
-            G_GPS_SATELLITE_ID(id)
+            D_GPS_SATELLITE_ID(id)
             break;
           case CLOCKORBIT_SATQZSS:
-            G_QZSS_SATELLITE_ID(id)
+            D_QZSS_SATELLITE_ID_OLD(id)
             break;
           case CLOCKORBIT_SATGLONASS:
-            G_GLONASS_SATELLITE_ID(id)
+            D_GLONASS_SATELLITE_ID_OLD(id)
             break;
         }
@@ -640,7 +640,7 @@
           ++pb->NumberOfSat[s];
         pb->Sat[pos].ID = id;
-        G_NO_OF_BIASES(pb->Sat[pos].NumberOfPhaseBiases)
-        G_YAW_ANGLE(pb->Sat[pos].YawAngle)
-        G_YAW_RATE(pb->Sat[pos].YawRate)
+        D_NO_OF_BIASES(pb->Sat[pos].NumberOfPhaseBiases)
+        D_YAW_ANGLE(pb->Sat[pos].YawAngle)
+        D_YAW_RATE(pb->Sat[pos].YawRate)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d #%d y %10.6f yr %10.6f ",
@@ -649,11 +649,11 @@
 #endif
         for (j = 0; j < pb->Sat[pos].NumberOfPhaseBiases; ++j) {
-          G_GNSS_SIGNAL_IDENTIFIER(pb->Sat[pos].Biases[j].Type)
-          G_INTEGER_INDICATOR(pb->Sat[pos].Biases[j].SignalIntegerIndicator)
-          G_WIDE_LANE_INDICATOR(
+          D_GNSS_SIGNAL_IDENTIFIER(pb->Sat[pos].Biases[j].Type)
+          D_INTEGER_INDICATOR(pb->Sat[pos].Biases[j].SignalIntegerIndicator)
+          D_WIDE_LANE_INDICATOR(
               pb->Sat[pos].Biases[j].SignalsWideLaneIntegerIndicator)
-          G_DISCONTINUITY_COUNTER(
+          D_DISCONTINUITY_COUNTER(
               pb->Sat[pos].Biases[j].SignalDiscontinuityCounter)
-          G_PHASE_BIAS(pb->Sat[pos].Biases[j].Bias)
+          D_PHASE_BIAS_CORRECTION(pb->Sat[pos].Biases[j].Bias)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "t%02d int %d wl %d disc %d b %8.4f ",
@@ -688,17 +688,17 @@
             case CLOCKORBIT_SATSBAS:
             case CLOCKORBIT_SATBDS:
-              G_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+              D_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
               break;
             case CLOCKORBIT_SATGLONASS:
-              G_GLONASS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+              D_GLONASS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
               break;
           }
-          G_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-          G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-          G_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
-          G_SSR_IOD(co->SSRIOD)
-          G_SSR_PROVIDER_ID(co->SSRProviderID)
-          G_SSR_SOLUTION_ID(co->SSRSolutionID)
-          G_NO_OF_SATELLITES(nums)
+          D_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+          D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+          D_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
+          D_SSR_IOD(co->SSRIOD)
+          D_SSR_PROVIDER_ID(co->SSRProviderID)
+          D_SSR_SOLUTION_ID(co->SSRSolutionID)
+          D_NO_OF_SATELLITES(nums)
           co->Supplied[COBOFS_ORBIT] |= 1;
 #ifdef BNC_DEBUG_SSR
@@ -713,11 +713,11 @@
               case CLOCKORBIT_SATSBAS:
               case CLOCKORBIT_SATBDS:
-                G_GPS_SATELLITE_ID(id)
+                D_GPS_SATELLITE_ID(id)
                 break;
               case CLOCKORBIT_SATQZSS:
-                G_QZSS_SATELLITE_ID(id)
+                D_QZSS_SATELLITE_ID_OLD(id)
                 break;
               case CLOCKORBIT_SATGLONASS:
-                G_GLONASS_SATELLITE_ID(id)
+                D_GLONASS_SATELLITE_ID_OLD(id)
                 break;
             }
@@ -735,27 +735,27 @@
               case CLOCKORBIT_SATGPS:
                 case CLOCKORBIT_SATQZSS:
-                  G_GPS_IODE(co->Sat[pos].IOD)
+                  D_GPS_IODE(co->Sat[pos].IOD)
                 break;
               case CLOCKORBIT_SATGLONASS:
-                G_GPS_IODE(co->Sat[pos].IOD)
+                D_GPS_IODE(co->Sat[pos].IOD)
                 break;
               case CLOCKORBIT_SATGALILEO:
-                G_GALILEO_IOD(co->Sat[pos].IOD)
+                D_GALILEO_IOD(co->Sat[pos].IOD)
                 break;
               case CLOCKORBIT_SATSBAS:
-                G_SBAS_T0MOD(co->Sat[pos].toe)
-                G_SBAS_IODCRC(co->Sat[pos].IOD)
+                D_SBAS_T0MOD(co->Sat[pos].toe)
+                D_SBAS_IODCRC(co->Sat[pos].IOD)
                 break;
               case CLOCKORBIT_SATBDS:
-                G_BDS_TOEMOD(co->Sat[pos].toe)
-                G_GPS_IODE(co->Sat[pos].IOD)
+                D_BDS_TOEMOD(co->Sat[pos].toe)
+                D_GPS_IODE(co->Sat[pos].IOD)
                 break;
             }
-            G_DELTA_RADIAL(co->Sat[pos].Orbit.DeltaRadial)
-            G_DELTA_ALONG_TRACK(co->Sat[pos].Orbit.DeltaAlongTrack)
-            G_DELTA_CROSS_TRACK(co->Sat[pos].Orbit.DeltaCrossTrack)
-            G_DELTA_DOT_RADIAL(co->Sat[pos].Orbit.DotDeltaRadial)
-            G_DELTA_DOT_ALONG_TRACK(co->Sat[pos].Orbit.DotDeltaAlongTrack)
-            G_DELTA_DOT_CROSS_TRACK(co->Sat[pos].Orbit.DotDeltaCrossTrack)
+            D_DELTA_RADIAL(co->Sat[pos].Orbit.DeltaRadial)
+            D_DELTA_ALONG_TRACK(co->Sat[pos].Orbit.DeltaAlongTrack)
+            D_DELTA_CROSS_TRACK(co->Sat[pos].Orbit.DeltaCrossTrack)
+            D_DOT_DELTA_RADIAL(co->Sat[pos].Orbit.DotDeltaRadial)
+            D_DOT_DELTA_ALONG_TRACK(co->Sat[pos].Orbit.DotDeltaAlongTrack)
+            D_DOT_DELTA_CROSS_TRACK(co->Sat[pos].Orbit.DotDeltaCrossTrack)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d iod %3d dr %8.4f da %8.4f dc %8.4f dr %8.3f da %8.3f dc %8.3f\n",
@@ -778,16 +778,16 @@
             case CLOCKORBIT_SATSBAS:
             case CLOCKORBIT_SATBDS:
-              G_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+              D_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
               break;
             case CLOCKORBIT_SATGLONASS:
-              G_GLONASS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+              D_GLONASS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
               break;
           }
-          G_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-          G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-          G_SSR_IOD(co->SSRIOD)
-          G_SSR_PROVIDER_ID(co->SSRProviderID)
-          G_SSR_SOLUTION_ID(co->SSRSolutionID)
-          G_NO_OF_SATELLITES(nums)
+          D_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+          D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+          D_SSR_IOD(co->SSRIOD)
+          D_SSR_PROVIDER_ID(co->SSRProviderID)
+          D_SSR_SOLUTION_ID(co->SSRSolutionID)
+          D_NO_OF_SATELLITES(nums)
           co->Supplied[COBOFS_CLOCK] |= 1;
 #ifdef BNC_DEBUG_SSR
@@ -802,11 +802,11 @@
                 case CLOCKORBIT_SATSBAS:
                 case CLOCKORBIT_SATBDS:
-                G_GPS_SATELLITE_ID(id)
+                D_GPS_SATELLITE_ID(id)
                 break;
               case CLOCKORBIT_SATQZSS:
-                G_QZSS_SATELLITE_ID(id)
+                D_QZSS_SATELLITE_ID_OLD(id)
                 break;
               case CLOCKORBIT_SATGLONASS:
-                G_GLONASS_SATELLITE_ID(id)
+                D_GLONASS_SATELLITE_ID_OLD(id)
                 break;
             }
@@ -821,7 +821,7 @@
             co->Sat[pos].ID = id;
 
-            G_DELTA_CLOCK_C0(co->Sat[pos].Clock.DeltaA0)
-            G_DELTA_CLOCK_C1(co->Sat[pos].Clock.DeltaA1)
-            G_DELTA_CLOCK_C2(co->Sat[pos].Clock.DeltaA2)
+            D_DELTA_CLOCK_C0(co->Sat[pos].Clock.DeltaA0)
+            D_DELTA_CLOCK_C1(co->Sat[pos].Clock.DeltaA1)
+            D_DELTA_CLOCK_C2(co->Sat[pos].Clock.DeltaA2)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d c0 %8.3f c1 %8.3f c2 %8.3f\n",
@@ -841,17 +841,17 @@
             case CLOCKORBIT_SATSBAS:
             case CLOCKORBIT_SATBDS:
-              G_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+              D_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
               break;
             case CLOCKORBIT_SATGLONASS:
-              G_GLONASS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+              D_GLONASS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
               break;
           }
-          G_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-          G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-          G_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
-          G_SSR_IOD(co->SSRIOD)
-          G_SSR_PROVIDER_ID(co->SSRProviderID)
-          G_SSR_SOLUTION_ID(co->SSRSolutionID)
-          G_NO_OF_SATELLITES(nums)
+          D_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+          D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+          D_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
+          D_SSR_IOD(co->SSRIOD)
+          D_SSR_PROVIDER_ID(co->SSRProviderID)
+          D_SSR_SOLUTION_ID(co->SSRSolutionID)
+          D_NO_OF_SATELLITES(nums)
           co->Supplied[COBOFS_ORBIT] |= 1;
           co->Supplied[COBOFS_CLOCK] |= 1;
@@ -867,11 +867,11 @@
               case CLOCKORBIT_SATSBAS:
               case CLOCKORBIT_SATBDS:
-                G_GPS_SATELLITE_ID(id)
+                D_GPS_SATELLITE_ID(id)
                 break;
               case CLOCKORBIT_SATQZSS:
-                G_QZSS_SATELLITE_ID(id)
+                D_QZSS_SATELLITE_ID_OLD(id)
                 break;
               case CLOCKORBIT_SATGLONASS:
-                G_GLONASS_SATELLITE_ID(id)
+                D_GLONASS_SATELLITE_ID_OLD(id)
                 break;
             }
@@ -889,30 +889,30 @@
               case CLOCKORBIT_SATGPS:
                 case CLOCKORBIT_SATQZSS:
-                G_GPS_IODE(co->Sat[pos].IOD)
+                D_GPS_IODE(co->Sat[pos].IOD)
                 break;
               case CLOCKORBIT_SATGLONASS:
-                G_GPS_IODE(co->Sat[pos].IOD)
+                D_GPS_IODE(co->Sat[pos].IOD)
                 break;
               case CLOCKORBIT_SATGALILEO:
-                G_GALILEO_IOD(co->Sat[pos].IOD)
+                D_GALILEO_IOD(co->Sat[pos].IOD)
                 break;
               case CLOCKORBIT_SATSBAS:
-                G_SBAS_T0MOD(co->Sat[pos].toe)
-                G_SBAS_IODCRC(co->Sat[pos].IOD)
+                D_SBAS_T0MOD(co->Sat[pos].toe)
+                D_SBAS_IODCRC(co->Sat[pos].IOD)
                 break;
               case CLOCKORBIT_SATBDS:
-                G_BDS_TOEMOD(co->Sat[pos].toe)
-                G_GPS_IODE(co->Sat[pos].IOD)
+                D_BDS_TOEMOD(co->Sat[pos].toe)
+                D_GPS_IODE(co->Sat[pos].IOD)
                 break;
             }
-            G_DELTA_RADIAL(co->Sat[pos].Orbit.DeltaRadial)
-            G_DELTA_ALONG_TRACK(co->Sat[pos].Orbit.DeltaAlongTrack)
-            G_DELTA_CROSS_TRACK(co->Sat[pos].Orbit.DeltaCrossTrack)
-            G_DELTA_DOT_RADIAL(co->Sat[pos].Orbit.DotDeltaRadial)
-            G_DELTA_DOT_ALONG_TRACK(co->Sat[pos].Orbit.DotDeltaAlongTrack)
-            G_DELTA_DOT_CROSS_TRACK(co->Sat[pos].Orbit.DotDeltaCrossTrack)
-            G_DELTA_CLOCK_C0(co->Sat[pos].Clock.DeltaA0)
-            G_DELTA_CLOCK_C1(co->Sat[pos].Clock.DeltaA1)
-            G_DELTA_CLOCK_C2(co->Sat[pos].Clock.DeltaA2)
+            D_DELTA_RADIAL(co->Sat[pos].Orbit.DeltaRadial)
+            D_DELTA_ALONG_TRACK(co->Sat[pos].Orbit.DeltaAlongTrack)
+            D_DELTA_CROSS_TRACK(co->Sat[pos].Orbit.DeltaCrossTrack)
+            D_DOT_DELTA_RADIAL(co->Sat[pos].Orbit.DotDeltaRadial)
+            D_DOT_DELTA_ALONG_TRACK(co->Sat[pos].Orbit.DotDeltaAlongTrack)
+            D_DOT_DELTA_CROSS_TRACK(co->Sat[pos].Orbit.DotDeltaCrossTrack)
+            D_DELTA_CLOCK_C0(co->Sat[pos].Clock.DeltaA0)
+            D_DELTA_CLOCK_C1(co->Sat[pos].Clock.DeltaA1)
+            D_DELTA_CLOCK_C2(co->Sat[pos].Clock.DeltaA2)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d iod %3d dr %10.6f da %10.6f dc %10.6f dr %10.6f da %10.6f dc %10.6f  c0 %10.6f c1 %10.6f c2 %10.6f\n",
@@ -935,16 +935,16 @@
             case CLOCKORBIT_SATSBAS:
             case CLOCKORBIT_SATBDS:
-              G_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+              D_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
               break;
             case CLOCKORBIT_SATGLONASS:
-              G_GLONASS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+              D_GLONASS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
               break;
           }
-          G_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-          G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-          G_SSR_IOD(co->SSRIOD)
-          G_SSR_PROVIDER_ID(co->SSRProviderID)
-          G_SSR_SOLUTION_ID(co->SSRSolutionID)
-          G_NO_OF_SATELLITES(nums)
+          D_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+          D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+          D_SSR_IOD(co->SSRIOD)
+          D_SSR_PROVIDER_ID(co->SSRProviderID)
+          D_SSR_SOLUTION_ID(co->SSRSolutionID)
+          D_NO_OF_SATELLITES(nums)
           co->Supplied[COBOFS_URA] |= 1;
 #ifdef BNC_DEBUG_SSR
@@ -959,11 +959,11 @@
               case CLOCKORBIT_SATSBAS:
               case CLOCKORBIT_SATBDS:
-                G_GPS_SATELLITE_ID(id)
+                D_GPS_SATELLITE_ID(id)
                 break;
               case CLOCKORBIT_SATQZSS:
-                G_QZSS_SATELLITE_ID(id)
+                D_QZSS_SATELLITE_ID_OLD(id)
                 break;
               case CLOCKORBIT_SATGLONASS:
-                G_GLONASS_SATELLITE_ID(id)
+                D_GLONASS_SATELLITE_ID_OLD(id)
                 break;
             }
@@ -977,5 +977,5 @@
               ++co->NumberOfSat[s];
             co->Sat[pos].ID = id;
-            G_SSR_URA(co->Sat[pos].UserRangeAccuracy)
+            D_SSR_URA(co->Sat[pos].UserRangeAccuracy)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d ura %8.3f \n",
@@ -994,16 +994,16 @@
             case CLOCKORBIT_SATSBAS:
             case CLOCKORBIT_SATBDS:
-              G_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+              D_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
               break;
             case CLOCKORBIT_SATGLONASS:
-              G_GLONASS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+              D_GLONASS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
               break;
           }
-          G_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-          G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-          G_SSR_IOD(co->SSRIOD)
-          G_SSR_PROVIDER_ID(co->SSRProviderID)
-          G_SSR_SOLUTION_ID(co->SSRSolutionID)
-          G_NO_OF_SATELLITES(nums)
+          D_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+          D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+          D_SSR_IOD(co->SSRIOD)
+          D_SSR_PROVIDER_ID(co->SSRProviderID)
+          D_SSR_SOLUTION_ID(co->SSRSolutionID)
+          D_NO_OF_SATELLITES(nums)
           co->Supplied[COBOFS_HR] |= 1;
 #ifdef BNC_DEBUG_SSR
@@ -1018,11 +1018,11 @@
               case CLOCKORBIT_SATSBAS:
               case CLOCKORBIT_SATBDS:
-                G_GPS_SATELLITE_ID(id)
+                D_GPS_SATELLITE_ID(id)
                 break;
               case CLOCKORBIT_SATQZSS:
-                G_QZSS_SATELLITE_ID(id)
+                D_QZSS_SATELLITE_ID_OLD(id)
                 break;
               case CLOCKORBIT_SATGLONASS:
-                G_GLONASS_SATELLITE_ID(id)
+                D_GLONASS_SATELLITE_ID_OLD(id)
                 break;
             }
@@ -1036,5 +1036,5 @@
               ++co->NumberOfSat[s];
             co->Sat[pos].ID = id;
-            G_HR_CLOCK_CORRECTION(co->Sat[pos].hrclock)
+            D_HR_CLOCK_CORRECTION(co->Sat[pos].hrclock)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d hrClock %8.3f \n",
@@ -1053,16 +1053,16 @@
             case CLOCKORBIT_SATSBAS:
             case CLOCKORBIT_SATBDS:
-              G_GPS_EPOCH_TIME_CHECK(b->EpochTime[s], b->NumberOfSat[s])
+              D_GPS_EPOCH_TIME_CHECK(b->EpochTime[s], b->NumberOfSat[s])
               break;
             case CLOCKORBIT_SATGLONASS:
-              G_GLONASS_EPOCH_TIME_CHECK(b->EpochTime[s], b->NumberOfSat[s])
+              D_GLONASS_EPOCH_TIME_CHECK(b->EpochTime[s], b->NumberOfSat[s])
               break;
           }
-          G_SSR_UPDATE_INTERVAL(b->UpdateInterval)
-          G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-          G_SSR_IOD(b->SSRIOD)
-          G_SSR_PROVIDER_ID(b->SSRProviderID)
-          G_SSR_SOLUTION_ID(b->SSRSolutionID)
-          G_NO_OF_SATELLITES(nums)
+          D_SSR_UPDATE_INTERVAL(b->UpdateInterval)
+          D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+          D_SSR_IOD(b->SSRIOD)
+          D_SSR_PROVIDER_ID(b->SSRProviderID)
+          D_SSR_SOLUTION_ID(b->SSRSolutionID)
+          D_NO_OF_SATELLITES(nums)
 #ifdef BNC_DEBUG_SSR
           fprintf(stderr, "epochTime %d ui %d mmi %d sats %d/%d ssrIod %d providerId %d solId %d\n",
@@ -1076,11 +1076,11 @@
               case CLOCKORBIT_SATSBAS:
               case CLOCKORBIT_SATBDS:
-                G_GPS_SATELLITE_ID(id)
+                D_GPS_SATELLITE_ID(id)
                 break;
               case CLOCKORBIT_SATQZSS:
-                G_QZSS_SATELLITE_ID(id)
+                D_QZSS_SATELLITE_ID_OLD(id)
                 break;
               case CLOCKORBIT_SATGLONASS:
-                G_GLONASS_SATELLITE_ID(id)
+                D_GLONASS_SATELLITE_ID_OLD(id)
                 break;
             }
@@ -1094,5 +1094,5 @@
               ++b->NumberOfSat[s];
             b->Sat[pos].ID = id;
-            G_NO_OF_BIASES(b->Sat[pos].NumberOfCodeBiases)
+            D_NO_OF_BIASES(b->Sat[pos].NumberOfCodeBiases)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d #%d ",
@@ -1100,6 +1100,6 @@
 #endif
             for (j = 0; j < b->Sat[pos].NumberOfCodeBiases; ++j) {
-              G_GNSS_SIGNAL_IDENTIFIER(b->Sat[pos].Biases[j].Type)
-              G_CODE_BIAS(b->Sat[pos].Biases[j].Bias)
+              D_GNSS_SIGNAL_IDENTIFIER(b->Sat[pos].Biases[j].Type)
+              D_CODE_BIAS(b->Sat[pos].Biases[j].Bias)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "t%02d b %8.2f ",
Index: trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm_new.cpp
===================================================================
--- trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm_new.cpp	(revision 10989)
+++ trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm_new.cpp	(revision 10990)
@@ -68,5 +68,5 @@
     if (status[s][COBOFS_ORBIT]) {
       INITBLOCK
-      T_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_ORBIT)
+      E_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_ORBIT)
       switch (s) {
         case CLOCKORBIT_SATGPS:
@@ -75,52 +75,52 @@
         case CLOCKORBIT_SATSBAS:
         case CLOCKORBIT_SATBDS:
-          T_GPS_EPOCH_TIME(co->EpochTime[s])
+          E_GPS_EPOCH_TIME(co->EpochTime[s])
           break;
         case CLOCKORBIT_SATGLONASS:
-          T_GLONASS_EPOCH_TIME(co->EpochTime[s])
-          break;
-      }
-      T_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-      T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-      T_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
-      T_SSR_IOD(co->SSRIOD)
-      T_SSR_PROVIDER_ID(co->SSRProviderID)
-      T_SSR_SOLUTION_ID(co->SSRSolutionID)
-      T_NO_OF_SATELLITES(co->NumberOfSat[s])
+          E_GLONASS_EPOCH_TIME(co->EpochTime[s])
+          break;
+      }
+      E_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+      E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+      E_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
+      E_SSR_IOD(co->SSRIOD)
+      E_SSR_PROVIDER_ID(co->SSRProviderID)
+      E_SSR_SOLUTION_ID(co->SSRSolutionID)
+      E_NO_OF_SATELLITES(co->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + co->NumberOfSat[s]; ++i) {
         switch (s)         {
           case CLOCKORBIT_SATGPS:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
-            T_GPS_IODE(co->Sat[i].IOD)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_GPS_IODE(co->Sat[i].IOD)
             break;
           case CLOCKORBIT_SATGLONASS:
-            T_GLONASS_SATELLITE_ID(co->Sat[i].ID)
-            T_GLONASS_IOD(co->Sat[i].IOD)
+            E_GLONASS_SATELLITE_ID(co->Sat[i].ID)
+            E_GLONASS_IOD(co->Sat[i].IOD)
             break;
           case CLOCKORBIT_SATGALILEO:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
-            T_GALILEO_IOD(co->Sat[i].IOD)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_GALILEO_IOD(co->Sat[i].IOD)
             break;
           case CLOCKORBIT_SATQZSS:
-            T_QZSS_SATELLITE_ID(co->Sat[i].ID)
-            T_GPS_IODE(co->Sat[i].IOD)
+            E_QZSS_SATELLITE_ID(co->Sat[i].ID)
+            E_GPS_IODE(co->Sat[i].IOD)
             break;
           case CLOCKORBIT_SATSBAS:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
-            T_SBAS_T0MOD(co->Sat[i].toe)
-            T_SBAS_IODCRC(co->Sat[i].IOD)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_SBAS_T0MOD(co->Sat[i].toe)
+            E_SBAS_IODCRC(co->Sat[i].IOD)
             break;
           case CLOCKORBIT_SATBDS:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
-            T_BDS_TOEMOD(co->Sat[i].toe)
-            T_BDS_IOD(co->Sat[i].IOD)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_BDS_TOEMOD(co->Sat[i].toe)
+            E_BDS_IOD(co->Sat[i].IOD)
             break;
         }
-        T_DELTA_RADIAL(co->Sat[i].Orbit.DeltaRadial)
-        T_DELTA_ALONG_TRACK(co->Sat[i].Orbit.DeltaAlongTrack)
-        T_DELTA_CROSS_TRACK(co->Sat[i].Orbit.DeltaCrossTrack)
-        T_DELTA_DOT_RADIAL(co->Sat[i].Orbit.DotDeltaRadial)
-        T_DELTA_DOT_ALONG_TRACK(co->Sat[i].Orbit.DotDeltaAlongTrack)
-        T_DELTA_DOT_CROSS_TRACK(co->Sat[i].Orbit.DotDeltaCrossTrack)
+        E_DELTA_RADIAL(co->Sat[i].Orbit.DeltaRadial)
+        E_DELTA_ALONG_TRACK(co->Sat[i].Orbit.DeltaAlongTrack)
+        E_DELTA_CROSS_TRACK(co->Sat[i].Orbit.DeltaCrossTrack)
+        E_DOT_DELTA_RADIAL(co->Sat[i].Orbit.DotDeltaRadial)
+        E_DOT_DELTA_ALONG_TRACK(co->Sat[i].Orbit.DotDeltaAlongTrack)
+        E_DOT_DELTA_CROSS_TRACK(co->Sat[i].Orbit.DotDeltaCrossTrack)
       }
       ENDBLOCK
@@ -128,5 +128,5 @@
     if (status[s][COBOFS_CLOCK]) {
       INITBLOCK
-      T_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_CLOCK)
+      E_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_CLOCK)
       switch (s) {
         case CLOCKORBIT_SATGPS:
@@ -135,16 +135,16 @@
         case CLOCKORBIT_SATSBAS:
         case CLOCKORBIT_SATBDS:
-          T_GPS_EPOCH_TIME(co->EpochTime[s])
+          E_GPS_EPOCH_TIME(co->EpochTime[s])
           break;
         case CLOCKORBIT_SATGLONASS:
-          T_GLONASS_EPOCH_TIME(co->EpochTime[s])
-          break;
-      }
-      T_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-      T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-      T_SSR_IOD(co->SSRIOD)
-      T_SSR_PROVIDER_ID(co->SSRProviderID)
-      T_SSR_SOLUTION_ID(co->SSRSolutionID)
-      T_NO_OF_SATELLITES(co->NumberOfSat[s])
+          E_GLONASS_EPOCH_TIME(co->EpochTime[s])
+          break;
+      }
+      E_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+      E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+      E_SSR_IOD(co->SSRIOD)
+      E_SSR_PROVIDER_ID(co->SSRProviderID)
+      E_SSR_SOLUTION_ID(co->SSRSolutionID)
+      E_NO_OF_SATELLITES(co->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + co->NumberOfSat[s]; ++i) {
         switch (s) {
@@ -153,16 +153,16 @@
           case CLOCKORBIT_SATSBAS:
           case CLOCKORBIT_SATBDS:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
             break;
           case CLOCKORBIT_SATQZSS:
-            T_QZSS_SATELLITE_ID(co->Sat[i].ID)
+            E_QZSS_SATELLITE_ID(co->Sat[i].ID)
             break;
           case CLOCKORBIT_SATGLONASS:
-            T_GLONASS_SATELLITE_ID(co->Sat[i].ID)
+            E_GLONASS_SATELLITE_ID(co->Sat[i].ID)
             break;
         }
-        T_DELTA_CLOCK_C0(co->Sat[i].Clock.DeltaA0)
-        T_DELTA_CLOCK_C1(co->Sat[i].Clock.DeltaA1)
-        T_DELTA_CLOCK_C2(co->Sat[i].Clock.DeltaA2)
+        E_DELTA_CLOCK_C0(co->Sat[i].Clock.DeltaA0)
+        E_DELTA_CLOCK_C1(co->Sat[i].Clock.DeltaA1)
+        E_DELTA_CLOCK_C2(co->Sat[i].Clock.DeltaA2)
       }
       ENDBLOCK
@@ -170,6 +170,6 @@
     if (status[s][COBOFS_COMBINED]) {
 #ifdef SPLITBLOCK
-      int nums = co->NumberOfSat[s];
-      int left, start = satoffset[s];
+      unsigned int nums = co->NumberOfSat[s];
+      unsigned int left, start = satoffset[s];
       if(nums > 28) {/* split block when more than 28 sats */
         left = nums - 28;
@@ -182,5 +182,5 @@
 #endif
       INITBLOCK
-      T_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_COMBINED)
+      E_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_COMBINED)
       switch (s) {
         case CLOCKORBIT_SATGPS:
@@ -189,25 +189,25 @@
         case CLOCKORBIT_SATSBAS:
         case CLOCKORBIT_SATBDS:
-          T_GPS_EPOCH_TIME(co->EpochTime[s])
+          E_GPS_EPOCH_TIME(co->EpochTime[s])
           break;
         case CLOCKORBIT_SATGLONASS:
-          T_GLONASS_EPOCH_TIME(co->EpochTime[s])
-          break;
-      }
-      T_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+          E_GLONASS_EPOCH_TIME(co->EpochTime[s])
+          break;
+      }
+      E_SSR_UPDATE_INTERVAL(co->UpdateInterval)
 #ifdef SPLITBLOCK
-      T_MULTIPLE_MESSAGE_INDICATOR((moremessagesfollow || left) ? 1 : 0)
+      E_MULTIPLE_MESSAGE_INDICATOR((moremessagesfollow || left) ? 1 : 0)
 #else
-      T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-#endif
-      T_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
-      T_SSR_IOD(co->SSRIOD)
-      T_SSR_PROVIDER_ID(co->SSRProviderID)
-      T_SSR_SOLUTION_ID(co->SSRSolutionID)
+      E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+#endif
+      E_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
+      E_SSR_IOD(co->SSRIOD)
+      E_SSR_PROVIDER_ID(co->SSRProviderID)
+      E_SSR_SOLUTION_ID(co->SSRSolutionID)
 #ifdef SPLITBLOCK
-      T_NO_OF_SATELLITES(nums)
+      E_NO_OF_SATELLITES(nums)
       for(i = start; i < start+nums; ++i)
 #else
-      T_NO_OF_SATELLITES(co->NumberOfSat[s])
+      E_NO_OF_SATELLITES(co->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + co->NumberOfSat[s]; ++i)
 #endif
@@ -215,39 +215,39 @@
         switch (s) {
           case CLOCKORBIT_SATGPS:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
-            T_GPS_IODE(co->Sat[i].IOD)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_GPS_IODE(co->Sat[i].IOD)
             break;
           case CLOCKORBIT_SATGLONASS:
-            T_GLONASS_SATELLITE_ID(co->Sat[i].ID)
-            T_GLONASS_IOD(co->Sat[i].IOD)
+            E_GLONASS_SATELLITE_ID(co->Sat[i].ID)
+            E_GLONASS_IOD(co->Sat[i].IOD)
             break;
           case CLOCKORBIT_SATGALILEO:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
-            T_GALILEO_IOD(co->Sat[i].IOD)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_GALILEO_IOD(co->Sat[i].IOD)
             break;
           case CLOCKORBIT_SATQZSS:
-            T_QZSS_SATELLITE_ID(co->Sat[i].ID)
-            T_GPS_IODE(co->Sat[i].IOD)
+            E_QZSS_SATELLITE_ID(co->Sat[i].ID)
+            E_GPS_IODE(co->Sat[i].IOD)
             break;
           case CLOCKORBIT_SATSBAS:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
-            T_SBAS_T0MOD(co->Sat[i].toe)
-            T_SBAS_IODCRC(co->Sat[i].IOD)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_SBAS_T0MOD(co->Sat[i].toe)
+            E_SBAS_IODCRC(co->Sat[i].IOD)
             break;
           case CLOCKORBIT_SATBDS:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
-            T_BDS_TOEMOD(co->Sat[i].toe)
-            T_BDS_IOD(co->Sat[i].IOD)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_BDS_TOEMOD(co->Sat[i].toe)
+            E_BDS_IOD(co->Sat[i].IOD)
             break;
         }
-        T_DELTA_RADIAL(co->Sat[i].Orbit.DeltaRadial)
-        T_DELTA_ALONG_TRACK(co->Sat[i].Orbit.DeltaAlongTrack)
-        T_DELTA_CROSS_TRACK(co->Sat[i].Orbit.DeltaCrossTrack)
-        T_DELTA_DOT_RADIAL(co->Sat[i].Orbit.DotDeltaRadial)
-        T_DELTA_DOT_ALONG_TRACK(co->Sat[i].Orbit.DotDeltaAlongTrack)
-        T_DELTA_DOT_CROSS_TRACK(co->Sat[i].Orbit.DotDeltaCrossTrack)
-        T_DELTA_CLOCK_C0(co->Sat[i].Clock.DeltaA0)
-        T_DELTA_CLOCK_C1(co->Sat[i].Clock.DeltaA1)
-        T_DELTA_CLOCK_C2(co->Sat[i].Clock.DeltaA2)
+        E_DELTA_RADIAL(co->Sat[i].Orbit.DeltaRadial)
+        E_DELTA_ALONG_TRACK(co->Sat[i].Orbit.DeltaAlongTrack)
+        E_DELTA_CROSS_TRACK(co->Sat[i].Orbit.DeltaCrossTrack)
+        E_DOT_DELTA_RADIAL(co->Sat[i].Orbit.DotDeltaRadial)
+        E_DOT_DELTA_ALONG_TRACK(co->Sat[i].Orbit.DotDeltaAlongTrack)
+        E_DOT_DELTA_CROSS_TRACK(co->Sat[i].Orbit.DotDeltaCrossTrack)
+        E_DELTA_CLOCK_C0(co->Sat[i].Clock.DeltaA0)
+        E_DELTA_CLOCK_C1(co->Sat[i].Clock.DeltaA1)
+        E_DELTA_CLOCK_C2(co->Sat[i].Clock.DeltaA2)
       }
       ENDBLOCK
@@ -261,5 +261,5 @@
     if (status[s][COBOFS_HR]) {
       INITBLOCK
-      T_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_HR)
+      E_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_HR)
       switch (s) {
         case CLOCKORBIT_SATGPS:
@@ -268,16 +268,16 @@
         case CLOCKORBIT_SATSBAS:
         case CLOCKORBIT_SATBDS:
-          T_GPS_EPOCH_TIME(co->EpochTime[s])
+          E_GPS_EPOCH_TIME(co->EpochTime[s])
           break;
         case CLOCKORBIT_SATGLONASS:
-          T_GLONASS_EPOCH_TIME(co->EpochTime[s])
-          break;
-      }
-      T_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-      T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-      T_SSR_IOD(co->SSRIOD)
-      T_SSR_PROVIDER_ID(co->SSRProviderID)
-      T_SSR_SOLUTION_ID(co->SSRSolutionID)
-      T_NO_OF_SATELLITES(co->NumberOfSat[s])
+          E_GLONASS_EPOCH_TIME(co->EpochTime[s])
+          break;
+      }
+      E_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+      E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+      E_SSR_IOD(co->SSRIOD)
+      E_SSR_PROVIDER_ID(co->SSRProviderID)
+      E_SSR_SOLUTION_ID(co->SSRSolutionID)
+      E_NO_OF_SATELLITES(co->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + co->NumberOfSat[s]; ++i) {
         switch (s) {
@@ -286,14 +286,14 @@
             case CLOCKORBIT_SATSBAS:
             case CLOCKORBIT_SATBDS:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
             break;
           case CLOCKORBIT_SATQZSS:
-            T_QZSS_SATELLITE_ID(co->Sat[i].ID)
+            E_QZSS_SATELLITE_ID(co->Sat[i].ID)
             break;
           case CLOCKORBIT_SATGLONASS:
-            T_GLONASS_SATELLITE_ID(co->Sat[i].ID)
+            E_GLONASS_SATELLITE_ID(co->Sat[i].ID)
             break;
         }
-        T_HR_CLOCK_CORRECTION(co->Sat[i].hrclock)
+        E_HR_CLOCK_CORRECTION(co->Sat[i].hrclock)
       }
       ENDBLOCK
@@ -301,5 +301,5 @@
     if (status[s][COBOFS_URA]) {
       INITBLOCK
-      T_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_URA)
+      E_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_URA)
       switch (s) {
         case CLOCKORBIT_SATGPS:
@@ -308,16 +308,16 @@
         case CLOCKORBIT_SATSBAS:
         case CLOCKORBIT_SATBDS:
-          T_GPS_EPOCH_TIME(co->EpochTime[s])
+          E_GPS_EPOCH_TIME(co->EpochTime[s])
           break;
         case CLOCKORBIT_SATGLONASS:
-          T_GLONASS_EPOCH_TIME(co->EpochTime[s])
-          break;
-      }
-      T_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-      T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-      T_SSR_IOD(co->SSRIOD)
-      T_SSR_PROVIDER_ID(co->SSRProviderID)
-      T_SSR_SOLUTION_ID(co->SSRSolutionID)
-      T_NO_OF_SATELLITES(co->NumberOfSat[s])
+          E_GLONASS_EPOCH_TIME(co->EpochTime[s])
+          break;
+      }
+      E_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+      E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+      E_SSR_IOD(co->SSRIOD)
+      E_SSR_PROVIDER_ID(co->SSRProviderID)
+      E_SSR_SOLUTION_ID(co->SSRSolutionID)
+      E_NO_OF_SATELLITES(co->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + co->NumberOfSat[s]; ++i) {
         switch (s) {
@@ -326,14 +326,14 @@
           case CLOCKORBIT_SATSBAS:
           case CLOCKORBIT_SATBDS:
-            T_GPS_SATELLITE_ID(co->Sat[i].ID)
+            E_GPS_SATELLITE_ID(co->Sat[i].ID)
             break;
           case CLOCKORBIT_SATQZSS:
-            T_QZSS_SATELLITE_ID(co->Sat[i].ID)
+            E_QZSS_SATELLITE_ID(co->Sat[i].ID)
             break;
           case CLOCKORBIT_SATGLONASS:
-            T_GLONASS_SATELLITE_ID(co->Sat[i].ID)
+            E_GLONASS_SATELLITE_ID(co->Sat[i].ID)
             break;
         }
-        T_SSR_URA(ValueToURA(co->Sat[i].UserRangeAccuracy))
+        E_SSR_URA(ValueToURA(co->Sat[i].UserRangeAccuracy))
       }
       ENDBLOCK
@@ -352,5 +352,5 @@
     if (b->NumberOfSat[s] && (type == CBTYPE_AUTO || type == corbase[s] + COBOFS_CBIAS)) {
       INITBLOCK
-      T_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_CBIAS)
+      E_RTCM_MESSAGE_NUMBER(corbase[s] + COBOFS_CBIAS)
       switch (s) {
         case CLOCKORBIT_SATGPS:
@@ -359,16 +359,16 @@
         case CLOCKORBIT_SATSBAS:
         case CLOCKORBIT_SATBDS:
-          T_GPS_EPOCH_TIME(b->EpochTime[s])
+          E_GPS_EPOCH_TIME(b->EpochTime[s])
           break;
         case CLOCKORBIT_SATGLONASS:
-          T_GLONASS_EPOCH_TIME(b->EpochTime[s])
-          break;
-      }
-      T_SSR_UPDATE_INTERVAL(b->UpdateInterval)
-      T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-      T_SSR_IOD(b->SSRIOD)
-      T_SSR_PROVIDER_ID(b->SSRProviderID)
-      T_SSR_SOLUTION_ID(b->SSRSolutionID)
-      T_NO_OF_SATELLITES(b->NumberOfSat[s])
+          E_GLONASS_EPOCH_TIME(b->EpochTime[s])
+          break;
+      }
+      E_SSR_UPDATE_INTERVAL(b->UpdateInterval)
+      E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+      E_SSR_IOD(b->SSRIOD)
+      E_SSR_PROVIDER_ID(b->SSRProviderID)
+      E_SSR_SOLUTION_ID(b->SSRSolutionID)
+      E_NO_OF_SATELLITES(b->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + b->NumberOfSat[s]; ++i) {
         switch (s) {
@@ -377,17 +377,17 @@
           case CLOCKORBIT_SATSBAS:
           case CLOCKORBIT_SATBDS:
-            T_GPS_SATELLITE_ID(b->Sat[i].ID)
+            E_GPS_SATELLITE_ID(b->Sat[i].ID)
             break;
           case CLOCKORBIT_SATQZSS:
-            T_QZSS_SATELLITE_ID(b->Sat[i].ID)
+            E_QZSS_SATELLITE_ID(b->Sat[i].ID)
             break;
           case CLOCKORBIT_SATGLONASS:
-            T_GLONASS_SATELLITE_ID(b->Sat[i].ID)
+            E_GLONASS_SATELLITE_ID(b->Sat[i].ID)
             break;
         }
-        T_NO_OF_BIASES(b->Sat[i].NumberOfCodeBiases)
+        E_NO_OF_BIASES(b->Sat[i].NumberOfCodeBiases)
         for (j = 0; j < b->Sat[i].NumberOfCodeBiases; ++j) {
-          T_GNSS_SIGNAL_IDENTIFIER(b->Sat[i].Biases[j].Type)
-          T_CODE_BIAS(b->Sat[i].Biases[j].Bias)
+          E_GNSS_SIGNAL_IDENTIFIER(b->Sat[i].Biases[j].Type)
+          E_CODE_BIAS(b->Sat[i].Biases[j].Bias)
         }
       }
@@ -407,5 +407,5 @@
     if (b->NumberOfSat[s] && (type == PBTYPE_AUTO || type == s + PBTYPE_BASE)) {
       INITBLOCK
-      T_RTCM_MESSAGE_NUMBER(s + PBTYPE_BASE)
+      E_RTCM_MESSAGE_NUMBER(s + PBTYPE_BASE)
       switch (s) {
         case CLOCKORBIT_SATGPS:
@@ -414,18 +414,18 @@
         case CLOCKORBIT_SATSBAS:
         case CLOCKORBIT_SATBDS:
-          T_GPS_EPOCH_TIME(b->EpochTime[s])
+          E_GPS_EPOCH_TIME(b->EpochTime[s])
           break;
         case CLOCKORBIT_SATGLONASS:
-          T_GLONASS_EPOCH_TIME(b->EpochTime[s])
-          break;
-      }
-      T_SSR_UPDATE_INTERVAL(b->UpdateInterval)
-      T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-      T_SSR_IOD(b->SSRIOD)
-      T_SSR_PROVIDER_ID(b->SSRProviderID)
-      T_SSR_SOLUTION_ID(b->SSRSolutionID)
-      T_DISPERSIVE_BIAS_INDICATOR(b->DispersiveBiasConsistencyIndicator ? 1 : 0)
-      T_MW_CONSISTENCY_INDICATOR(b->MWConsistencyIndicator ? 1 : 0)
-      T_NO_OF_SATELLITES(b->NumberOfSat[s])
+          E_GLONASS_EPOCH_TIME(b->EpochTime[s])
+          break;
+      }
+      E_SSR_UPDATE_INTERVAL(b->UpdateInterval)
+      E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+      E_SSR_IOD(b->SSRIOD)
+      E_SSR_PROVIDER_ID(b->SSRProviderID)
+      E_SSR_SOLUTION_ID(b->SSRSolutionID)
+      E_DISPERSIVE_BIAS_INDICATOR(b->DispersiveBiasConsistencyIndicator ? 1 : 0)
+      E_MW_CONSISTENCY_INDICATOR(b->MWConsistencyIndicator ? 1 : 0)
+      E_NO_OF_SATELLITES(b->NumberOfSat[s])
       for (i = satoffset[s]; i < satoffset[s] + b->NumberOfSat[s]; ++i) {
         switch (s) {
@@ -434,25 +434,25 @@
             case CLOCKORBIT_SATSBAS:
             case CLOCKORBIT_SATBDS:
-            T_GPS_SATELLITE_ID(b->Sat[i].ID)
+            E_GPS_SATELLITE_ID(b->Sat[i].ID)
             break;
           case CLOCKORBIT_SATQZSS:
-            T_QZSS_SATELLITE_ID(b->Sat[i].ID)
+            E_QZSS_SATELLITE_ID(b->Sat[i].ID)
             break;
           case CLOCKORBIT_SATGLONASS:
-            T_GLONASS_SATELLITE_ID(b->Sat[i].ID)
+            E_GLONASS_SATELLITE_ID(b->Sat[i].ID)
             break;
         }
-        T_NO_OF_BIASES(b->Sat[i].NumberOfPhaseBiases)
-        T_YAW_ANGLE(b->Sat[i].YawAngle)
-        T_YAW_RATE(b->Sat[i].YawRate)
+        E_NO_OF_BIASES(b->Sat[i].NumberOfPhaseBiases)
+        E_YAW_ANGLE(b->Sat[i].YawAngle)
+        E_YAW_RATE(b->Sat[i].YawRate)
         for (j = 0; j < b->Sat[i].NumberOfPhaseBiases; ++j) {
-          T_GNSS_SIGNAL_IDENTIFIER(b->Sat[i].Biases[j].Type)
-          T_INTEGER_INDICATOR(
+          E_GNSS_SIGNAL_IDENTIFIER(b->Sat[i].Biases[j].Type)
+          E_INTEGER_INDICATOR(
               b->Sat[i].Biases[j].SignalIntegerIndicator ? 1 : 0)
-          T_WIDE_LANE_INDICATOR(
+          E_WIDE_LANE_INDICATOR(
               b->Sat[i].Biases[j].SignalsWideLaneIntegerIndicator)
-          T_DISCONTINUITY_COUNTER(
+          E_DISCONTINUITY_COUNTER(
               b->Sat[i].Biases[j].SignalDiscontinuityCounter)
-          T_PHASE_BIAS(b->Sat[i].Biases[j].Bias)
+          E_PHASE_BIAS_CORRECTION(b->Sat[i].Biases[j].Bias)
         }
       }
@@ -468,25 +468,25 @@
   STARTDATA
     INITBLOCK
-  T_RTCM_MESSAGE_NUMBER(VTEC_BASE)
-  T_GPS_EPOCH_TIME(v->EpochTime)
-  T_SSR_UPDATE_INTERVAL(v->UpdateInterval)
-  T_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
-  T_SSR_IOD(v->SSRIOD)
-  T_SSR_PROVIDER_ID(v->SSRProviderID)
-  T_SSR_SOLUTION_ID(v->SSRSolutionID)
-  T_VTEC_QUALITY_INDICATOR(v->Quality)
-  T_NO_IONO_LAYERS(v->NumLayers)
+  E_RTCM_MESSAGE_NUMBER(VTEC_BASE)
+  E_GPS_EPOCH_TIME(v->EpochTime)
+  E_SSR_UPDATE_INTERVAL(v->UpdateInterval)
+  E_MULTIPLE_MESSAGE_INDICATOR(moremessagesfollow ? 1 : 0)
+  E_SSR_IOD(v->SSRIOD)
+  E_SSR_PROVIDER_ID(v->SSRProviderID)
+  E_SSR_SOLUTION_ID(v->SSRSolutionID)
+  E_VTEC_QUALITY_INDICATOR(v->Quality)
+  E_NO_IONO_LAYERS(v->NumLayers)
   for (l = 0; l < v->NumLayers; ++l) {
-    T_IONO_HEIGHT(v->Layers[l].Height)
-    T_IONO_DEGREE(v->Layers[l].Degree)
-    T_IONO_ORDER(v->Layers[l].Order)
+    E_IONO_HEIGHT(v->Layers[l].Height)
+    E_IONO_DEGREE(v->Layers[l].Degree)
+    E_IONO_ORDER(v->Layers[l].Order)
     for (o = 0; o <= v->Layers[l].Order; ++o) {
       for (d = o; d <= v->Layers[l].Degree; ++d) {
-        T_IONO_COEFF_C(v->Layers[l].Cosinus[d][o])
+        E_IONO_COEFF_C(v->Layers[l].Cosinus[d][o])
       }
     }
     for (o = 1; o <= v->Layers[l].Order; ++o) {
       for (d = o; d <= v->Layers[l].Degree; ++d) {
-        T_IONO_COEFF_S(v->Layers[l].Sinus[d][o])
+        E_IONO_COEFF_S(v->Layers[l].Sinus[d][o])
       }
     }
@@ -511,7 +511,7 @@
 #endif
 
-  G_HEADER(h)
-  G_RESERVEDH(rs)
-  G_SIZE(sizeofrtcmblock);
+  D_HEADER(h)
+  D_RESERVEDH(rs)
+  D_SIZE(sizeofrtcmblock);
 
   if ((unsigned char) h != 0xD3 || rs)
@@ -526,5 +526,5 @@
   size = sizeofrtcmblock; /* reduce size, so overflows are detected */
 
-  G_RTCM_MESSAGE_NUMBER(type)
+  D_RTCM_MESSAGE_NUMBER(type)
 #ifdef BNC_DEBUG_SSR
   fprintf(stderr, "type %d size %d\n",type,(int)sizeofrtcmblock);
@@ -537,12 +537,12 @@
       return GCOBR_NOVTECPARAMETER;
     memset(v, 0, sizeof(*v));
-    G_GPS_EPOCH_TIME(v->EpochTime)
-    G_SSR_UPDATE_INTERVAL(v->UpdateInterval)
-    G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-    G_SSR_IOD(v->SSRIOD)
-    G_SSR_PROVIDER_ID(v->SSRProviderID)
-    G_SSR_SOLUTION_ID(v->SSRSolutionID)
-    G_VTEC_QUALITY_INDICATOR(v->Quality)
-    G_NO_IONO_LAYERS(v->NumLayers)
+    D_GPS_EPOCH_TIME(v->EpochTime)
+    D_SSR_UPDATE_INTERVAL(v->UpdateInterval)
+    D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+    D_SSR_IOD(v->SSRIOD)
+    D_SSR_PROVIDER_ID(v->SSRProviderID)
+    D_SSR_SOLUTION_ID(v->SSRSolutionID)
+    D_VTEC_QUALITY_INDICATOR(v->Quality)
+    D_NO_IONO_LAYERS(v->NumLayers)
 #ifdef BNC_DEBUG_SSR
           fprintf(stderr, "epochTime %d ui %d mmi %d ssrIod %d providerId %d solId %d vtecQ %8.3f numLay %d \n",
@@ -551,7 +551,7 @@
 #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)
+      D_IONO_HEIGHT(v->Layers[l].Height)
+      D_IONO_DEGREE(v->Layers[l].Degree)
+      D_IONO_ORDER(v->Layers[l].Order)
 #ifdef BNC_DEBUG_SSR
           fprintf(stderr, "h  %8.3f deg %d ord %d \n",
@@ -560,5 +560,5 @@
       for (o = 0; o <= v->Layers[l].Order; ++o) {
         for (d = o; d <= v->Layers[l].Degree; ++d) {
-          G_IONO_COEFF_C(v->Layers[l].Cosinus[d][o])
+          D_IONO_COEFF_C(v->Layers[l].Cosinus[d][o])
 #ifdef BNC_DEBUG_SSR
           fprintf(stderr, "C[%02d][%02d]  %8.3f \n",
@@ -569,5 +569,5 @@
       for (o = 1; o <= v->Layers[l].Order; ++o) {
         for (d = o; d <= v->Layers[l].Degree; ++d) {
-          G_IONO_COEFF_S(v->Layers[l].Sinus[d][o])
+          D_IONO_COEFF_S(v->Layers[l].Sinus[d][o])
 #ifdef BNC_DEBUG_SSR
           fprintf(stderr, "S[%02d][%02d]  %8.3f \n",
@@ -595,18 +595,18 @@
         case CLOCKORBIT_SATSBAS:
         case CLOCKORBIT_SATBDS:
-          G_GPS_EPOCH_TIME_CHECK(pb->EpochTime[s], pb->NumberOfSat[s])
+          D_GPS_EPOCH_TIME_CHECK(pb->EpochTime[s], pb->NumberOfSat[s])
           break;
         case CLOCKORBIT_SATGLONASS:
-          G_GLONASS_EPOCH_TIME_CHECK(pb->EpochTime[s], pb->NumberOfSat[s])
-          break;
-      }
-      G_SSR_UPDATE_INTERVAL(pb->UpdateInterval)
-      G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-      G_SSR_IOD(pb->SSRIOD)
-      G_SSR_PROVIDER_ID(pb->SSRProviderID)
-      G_SSR_SOLUTION_ID(pb->SSRSolutionID)
-      G_DISPERSIVE_BIAS_INDICATOR(pb->DispersiveBiasConsistencyIndicator)
-      G_MW_CONSISTENCY_INDICATOR(pb->MWConsistencyIndicator)
-      G_NO_OF_SATELLITES(nums)
+          D_GLONASS_EPOCH_TIME_CHECK(pb->EpochTime[s], pb->NumberOfSat[s])
+          break;
+      }
+      D_SSR_UPDATE_INTERVAL(pb->UpdateInterval)
+      D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+      D_SSR_IOD(pb->SSRIOD)
+      D_SSR_PROVIDER_ID(pb->SSRProviderID)
+      D_SSR_SOLUTION_ID(pb->SSRSolutionID)
+      D_DISPERSIVE_BIAS_INDICATOR(pb->DispersiveBiasConsistencyIndicator)
+      D_MW_CONSISTENCY_INDICATOR(pb->MWConsistencyIndicator)
+      D_NO_OF_SATELLITES(nums)
 #ifdef BNC_DEBUG_SSR
           fprintf(stderr, "epochTime %d ui %d mmi %d sats %d/%d ssrIod %d providerId %d solId %d dispInd %d mwInd %d\n",
@@ -621,11 +621,11 @@
           case CLOCKORBIT_SATSBAS:
           case CLOCKORBIT_SATBDS:
-            G_GPS_SATELLITE_ID(id)
+            D_GPS_SATELLITE_ID(id)
             break;
           case CLOCKORBIT_SATQZSS:
-            G_QZSS_SATELLITE_ID(id)
+            D_QZSS_SATELLITE_ID(id)
             break;
           case CLOCKORBIT_SATGLONASS:
-            G_GLONASS_SATELLITE_ID(id)
+            D_GLONASS_SATELLITE_ID(id)
             break;
         }
@@ -639,7 +639,7 @@
           ++pb->NumberOfSat[s];
         pb->Sat[pos].ID = id;
-        G_NO_OF_BIASES(pb->Sat[pos].NumberOfPhaseBiases)
-        G_YAW_ANGLE(pb->Sat[pos].YawAngle)
-        G_YAW_RATE(pb->Sat[pos].YawRate)
+        D_NO_OF_BIASES(pb->Sat[pos].NumberOfPhaseBiases)
+        D_YAW_ANGLE(pb->Sat[pos].YawAngle)
+        D_YAW_RATE(pb->Sat[pos].YawRate)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d #%d y %10.6f yr %10.6f ",
@@ -648,11 +648,11 @@
 #endif
         for (j = 0; j < pb->Sat[pos].NumberOfPhaseBiases; ++j) {
-          G_GNSS_SIGNAL_IDENTIFIER(pb->Sat[pos].Biases[j].Type)
-          G_INTEGER_INDICATOR(pb->Sat[pos].Biases[j].SignalIntegerIndicator)
-          G_WIDE_LANE_INDICATOR(
+          D_GNSS_SIGNAL_IDENTIFIER(pb->Sat[pos].Biases[j].Type)
+          D_INTEGER_INDICATOR(pb->Sat[pos].Biases[j].SignalIntegerIndicator)
+          D_WIDE_LANE_INDICATOR(
               pb->Sat[pos].Biases[j].SignalsWideLaneIntegerIndicator)
-          G_DISCONTINUITY_COUNTER(
+          D_DISCONTINUITY_COUNTER(
               pb->Sat[pos].Biases[j].SignalDiscontinuityCounter)
-          G_PHASE_BIAS(pb->Sat[pos].Biases[j].Bias)
+          D_PHASE_BIAS_CORRECTION(pb->Sat[pos].Biases[j].Bias)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "t%02d int %d wl %d disc %d b %8.4f ",
@@ -687,17 +687,17 @@
             case CLOCKORBIT_SATSBAS:
             case CLOCKORBIT_SATBDS:
-              G_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+              D_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
               break;
             case CLOCKORBIT_SATGLONASS:
-              G_GLONASS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+              D_GLONASS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
               break;
           }
-          G_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-          G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-          G_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
-          G_SSR_IOD(co->SSRIOD)
-          G_SSR_PROVIDER_ID(co->SSRProviderID)
-          G_SSR_SOLUTION_ID(co->SSRSolutionID)
-          G_NO_OF_SATELLITES(nums)
+          D_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+          D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+          D_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
+          D_SSR_IOD(co->SSRIOD)
+          D_SSR_PROVIDER_ID(co->SSRProviderID)
+          D_SSR_SOLUTION_ID(co->SSRSolutionID)
+          D_NO_OF_SATELLITES(nums)
           co->Supplied[COBOFS_ORBIT] |= 1;
 #ifdef BNC_DEBUG_SSR
@@ -712,11 +712,11 @@
               case CLOCKORBIT_SATSBAS:
               case CLOCKORBIT_SATBDS:
-                G_GPS_SATELLITE_ID(id)
+                D_GPS_SATELLITE_ID(id)
                 break;
               case CLOCKORBIT_SATQZSS:
-                G_QZSS_SATELLITE_ID(id)
+                D_QZSS_SATELLITE_ID(id)
                 break;
               case CLOCKORBIT_SATGLONASS:
-                G_GLONASS_SATELLITE_ID(id)
+                D_GLONASS_SATELLITE_ID(id)
                 break;
             }
@@ -734,27 +734,27 @@
               case CLOCKORBIT_SATGPS:
                 case CLOCKORBIT_SATQZSS:
-                  G_GPS_IODE(co->Sat[pos].IOD)
+                  D_GPS_IODE(co->Sat[pos].IOD)
                 break;
               case CLOCKORBIT_SATGLONASS:
-                G_GPS_IODE(co->Sat[pos].IOD)
+                D_GPS_IODE(co->Sat[pos].IOD)
                 break;
               case CLOCKORBIT_SATGALILEO:
-                G_GALILEO_IOD(co->Sat[pos].IOD)
+                D_GALILEO_IOD(co->Sat[pos].IOD)
                 break;
               case CLOCKORBIT_SATSBAS:
-                G_SBAS_T0MOD(co->Sat[pos].toe)
-                G_SBAS_IODCRC(co->Sat[pos].IOD)
+                D_SBAS_T0MOD(co->Sat[pos].toe)
+                D_SBAS_IODCRC(co->Sat[pos].IOD)
                 break;
               case CLOCKORBIT_SATBDS:
-                G_BDS_TOEMOD(co->Sat[pos].toe)
-                G_GPS_IODE(co->Sat[pos].IOD)
+                D_BDS_TOEMOD(co->Sat[pos].toe)
+                D_GPS_IODE(co->Sat[pos].IOD)
                 break;
             }
-            G_DELTA_RADIAL(co->Sat[pos].Orbit.DeltaRadial)
-            G_DELTA_ALONG_TRACK(co->Sat[pos].Orbit.DeltaAlongTrack)
-            G_DELTA_CROSS_TRACK(co->Sat[pos].Orbit.DeltaCrossTrack)
-            G_DELTA_DOT_RADIAL(co->Sat[pos].Orbit.DotDeltaRadial)
-            G_DELTA_DOT_ALONG_TRACK(co->Sat[pos].Orbit.DotDeltaAlongTrack)
-            G_DELTA_DOT_CROSS_TRACK(co->Sat[pos].Orbit.DotDeltaCrossTrack)
+            D_DELTA_RADIAL(co->Sat[pos].Orbit.DeltaRadial)
+            D_DELTA_ALONG_TRACK(co->Sat[pos].Orbit.DeltaAlongTrack)
+            D_DELTA_CROSS_TRACK(co->Sat[pos].Orbit.DeltaCrossTrack)
+            D_DOT_DELTA_RADIAL(co->Sat[pos].Orbit.DotDeltaRadial)
+            D_DOT_DELTA_ALONG_TRACK(co->Sat[pos].Orbit.DotDeltaAlongTrack)
+            D_DOT_DELTA_CROSS_TRACK(co->Sat[pos].Orbit.DotDeltaCrossTrack)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d iod %3d dr %8.4f da %8.4f dc %8.4f dr %8.3f da %8.3f dc %8.3f\n",
@@ -777,16 +777,16 @@
             case CLOCKORBIT_SATSBAS:
             case CLOCKORBIT_SATBDS:
-              G_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+              D_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
               break;
             case CLOCKORBIT_SATGLONASS:
-              G_GLONASS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+              D_GLONASS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
               break;
           }
-          G_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-          G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-          G_SSR_IOD(co->SSRIOD)
-          G_SSR_PROVIDER_ID(co->SSRProviderID)
-          G_SSR_SOLUTION_ID(co->SSRSolutionID)
-          G_NO_OF_SATELLITES(nums)
+          D_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+          D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+          D_SSR_IOD(co->SSRIOD)
+          D_SSR_PROVIDER_ID(co->SSRProviderID)
+          D_SSR_SOLUTION_ID(co->SSRSolutionID)
+          D_NO_OF_SATELLITES(nums)
           co->Supplied[COBOFS_CLOCK] |= 1;
 #ifdef BNC_DEBUG_SSR
@@ -801,11 +801,11 @@
                 case CLOCKORBIT_SATSBAS:
                 case CLOCKORBIT_SATBDS:
-                G_GPS_SATELLITE_ID(id)
+                D_GPS_SATELLITE_ID(id)
                 break;
               case CLOCKORBIT_SATQZSS:
-                G_QZSS_SATELLITE_ID(id)
+                D_QZSS_SATELLITE_ID(id)
                 break;
               case CLOCKORBIT_SATGLONASS:
-                G_GLONASS_SATELLITE_ID(id)
+                D_GLONASS_SATELLITE_ID(id)
                 break;
             }
@@ -820,7 +820,7 @@
             co->Sat[pos].ID = id;
 
-            G_DELTA_CLOCK_C0(co->Sat[pos].Clock.DeltaA0)
-            G_DELTA_CLOCK_C1(co->Sat[pos].Clock.DeltaA1)
-            G_DELTA_CLOCK_C2(co->Sat[pos].Clock.DeltaA2)
+            D_DELTA_CLOCK_C0(co->Sat[pos].Clock.DeltaA0)
+            D_DELTA_CLOCK_C1(co->Sat[pos].Clock.DeltaA1)
+            D_DELTA_CLOCK_C2(co->Sat[pos].Clock.DeltaA2)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d c0 %8.3f c1 %8.3f c2 %8.3f\n",
@@ -840,17 +840,17 @@
             case CLOCKORBIT_SATSBAS:
             case CLOCKORBIT_SATBDS:
-              G_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+              D_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
               break;
             case CLOCKORBIT_SATGLONASS:
-              G_GLONASS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+              D_GLONASS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
               break;
           }
-          G_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-          G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-          G_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
-          G_SSR_IOD(co->SSRIOD)
-          G_SSR_PROVIDER_ID(co->SSRProviderID)
-          G_SSR_SOLUTION_ID(co->SSRSolutionID)
-          G_NO_OF_SATELLITES(nums)
+          D_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+          D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+          D_SATELLITE_REFERENCE_DATUM(co->SatRefDatum)
+          D_SSR_IOD(co->SSRIOD)
+          D_SSR_PROVIDER_ID(co->SSRProviderID)
+          D_SSR_SOLUTION_ID(co->SSRSolutionID)
+          D_NO_OF_SATELLITES(nums)
           co->Supplied[COBOFS_ORBIT] |= 1;
           co->Supplied[COBOFS_CLOCK] |= 1;
@@ -866,11 +866,11 @@
               case CLOCKORBIT_SATSBAS:
               case CLOCKORBIT_SATBDS:
-                G_GPS_SATELLITE_ID(id)
+                D_GPS_SATELLITE_ID(id)
                 break;
               case CLOCKORBIT_SATQZSS:
-                G_QZSS_SATELLITE_ID(id)
+                D_QZSS_SATELLITE_ID(id)
                 break;
               case CLOCKORBIT_SATGLONASS:
-                G_GLONASS_SATELLITE_ID(id)
+                D_GLONASS_SATELLITE_ID(id)
                 break;
             }
@@ -888,30 +888,30 @@
               case CLOCKORBIT_SATGPS:
                 case CLOCKORBIT_SATQZSS:
-                  G_GPS_IODE(co->Sat[pos].IOD)
+                  D_GPS_IODE(co->Sat[pos].IOD)
                 break;
               case CLOCKORBIT_SATGLONASS:
-                G_GPS_IODE(co->Sat[pos].IOD)
+                D_GPS_IODE(co->Sat[pos].IOD)
                 break;
               case CLOCKORBIT_SATGALILEO:
-                G_GALILEO_IOD(co->Sat[pos].IOD)
+                D_GALILEO_IOD(co->Sat[pos].IOD)
                 break;
               case CLOCKORBIT_SATSBAS:
-                G_SBAS_T0MOD(co->Sat[pos].toe)
-                G_SBAS_IODCRC(co->Sat[pos].IOD)
+                D_SBAS_T0MOD(co->Sat[pos].toe)
+                D_SBAS_IODCRC(co->Sat[pos].IOD)
                 break;
               case CLOCKORBIT_SATBDS:
-                G_BDS_TOEMOD(co->Sat[pos].toe)
-                G_GPS_IODE(co->Sat[pos].IOD)
+                D_BDS_TOEMOD(co->Sat[pos].toe)
+                D_GPS_IODE(co->Sat[pos].IOD)
                 break;
             }
-            G_DELTA_RADIAL(co->Sat[pos].Orbit.DeltaRadial)
-            G_DELTA_ALONG_TRACK(co->Sat[pos].Orbit.DeltaAlongTrack)
-            G_DELTA_CROSS_TRACK(co->Sat[pos].Orbit.DeltaCrossTrack)
-            G_DELTA_DOT_RADIAL(co->Sat[pos].Orbit.DotDeltaRadial)
-            G_DELTA_DOT_ALONG_TRACK(co->Sat[pos].Orbit.DotDeltaAlongTrack)
-            G_DELTA_DOT_CROSS_TRACK(co->Sat[pos].Orbit.DotDeltaCrossTrack)
-            G_DELTA_CLOCK_C0(co->Sat[pos].Clock.DeltaA0)
-            G_DELTA_CLOCK_C1(co->Sat[pos].Clock.DeltaA1)
-            G_DELTA_CLOCK_C2(co->Sat[pos].Clock.DeltaA2)
+            D_DELTA_RADIAL(co->Sat[pos].Orbit.DeltaRadial)
+            D_DELTA_ALONG_TRACK(co->Sat[pos].Orbit.DeltaAlongTrack)
+            D_DELTA_CROSS_TRACK(co->Sat[pos].Orbit.DeltaCrossTrack)
+            D_DOT_DELTA_RADIAL(co->Sat[pos].Orbit.DotDeltaRadial)
+            D_DOT_DELTA_ALONG_TRACK(co->Sat[pos].Orbit.DotDeltaAlongTrack)
+            D_DOT_DELTA_CROSS_TRACK(co->Sat[pos].Orbit.DotDeltaCrossTrack)
+            D_DELTA_CLOCK_C0(co->Sat[pos].Clock.DeltaA0)
+            D_DELTA_CLOCK_C1(co->Sat[pos].Clock.DeltaA1)
+            D_DELTA_CLOCK_C2(co->Sat[pos].Clock.DeltaA2)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d iod %3d dr %10.6f da %10.6f dc %10.6f dr %10.6f da %10.6f dc %10.6f  c0 %10.6f c1 %10.6f c2 %10.6f\n",
@@ -934,16 +934,16 @@
             case CLOCKORBIT_SATSBAS:
             case CLOCKORBIT_SATBDS:
-              G_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+              D_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
               break;
             case CLOCKORBIT_SATGLONASS:
-              G_GLONASS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+              D_GLONASS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
               break;
           }
-          G_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-          G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-          G_SSR_IOD(co->SSRIOD)
-          G_SSR_PROVIDER_ID(co->SSRProviderID)
-          G_SSR_SOLUTION_ID(co->SSRSolutionID)
-          G_NO_OF_SATELLITES(nums)
+          D_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+          D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+          D_SSR_IOD(co->SSRIOD)
+          D_SSR_PROVIDER_ID(co->SSRProviderID)
+          D_SSR_SOLUTION_ID(co->SSRSolutionID)
+          D_NO_OF_SATELLITES(nums)
           co->Supplied[COBOFS_URA] |= 1;
 #ifdef BNC_DEBUG_SSR
@@ -958,11 +958,11 @@
               case CLOCKORBIT_SATSBAS:
               case CLOCKORBIT_SATBDS:
-                G_GPS_SATELLITE_ID(id)
+                D_GPS_SATELLITE_ID(id)
                 break;
               case CLOCKORBIT_SATQZSS:
-                G_QZSS_SATELLITE_ID(id)
+                D_QZSS_SATELLITE_ID(id)
                 break;
               case CLOCKORBIT_SATGLONASS:
-                G_GLONASS_SATELLITE_ID(id)
+                D_GLONASS_SATELLITE_ID(id)
                 break;
             }
@@ -976,5 +976,5 @@
               ++co->NumberOfSat[s];
             co->Sat[pos].ID = id;
-            G_SSR_URA(co->Sat[pos].UserRangeAccuracy)
+            D_SSR_URA(co->Sat[pos].UserRangeAccuracy)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d ura %8.3f \n",
@@ -993,16 +993,16 @@
             case CLOCKORBIT_SATSBAS:
             case CLOCKORBIT_SATBDS:
-              G_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+              D_GPS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
               break;
             case CLOCKORBIT_SATGLONASS:
-              G_GLONASS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
+              D_GLONASS_EPOCH_TIME_CHECK(co->EpochTime[s], co->NumberOfSat[s])
               break;
           }
-          G_SSR_UPDATE_INTERVAL(co->UpdateInterval)
-          G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-          G_SSR_IOD(co->SSRIOD)
-          G_SSR_PROVIDER_ID(co->SSRProviderID)
-          G_SSR_SOLUTION_ID(co->SSRSolutionID)
-          G_NO_OF_SATELLITES(nums)
+          D_SSR_UPDATE_INTERVAL(co->UpdateInterval)
+          D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+          D_SSR_IOD(co->SSRIOD)
+          D_SSR_PROVIDER_ID(co->SSRProviderID)
+          D_SSR_SOLUTION_ID(co->SSRSolutionID)
+          D_NO_OF_SATELLITES(nums)
           co->Supplied[COBOFS_HR] |= 1;
 #ifdef BNC_DEBUG_SSR
@@ -1017,11 +1017,11 @@
               case CLOCKORBIT_SATSBAS:
               case CLOCKORBIT_SATBDS:
-                G_GPS_SATELLITE_ID(id)
+                D_GPS_SATELLITE_ID(id)
                 break;
               case CLOCKORBIT_SATQZSS:
-                G_QZSS_SATELLITE_ID(id)
+                D_QZSS_SATELLITE_ID(id)
                 break;
               case CLOCKORBIT_SATGLONASS:
-                G_GLONASS_SATELLITE_ID(id)
+                D_GLONASS_SATELLITE_ID(id)
                 break;
             }
@@ -1035,5 +1035,5 @@
               ++co->NumberOfSat[s];
             co->Sat[pos].ID = id;
-            G_HR_CLOCK_CORRECTION(co->Sat[pos].hrclock)
+            D_HR_CLOCK_CORRECTION(co->Sat[pos].hrclock)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d hrClock %8.3f \n",
@@ -1052,16 +1052,16 @@
             case CLOCKORBIT_SATSBAS:
             case CLOCKORBIT_SATBDS:
-              G_GPS_EPOCH_TIME_CHECK(b->EpochTime[s], b->NumberOfSat[s])
+              D_GPS_EPOCH_TIME_CHECK(b->EpochTime[s], b->NumberOfSat[s])
               break;
             case CLOCKORBIT_SATGLONASS:
-              G_GLONASS_EPOCH_TIME_CHECK(b->EpochTime[s], b->NumberOfSat[s])
+              D_GLONASS_EPOCH_TIME_CHECK(b->EpochTime[s], b->NumberOfSat[s])
               break;
           }
-          G_SSR_UPDATE_INTERVAL(b->UpdateInterval)
-          G_MULTIPLE_MESSAGE_INDICATOR(mmi)
-          G_SSR_IOD(b->SSRIOD)
-          G_SSR_PROVIDER_ID(b->SSRProviderID)
-          G_SSR_SOLUTION_ID(b->SSRSolutionID)
-          G_NO_OF_SATELLITES(nums)
+          D_SSR_UPDATE_INTERVAL(b->UpdateInterval)
+          D_MULTIPLE_MESSAGE_INDICATOR(mmi)
+          D_SSR_IOD(b->SSRIOD)
+          D_SSR_PROVIDER_ID(b->SSRProviderID)
+          D_SSR_SOLUTION_ID(b->SSRSolutionID)
+          D_NO_OF_SATELLITES(nums)
 #ifdef BNC_DEBUG_SSR
           fprintf(stderr, "epochTime %d ui %d mmi %d sats %d/%d ssrIod %d providerId %d solId %d\n",
@@ -1075,11 +1075,11 @@
               case CLOCKORBIT_SATSBAS:
               case CLOCKORBIT_SATBDS:
-                G_GPS_SATELLITE_ID(id)
+                D_GPS_SATELLITE_ID(id)
                 break;
               case CLOCKORBIT_SATQZSS:
-                G_QZSS_SATELLITE_ID(id)
+                D_QZSS_SATELLITE_ID(id)
                 break;
               case CLOCKORBIT_SATGLONASS:
-                G_GLONASS_SATELLITE_ID(id)
+                D_GLONASS_SATELLITE_ID(id)
                 break;
             }
@@ -1093,5 +1093,5 @@
               ++b->NumberOfSat[s];
             b->Sat[pos].ID = id;
-            G_NO_OF_BIASES(b->Sat[pos].NumberOfCodeBiases)
+            D_NO_OF_BIASES(b->Sat[pos].NumberOfCodeBiases)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "id %2d #%d ",
@@ -1099,6 +1099,6 @@
 #endif
             for (j = 0; j < b->Sat[pos].NumberOfCodeBiases; ++j) {
-              G_GNSS_SIGNAL_IDENTIFIER(b->Sat[pos].Biases[j].Type)
-              G_CODE_BIAS(b->Sat[pos].Biases[j].Bias)
+              D_GNSS_SIGNAL_IDENTIFIER(b->Sat[pos].Biases[j].Type)
+              D_CODE_BIAS(b->Sat[pos].Biases[j].Bias)
 #ifdef BNC_DEBUG_SSR
             fprintf(stderr, "t%02d b %8.2f ",
Index: trunk/BNC/src/ephemeris.cpp
===================================================================
--- trunk/BNC/src/ephemeris.cpp	(revision 10989)
+++ trunk/BNC/src/ephemeris.cpp	(revision 10990)
@@ -2966,5 +2966,5 @@
 }
 
-// Health status of SBAS Ephemeris (virtual)
+// Health status of BDS Ephemeris (virtual)
 ////////////////////////////////////////////////////////////////////////////
 unsigned int t_ephBDS::isUnhealthy() const {
