@@ -432,6 +432,8 class Plot(Operation): | |||||
432 | ax.plt, ax=ax, fraction=0.05, pad=0.06, aspect=10) |
|
432 | ax.plt, ax=ax, fraction=0.05, pad=0.06, aspect=10) | |
433 | if self.colormap=='sophy_r': |
|
433 | if self.colormap=='sophy_r': | |
434 | ax.cbar.set_ticks([0.2, 0.73, 0.83, 0.93, 0.96, 0.99, 1.02, 1.05]) |
|
434 | ax.cbar.set_ticks([0.2, 0.73, 0.83, 0.93, 0.96, 0.99, 1.02, 1.05]) | |
|
435 | elif self.colormap=='sophy_d': | |||
|
436 | ax.cbar.set_ticks([-9, -6, -3, 0, 3, 6, 9, 12]) | |||
435 | ax.cbar.ax.tick_params(labelsize=8) |
|
437 | ax.cbar.ax.tick_params(labelsize=8) | |
436 | ax.cbar.ax.press = None |
|
438 | ax.cbar.ax.press = None | |
437 | if self.cb_label: |
|
439 | if self.cb_label: |
@@ -40,7 +40,7 refl = [ | |||||
40 | "#bf0000", "#7f0000", "#fe00fe", "#8e59ff", "#f0f0f0", |
|
40 | "#bf0000", "#7f0000", "#fe00fe", "#8e59ff", "#f0f0f0", | |
41 | ] |
|
41 | ] | |
42 |
|
42 | |||
43 | refl_bounds = [-20, -15, -10, -5, 0, 5, 10 ,15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80] |
|
43 | #refl_bounds = [-25, -20, -15, -10, -5, 0, 5, 10 ,15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80] | |
44 |
|
44 | |||
45 | doppler = [ |
|
45 | doppler = [ | |
46 | "#003300", "#005500", "#007700", "#009900", "#00bb00", "#24ce24", "#6cd26c", "#b4d6b4", |
|
46 | "#003300", "#005500", "#007700", "#009900", "#00bb00", "#24ce24", "#6cd26c", "#b4d6b4", | |
@@ -58,7 +58,7 width = [ | |||||
58 |
|
58 | |||
59 | zdr = [ |
|
59 | zdr = [ | |
60 | "#7333cc", "#7e3cd5", "#8945de", "#944ee7", "#9f57f0", "#aa5ff8", |
|
60 | "#7333cc", "#7e3cd5", "#8945de", "#944ee7", "#9f57f0", "#aa5ff8", | |
61 |
"#82345c", "#984272", "#ae4f88", "#c55c9f", "#db6ab5", "# |
|
61 | "#82345c", "#984272", "#ae4f88", "#c55c9f", "#db6ab5", "#f177cb", | |
62 | "#b5842d", "#c29a4c", "#d0b16b", "#ddc78a", "#ebddaa", "#f8f4c9", |
|
62 | "#b5842d", "#c29a4c", "#d0b16b", "#ddc78a", "#ebddaa", "#f8f4c9", | |
63 | "#f0f5ff", "#c4d8ff", "#97bbff", "#6a9eff", "#3e81ff", "#1164ff", |
|
63 | "#f0f5ff", "#c4d8ff", "#97bbff", "#6a9eff", "#3e81ff", "#1164ff", | |
64 | "#17f576", "#13df60", "#0ec949", "#0ab233", "#059c1d", "#018606", |
|
64 | "#17f576", "#13df60", "#0ec949", "#0ab233", "#059c1d", "#018606", | |
@@ -99,7 +99,7 cb_tables = { | |||||
99 | 'sophy_z': {'colors': refl, 'norm': None }, |
|
99 | 'sophy_z': {'colors': refl, 'norm': None }, | |
100 | 'sophy_v': {'colors': doppler, 'norm': None }, |
|
100 | 'sophy_v': {'colors': doppler, 'norm': None }, | |
101 | 'sophy_w': {'colors': width, 'norm': None }, |
|
101 | 'sophy_w': {'colors': width, 'norm': None }, | |
102 |
'sophy_d': {'colors': zdr, 'norm': None |
|
102 | 'sophy_d': {'colors': zdr, 'norm': None}, | |
103 | 'sophy_p': {'colors': phi, 'norm': None }, |
|
103 | 'sophy_p': {'colors': phi, 'norm': None }, | |
104 | 'sophy_r': {'colors': rho, 'norm': matplotlib.colors.BoundaryNorm(rho_bounds, 37), 'extremes': ['#15191d', '#333899']}, |
|
104 | 'sophy_r': {'colors': rho, 'norm': matplotlib.colors.BoundaryNorm(rho_bounds, 37), 'extremes': ['#15191d', '#333899']}, | |
105 | } |
|
105 | } |
@@ -4250,7 +4250,7 class Block360(Operation): | |||||
4250 | def __init__(self,**kwargs): |
|
4250 | def __init__(self,**kwargs): | |
4251 | Operation.__init__(self,**kwargs) |
|
4251 | Operation.__init__(self,**kwargs) | |
4252 |
|
4252 | |||
4253 | def setup(self, dataOut, attr): |
|
4253 | def setup(self, dataOut, attr, angles): | |
4254 | ''' |
|
4254 | ''' | |
4255 | n= Numero de PRF's de entrada |
|
4255 | n= Numero de PRF's de entrada | |
4256 | ''' |
|
4256 | ''' | |
@@ -4263,6 +4263,7 class Block360(Operation): | |||||
4263 | self.__buffer = [] |
|
4263 | self.__buffer = [] | |
4264 | self.azi = [] |
|
4264 | self.azi = [] | |
4265 | self.ele = [] |
|
4265 | self.ele = [] | |
|
4266 | self.angles = angles | |||
4266 |
|
4267 | |||
4267 | def putData(self, data, attr): |
|
4268 | def putData(self, data, attr): | |
4268 | ''' |
|
4269 | ''' | |
@@ -4384,27 +4385,31 class Block360(Operation): | |||||
4384 | elif (middle>start and end<middle): |
|
4385 | elif (middle>start and end<middle): | |
4385 | return -1 |
|
4386 | return -1 | |
4386 |
|
4387 | |||
4387 | def run(self, dataOut, attr_data='dataPP_POWER', runNextOp = False,**kwargs): |
|
4388 | def run(self, dataOut, attr_data='dataPP_POWER', runNextOp = False, angles=[], **kwargs): | |
4388 |
|
4389 | |||
4389 | dataOut.attr_data = attr_data |
|
4390 | dataOut.attr_data = attr_data | |
4390 | dataOut.runNextOp = runNextOp |
|
4391 | dataOut.runNextOp = runNextOp | |
4391 |
|
4392 | |||
4392 | if not self.isConfig: |
|
4393 | if not self.isConfig: | |
4393 |
self.setup(dataOut |
|
4394 | self.setup(dataOut=dataOut, attr=attr_data, angles=angles, **kwargs) | |
4394 | self.isConfig = True |
|
4395 | self.isConfig = True | |
4395 |
|
4396 | |||
4396 | data_360, avgdatatime, data_p, data_e = self.blockOp(dataOut, dataOut.utctime) |
|
4397 | data_360, avgdatatime, data_p, data_e = self.blockOp(dataOut, dataOut.utctime) | |
4397 |
|
4398 | |||
4398 | dataOut.flagNoData = True |
|
4399 | dataOut.flagNoData = True | |
4399 |
|
||||
4400 | if self.__dataReady: |
|
4400 | if self.__dataReady: | |
4401 | setattr(dataOut, attr_data, data_360 ) |
|
4401 | mean_az = numpy.mean(data_p[25:-25]) | |
4402 | dataOut.data_azi = data_p |
|
4402 | mean_el = numpy.mean(data_e[25:-25]) | |
4403 | dataOut.data_ele = data_e |
|
4403 | if round(mean_az,1) in angles or round(mean_el,1) in angles: | |
4404 | dataOut.utctime = avgdatatime |
|
4404 | setattr(dataOut, attr_data, data_360 ) | |
4405 |
dataOut. |
|
4405 | dataOut.data_azi = data_p | |
4406 |
dataOut. |
|
4406 | dataOut.data_ele = data_e | |
4407 |
dataOut. |
|
4407 | dataOut.utctime = avgdatatime | |
|
4408 | dataOut.flagNoData = False | |||
|
4409 | dataOut.flagMode = self.flagMode | |||
|
4410 | dataOut.mode_op = self.mode_op | |||
|
4411 | else: | |||
|
4412 | log.warning('Skipping angle {} / {}'.format(round(mean_az,1), round(mean_el,1))) | |||
4408 |
|
4413 | |||
4409 | return dataOut |
|
4414 | return dataOut | |
4410 |
|
4415 | |||
@@ -4482,6 +4487,7 class MergeProc(ProcessingUnit): | |||||
4482 | g = [getattr(data, attr_data) for data in data_inputs][1] |
|
4487 | g = [getattr(data, attr_data) for data in data_inputs][1] | |
4483 | data = numpy.concatenate((f,g),axis=3) |
|
4488 | data = numpy.concatenate((f,g),axis=3) | |
4484 | setattr(self.dataOut, attr_data, data) |
|
4489 | setattr(self.dataOut, attr_data, data) | |
|
4490 | ||||
4485 | # snr |
|
4491 | # snr | |
4486 | # self.dataOut.data_snr = numpy.concatenate((data_inputs[0].data_snr, data_inputs[1].data_snr), axis=2) |
|
4492 | # self.dataOut.data_snr = numpy.concatenate((data_inputs[0].data_snr, data_inputs[1].data_snr), axis=2) | |
4487 |
|
4493 |
General Comments 0
You need to be logged in to leave comments.
Login now