##// END OF EJS Templates
Merge EW-Drifts
Merge EW-Drifts

File last commit:

r1396:f39ad5b721a3
r1396:f39ad5b721a3
Show More
jroamisr.py
87 lines | 2.9 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]
@property
def nHeights(self):
return len(self.heightList)
def isEmpty(self):
return self.flagNoData
@property
def timeInterval(self):
return self.ippSeconds * self.nCohInt