diff --git a/schainpy/model/io/jroIO_param.py b/schainpy/model/io/jroIO_param.py index d82b830..a5d9c29 100644 --- a/schainpy/model/io/jroIO_param.py +++ b/schainpy/model/io/jroIO_param.py @@ -151,13 +151,15 @@ class HDFReader(Reader, ProcessingUnit): self.__setBlockList() if 'type' in self.meta: + ##print("Creting dataOut...") self.dataOut = eval(self.meta['type'])() + ##print(vars(self.dataOut)) for attr in self.meta: - #print("attr: ", attr) + ##print("attr: ", attr) + ##print(type(self.dataOut).__name__) setattr(self.dataOut, attr, self.meta[attr]) - self.blockIndex = 0 return @@ -277,12 +279,13 @@ class HDFReader(Reader, ProcessingUnit): #self.dataOut.error = True TERMINA EL PROGRAMA, removido return for attr in self.data: + #print("attr ",attr) if self.data[attr].ndim == 1: setattr(self.dataOut, attr, self.data[attr][self.blockIndex]) else: setattr(self.dataOut, attr, self.data[attr][:, self.blockIndex]) - self.dataOut.flagNoData = False + self.blockIndex += 1 if self.blockIndex == 1: @@ -295,7 +298,8 @@ class HDFReader(Reader, ProcessingUnit): self.blockIndex, self.blocksPerFile),self.name) - + self.dataOut.flagNoData = False + self.dataOut.error = False return def run(self, **kwargs): @@ -385,19 +389,26 @@ class HDFWriter(Operation): metadataList = None currentDay = None lastTime = None + typeTime = "ut" + hourLimit = 3 + breakDays = True def __init__(self): Operation.__init__(self) return - def setup(self, path=None, blocksPerFile=10, metadataList=None, dataList=None, setType=None, description=None): + def setup(self, path=None, blocksPerFile=10, metadataList=None, dataList=None, setType=None, + description=None,typeTime = "ut",hourLimit = 3, breakDays=True): self.path = path self.blocksPerFile = blocksPerFile self.metadataList = metadataList self.dataList = [s.strip() for s in dataList] self.setType = setType self.description = description + self.timeZone = typeTime + self.hourLimit = hourLimit + self.breakDays = breakDays if self.metadataList is None: self.metadataList = self.dataOut.metadata_list @@ -431,7 +442,11 @@ class HDFWriter(Operation): def timeFlag(self): currentTime = self.dataOut.utctime - timeTuple = time.localtime(currentTime) + if self.timeZone == "lt": + timeTuple = time.localtime(currentTime) + elif self.timeZone == "ut": + timeTuple = time.gmtime(currentTime) + dataDay = timeTuple.tm_yday #print("time UTC: ",currentTime, self.dataOut.datatime) if self.lastTime is None: @@ -441,25 +456,22 @@ class HDFWriter(Operation): timeDiff = currentTime - self.lastTime - #Si el dia es diferente o si la diferencia entre un dato y otro supera la hora - if dataDay != self.currentDay: + #Si el dia es diferente o si la diferencia entre un dato y otro supera self.hourLimit + if (dataDay != self.currentDay) and self.breakDays: self.currentDay = dataDay return True - elif timeDiff > 3*60*60: + elif timeDiff > self.hourLimit*60*60: self.lastTime = currentTime return True else: self.lastTime = currentTime return False - def run(self, dataOut, path, blocksPerFile=10, metadataList=None, - dataList=[], setType=None, description={}): + def run(self, dataOut,**kwargs): self.dataOut = dataOut if not(self.isConfig): - self.setup(path=path, blocksPerFile=blocksPerFile, - metadataList=metadataList, dataList=dataList, - setType=setType, description=description) + self.setup(**kwargs) self.isConfig = True self.setNextFile() @@ -472,8 +484,10 @@ class HDFWriter(Operation): ext = self.ext path = self.path setFile = self.setFile - - timeTuple = time.gmtime(self.dataOut.utctime) + if self.timeZone == "lt": + timeTuple = time.localtime(self.dataOut.utctime) + elif self.timeZone == "ut": + timeTuple = time.gmtime(self.dataOut.utctime) #print("path: ",timeTuple) subfolder = 'd%4.4d%3.3d' % (timeTuple.tm_year,timeTuple.tm_yday) fullpath = os.path.join(path, subfolder) diff --git a/schainpy/model/proc/jroproc_spectra.py b/schainpy/model/proc/jroproc_spectra.py index 36c584c..cd06fd1 100644 --- a/schainpy/model/proc/jroproc_spectra.py +++ b/schainpy/model/proc/jroproc_spectra.py @@ -121,7 +121,7 @@ class SpectraProc(ProcessingUnit): self.dataOut.flagShiftFFT = False def run(self, nProfiles=None, nFFTPoints=None, pairsList=None, ippFactor=None, shift_fft=False): - + if self.dataIn.type == "Spectra": self.dataOut.copy(self.dataIn) if shift_fft: