CDAAC
  Home Page     Data Center     Research Tools     Post Process Results     Climate Processing     NRT Processing  
  Data Access     Data Download Interface     File Formats     Documentation  


Name Template: PUB/MISSION/level1a/opnGps/opnGps_YYYY.DDD.LLL.NN.TT_bnx

DDDDay of year
IIIIMission ID (CHAM, SACC, CO01-06, GPSM, etc)
LLLLEO number (1-6 for COSMIC)
MISSIONMission ID (eight characters or less--champ, champrt, sacc, sacctst, etc)
NNDump number since midnight
PUBBase directory for the pub hierarchy
TTThe number of the LEO antenna which received these data (1-N)
YYYYYear

Atmospheric occultation data in a simple custom binary format. This data file contains all high rate atmospheric data sent us by the GNSS receiver on the LEO.

A simple perl reader for this format can be found here: dump_opnGps.pl.

The data in these files are ordered by GPS PRN number. The block containing PRN 1 data appears before the block with PRN 2 data, etc. The byte offsets of these sections appear in the trailer block at the end of the file, so quick searches can be done if you know the PRN you are looking for.

This data file consists of three types of records:

  • One second header values. These are values that are supplied by the instument every second and which do not change over the second.
  • High rate data values. These high rate data are interleaved with the one second headers. For 50 Hz data, there will be 50 high rate records after each one second header.
  • Trailer. Each file has a fixed-length binary section at the end which contains format information and file offsets of each of the PRN sections.

The normal plan for reading these data is to seek to the end of file and then read the 64 byte trailer. This tells the location and data format of each PRN block. Then seek to the start of the PRN block desired and read the time-ordered data sequentially. One can seek past the high rate records (which are all the same size) until the correct time is found.


PRN block

Main sections of data, one per PRN, containing low rate and high rate sections

 
Repeated element: One second data block
Repeated: once per second of data
rate 1 uint2
 
The data rate in Hz, or the number of high rate records per low rate record
 
50 or 100

PRN 1 uint2
 
The PRN number of the satellite
 
1 to 32

GPS seconds (integer) 1 uint4
 
integral GPS time
 
seconds

pr0 1 double
 
CA range or range model
 

datalen 1 uint1
 
One byte Blackjack packet length--do not use!
 

ant 1 uint1
 
Antenna ID
 

trkstatus 1 uint1
 
Open loop tracking status
 
21-26: clock link data, 32: flywheeling, 33: CL portion of OL, setting, 34: OL setting, 35: OL rising, 36 => 'CL portion of OL, rising

flystatus 1 uint1
 
Flywheeling status
 
000000XX: Bit 1: flywheeling data, Bit 2: L2C data

P2range 1 double
 
P2 Range or range model (L2C only--version 3)
 

...
 
Repeated element: High rate data block
Repeated: once per epoch of data (see 'rate' field above)
time_offset 1 uint1
 
Time offset from the integer GPS time above
 
seconds

L1 1 double
 
L1 phase
 
meters

L2 1 double
 
L2 phase
 
meters

SNR1 1 ushort
 
L1 signal to noise ratio
 
10 * volts/volt

SNR2 1 ushort (16 bits)
 
L2 signal to noise ratio
 
10 * volts/volt

camdl 1 double (64 bits)
 
CA phase model (open loop data--version=1,3 only)
 
meters

dfaz 1 float (32 bits)
 
Delta phase (open loop data--version=1,3 only )
 
meters

p2mdl 1 double (64 bits)
 
P2 phase model (L2C open loop data--version 3 only)
 
meters

dfaz2 1 float (32 bits)
 
L2 Delta phase (L2C open loop data--version 3 only )
 
meters

...

Trailer

Contains byte offsets of PRN blocks and file version and format information

 
Repeated element: PRN offsets
Repeated: 32 times (once for each PRN number possible)
offset 1 signed long (32 bits)
 
The byte offset from the beginning of the file to the start of a block of data from a given PRN (for PRNs 1 to 32). -1 means no data for this PRN
 
bytes

...
version 1 unsigned byte (8 bits)
 
Version number of data format
 
1 = open loop data, 2 = closed loop data, 3 = open loop L2C data

hrformat 31 unsigned char (8 bits)
 
Format of high rate data block (eg fddSSdf = float, 2*double, 2*short, double, float --see perldoc -f pack for letter values)
 

lrformat 32 unsigned char (8 bits)
 
Format of low rate (one second) data block (eg SSLdCCCC = 2*Short, long, double, 4*Char --see perldoc -f pack for letter values)