You are on page 1of 2

In [1]: import os

import struct
filename='RDEF_data_2014_077/GAIAn001tQsCB13r00c01-14077232937.prd'
fp = open(filename, 'rb')
RLABEL = struct.unpack('<4s', fp.read(4))
print "RECORD LABEL = %s" % (RLABEL)
RLENGTH = struct.unpack('<I',fp.read(4))
print "RECORD LENGTH = %d" % (RLENGTH)
RVERID = struct.unpack('<H',fp.read(2))
print "RECORD VERSION ID = %d" % (RVERID)
STAID = struct.unpack('<H',fp.read(2))
print "STATION ID = %d" % (STAID)
SPACEID = struct.unpack('<H',fp.read(2))
print "SPACECRAFT ID = %d" % (SPACEID)
SSIZE = struct.unpack('<H',fp.read(2))
print "SAMPLE SIZE = %d" % (SSIZE)
SRATE = struct.unpack('<I',fp.read(4))
print "SAMPLE RATE = %d" % (SRATE)
VFLAG = struct.unpack('<H',fp.read(2))
print "VALIDITY FLAG = %d" % (VFLAG)
AFLAG = struct.unpack('<H',fp.read(2))
print "AGENCY FLAG = %d" % (SSIZE)
RFTOIFDOWNCONV = struct.unpack('<d',fp.read(8))
print "RF_TO_IF_DOWNCONV = %ld" % (RFTOIFDOWNCONV)
IFTOCHANNELDOWNCONV = struct.unpack('<d',fp.read(8))
print "IF_TO_CHANNEL_DOWNCONV = %ld" % (IFTOCHANNELDOWNCONV)
TTYEAR = struct.unpack('<H',fp.read(2))
print "TIME TAG YEAR = %d" % (TTYEAR)
TTDOY = struct.unpack('<H',fp.read(2))
print "TIME TAG DOY = %d" % (TTDOY)
TTSDAY = struct.unpack('<I',fp.read(4))
print "TIME TAG SECOND OF DAY = %d" % (TTSDAY)
TTPSDAY = struct.unpack('<d',fp.read(8))
print "TIME TAG PICOSECOND OF DAY = %ld" % (TTPSDAY)
CAPHASE = struct.unpack('<d',fp.read(8))
print "CHANNEL ACCUMULATED PHASE = %ld" % (CAPHASE)
CPPCT0 = struct.unpack('<d',fp.read(8))
print "CHANNEL PHASE POLYNOMIAL COEFFICIENT0 = %ld" % (CPPCT0)
CPPCT1 = struct.unpack('<d',fp.read(8))
print "CHANNEL PHASE POLYNOMIAL COEFFICIENT1 = %ld" % (CPPCT1)
CPPCT2 = struct.unpack('<d',fp.read(8))
print "CHANNEL PHASE POLYNOMIAL COEFFICIENT2 = %ld" % (CPPCT2)
CPPCT3 = struct.unpack('<d',fp.read(8))
print "CHANNEL PHASE POLYNOMIAL COEFFICIENT3 = %ld" % (CPPCT3)
#40 bytes empties for internal use
for i in range(5):
EMPTY = struct.unpack('<d',fp.read(8))
#36 bytes empties for future extension
for i in range(9):
EMPTY = struct.unpack('<I',fp.read(4))
IENDLABEL = struct.unpack('<i',fp.read(4))
print "IEND LABEL = %d" % (IENDLABEL)
In []:
RECORD LABEL = RDEF
RECORD LENGTH = 1093926
RECORD VERSION ID = 0
STATION ID = 83
SPACECRAFT ID = 123
SAMPLE SIZE = 2
SAMPLE RATE = 2187500
VALIDITY FLAG = 0
AGENCY FLAG = 2
RF_TO_IF_DOWNCONV = 8464998458
IF_TO_CHANNEL_DOWNCONV = 0
TIME TAG YEAR = 2014
TIME TAG DOY = 77
TIME TAG SECOND OF DAY = 84580
TIME TAG PICOSECOND OF DAY = 201487199999
CHANNEL ACCUMULATED PHASE = 0
CHANNEL PHASE POLYNOMIAL COEFFICIENT0 = 0
CHANNEL PHASE POLYNOMIAL COEFFICIENT1 = 0
CHANNEL PHASE POLYNOMIAL COEFFICIENT2 = 0
CHANNEL PHASE POLYNOMIAL COEFFICIENT3 = 0
IEND LABEL = -99999

You might also like