RT-IGS Working Group Home RT-IGS Prototype Network Station Information RT-IGS Protocol RT-IGS Data Products RT-IGS Architecture RT-IGS Software Tools RT-IGS Prototype Tracking Network IGS Home RT-IGS Frequently Asked Questions RT-IGS Request Information Real Time Pilot Project

RT-IGS Message Protocol

All real-time IGS messages are transmitted using the User Datagram Protocol (UDP). The UDP protocol was adopted following the IGS "Towards Real-time" workshop and has proven to be a very reliable means of transmitting GNSS data in real-time over the open internet.

The RT-IGS protocol is designed to allow for any message type to be defined both in terms of the message content and the frequency at which the message type is sent out. The following message types have been defined.

Message Frequency Comment
Station Description Twice per hour IGS station name and link to essential processing information
GNSS Observations Once per second - recommended Data pertaining to a GNSS constellation
Ephemeris On issue by receiver
Meteorological data At least once per 5-minute

RT-IGS Message Structure

Each RT-IGS message contains a common message header followed by message specific content including the data.

Message Header

Every RT-IGS message has a common 11 byte header. The header contains the following information:

Bytes Name Type Description
2 rec_id unsigned short Message Type ID
2 sta_id unsigned short Unique RT-IGS number assigned to each station.
4 GPSTime unsigned long GPS time message issued, GPS time is seconds from the beginning of GPS (6 Jan. 1980)
2 num_bytes unsigned short Total number of bytes in the message including the header
1 IODS unsigned char Issue of Data Station. This number will change in order to alert real-time users of a service affecting change at a station.

Message Types

Each RT-IGS message type is assigned an identification number. The following message type IDs have been reserved.

ID Number Message Type
100 Station
200-219 GPS Observations
220-239 Glonass Observations
240-259 Galileo Observations
300 GPS Ephemeris
400 Surface meteorological data

RT-IGS Message Content

The following message types have been defined and are present in today's RT-IGS data streams.

100: RT-IGS Station Message

Content: Station information that enables real-time users to link data to a specific station configuration. This information is to be valid for the real-time data stream content and may be more current than site log information immediatley following a configuration change at a station.

Bytes Name Type Description
2 rec_id unsigned short Station type message issued at least twice per hour
2 sta_id unsigned short Unique RT-IGS number assigned to each station.
4 GPSTime unsigned long GPS time message issued, GPS time is seconds from the beginning of GPS (6 Jan. 1980)
2 num_bytes unsigned short Total number of bytes in the message including the header
1 IODS unsigned char Issue of data station. This number will change in order to alert real-time users of a service affecting change at a station.
1 sta_rec_type unsigned char Various station data formats are possible: 0 indicates that there is no additional station data
1 IGS_UniqueID[8] char IGS ID eg. "NRC1", this variable will use the IGS 4 character standard but c requires a \0 to terminate the string
*data unsigned char Default sta_rec_type 0 does not contain data. The pointer is shown only to illustrate options

200: RT-IGS Observation Message

The GPS Observation Message can be in any format. Message Type 200 consists of GPS observations in the JPL SOC format. SOC is a highly compressed format and was chosen for the prototype network in order to test the advantages of compressed data formats for real-time applications.

SOC Compression

SOC compresses a complete GPS observation to 21 bytes/epoch. Each observation set is fully idependent making it ideally suited for real time data transmission from remote sites that may only have low bandwidth access to the Internet.

Message Type 200 Content:

Bytes Name Type Description
2 rec_id unsigned short 200 indicates RT-IGS GPS observation. Data is in SOC format.
2 sta_id unsigned short Unique RT-IGS number assigned to each station.
4 GPSTime unsigned long GPS time message issued, GPS time is seconds from the beginning of GPS (6 Jan. 1980)
2 num_bytes unsigned short Total number of bytes in the message including the header
1 IODS unsigned char Issue of data station. This number will change in order to alert real-time users of a service affecting change at a station.
1 num_obs unsigned char Number of GPS Observations in the data block
21/sat *data unsigned char The data starts here. The pointer is not in the data stream.

300: RT-IGS Ephemeris Message

Content: SV Broadcast Ephemeris (Subframes 1-3, parity removed)

Bytes Name Type Description
2 rec_id unsigned short 300 indicates RT-IGS ephemeris message.
2 sta_id unsigned short Unique RT-IGS number assigned to each station.
4 CollectedGPSTime unsigned long Time ephemeris was received at a station. GPS time is seconds from the beginning of GPS (6 Jan. 1980)
2 num_bytes unsigned short Total number of bytes in the message, including the header, but not the size of the data pointer
1 IODS unsigned char Issue of data station. This number will change in order to alert real-time users of a service affecting change at a station.
1 prn unsigned char PRN number for the data in the message.
72 *data unsigned char The data starts here. The ephemeris data format consists of the 3 broadcast sub frames with the parity bits removed so 3 subframes = 72 bytes per eph.

400: RT-IGS Meteorological Message

Content: Station Meteorological Observations

Bytes Name Type Description
2 rec_id unsigned short 400 indicates RT-IGS meteorological message.
2 sta_id unsigned short Unique number assigned to each station.
4 GPSTime unsigned long GPS time message issued, GPS time is seconds from the beginning of GPS (6 Jan. 1980)
2 num_bytes unsigned short Total number of bytes in the message, including the header, but not the size of the data pointer
1 IODS unsigned char A flag indicating the current station configuration that derived the met. observations, this flag will change every time the station configuration changes
1 Numobs unsigned char If only temperature, pressure, and relative humidity then: 3
*mets long Temp. (deg C), press (mb), rel. hum. (%), zenith wet (m), zenith dry (m), zenith total (m), and each scaled by 1000: so 1000.123mb = 1000123. If the zenith observations are not present only enter 3 for the number of observations.
Previous (RT-IGS Protocol)

Last modified: 2007-05-15