''' $Author: murco $ $Id: JROHeaderIO.py 151 2012-10-31 19:00:51Z murco $ ''' import sys import numpy import copy import datetime SPEED_OF_LIGHT = 299792458 SPEED_OF_LIGHT = 3e8 FILE_STRUCTURE = numpy.dtype([ #HEADER 48bytes ('FileMgcNumber',' vertical) ('AntennaCoord',' endFp: sys.stderr.write("Warning %s: Size value read from System Header is lower than it has to be\n" %fp.name) return 0 if fp.tell() < endFp: sys.stderr.write("Warning %s: Size value read from System Header size is greater than it has to be\n" %fp.name) return 0 return 1 def write(self, fp): headerTuple = (self.RecMgcNumber, self.RecCounter, self.Off2StartNxtRec, self.EpTimeStamp, self.msCompTimeStamp, self.ExpTagName, self.ExpComment, self.SiteLatDegrees, self.SiteLongDegrees, self.RTCgpsStatus, self.TransmitFrec, self.ReceiveFrec, self.FirstOsciFrec, self.Polarisation, self.ReceiverFiltSett, self.nModesInUse, self.DualModeIndex, self.DualModeRange, self.nDigChannels, self.SampResolution, self.nRangeGatesSamp, self.StartRangeSamp, self.PRFhz, self.Integrations, self.nDataPointsTrsf, self.nReceiveBeams, self.nSpectAverages, self.FFTwindowingInd, self.BeamAngleAzim, self.BeamAngleZen, self.AntennaCoord, self.RecPhaseCalibr, self.RecAmpCalibr, self.ReceiverGaindB) # self.size,self.nSamples, # self.nProfiles, # self.nChannels, # self.adcResolution, # self.pciDioBusWidth header = numpy.array(headerTuple,RECORD_STRUCTURE) header.tofile(fp) return 1 def get_dtype_index(numpy_dtype): index = None for i in range(len(NUMPY_DTYPE_LIST)): if numpy_dtype == NUMPY_DTYPE_LIST[i]: index = i break return index def get_numpy_dtype(index): #dtype4 = numpy.dtype([('real','