diff --git a/schainpy/model/jrodata.py b/schainpy/model/jrodata.py index 9cd695e..1c446fb 100644 --- a/schainpy/model/jrodata.py +++ b/schainpy/model/jrodata.py @@ -653,7 +653,7 @@ class AMISR: self.type = "AMISR" #propiedades para compatibilidad con Voltages - self.timeZone = 0#timezone like jroheader, difference in minutes between UTC and localtime + self.timeZone = 300#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 @@ -679,7 +679,9 @@ class AMISR: #actualizar en la lectura de datos self.heightList = None#self.dataIn.heightList - self.nProfiles = None#self.dataOut.nFFTPoints + 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 diff --git a/schainpy/model/jrodataIO.py b/schainpy/model/jrodataIO.py index b8aa58b..75cd114 100644 --- a/schainpy/model/jrodataIO.py +++ b/schainpy/model/jrodataIO.py @@ -3531,13 +3531,16 @@ class AMISRReader(ProcessingUnit): return def __selDates(self, amisr_dirname_format): - year = int(amisr_dirname_format[0:4]) - month = int(amisr_dirname_format[4:6]) - dom = int(amisr_dirname_format[6:8]) - thisDate = datetime.date(year,month,dom) - - if (thisDate>=self.startDate and thisDate <= self.endDate): - return amisr_dirname_format + try: + year = int(amisr_dirname_format[0:4]) + month = int(amisr_dirname_format[4:6]) + dom = int(amisr_dirname_format[6:8]) + thisDate = datetime.date(year,month,dom) + + if (thisDate>=self.startDate and thisDate <= self.endDate): + return amisr_dirname_format + except: + return None def __findDataForDates(self): @@ -3547,7 +3550,9 @@ class AMISRReader(ProcessingUnit): return None pat = '\d+.\d+' - dirnameList = [re.search(pat,x).string for x in os.listdir(self.path)] + dirnameList = [re.search(pat,x) for x in os.listdir(self.path)] + dirnameList = filter(lambda x:x!=None,dirnameList) + dirnameList = [x.string for x in dirnameList] dirnameList = [self.__selDates(x) for x in dirnameList] dirnameList = filter(lambda x:x!=None,dirnameList) if len(dirnameList)>0: @@ -3879,6 +3884,8 @@ class AMISRReader(ProcessingUnit): 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.frequency = self.frequency_h5file diff --git a/schainpy/model/jroprocessing.py b/schainpy/model/jroprocessing.py index 14fb59e..ec36258 100644 --- a/schainpy/model/jroprocessing.py +++ b/schainpy/model/jroprocessing.py @@ -2081,6 +2081,24 @@ class AMISRProc(ProcessingUnit): def init(self): if self.dataIn.type == 'AMISR': self.dataOut.copy(self.dataIn) + + +class PrintInfo(Operation): + def __init__(self): + pass + + def run(self, dataOut): + + print 'Number of Records by File: %d'%dataOut.nRecords + print 'Number of Pulses: %d'%dataOut.nProfiles + print 'Number of Samples by Pulse: %d'%len(dataOut.heightList) + print 'Ipp Seconds: %f'%dataOut.ippSeconds + print 'Number of Beams: %d'%dataOut.nBeams + print 'BeamCodes:' + beamStrList = ['Beam %d -> Code %d'%(k,v) for k,v in dataOut.beamCodeDict.items()] + for b in beamStrList: + print b + class BeamSelector(Operation): profileIndex = None