##// END OF EJS Templates
Rewrite controller, remove MPDecorator to units (keep for plots an writers) use of queues for interproc comm instead of zmq, self operations are no longer supported
Rewrite controller, remove MPDecorator to units (keep for plots an writers) use of queues for interproc comm instead of zmq, self operations are no longer supported

File last commit:

r1167:1f521b07c958
r1287:af11e4aac00c
Show More
jroamisr.py
89 lines | 3.0 KiB | text/x-python | PythonLexer
import numpy
import copy
class Beam:
def __init__(self):
self.codeList = []
self.azimuthList = []
self.zenithList = []
class AMISR:
def __init__(self):
self.flagNoData = True
self.data = None
self.utctime = None
self.type = "AMISR"
#propiedades para compatibilidad con Voltages
self.timeZone = 0#timezone like jroheader, difference in minutes between UTC and localtime
self.dstFlag = 0#self.dataIn.dstFlag
self.errorCount = 0#self.dataIn.errorCount
self.useLocalTime = True#self.dataIn.useLocalTime
self.radarControllerHeaderObj = None#self.dataIn.radarControllerHeaderObj.copy()
self.systemHeaderObj = None#self.dataIn.systemHeaderObj.copy()
self.channelList = [0]#self.dataIn.channelList esto solo aplica para el caso de AMISR
self.dtype = numpy.dtype([('real','<f4'),('imag','<f4')])
self.flagDiscontinuousBlock = None#self.dataIn.flagDiscontinuousBlock
#self.utctime = #self.firstdatatime
self.flagDecodeData = None#self.dataIn.flagDecodeData #asumo q la data esta decodificada
self.flagDeflipData = None#self.dataIn.flagDeflipData #asumo q la data esta sin flip
self.nCohInt = 1#self.dataIn.nCohInt
self.nIncohInt = 1
self.ippSeconds = None#self.dataIn.ippSeconds, segun el filename/Setup/Tufile
self.windowOfFilter = None#self.dataIn.windowOfFilter
self.timeInterval = None#self.dataIn.timeInterval*self.dataOut.nFFTPoints*self.dataOut.nIncohInt
self.frequency = None#self.dataIn.frequency
self.realtime = 0#self.dataIn.realtime
#actualizar en la lectura de datos
self.heightList = None#self.dataIn.heightList
self.nProfiles = None#Number of samples or nFFTPoints
self.nRecords = None
self.nBeams = None
self.nBaud = None#self.dataIn.nBaud
self.nCode = None#self.dataIn.nCode
self.code = None#self.dataIn.code
#consideracion para los Beams
self.beamCodeDict = None
self.beamRangeDict = None
self.beamcode = None
self.azimuth = None
self.zenith = None
self.gain = None
self.npulseByFrame = None
self.profileIndex = None
self.beam = Beam()
def copy(self, inputObj=None):
if inputObj is None:
return copy.deepcopy(self)
for key in list(inputObj.__dict__.keys()):
self.__dict__[key] = inputObj.__dict__[key]
def getNHeights(self):
return len(self.heightList)
def isEmpty(self):
return self.flagNoData
def getTimeInterval(self):
timeInterval = self.ippSeconds * self.nCohInt
return timeInterval
timeInterval = property(getTimeInterval, "I'm the 'timeInterval' property")
nHeights = property(getNHeights, "I'm the 'nHeights' property.")