##// END OF EJS Templates
fix error of selection time in HDFReader
Alexander Valdez -
r1691:5adc7ae610db
parent child
Show More
@@ -76,6 +76,12 class HDFReader(Reader, ProcessingUnit):
76 # extras=json.dumps(extras),
76 # extras=json.dumps(extras),
77 )
77 )
78
78
79 ATTENTION:
80 Add attribute:
81
82 utcoffset='-18000'
83 in the last part of reader in order to work in Local Time
84
79 """
85 """
80
86
81 __attrs__ = ['path', 'startDate', 'endDate', 'startTime', 'endTime', 'description', 'extras']
87 __attrs__ = ['path', 'startDate', 'endDate', 'startTime', 'endTime', 'description', 'extras']
@@ -96,7 +102,6 class HDFReader(Reader, ProcessingUnit):
96 self.utcoffset = 0
102 self.utcoffset = 0
97
103
98 def setup(self, **kwargs):
104 def setup(self, **kwargs):
99
100 self.set_kwargs(**kwargs)
105 self.set_kwargs(**kwargs)
101 if not self.ext.startswith('.'):
106 if not self.ext.startswith('.'):
102 self.ext = '.{}'.format(self.ext)
107 self.ext = '.{}'.format(self.ext)
@@ -179,13 +184,18 class HDFReader(Reader, ProcessingUnit):
179 thisTime = thisDatetime.time()
184 thisTime = thisDatetime.time()
180 startUtcTime = (datetime.datetime.combine(thisDate, startTime) - datetime.datetime(1970, 1, 1)).total_seconds()
185 startUtcTime = (datetime.datetime.combine(thisDate, startTime) - datetime.datetime(1970, 1, 1)).total_seconds()
181 endUtcTime = (datetime.datetime.combine(thisDate, endTime) - datetime.datetime(1970, 1, 1)).total_seconds()
186 endUtcTime = (datetime.datetime.combine(thisDate, endTime) - datetime.datetime(1970, 1, 1)).total_seconds()
182
183 ind = numpy.where(numpy.logical_and(thisUtcTime >= startUtcTime, thisUtcTime < endUtcTime))[0]
187 ind = numpy.where(numpy.logical_and(thisUtcTime >= startUtcTime, thisUtcTime < endUtcTime))[0]
184 if len(ind)==0:
185 raise schainpy.admin.SchainError("[Reading] Date time selected invalid [%s - %s]: No *%s files in %s)" % (startTime, endTime, self.ext, self.path))
186
188
187 self.blockList = ind
189 self.blockList = ind
188 self.blocksPerFile = len(ind)
190 self.blocksPerFile = len(ind)
191
192 if len(ind)==0:
193 print("[Reading] Block No. %d/%d -> %s [Skipping]" % (self.blockIndex,
194 self.blocksPerFile,
195 thisDatetime))
196 self.setNextFile()
197 self.readFirstHeader()
198
189 return
199 return
190
200
191 def __readMetadata(self):
201 def __readMetadata(self):
General Comments 0
You need to be logged in to leave comments. Login now