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