@@ -3952,7 +3952,6 class WeatherRadar(Operation): | |||||
3952 | deltaHeight = dataOut.heightList[1] - dataOut.heightList[0] |
|
3952 | deltaHeight = dataOut.heightList[1] - dataOut.heightList[0] | |
3953 | #self.Range = numpy.arange(dataOut.nHeights)*deltaHeight + dataOut.heightList[0]+min_index*deltaHeight |
|
3953 | #self.Range = numpy.arange(dataOut.nHeights)*deltaHeight + dataOut.heightList[0]+min_index*deltaHeight | |
3954 | self.Range = dataOut.heightList |
|
3954 | self.Range = dataOut.heightList | |
3955 | print(self.Range, flush=True) |
|
|||
3956 | self.Range = self.Range.reshape(1,self.nHeis) |
|
3955 | self.Range = self.Range.reshape(1,self.nHeis) | |
3957 | self.Range = numpy.tile(self.Range,[self.nCh,1]) |
|
3956 | self.Range = numpy.tile(self.Range,[self.nCh,1]) | |
3958 | '''-----------1 Constante del Radar----------''' |
|
3957 | '''-----------1 Constante del Radar----------''' | |
@@ -4256,8 +4255,9 class Block360(Operation): | |||||
4256 | self.index = 0 |
|
4255 | self.index = 0 | |
4257 | self.attr = attr |
|
4256 | self.attr = attr | |
4258 | self.__buffer = [] |
|
4257 | self.__buffer = [] | |
4259 | self.azi = [] |
|
4258 | self.azi = [] | |
4260 | self.ele = [] |
|
4259 | self.ele = [] | |
|
4260 | self.__noise = [] | |||
4261 | self.angles = angles |
|
4261 | self.angles = angles | |
4262 | self.horario= horario |
|
4262 | self.horario= horario | |
4263 |
|
4263 | |||
@@ -4269,6 +4269,7 class Block360(Operation): | |||||
4269 | self.__buffer.append(tmp) |
|
4269 | self.__buffer.append(tmp) | |
4270 | self.azi.append(data.azimuth) |
|
4270 | self.azi.append(data.azimuth) | |
4271 | self.ele.append(data.elevation) |
|
4271 | self.ele.append(data.elevation) | |
|
4272 | self.__noise.append(data.dataPP_NOISE) | |||
4272 | self.__profIndex += 1 |
|
4273 | self.__profIndex += 1 | |
4273 |
|
4274 | |||
4274 | def pushData(self, data, case_flag): |
|
4275 | def pushData(self, data, case_flag): | |
@@ -4278,17 +4279,19 class Block360(Operation): | |||||
4278 | data_360 = numpy.array(self.__buffer).transpose(1, 2, 0, 3) |
|
4279 | data_360 = numpy.array(self.__buffer).transpose(1, 2, 0, 3) | |
4279 | data_p = numpy.array(self.azi) |
|
4280 | data_p = numpy.array(self.azi) | |
4280 | data_e = numpy.array(self.ele) |
|
4281 | data_e = numpy.array(self.ele) | |
|
4282 | data_n = numpy.array(self.__noise) | |||
4281 | n = self.__profIndex |
|
4283 | n = self.__profIndex | |
4282 |
|
4284 | |||
4283 | self.__buffer = [] |
|
4285 | self.__buffer = [] | |
4284 | self.azi = [] |
|
4286 | self.azi = [] | |
4285 | self.ele = [] |
|
4287 | self.ele = [] | |
|
4288 | self.__noise = [] | |||
4286 | self.__profIndex = 0 |
|
4289 | self.__profIndex = 0 | |
4287 |
|
4290 | |||
4288 | if case_flag in (0, 1, -1): |
|
4291 | if case_flag in (0, 1, -1): | |
4289 | self.putData(data=data, attr = self.attr) |
|
4292 | self.putData(data=data, attr = self.attr) | |
4290 |
|
4293 | |||
4291 | return data_360, n, data_p, data_e |
|
4294 | return data_360, n, data_p, data_e, data_n | |
4292 |
|
4295 | |||
4293 | def byProfiles(self, dataOut): |
|
4296 | def byProfiles(self, dataOut): | |
4294 |
|
4297 | |||
@@ -4296,6 +4299,7 class Block360(Operation): | |||||
4296 | data_360 = [] |
|
4299 | data_360 = [] | |
4297 | data_p = None |
|
4300 | data_p = None | |
4298 | data_e = None |
|
4301 | data_e = None | |
|
4302 | data_n = None | |||
4299 |
|
4303 | |||
4300 | self.putData(data=dataOut, attr = self.attr) |
|
4304 | self.putData(data=dataOut, attr = self.attr) | |
4301 |
|
4305 | |||
@@ -4307,7 +4311,7 class Block360(Operation): | |||||
4307 | self.__buffer.pop() #Erase last data |
|
4311 | self.__buffer.pop() #Erase last data | |
4308 | self.azi.pop() |
|
4312 | self.azi.pop() | |
4309 | self.ele.pop() |
|
4313 | self.ele.pop() | |
4310 | data_360 ,n,data_p,data_e = self.pushData(dataOut, case_flag) |
|
4314 | data_360 ,n,data_p,data_e,data_n = self.pushData(dataOut, case_flag) | |
4311 | if len(data_p)>350: |
|
4315 | if len(data_p)>350: | |
4312 | self.__dataReady = True |
|
4316 | self.__dataReady = True | |
4313 | elif self.flagMode == 0: #'ELE' |
|
4317 | elif self.flagMode == 0: #'ELE' | |
@@ -4315,22 +4319,22 class Block360(Operation): | |||||
4315 | self.__buffer.pop() #Erase last data |
|
4319 | self.__buffer.pop() #Erase last data | |
4316 | self.azi.pop() |
|
4320 | self.azi.pop() | |
4317 | self.ele.pop() |
|
4321 | self.ele.pop() | |
4318 | data_360, n, data_p, data_e = self.pushData(dataOut, case_flag) |
|
4322 | data_360, n, data_p, data_e, data_n = self.pushData(dataOut, case_flag) | |
4319 | self.__dataReady = True |
|
4323 | self.__dataReady = True | |
4320 | if case_flag == -1: #Subida |
|
4324 | if case_flag == -1: #Subida | |
4321 | self.__buffer.pop() #Erase last data |
|
4325 | self.__buffer.pop() #Erase last data | |
4322 | self.azi.pop() |
|
4326 | self.azi.pop() | |
4323 | self.ele.pop() |
|
4327 | self.ele.pop() | |
4324 | data_360, n, data_p, data_e = self.pushData(dataOut, case_flag) |
|
4328 | data_360, n, data_p, data_e, data_n = self.pushData(dataOut, case_flag) | |
4325 | #self.__dataReady = True |
|
4329 | #self.__dataReady = True | |
4326 |
|
4330 | |||
4327 | return data_360, data_p, data_e |
|
4331 | return data_360, data_p, data_e, data_n | |
4328 |
|
4332 | |||
4329 |
|
4333 | |||
4330 | def blockOp(self, dataOut, datatime= None): |
|
4334 | def blockOp(self, dataOut, datatime= None): | |
4331 | if self.__initime == None: |
|
4335 | if self.__initime == None: | |
4332 | self.__initime = datatime |
|
4336 | self.__initime = datatime | |
4333 | data_360, data_p, data_e = self.byProfiles(dataOut) |
|
4337 | data_360, data_p, data_e, data_n = self.byProfiles(dataOut) | |
4334 | self.__lastdatatime = datatime |
|
4338 | self.__lastdatatime = datatime | |
4335 |
|
4339 | |||
4336 | avgdatatime = self.__initime |
|
4340 | avgdatatime = self.__initime | |
@@ -4338,7 +4342,7 class Block360(Operation): | |||||
4338 | avgdatatime = datatime |
|
4342 | avgdatatime = datatime | |
4339 |
|
4343 | |||
4340 | self.__initime = datatime |
|
4344 | self.__initime = datatime | |
4341 | return data_360, avgdatatime, data_p, data_e |
|
4345 | return data_360, avgdatatime, data_p, data_e, data_n | |
4342 |
|
4346 | |||
4343 | def checkcase(self): |
|
4347 | def checkcase(self): | |
4344 |
|
4348 | |||
@@ -4392,7 +4396,7 class Block360(Operation): | |||||
4392 | self.setup(dataOut=dataOut, attr=attr_data, angles=angles,horario=horario, **kwargs) |
|
4396 | self.setup(dataOut=dataOut, attr=attr_data, angles=angles,horario=horario, **kwargs) | |
4393 | self.isConfig = True |
|
4397 | self.isConfig = True | |
4394 |
|
4398 | |||
4395 | data_360, avgdatatime, data_p, data_e = self.blockOp(dataOut, dataOut.utctime) |
|
4399 | data_360, avgdatatime, data_p, data_e, data_n = self.blockOp(dataOut, dataOut.utctime) | |
4396 |
|
4400 | |||
4397 | dataOut.flagNoData = True |
|
4401 | dataOut.flagNoData = True | |
4398 | if self.__dataReady: |
|
4402 | if self.__dataReady: | |
@@ -4400,12 +4404,13 class Block360(Operation): | |||||
4400 | mean_el = numpy.mean(data_e[25:-25]) |
|
4404 | mean_el = numpy.mean(data_e[25:-25]) | |
4401 | if round(mean_az,1) in angles or round(mean_el,1) in angles: |
|
4405 | if round(mean_az,1) in angles or round(mean_el,1) in angles: | |
4402 | setattr(dataOut, attr_data, data_360 ) |
|
4406 | setattr(dataOut, attr_data, data_360 ) | |
4403 | dataOut.data_azi = data_p |
|
4407 | dataOut.data_azi = data_p | |
4404 | dataOut.data_ele = data_e |
|
4408 | dataOut.data_ele = data_e | |
4405 | dataOut.utctime = avgdatatime |
|
4409 | dataOut.utctime = avgdatatime | |
4406 |
dataOut. |
|
4410 | dataOut.data_noise = data_n | |
4407 |
dataOut.flag |
|
4411 | dataOut.flagNoData = False | |
4408 |
dataOut. |
|
4412 | dataOut.flagMode = self.flagMode | |
|
4413 | dataOut.mode_op = self.mode_op | |||
4409 | else: |
|
4414 | else: | |
4410 | log.warning('Skipping angle {} / {}'.format(round(mean_az,1), round(mean_el,1))) |
|
4415 | log.warning('Skipping angle {} / {}'.format(round(mean_az,1), round(mean_el,1))) | |
4411 |
|
4416 |
General Comments 0
You need to be logged in to leave comments.
Login now