Guide to TBtool

1. What is TBtool?

---------------

TBtool is a C-program developed at JPL to read Turbobinary files from SUNSAT and GPSMET and output the data in various formats. The SUNSAT data often has extra or missing bytes, and TBtool has been designed to correct these errors when possible.

2. How to install TBtool

---------------------

Please set up a directory for TBtool. Copy the following 6 files

into this directory:

Makefile

TBtool.c

TBtool.h

configFlagTst.c

parseCmd.c

README

PRN_GPS

In this directory, type "make". If you want to uninstall TBtool, type "make clean".

The makefile of TBtool is platform-independent. This code has only been compiled under HP-UNIX.

 

3. How to run TBtool

-----------------

After your successful installation of TBtool, type "TBtool -h", you will see the following lines:

Simple reader for SUNSAT and GPSMET turbobinary data

Usage: ./TBtool -i file.trb -o output.file (other option tags)

option: -i input file name (default is stdin)

option: -o output file name (default is stdout)

option: -a print the antenna state

option: -b print low-rate binary data

option: -C clean data (fix extra/missing byte errors where possible)

option: -E end time filter

option: -G print 1 Hz part of CA high-rate observation records

option: -g print CA high-rate observation records (including 1 Hz)

option: -h this screen

option: -I print 10s and 30s sampling records in streaming format

option: -L print log occultation schedule records

option: -O print the observation records in RINEX format

option: -P print 1 Hz part of P-code high-rate observation records

option: -p [PRN number] PRN filter

option: -q [rcv name] print records in QM format

option: -r PRN_GPS file name

option: -s print P-code high-rate observation records (including 1 Hz)

option: -S start time filter

option: -T print data status table

option: -t [ca pca l1 p1 l2 p2 lc pc] data type option for QM format output

option: -x add extra header lines from a specified file

Where:

See below for definitions of high-rate and low-rate data.

Option -i: Input file must be a pre-existing turbobinary format file

Option -o: If there is a pre-existing file with the same file name, TBtool will overwrite the file.

Option -a: Antenna state consists of antenna position and velocity based on GPS data.

Option -b: Low-rate (usually 10 or 30 second sampling) observation records are printed in hexadecimal binary format.

Option -C: TBtool will remove and repair (SUNSAT) records when possible.

Option -E: -E should be followed by integer time (GPS seconds past 6 Jan 1980 0:00 UT). Data following this epoch will not be output.

Option -G: Output 1-Hz part of CA high-rate observable records (see below).

Option -g: Output CA high-rate observable records (including 1 Hz part).

Option -h: Print this help screen.

Option -I: Output low-rate observables in streaming format.

Option -L: Output occultation schedule log records.

Option -O: Output low-rate observables in RINEX format.

Option -P: Output 1-Hz part of P-code high-rate observable records (see below).

Option -p: -p should be followed by PRN number. Output only records for specified PRN number.

Option -q: -q should be followed by receiving satellite name (MET, SUNSAT, etc.). .Output records in QM format (instead of default output format). If no receiver name is provided, the receiver name is set to NONE in the qm file. QM format is often esier to read than the default high-rate output formats.

Option —r: Give the PRN_GPS file name (including path). The default name is /goa/etc/PRN_GPS. When option —q is

selected, the PRN_GPS file name must be provided (or use the default name). A PRN_GPS file is supplied with the source code.

Option -s: Output P-code high-rate observable records (including 1 Hz part).

Option -S: -S should be followed by integer time (GPS seconds past 6 Jan 1980 0:00 UT). Data preceding this epoch will not be output.

Option -T: Append table of input data statistics to the output file.

Option -t: Used together with -q option to select the output types in QM file. -t should be followed by a list of the desired data types. See below. If no output type is selected, the QM file will be an empty file. For types ca, pca, option —G or —g must be used. For type l1, p1, l2, p2, lc and pc, option —g and —P must be used for 1 Hz data, option —s must be used for 50-hz or 10-hz data.

Option -x: Usually used together with the option tag -O. -x should be followed by an user-defined pre-existing file name. In this file, the user provides additional information for RINEX header lines. TBtool will include these header lines in the output RINEX file.

Multiple option tags are accepted. In this case, all the corresponding records will be printed to the output file. For example, "-G -P -T" will output both 1-Hz CA, P1, and P2 records and attach the statistics table at the end of the output file.

A compressed format input file (.gz file from gzip) and a piped input stream are also accepted. For example, the following two commands perform the same function:

TBtool —i testfile.trb.gz —o output.file —G

gzcat testfile.trb.gz | TBtool —o output.file —G

One advantage of the piped input stream is that user can concatenate several files together in input. The disadvantage of the piped input stream is that it can not be used with tag —C, because in the —C mode, TBtool performs back-and-forth

checking using fseek, which is not suitable for the streaming input.

GPS tracking data sample rates:

The GPS satellites are tracked at low-rate (typically 10 or 30 seconds per sample) for orbit determination.

The GPS satellites are tracked at high-rate (typically 1, 10, or 50 samples/sec) for occultation measurements.

GPS tracking data types:

The GPS satellites broadcast CA-code and P-code at the L1 frequency, and P-code at L2.

There are 6 GPS ranging observables:

Pseudorange from tracking CA, L1 P-code (P1), and L2 P-code (P2).

Phase from tracking CA, P1, and P2.

Turbobinary high-rate data records:

The high-rate data are recorded in 1 second records in 3 types of turbobinary records: CA, P1, and P2. 10 or 50 Hz phase data are recorded as a polynomial plus an array of residuals to the polynomial.

High rate CA records contain the CA, P1, and P2 SNRs, L1 and L2 phase rate and acceleration, CA phase and pseudorange at the integer second epoch, plus the 50 or 10 Hz array of CA phase residuals and CA SNRs.

High rate P1 records contain the P1 pseudorange and phase (relative to CA) at the integer second epoch, plus the 50 or 10 Hz array of P1 phase residuals and SNR.

High rate P2 records contain the P2 pseudorange and phase (relative to CA) at the integer second epoch, plus the 50 or 10 Hz array of P2 phase residuals and SNR.

TBtool flags for selecting GPS tracking data rate, data type, and output format:

To output low-rate data, use the -I flag (streaming format) or the -O flag (RINEX format).

To output the 1-Hz component of the high-rate CA records (incl. P2 polynomial coefficients, etc.), use the -G flag.

To output all of the high-rate CA records, use the -g flag

To output the 1-Hz component of the P1 and P2 records, use the -P flag.

To output all of the high-rate P1 and P2 records, use the -s flag.

To output the high-rate data in qm format, use the -q and -t flags in addition to the -G, -g, -P and/or -s flags

To output the low-rate data in qm format, use the -q and -t flags in addition to the -I flag

-t data types are

ca: CA phase

pca: CA pseudorange

l1: P1 phase

p1: P1 pseudorange

l2: P2 phase

p2: P2 pseudorange

lc: ionosphere-free combination of P2 phase and CA phase

pc: ionosphere-free combination of P2 pseudorange and CA pseudorange

All of the SNR fields are voltage SNR (the received carrier voltage amplitude divided by the RMS background noise voltage).

4. How to report bugs and make comments

------------------------------------

TBtool is a work in progress. Possible changes include:

(1) Improving cleanup of SUNSAT data: Currently a fairly complete cleanup is implemented for low-rate observables, CA high-rate observables, and antenna state. The high-rate SUNSAT P2 data has low-SNR and we typically do not use it, and no cleanup has been implemented.

(2) Read and output ephemeris information.

The user can report program bugs and make comments and suggestions through the webmaster.

5. TBtool output format

--------------------

-a output

Antenna state (position and velocity computed by GPS receiver)

field 1: 91

field 2: Earth-centered Earth-fixed coordinates X (km)

field 3: Earth-centered Earth-fixed coordinates Y (km)

field 4: Earth-centered Earth-fixed coordinates Z (km)

field 5: Earth-centered Earth-fixed velocity X (km/s)

field 6: Earth-centered Earth-fixed velocity Y (km/s)

field 7: Earth-centered Earth-fixed velocity Z (km/s)

field 8: Year

field 9: Month (1-12)

field 10: Day of month

field 11: Hour

field 12: Minute

field 13: Second

Sample output

91 6286.30421 3316.70804 -314.04784 -0.69058845 1.94937572 7.03160623 1995 5 4 10 1 20.00

91 5783.41435 3737.34834 1776.01912 -2.64298362 0.84587354 6.78580930 1995 5 4 10 6 20.00

91 4721.68543 3823.94363 3689.77564 -4.38426763 -0.26020920 5.86652103 1995 5 4 10 11 20.00

91 3191.42238 3590.44371 5237.33291 -5.73990678 -1.27321384 4.36513870 1995 5 4 10 16 20.00

91 1330.68844 3077.64004 6265.67693 -6.56888140 -2.11095193 2.43375974 1995 5 4 10 21 20.00

91 -688.20905 2347.15336 6673.62579 -6.78317058 -2.71707261 0.26320366 1995 5 4 10 26 20.00

91 -2674.50098 1473.83872 6421.47753 -6.35247804 -3.06049868 -1.93019076 1995 5 4 10 31 20.00

91 -4438.03173 537.95059 5534.78203 -5.30862776 -3.13553378 -3.93195005 1995 5 4 10 36 20.00

91 -5807.01797 -382.18565 4101.35174 -3.74141903 -2.95958665 -5.54470021 1995 5 4 10 41 20.00

91 -6645.11211 -1216.55734 2262.86613 -1.79668818 -2.57128698 -6.60987030 1995 5 4 10 46 20.00

================================================================

-G output

1 Hz data from high-rate CA records

field 1: "HR"

field 2: PRN number

field 3: GPS receiver channel

field 4: timetag (seconds past Jan 1 2000, 12:00 GPS time)

field 5: CA SNR

field 6: P1 SNR

field 7: P2 SNR

field 8: CA phase at integer second epoch (cycles)

field 9: CA range at integer second epoch (meters)

field 10: P1 phase rate (cycles/sec)

field 11: P2 phase rate (cycles/sec)

field 12: P1 phase rate rate (cycles/sec/sec)

field 13: P2 phase rate rate (cycles/sec/sec)

field 14: [catchbyte]--Number of bytes shifted, positive number means forward bytes, negative number means backward

bytes.

Sample output

HR prn27 1 -147146599 236 159 184 9416188.629479 25965664.350148 -23203.509766 -18080.652344 -13.077438 -10.188417 [0]

HR prn27 1 -147146598 237 158 187 9439398.565040 25970081.598058 -23216.048828 -18090.425781 -11.751696 -9.162092 [0]

HR prn27 1 -147146597 234 158 188 9462620.708331 25974499.928175 -23228.216797 -18099.902344 -11.823095 -9.239312 [0]

HR prn27 1 -147146596 235 158 185 9485855.055287 25978921.204057 -23240.541016 -18109.503906 -12.216711 -9.522052 [0]

HR prn27 1 -147146595 233 158 186 9509101.867452 25983345.269456 -23253.072266 -18119.271484 -12.314120 -9.556822 [0]

HR prn27 1 -147146594 236 160 187 9532361.362369 25987771.026058 -23265.904297 -18129.269531 -12.165772 -9.490736 [0]

HR prn27 1 -147146593 235 157 191 9555633.461323 25992199.934351 -23278.470703 -18139.060547 -12.788812 -9.935824 [0]

HR prn27 1 -147146592 236 157 188 9578918.485639 25996630.890819 -23291.292969 -18149.052734 -11.179694 -8.698559 [0]

HR prn27 1 -147146591 237 156 184 9602215.541119 26001064.022617 -23302.839844 -18158.050781 -11.374558 -8.847549 [0]

HR prn27 1 -147146590 234 159 185 9625524.352557 26005500.018003 -23314.980469 -18167.517578 -12.725374 -9.878342 [0]

================================================================

-g output

High rate CA record data, including phase rates and accelerations needed to interpret 10 Hz and 50 Hz CA, P1 and P2 phase data.

1 Hz data are identical to -G output.

1 Hz record

field 1: "HR"

field 2: PRN number

field 3: GPS receiver channel

field 4: timetag (seconds past Jan 1 2000, 12:00 GPS time)

field 5: CA SNR

field 6: P1 SNR

field 7: P2 SNR

field 8: CA phase at integer second epoch (cycles)

field 9: CA range at integer second epoch (meters)

field 10: P1 phase rate (cycles/sec)

field 11: P2 phase rate (cycles/sec)

field 12: P1 phase rate rate (cycles/sec/sec)

field 13: P2 phase rate rate (cycles/sec/sec)

field 14: [catchbyte]--Number of bytes shifted

10 Hz or 50 Hz data

field 1: "QR"

field 2: PRN number

field 2: PRN number

field 4: timetag (seconds past Jan 1 2000, 12:00 GPS time)

field 5: CA phase (cycles)

field 6: CA SNR

field 7: CA phase residual (divide by 8192 to get residual in cycles)

(if the record is "bad", i.e. the phase or range are out of normal range,

the field 1 becomes "Qr" and field 5 disappears)

Interpreting 50 Hz data (10 Hz is analogous):

dt = (50 Hz timetag) - (1 Hz timetag)

dphase = CA phase residual

phasedot = P1 phase rate

phasedotdot = P1 phase rate rate

(50 Hz phase) = (CA phase at integer second epoch) - dt * phasedot - .5 * dt * dt * phasedotdot + dphase/8192

Sample beginning of output

HR prn27 1 -147146599 236 159 184 9416188.629479 25965664.350148 -23203.509766 -18080.652344 -13.077438 -10.188417 [0]

QR prn27 27 -147146599.50 9404588.519042 6104 80 0

QR prn27 27 -147146599.48 9405052.455707 6419 36 0

QR prn27 27 -147146599.46 9405516.404562 6420 49 0

QR prn27 27 -147146599.44 9405980.362309 6341 92 0

QR prn27 27 -147146599.42 9406444.322114 6413 109 0

QR prn27 27 -147146599.40 9406908.280679 6250 73 0

Qr prn27 27 -147146599.38 6063 82 0

Qr prn27 27 -147146599.36 6255 -11 0

================================================================

-I output

Low rate data (typically 10 second or 30 second sample rate)

field 1: "OBS"

field 2: sample interval (seconds)

field 3: PRN number

field 4: GPS receiver channel

field 5: timetag (seconds past Jan 1 2000, 12:00 GPS time)

field 6: CA SNR

field 7: P1 SNR

field 8: P2 SNR

field 9: CA phase (cycles)

field 10: CA range (meters)

field 11: P1 phase (cycles)

field 12: P1 range (meters)

field 13: P2 phase (cycles)

field 14: P2 range (meters)

field 15: [catchbyte]--Number of bytes shifted

Sample output

OBS 10s prn27 1 -147146600 235 157 185 9236524.790747 25961250.164438 9236524.791695 25961249.778115 7197289.680654 25961250.996020 3.033907 [0]

OBS 10s prn21 2 -147146600 177 117 109 14518528.269595 27322059.000449 14518528.273394 27322058.880414 11313125.250432 27322063.586606 17.531540 [0]

OBS 10s prn17 3 -147146600 439 290 320 17776823.365575 23281285.557101 17776824.366503 23281284.872182 13852068.815308 23281286.541614 1.719263 [0]

OBS 10s prn22 4 -147146600 277 190 234 44334381.973399 28596904.793149 44334381.974167 28596904.045223 34546234.207016 28596914.315467 48.074394 [0]

OBS 10s prn19 5 -147146600 319 212 180 26990986.644115 28552021.053384 26990986.642461 28552020.881856 21031896.656718 28552032.075766 52.601326 [0]

OBS 10s prn20 7 -147146600 76 48 63 -16131719.101969 25796764.679986 -16131719.101074 25796764.797741 -12570168.281752 25796767.148384 -3.140388 [0]

OBS 10s prn23 8 -147146600 326 220 219 7683008.403749 24163185.024135 7683008.403777 24163184.603791 5986757.073502 24163186.141883 3.492755 [0]

OBS 10s prn27 1 -147146590 236 158 187 9469057.578016 26005499.737361 9469057.579339 26005499.400901 7378484.011269 26005500.564908 3.096887 [0]

OBS 10s prn21 2 -147146590 177 116 110 14599896.486064 27337543.420354 14599896.490760 27337543.117130 11376528.491740 27337548.105059 18.254997 [0]

OBS 10s prn17 3 -147146590 438 289 325 18088442.518166 23340584.717933 18088443.519030 23340584.052322 14094888.900578 23340585.760865 1.762424 [0]

================================================================

-L output

Occultation schedule log records

field 1: "SCHEDULE"

field 2: timetag (seconds past Jan 1 2000, 12:00 GPS time)

field 3: PRN number of occulting GPS satellite

field 4: "1" (unused field)

field 5: PRN number for reference GPS satellite

field 6: Reference GPS ground receiver (See lists below for GPSMET and SUNSAT)

field 7: latitude of the tangent point (degree), curvature not considered

field 8: longitude of the tangent point (degree), curvature not considered

field 9: height of the tangent point (km), curvature not considered

For GPSMET the ground receiver set used for occultation scheduling is:

1 GOL3

2 KOK2

3 FAI2

4 TID2

5 POTM

6 MCM4

For SUNSAT the ground receiver set used for occultation scheduling is:

0 JPLM

1 KOKB

2 FAIR

3 TIDB

4 SANT

5 MCM4

6 CRO1

7 GALA

8 GODE

9 GOLD

10 GUAM

11 HRAO

12 MADR

13 MKEA

Sample output

SCHEDULE 28235730 prn06 1 17 10 5.381609 159.875458 -75.519279

SCHEDULE 28235740 prn06 1 17 10 5.145270 160.117752 -105.005547

SCHEDULE 28235750 prn06 1 17 10 4.906345 160.361557 -134.816681

SCHEDULE 28235760 prn06 1 17 10 4.664803 160.606995 -164.938156

SCHEDULE 28235770 prn06 1 17 10 4.420576 160.854111 -195.373444

SCHEDULE 28236290 prn22 1 17 3 -22.398556 134.919571 76.952057

SCHEDULE 28236390 prn17 1 15 2 -32.540615 160.783401 -168.662064

SCHEDULE 28236400 prn17 1 15 2 -32.764042 161.170258 -197.271103

SCHEDULE 28236870 prn03 1 25 11 -54.948490 113.853928 72.650261

SCHEDULE 28236880 prn03 1 25 11 -54.932682 113.539459 40.097034

SCHEDULE 28236890 prn03 1 25 11 -54.917061 113.224792 6.998419

SCHEDULE 28236900 prn03 1 25 11 -54.901604 112.909843 -26.637777

SCHEDULE 28236910 prn03 1 25 11 -54.886288 112.594490 -60.806347

================================================================

-O output

Low rate data (typically 10 second or 30 second sample rate) in RINEX format.

See definition of RINEX format (ftp://igscb.jpl.nasa.gov/igscb/data/format/rinex2.txt)

Sample beginning of output

2 OBSERVATION DATA GPS RINEX VERSION / TYPE

TBtool v1.0 bai Nov/08/2000 13:17:31 PGM / RUN BY / DATE

10 INTERVAL

1 1 0 WAVELENGTH FACT L1/2

4 L1 L2 P1 P2 # / TYPES OF OBSERV

SNR is mapped to signal strength [0,1,2-9] COMMENT

SNR: >500 >100 >50 >10 >5 >3 >1 >0 bad n/a COMMENT

sig: 9 8 7 6 5 4 3 2 1 0 COMMENT

1995 05 04 09 56 40.000000 TIME OF FIRST OBS

1995 05 05 03 10 10.000000 TIME OF LAST OBS

================================================================

-P output

1 Hz data from high-rate P1 and P2 records. Data are recorded relative to CA, so what are actually recorded are:

CA phase - P1 phase and CA pseudorange - P1 pseudorange (if they exist), and

CA phase - P2 phase and CA pseudorange - P2 pseudorange

field 1: timetag (seconds past Jan 1 2000, 12:00 GPS time)

field 2: PRN number

field 3: "CA-L1" or "CA-L2"

field 4: CA phase (converted to meters) minus P1 or P2 phase (converted to meters) at integer second epoch

field 5: P1 or P2 SNR (obtained from high-rate CA records)

field 6: "PCA-P1" or "PCA-P2"

field 7: CA pseudorange minus P1 or P2 pseudorange (meters) at integer second epoch

Sample output

-147146599 prn27 CA-L1 -0.190635 159 PCA-P1 0.487758333405548

-147146599 prn27 CA-L2 0.417034 184 PCA-P2 -0.943443146136102

-147146598 prn27 CA-L1 -0.190320 158 PCA-P1 0.807879838343409

-147146598 prn27 CA-L2 0.418116 187 PCA-P2 -0.165289376732947

-147146597 prn27 CA-L1 -0.190192 158 PCA-P1 -0.0402960700970847

-147146597 prn27 CA-L2 0.419802 188 PCA-P2 -1.10927778844107

-147146596 prn27 CA-L1 -0.190324 158 PCA-P1 0.0505527178816002

-147146596 prn27 CA-L2 0.420348 185 PCA-P2 -1.19672955976084

-147146595 prn27 CA-L1 -0.190306 158 PCA-P1 0.426369211121202

-147146595 prn27 CA-L2 0.421949 186 PCA-P2 -0.774933063057586

-147146594 prn27 CA-L1 -0.190485 160 PCA-P1 -0.129494766850936

-147146594 prn27 CA-L2 0.422958 187 PCA-P2 -1.05675849413439

-147146593 prn27 CA-L1 -0.190150 157 PCA-P1 0.279249526481708

-147146593 prn27 CA-L2 0.423608 191 PCA-P2 -0.90123576716572

================================================================

-q output

QM format output.

QM format consists of 8 header lines followed by several data lines. The header consists of

Line 1: Number of ground stations, number of satellites

Line 2: Names of ground stations

Line 3: Names of satellites

Line 4: File epoch (seconds past 1 Jan 2000 12:00 GPS time)

Lines 5-8 should be ignored.

Each data line consists of

Field 1: Time (seconds after File epoch)

Field 2: Receiver name

Field 3: Transmitter name

Field 4: Data type

Field 5: 1 = Sat-Sat 2 = Grn-Sat 3 = Sat-Grn (Sat = satellite, Grn = ground)

Field 6: Phase epoch (beginning of current continuous phase arc) This field should be ignored (seconds after File epoch)

Field 7: Sigma on first observable

Field 8: Number of observables following

Field 9 etc.: Observable data

Date types (as indicated in Field 4) and corresponding observable fields are

L1: P1 or CA phase observable

Observable 1: phase transformed to range (km)

Observable 2: SNR

P1: P1 or CA pseudorange

Observable 1: pseudorange (km)

L2: P2 phase observable

Observable 1: phase transformed to range (km)

Observable 2: SNR

P2: P2 pseudorange

Observable 1: pseudorange (km)

LC: ionosphere-free combination of CA phase and P2 phase

Observable 1: phase transformed to range (km)

Observable 2: CA phase (transformed to range) minus P2 phase (transformed to range) (km)

Observable 3: Effective SNR (combination of CA and P2 SNRs)

PC: ionosphere-free combination of CA pseudorange and P2 pseudorange

Observable 1: pseudorange (km)

-----------------------------------------

Sample output for flags -q MET —G —t ca pca

0 2

MET GPS37

-147135224.00

10

2

1

1 3 4 5 2

0.000000 MET GPS37 L1 1 0.000000 0.0000e+00 2 8059.35757284292 378

0.000000 MET GPS37 P1 1 0.000000 0.0000e+00 1 28328.6643242594

1.000000 MET GPS37 L1 1 0.000000 0.0000e+00 2 8064.87139652922 377

1.000000 MET GPS37 P1 1 0.000000 0.0000e+00 1 28334.1781349455

2.000000 MET GPS37 L1 1 0.000000 0.0000e+00 2 8070.38342764698 375

2.000000 MET GPS37 P1 1 0.000000 0.0000e+00 1 28339.6906534258

3.000000 MET GPS37 L1 1 0.000000 0.0000e+00 2 8075.89373607376 375

3.000000 MET GPS37 P1 1 0.000000 0.0000e+00 1 28345.2009036466

4.000000 MET GPS37 L1 1 0.000000 0.0000e+00 2 8081.40237336429 378

4.000000 MET GPS37 P1 1 0.000000 0.0000e+00 1 28350.7096523181

5.000000 MET GPS37 L1 1 0.000000 0.0000e+00 2 8086.90927002737 376

5.000000 MET GPS37 P1 1 0.000000 0.0000e+00 1 28356.2165665109

-----------------------------------------

Sample output for flags -q MET —g —t ca pca

0 2

MET GPS37

-147107853.50

10

2

1

1 3 4 5 2

0.000000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7768.23708404417 98.5337030007342

0.020000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7768.36509461895 107.515531470481

0.040000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7768.49308255341 89.1712885788799

0.060000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7768.62108452649 83.728909463737

0.080000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7768.74909575295 95.2987224078171

0.100000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7768.87709702225 131.987208191018

0.120000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7769.00510020451 124.984426672233

0.140000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7769.13309301148 112.387031657462

0.160000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7769.26109899758 79.8469327522365

0.180000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7769.38910039245 109.570695611863

0.200000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7769.51709807882 95.2606638126063

0.220000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7769.64510313702 95.9076599311897

0.240000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7769.77309489304 104.927546996147

0.260000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7769.90109650642 110.331867516079

0.280000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7770.02908788387 88.790702626772

0.300000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7770.15707973408 84.0333782254233

0.320000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7770.28508448467 122.168090626634

0.340000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7770.4130784186 102.415679712235

0.360000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7770.54107649551 115.850363821643

0.380000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7770.66907016703 115.774246631222

0.400000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7770.79705862014 98.2672928342586

0.420000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7770.92504552506 98.1150584534155

0.440000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7771.05304828047 101.007511689435

0.460000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7771.18104279767 127.22988378967

0.480000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7771.30902645177 109.190109659755

0.500000 MET GPS37 P1 1 0.000000 0.0000e+00 1 27185.3593258294

0.500000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7771.43702521302 97.4680623348321

0.520000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7771.56502179889 88.4481752698749

0.540000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7771.693003503 122.472559388321

0.560000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7771.82098718977 116.230949773751

-----------------------------------------

Sample output for flags -q MET —P —t p1 p2

0 2

MET GPS37

-147107853.50

10

2

1

1 3 4 5 2

0.500000 MET GPS37 P1 1 0.000000 0.0000e+00 1 27185.3581440463

0.500000 MET GPS37 P2 1 0.000000 0.0000e+00 1 27185.358962204

1.500000 MET GPS37 P1 1 0.000000 0.0000e+00 1 27191.7567826824

1.500000 MET GPS37 P2 1 0.000000 0.0000e+00 1 27191.7578073017

2.500000 MET GPS37 P1 1 0.000000 0.0000e+00 1 27198.1544093542

2.500000 MET GPS37 P2 1 0.000000 0.0000e+00 1 27198.1553678729

3.500000 MET GPS37 P1 1 0.000000 0.0000e+00 1 27204.5503119307

3.500000 MET GPS37 P2 1 0.000000 0.0000e+00 1 27204.551497092

4.500000 MET GPS37 P1 1 0.000000 0.0000e+00 1 27210.9453788554

4.500000 MET GPS37 P2 1 0.000000 0.0000e+00 1 27210.9462392964

-----------------------------------------

Sample output for flags -q MET —s —t l1 l2 p1 p2

0 2

MET GPS37

-147107853.50

10

2

1

1 3 4 5 2

0.000000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7768.2371285281 59.2572327431993

0.000000 MET GPS37 L2 1 0.000000 0.0000e+00 2 7768.23647795478 217.657106010505

0.020000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7768.36514940504 69.266643283637

0.020000 MET GPS37 L2 1 0.000000 0.0000e+00 2 7768.36448326608 205.897000090372

0.040000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7768.49312301869 65.3466079769257

0.040000 MET GPS37 L2 1 0.000000 0.0000e+00 2 7768.49248328928 232.728309713978

0.060000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7768.6211199278 79.390229609707

0.060000 MET GPS37 L2 1 0.000000 0.0000e+00 2 7768.62048658009 219.141391223726

……

0.420000 MET GPS37 L2 1 0.000000 0.0000e+00 2 7770.92444882697 226.106114147301

0.440000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7771.05309651592 71.9688035436031

0.440000 MET GPS37 L2 1 0.000000 0.0000e+00 2 7771.05244164279 225.877762576036

0.460000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7771.18109264755 61.845217217533

0.460000 MET GPS37 L2 1 0.000000 0.0000e+00 2 7771.18043316516 211.225203419882

0.480000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7771.30906774169 78.0581787773294

0.480000 MET GPS37 L2 1 0.000000 0.0000e+00 2 7771.30842235071 214.346008227167

0.500000 MET GPS37 P1 1 0.000000 0.0000e+00 1 27185.3581440463

0.500000 MET GPS37 P2 1 0.000000 0.0000e+00 1 27185.358962204

0.500000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7771.43707379691 52.7492129621543

0.500000 MET GPS37 L2 1 0.000000 0.0000e+00 2 7771.43641149486 213.584836322951

0.520000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7771.56508134696 72.6157996621865

0.520000 MET GPS37 L2 1 0.000000 0.0000e+00 2 7771.56440650016 220.435383460893

0.540000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7771.69305263278 70.903162877701

0.540000 MET GPS37 L2 1 0.000000 0.0000e+00 2 7771.69239866186 217.542930224873

-----------------------------------------

Sample output for flags -q MET —s —t l1 p1 lc pc

0 2

MET GPS37

-147107853.50

10

2

1

1 3 4 5 2

0.000000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7768.2371285281 59.2572327431993

0.000000 MET GPS37 LC 1 0.000000 0.0000e+00 3 7768.23813413736 0.000650573322673154 22.7703799955832

0.020000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7768.36514940504 69.266643283637

0.020000 MET GPS37 LC 1 0.000000 0.0000e+00 3 7768.36617907452 0.000666138956148643 26.3196831729208

0.040000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7768.49312301869 65.3466079769257

0.040000 MET GPS37 LC 1 0.000000 0.0000e+00 3 7768.49411186622 0.000639729414615431 25.0759423642062

0.060000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7768.6211199278 79.390229609707

0.060000 MET GPS37 LC 1 0.000000 0.0000e+00 3 7768.62209891095 0.000633347711300303 30.0127274278476

……

0.440000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7771.05309651592 71.9688035436031

0.440000 MET GPS37 LC 1 0.000000 0.0000e+00 3 7771.05410877151 0.000654873131679778 27.4374460329912

0.460000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7771.18109264755 61.845217217533

0.460000 MET GPS37 LC 1 0.000000 0.0000e+00 3 7771.1821120278 0.000659482390801713 23.6851121549085

0.480000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7771.30906774169 78.0581787773294

0.480000 MET GPS37 LC 1 0.000000 0.0000e+00 3 7771.31006534045 0.0006453909791162 29.4977695817272

0.500000 MET GPS37 P1 1 0.000000 0.0000e+00 1 27185.3581440463

0.500000 MET GPS37 PC 1 0.000000 0.0000e+00 1 27185.3568793971

0.500000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7771.43707379691 52.7492129621543

0.500000 MET GPS37 LC 1 0.000000 0.0000e+00 3 7771.43809753558 0.000662302047203411 20.347324825118

0.520000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7771.56508134696 72.6157996621865

0.520000 MET GPS37 LC 1 0.000000 0.0000e+00 3 7771.56612447641 0.00067484680130292 27.6288578643455

0.540000 MET GPS37 L1 1 0.000000 0.0000e+00 2 7771.69305263278 70.903162877701

0.540000 MET GPS37 LC 1 0.000000 0.0000e+00 3 7771.6940634938 0.000653970922030567 26.9948385982567

================================================================

-s output

Output high-rate P1 and P2 data. It consists of 1 Hz records plus higher rate records

1 Hz records have the same format as the —P output

Higher rate (10 or 50 Hz) phase records:

field 1: "L1" or "L2" indicate P1 or P2 phase

field 2: sampling frequency (50 Hz or 10 Hz)

field 3: timetag (seconds past Jan 1 2000, 12:00 GPS time)

field 4: PRN number

field 5: P1 phase (L1 cycles) or P2 phase (L2 cycles)

field 6: phase residual (relative to polynomial) (For L1, divide by 16384 to recover L1 phase residual in cycles relative to P1 phase polynomial. For L2, divide by 8192 to recover L2 phase residual in cycles relative to P2 phase polynomial.)

field 7: SNR

Sample output

-147107853 prn07 CA-L1 -0.000638 59.2572 PCA-P1 11.8178313951906

L1 50Hz -147107853.500 07 40822361.623424 266 59.2572

L1 50Hz -147107853.480 07 40823034.344226 -621 69.2666

L1 50Hz -147107853.460 07 40823706.932747 612 65.3466

L1 50Hz -147107853.440 07 40824379.567025 1048 79.3902

L1 50Hz -147107853.420 07 40825052.295524 -107 50.7321

L1 50Hz -147107853.400 07 40825724.952227 -133 66.907

L1 50Hz -147107853.380 07 40826397.592799 58 64.3951

……

L1 50Hz -147107852.620 07 40851956.193258 798 50.4276

L1 50Hz -147107852.600 07 40852628.792108 -172 62.7586

L1 50Hz -147107852.580 07 40853301.322641 -70 66.8309

L1 50Hz -147107852.560 07 40853973.867926 -257 74.1001

L1 50Hz -147107852.540 07 40854646.396897 -224 63.1392

L1 50Hz -147107852.520 07 40855318.852058 971 72.6539

-147107853 prn07 CA-L2 0.602195 217.657 PCA-P2 3.63625419734203

L2 50Hz -147107853.500 07 31809629.780890 -123 217.657

L2 50Hz -147107853.480 07 31810153.941241 -82 205.897

L2 50Hz -147107853.460 07 31810678.079939 -200 232.728

L2 50Hz -147107853.440 07 31811202.232017 -190 219.141

L2 50Hz -147107853.420 07 31811726.383925 -163 209.17

……

L2 50Hz -147107852.620 07 31832690.485578 -181 208.028

L2 50Hz -147107852.600 07 31833214.549116 -124 217.581

L2 50Hz -147107852.580 07 31833738.595395 -190 223.061

L2 50Hz -147107852.560 07 31834262.662744 -65 213.547

L2 50Hz -147107852.540 07 31834786.708562 -98 217.581

L2 50Hz -147107852.520 07 31835310.763243 -40 213.356

================================================================

-T output

File statistics

Line 1: File name

Line 2 field 1: Number bytes read

Line 2 field 2: Number bytes ignored

Line 3 field 1: Number 10s/30s samples read

Line 3 field 2: Number of bad 10s/30s samples

Line 4 field 1: Number 1 Hz samples read

Line 4 field 2: Number of bad 1 Hz samples

Line 5 field 1: Number 50 Hz/10 Hz L1 samples XXXXX

Line 5 field 2: Number XXXXXXX

Line 5 field 3: Number XXXXXXXX

Line 6 field 1: Number 1 Hz L1-L2 samples read

Line 6 field 2: Number of bad 1 Hz L1-L2 samples

Line 6 field 3: Number of mismatched 1 Hz L1-L2 samples

Line 7 field 1: Number antenna state records read

Line 7 field 2: Number of bad antenna state records

Line 8 field 1: Number ephemeris records read

Line 8 field 2: Number of bad ephemeris records

Line 9 field 1: Number occultation schedule records read

Line 9 field 2: Number of bad occultation schedule records

Line 10 field 1: Beginning of data (seconds past Jan 1 1980 0:00)

Line 10 field 2: End of data (seconds past Jan 1 1980 0:00)

Line 11+ field 1: PRN number

Line 11+ field 2: Number of low rate records for PRN

Line 11+ field 3: Beginning of low rate data for PRN

Line 11+ field 4: End of low rate data for PRN

Sample beginning of output

File name = [test_95125.trb]

File size = [12555270] byte read = [12566799] unknown byte = [1309159]

10s sampling data (records): total = [47025] bad = [0]

1 hz high rate L1 data (records): total = [13278] bad = [0]

50 hz L1 data (samples): total = [0] unrepaired = [0] junk = [0]

high rate CA-L1 data (records): total = [13276] bad = [0] mismatch = [0]

high rate CA-L2 data (records): total = [13276] bad = [0] mismatch = [0]

Antenna status data (records): total = [221] bad = [0]

Ephemeris data (records): total = [251] bad = [0]

Occultation Schedule data (records): total = [898] bad = [0]

data span: from [483655350] to [483722120]

sat prn = [1] usage = [1600] span: from [483655420] to [483719460]

================================================================