diff --git a/schainpy/model/io/jroIO_amisr.py b/schainpy/model/io/jroIO_amisr.py index 14ce32b..adb7a9b 100644 --- a/schainpy/model/io/jroIO_amisr.py +++ b/schainpy/model/io/jroIO_amisr.py @@ -631,12 +631,13 @@ class AMISRReader(ProcessingUnit): print '' def setObjProperties(self): + self.dataOut.heightList = self.rangeFromFile/1000.0 #km self.dataOut.nProfiles = self.radacHeaderObj.npulses self.dataOut.nRecords = self.radacHeaderObj.nrecords self.dataOut.nBeams = self.radacHeaderObj.nbeams self.dataOut.ippSeconds = self.ippSeconds_fromfile - self.dataOut.timeInterval = self.dataOut.ippSeconds * self.dataOut.nCohInt +# self.dataOut.timeInterval = self.dataOut.ippSeconds * self.dataOut.nCohInt self.dataOut.frequency = self.frequency_h5file self.dataOut.npulseByFrame = self.npulseByFrame self.dataOut.nBaud = None diff --git a/schainpy/model/io/jroIO_base.py b/schainpy/model/io/jroIO_base.py index 0ba732d..bc59a8d 100644 --- a/schainpy/model/io/jroIO_base.py +++ b/schainpy/model/io/jroIO_base.py @@ -344,7 +344,7 @@ class JRODataIO: blocksize = None - getblock = False + getByBlock = False def __init__(self): @@ -994,7 +994,8 @@ class JRODataReader(JRODataIO): self.delay = delay ext = ext.lower() self.ext = ext - self.getblock = getblock + self.getByBlock = getblock + if not(self.setNextFile()): if (startDate!=None) and (endDate!=None): print "No files in range: %s - %s" %(datetime.datetime.combine(startDate,startTime).ctime(), datetime.datetime.combine(endDate,endTime).ctime()) diff --git a/schainpy/model/io/jroIO_heispectra.py b/schainpy/model/io/jroIO_heispectra.py index a3a7a04..e439075 100644 --- a/schainpy/model/io/jroIO_heispectra.py +++ b/schainpy/model/io/jroIO_heispectra.py @@ -338,7 +338,7 @@ class FitsReader(ProcessingUnit): self.dataBlocksPerFile = headerObj.header['NBLOCK'] self.timeZone = headerObj.header['TIMEZONE'] - self.timeInterval = self.ippSeconds * self.nCohInt * self.nIncohInt +# self.timeInterval = self.ippSeconds * self.nCohInt * self.nIncohInt if 'COMMENT' in headerObj.header.keys(): self.comments = headerObj.header['COMMENT'] diff --git a/schainpy/model/io/jroIO_spectra.py b/schainpy/model/io/jroIO_spectra.py index 1fce650..1b60216 100644 --- a/schainpy/model/io/jroIO_spectra.py +++ b/schainpy/model/io/jroIO_spectra.py @@ -302,7 +302,7 @@ class SpectraReader(JRODataReader, ProcessingUnit): # self.dataOut.ippSeconds = self.ippSeconds - self.dataOut.timeInterval = self.radarControllerHeaderObj.ippSeconds * self.processingHeaderObj.nCohInt * self.processingHeaderObj.nIncohInt * self.processingHeaderObj.profilesPerBlock +# self.dataOut.timeInterval = self.radarControllerHeaderObj.ippSeconds * self.processingHeaderObj.nCohInt * self.processingHeaderObj.nIncohInt * self.processingHeaderObj.profilesPerBlock self.dataOut.dtype = self.dtype diff --git a/schainpy/model/io/jroIO_voltage.py b/schainpy/model/io/jroIO_voltage.py index 3c6d273..1656745 100644 --- a/schainpy/model/io/jroIO_voltage.py +++ b/schainpy/model/io/jroIO_voltage.py @@ -237,7 +237,7 @@ class VoltageReader(JRODataReader, ProcessingUnit): # self.dataOut.ippSeconds = self.ippSeconds - self.dataOut.timeInterval = self.radarControllerHeaderObj.ippSeconds * self.processingHeaderObj.nCohInt +# self.dataOut.timeInterval = self.radarControllerHeaderObj.ippSeconds * self.processingHeaderObj.nCohInt if self.radarControllerHeaderObj.code != None: @@ -269,15 +269,29 @@ class VoltageReader(JRODataReader, ProcessingUnit): def getData(self): """ - getData obtiene una unidad de datos del buffer de lectura y la copia a la clase "Voltage" - con todos los parametros asociados a este (metadata). cuando no hay datos en el buffer de - lectura es necesario hacer una nueva lectura de los bloques de datos usando "readNextBlock" + getData obtiene una unidad de datos del buffer de lectura, un perfil, y la copia al objeto self.dataOut + del tipo "Voltage" con todos los parametros asociados a este (metadata). cuando no hay datos + en el buffer de lectura es necesario hacer una nueva lectura de los bloques de datos usando + "readNextBlock" - Ademas incrementa el contador del buffer en 1. + Ademas incrementa el contador del buffer "self.profileIndex" en 1. Return: - data : retorna un perfil de voltages (alturas * canales) copiados desde el - buffer. Si no hay mas archivos a leer retorna None. + + Si el flag self.getByBlock ha sido seteado el bloque completo es copiado a self.dataOut y el self.profileIndex + es igual al total de perfiles leidos desde el archivo. + + Si self.getByBlock == False: + + self.dataOut.data = buffer[:, thisProfile, :] + + shape = [nChannels, nHeis] + + Si self.getByBlock == True: + + self.dataOut.data = buffer[:, :, :] + + shape = [nChannels, nProfiles, nHeis] Variables afectadas: self.dataOut @@ -309,10 +323,12 @@ class VoltageReader(JRODataReader, ProcessingUnit): self.dataOut.flagNoData = True return 0 - if self.getblock: + if self.getByBlock: + self.dataOut.flagDataAsBlock = True self.dataOut.data = self.datablock self.profileIndex = self.processingHeaderObj.profilesPerBlock else: + self.dataOut.flagDataAsBlock = False self.dataOut.data = self.datablock[:,self.profileIndex,:] self.profileIndex += 1