''' $Author: murco $ $Id: JROData.py 173 2012-11-20 15:06:21Z murco $ ''' import os, sys import copy import numpy from jroheaderIO import SystemHeader, RadarControllerHeader class JROData: # m_BasicHeader = BasicHeader() # m_ProcessingHeader = ProcessingHeader() systemHeaderObj = SystemHeader() radarControllerHeaderObj = RadarControllerHeader() # data = None type = None dtype = None nChannels = None nHeights = None nProfiles = None heightList = None channelList = None channelIndexList = None flagNoData = True flagTimeBlock = False utctime = None blocksize = None nCode = None nBaud = None code = None flagDecodeData = True #asumo q la data esta decodificada flagDeflipData = True #asumo q la data esta sin flip flagShiftFFT = False ippSeconds = None timeInterval = None def __init__(self): raise ValueError, "This class has not been implemented" def copy(self, inputObj=None): if inputObj == None: return copy.deepcopy(self) for key in inputObj.__dict__.keys(): self.__dict__[key] = inputObj.__dict__[key] def deepcopy(self): return copy.deepcopy(self) def isEmpty(self): return flagNoData class Voltage(JROData): nCohInt = None #data es un numpy array de 2 dmensiones (canales, alturas) data = None def __init__(self): ''' Constructor ''' self.radarControllerHeaderObj = RadarControllerHeader() self.systemHeaderObj = SystemHeader() self.type = "Voltage" self.data = None self.dtype = None self.nChannels = 0 self.nHeights = 0 self.nProfiles = None self.heightList = None self.channelList = None self.channelIndexList = None self.flagNoData = True self.flagTimeBlock = False self.utctime = None self.nCohInt = None self.blocksize = None class Spectra(JROData): #data es un numpy array de 2 dmensiones (canales, perfiles, alturas) data_spc = None #data es un numpy array de 2 dmensiones (canales, pares, alturas) data_cspc = None #data es un numpy array de 2 dmensiones (canales, alturas) data_dc = None nFFTPoints = None nPairs = None pairsList = None nIncohInt = None wavelength = None #Necesario para cacular el rango de velocidad desde la frecuencia nCohInt = None #se requiere para determinar el valor de timeInterval def __init__(self): ''' Constructor ''' self.radarControllerHeaderObj = RadarControllerHeader() self.systemHeaderObj = SystemHeader() self.type = "Spectra" # self.data = None self.dtype = None self.nChannels = 0 self.nHeights = 0 self.nProfiles = None self.heightList = None self.channelList = None self.channelIndexList = None self.flagNoData = True self.flagTimeBlock = False self.utctime = None self.nIncohInt = None self.blocksize = None self.nFFTPoints = None self.wavelength = None def getFrequencies(self): xrange = numpy.arange(self.nFFTPoints) xrange = xrange return None class SpectraHeis(JROData): data_spc = None data_cspc = None data_dc = None nFFTPoints = None nPairs = None pairsList = None nIncohInt = None def __init__(self): self.radarControllerHeaderObj = RadarControllerHeader() self.systemHeaderObj = SystemHeader() self.type = "SpectraHeis" self.dtype = None self.nChannels = 0 self.nHeights = 0 self.nProfiles = None self.heightList = None self.channelList = None self.channelIndexList = None self.flagNoData = True self.flagTimeBlock = False self.nPairs = 0 self.utctime = None self.blocksize = None