@@ -0,0 +1,217 | |||||
|
1 | # Ing. AVP | |||
|
2 | # 06/10/2021 | |||
|
3 | # ARCHIVO DE LECTURA | |||
|
4 | import os, sys | |||
|
5 | import datetime | |||
|
6 | import time | |||
|
7 | from schainpy.controller import Project | |||
|
8 | #### NOTA########################################### | |||
|
9 | # INPUT : | |||
|
10 | # VELOCIDAD PARAMETRO : V = 2°/seg | |||
|
11 | # MODO PULSE PAIR O MOMENTOS: 0 : Pulse Pair ,1 : Momentos | |||
|
12 | ###################################################### | |||
|
13 | ##### PROCESAMIENTO ################################## | |||
|
14 | ##### OJO TENER EN CUENTA EL n= para el Pulse Pair ## | |||
|
15 | ##### O EL n= nFFTPoints ### | |||
|
16 | ###################################################### | |||
|
17 | ######## BUSCAMOS EL numero de IPP equivalente 1°##### | |||
|
18 | ######## Sea V la velocidad del Pedestal en °/seg##### | |||
|
19 | ######## 1° sera Recorrido en un tiempo de 1/V ###### | |||
|
20 | ######## IPP del Radar 400 useg --> 60 Km ############ | |||
|
21 | ######## n = 1/(V(°/seg)*IPP(Km)) , NUMERO DE IPP ## | |||
|
22 | ######## n = 1/(V*IPP) ############################# | |||
|
23 | ######## VELOCIDAD DEL PEDESTAL ###################### | |||
|
24 | print("SETUP- RADAR METEOROLOGICO") | |||
|
25 | V = 10 | |||
|
26 | mode = 1 | |||
|
27 | #path = '/DATA_RM/23/6v' | |||
|
28 | #path = '/DATA_RM/TEST_INTEGRACION_2M' | |||
|
29 | path = '/DATA_RM/WR_20_OCT' | |||
|
30 | ||||
|
31 | #path_ped='/DATA_RM/TEST_PEDESTAL/P20211012-082745' | |||
|
32 | path_ped='/DATA_RM/TEST_PEDESTAL/P20211020-131248' | |||
|
33 | ||||
|
34 | figpath_pp = "/home/soporte/Pictures/TEST_PP" | |||
|
35 | figpath_mom = "/home/soporte/Pictures/TEST_MOM" | |||
|
36 | plot = 0 | |||
|
37 | integration = 1 | |||
|
38 | save = 0 | |||
|
39 | if save == 1: | |||
|
40 | if mode==0: | |||
|
41 | path_save = '/DATA_RM/TEST_HDF5_PP_23/6v' | |||
|
42 | path_save = '/DATA_RM/TEST_HDF5_PP' | |||
|
43 | path_save = '/DATA_RM/TEST_HDF5_PP_100' | |||
|
44 | else: | |||
|
45 | path_save = '/DATA_RM/TEST_HDF5_SPEC_23_V2/6v' | |||
|
46 | ||||
|
47 | print("* PATH data ADQ :", path) | |||
|
48 | print("* Velocidad Pedestal :",V,"°/seg") | |||
|
49 | ############################ NRO Perfiles PROCESAMIENTO ################### | |||
|
50 | V=V | |||
|
51 | IPP=400*1e-6 | |||
|
52 | n= int(1/(V*IPP)) | |||
|
53 | print("* n - NRO Perfiles Proc:", n ) | |||
|
54 | ################################## MODE ################################### | |||
|
55 | print("* Modo de Operacion :",mode) | |||
|
56 | if mode ==0: | |||
|
57 | print("* Met. Seleccionado : Pulse Pair") | |||
|
58 | else: | |||
|
59 | print("* Met. Momentos : Momentos") | |||
|
60 | ||||
|
61 | ################################## MODE ################################### | |||
|
62 | print("* Grabado de datos :",save) | |||
|
63 | if save ==1: | |||
|
64 | if mode==0: | |||
|
65 | ope= "Pulse Pair" | |||
|
66 | else: | |||
|
67 | ope= "Momentos" | |||
|
68 | print("* Path-Save Data -", ope , path_save) | |||
|
69 | ||||
|
70 | print("* Integracion de datos :",integration) | |||
|
71 | ||||
|
72 | time.sleep(15) | |||
|
73 | #remotefolder = "/home/wmaster/graficos" | |||
|
74 | ####################################################################### | |||
|
75 | ################# RANGO DE PLOTEO###################################### | |||
|
76 | dBmin = '1' | |||
|
77 | dBmax = '85' | |||
|
78 | xmin = '15' | |||
|
79 | xmax = '15.25' | |||
|
80 | ymin = '0' | |||
|
81 | ymax = '600' | |||
|
82 | ####################################################################### | |||
|
83 | ########################FECHA########################################## | |||
|
84 | str = datetime.date.today() | |||
|
85 | today = str.strftime("%Y/%m/%d") | |||
|
86 | str2 = str - datetime.timedelta(days=1) | |||
|
87 | yesterday = str2.strftime("%Y/%m/%d") | |||
|
88 | ####################################################################### | |||
|
89 | ########################SIGNAL CHAIN ################################## | |||
|
90 | ####################################################################### | |||
|
91 | desc = "USRP_test" | |||
|
92 | filename = "USRP_processing.xml" | |||
|
93 | controllerObj = Project() | |||
|
94 | controllerObj.setup(id = '191', name='Test_USRP', description=desc) | |||
|
95 | ####################################################################### | |||
|
96 | ######################## UNIDAD DE LECTURA############################# | |||
|
97 | ####################################################################### | |||
|
98 | readUnitConfObj = controllerObj.addReadUnit(datatype='DigitalRFReader', | |||
|
99 | path=path, | |||
|
100 | startDate="2021/01/01",#today, | |||
|
101 | endDate="2021/12/30",#today, | |||
|
102 | startTime='00:00:00', | |||
|
103 | endTime='23:59:59', | |||
|
104 | delay=0, | |||
|
105 | #set=0, | |||
|
106 | online=0, | |||
|
107 | walk=1, | |||
|
108 | ippKm = 60) | |||
|
109 | ||||
|
110 | opObj11 = readUnitConfObj.addOperation(name='printInfo') | |||
|
111 | ||||
|
112 | procUnitConfObjA = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) | |||
|
113 | ||||
|
114 | if mode ==0: | |||
|
115 | ####################### METODO PULSE PAIR ###################################################################### | |||
|
116 | opObj11 = procUnitConfObjA.addOperation(name='PulsePair', optype='other') | |||
|
117 | opObj11.addParameter(name='n', value=int(n), format='int')#10 VOY A USAR 250 DADO QUE LA VELOCIDAD ES 10 GRADOS | |||
|
118 | #opObj11.addParameter(name='removeDC', value=1, format='int') | |||
|
119 | ####################### METODO Parametros ###################################################################### | |||
|
120 | procUnitConfObjB= controllerObj.addProcUnit(datatype='ParametersProc',inputId=procUnitConfObjA.getId()) | |||
|
121 | if plot==1: | |||
|
122 | opObj11 = procUnitConfObjB.addOperation(name='GenericRTIPlot',optype='external') | |||
|
123 | opObj11.addParameter(name='attr_data', value='dataPP_POW') | |||
|
124 | opObj11.addParameter(name='colormap', value='jet') | |||
|
125 | opObj11.addParameter(name='xmin', value=xmin) | |||
|
126 | opObj11.addParameter(name='xmax', value=xmax) | |||
|
127 | opObj11.addParameter(name='zmin', value=dBmin) | |||
|
128 | opObj11.addParameter(name='zmax', value=dBmax) | |||
|
129 | opObj11.addParameter(name='save', value=figpath_pp) | |||
|
130 | opObj11.addParameter(name='showprofile', value=0) | |||
|
131 | opObj11.addParameter(name='save_period', value=50) | |||
|
132 | ||||
|
133 | ####################### METODO ESCRITURA ####################################################################### | |||
|
134 | if save==1: | |||
|
135 | opObj10 = procUnitConfObjB.addOperation(name='HDFWriter') | |||
|
136 | opObj10.addParameter(name='path',value=path_save) | |||
|
137 | #opObj10.addParameter(name='mode',value=0) | |||
|
138 | opObj10.addParameter(name='blocksPerFile',value='100',format='int') | |||
|
139 | opObj10.addParameter(name='metadataList',value='utctimeInit,timeZone,paramInterval,profileIndex,channelList,heightList,flagDataAsBlock',format='list') | |||
|
140 | opObj10.addParameter(name='dataList',value='dataPP_POW,dataPP_DOP,utctime',format='list')#,format='list' | |||
|
141 | if integration==1: | |||
|
142 | V=10 | |||
|
143 | blocksPerfile=360 | |||
|
144 | print("* Velocidad del Pedestal:",V) | |||
|
145 | tmp_blocksPerfile = 100 | |||
|
146 | f_a_p= int(tmp_blocksPerfile/V) | |||
|
147 | ||||
|
148 | opObj11 = procUnitConfObjB.addOperation(name='PedestalInformation') | |||
|
149 | opObj11.addParameter(name='path_ped', value=path_ped) | |||
|
150 | #opObj11.addParameter(name='path_adq', value=path_adq) | |||
|
151 | opObj11.addParameter(name='t_Interval_p', value='0.01', format='float') | |||
|
152 | opObj11.addParameter(name='blocksPerfile', value=blocksPerfile, format='int') | |||
|
153 | opObj11.addParameter(name='n_Muestras_p', value='100', format='float') | |||
|
154 | opObj11.addParameter(name='f_a_p', value=f_a_p, format='int') | |||
|
155 | opObj11.addParameter(name='online', value='0', format='int') | |||
|
156 | ||||
|
157 | opObj11 = procUnitConfObjB.addOperation(name='Block360') | |||
|
158 | opObj11.addParameter(name='n', value='10', format='int') | |||
|
159 | opObj11.addParameter(name='mode', value=mode, format='int') | |||
|
160 | ||||
|
161 | # este bloque funciona bien con divisores de 360 no olvidar 0 10 20 30 40 60 90 120 180 | |||
|
162 | ||||
|
163 | opObj11= procUnitConfObjB.addOperation(name='WeatherPlot',optype='other') | |||
|
164 | ||||
|
165 | ||||
|
166 | else: | |||
|
167 | ####################### METODO SPECTROS ###################################################################### | |||
|
168 | procUnitConfObjB = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjA.getId()) | |||
|
169 | procUnitConfObjB.addParameter(name='nFFTPoints', value=n, format='int') | |||
|
170 | procUnitConfObjB.addParameter(name='nProfiles' , value=n, format='int') | |||
|
171 | ||||
|
172 | procUnitConfObjC = controllerObj.addProcUnit(datatype='ParametersProc',inputId=procUnitConfObjB.getId()) | |||
|
173 | procUnitConfObjC.addOperation(name='SpectralMoments') | |||
|
174 | if plot==1: | |||
|
175 | dBmin = '1' | |||
|
176 | dBmax = '65' | |||
|
177 | opObj11 = procUnitConfObjC.addOperation(name='PowerPlot',optype='external') | |||
|
178 | opObj11.addParameter(name='xmin', value=xmin) | |||
|
179 | opObj11.addParameter(name='xmax', value=xmax) | |||
|
180 | opObj11.addParameter(name='zmin', value=dBmin) | |||
|
181 | opObj11.addParameter(name='zmax', value=dBmax) | |||
|
182 | opObj11.addParameter(name='save', value=figpath_mom) | |||
|
183 | opObj11.addParameter(name='showprofile', value=0) | |||
|
184 | opObj11.addParameter(name='save_period', value=100) | |||
|
185 | ||||
|
186 | if save==1: | |||
|
187 | opObj10 = procUnitConfObjC.addOperation(name='HDFWriter') | |||
|
188 | opObj10.addParameter(name='path',value=path_save) | |||
|
189 | #opObj10.addParameter(name='mode',value=0) | |||
|
190 | opObj10.addParameter(name='blocksPerFile',value='360',format='int') | |||
|
191 | #opObj10.addParameter(name='metadataList',value='utctimeInit,heightList,nIncohInt,nCohInt,nProfiles,channelList',format='list')#profileIndex | |||
|
192 | opObj10.addParameter(name='metadataList',value='utctimeInit,heightList,nIncohInt,nCohInt,nProfiles,channelList',format='list')#profileIndex | |||
|
193 | opObj10.addParameter(name='dataList',value='data_pow,data_dop,utctime',format='list')#,format='list' | |||
|
194 | ||||
|
195 | if integration==1: | |||
|
196 | V=10 | |||
|
197 | blocksPerfile=360 | |||
|
198 | print("* Velocidad del Pedestal:",V) | |||
|
199 | tmp_blocksPerfile = 100 | |||
|
200 | f_a_p= int(tmp_blocksPerfile/V) | |||
|
201 | ||||
|
202 | opObj11 = procUnitConfObjC.addOperation(name='PedestalInformation') | |||
|
203 | opObj11.addParameter(name='path_ped', value=path_ped) | |||
|
204 | #opObj11.addParameter(name='path_adq', value=path_adq) | |||
|
205 | opObj11.addParameter(name='t_Interval_p', value='0.01', format='float') | |||
|
206 | opObj11.addParameter(name='blocksPerfile', value=blocksPerfile, format='int') | |||
|
207 | opObj11.addParameter(name='n_Muestras_p', value='100', format='float') | |||
|
208 | opObj11.addParameter(name='f_a_p', value=f_a_p, format='int') | |||
|
209 | opObj11.addParameter(name='online', value='0', format='int') | |||
|
210 | ||||
|
211 | opObj11 = procUnitConfObjC.addOperation(name='Block360') | |||
|
212 | opObj11.addParameter(name='n', value='30', format='int') | |||
|
213 | opObj11.addParameter(name='mode', value=mode, format='int') | |||
|
214 | ||||
|
215 | # este bloque funciona bien con divisores de 360 no olvidar 0 10 20 30 40 60 90 120 180 | |||
|
216 | opObj11= procUnitConfObjC.addOperation(name='WeatherPlot',optype='other') | |||
|
217 | controllerObj.start() |
@@ -0,0 +1,13 | |||||
|
1 | ||||
|
2 | PULSE PAIR | |||
|
3 | help [[1.364 1.376 1.28 ... 1.352 1.372 1.332] | |||
|
4 | [2.912 3.012 3.06 ... 3.056 2.6 2.936]] | |||
|
5 | help [[1.256 1.304 1.212 ... 1.228 1.328 1.528] | |||
|
6 | [2.744 2.604 2.492 ... 2.544 2.916 2.644]] | |||
|
7 | help [[1.176 1.248 1.48 ... 1.388 1.396 1.216] | |||
|
8 | [2.564 2.524 2.756 ... 2.772 2.7 2.684]] | |||
|
9 | ||||
|
10 | help [[1.312 1.328 1.28 ... 1.28 1.444 1.532] | |||
|
11 | [3. 2.964 3.092 ... 3.104 3.016 2.984]] | |||
|
12 | ||||
|
13 | MOMENTOS |
@@ -0,0 +1,69 | |||||
|
1 | # Ing. AVP | |||
|
2 | # 06/10/2021 | |||
|
3 | # ARCHIVO DE LECTURA | |||
|
4 | import os, sys | |||
|
5 | import datetime | |||
|
6 | import time | |||
|
7 | from schainpy.controller import Project | |||
|
8 | ||||
|
9 | print("SETUP- RADAR METEOROLOGICO") | |||
|
10 | V = 10 | |||
|
11 | ####################################################################### | |||
|
12 | ################# RANGO DE PLOTEO###################################### | |||
|
13 | dBmin = '1' | |||
|
14 | dBmax = '65' | |||
|
15 | xmin = '13.2' | |||
|
16 | xmax = '13.5' | |||
|
17 | ymin = '0' | |||
|
18 | ymax = '60' | |||
|
19 | ||||
|
20 | path = '/DATA_RM/WR_20_OCT' | |||
|
21 | figpath_pp = "/home/soporte/Pictures/TEST_PP" | |||
|
22 | ||||
|
23 | ||||
|
24 | IPP=400*1e-6 | |||
|
25 | n= int(1/(V*IPP)) | |||
|
26 | #n=250 | |||
|
27 | print("* n - NRO Perfiles Proc:", n ) | |||
|
28 | ||||
|
29 | desc = "USRP_test" | |||
|
30 | filename = "USRP_processing.xml" | |||
|
31 | controllerObj = Project() | |||
|
32 | controllerObj.setup(id = '191', name='Test_USRP', description=desc) | |||
|
33 | ####################################################################### | |||
|
34 | ######################## UNIDAD DE LECTURA############################# | |||
|
35 | ####################################################################### | |||
|
36 | readUnitConfObj = controllerObj.addReadUnit(datatype='DigitalRFReader', | |||
|
37 | path=path, | |||
|
38 | startDate="2021/01/01",#today, | |||
|
39 | endDate="2021/12/30",#today, | |||
|
40 | startTime='00:00:00', | |||
|
41 | endTime='23:59:59', | |||
|
42 | delay=0, | |||
|
43 | #set=0, | |||
|
44 | online=0, | |||
|
45 | walk=1, | |||
|
46 | ippKm = 60) | |||
|
47 | ||||
|
48 | opObj11 = readUnitConfObj.addOperation(name='printInfo') | |||
|
49 | ||||
|
50 | procUnitConfObjA = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) | |||
|
51 | ||||
|
52 | opObj11 = procUnitConfObjA.addOperation(name='PulsePair', optype='other') | |||
|
53 | opObj11.addParameter(name='n', value=int(n), format='int')#10 VOY A USAR 250 DADO QUE LA VELOCIDAD ES 10 GRADOS | |||
|
54 | #opObj11.addParameter(name='removeDC', value=1, format='int') | |||
|
55 | ||||
|
56 | procUnitConfObjB= controllerObj.addProcUnit(datatype='ParametersProc',inputId=procUnitConfObjA.getId()) | |||
|
57 | ||||
|
58 | opObj11 = procUnitConfObjB.addOperation(name='GenericRTIPlot',optype='external') | |||
|
59 | opObj11.addParameter(name='attr_data', value='dataPP_POWER') | |||
|
60 | opObj11.addParameter(name='colormap', value='jet') | |||
|
61 | opObj11.addParameter(name='xmin', value=xmin) | |||
|
62 | opObj11.addParameter(name='xmax', value=xmax) | |||
|
63 | opObj11.addParameter(name='zmin', value=dBmin) | |||
|
64 | opObj11.addParameter(name='zmax', value=dBmax) | |||
|
65 | opObj11.addParameter(name='save', value=figpath_pp) | |||
|
66 | opObj11.addParameter(name='showprofile', value=0) | |||
|
67 | #opObj11.addParameter(name='save_period', value=10) | |||
|
68 | ||||
|
69 | controllerObj.start() |
@@ -0,0 +1,80 | |||||
|
1 | # Ing. AVP | |||
|
2 | # 06/10/2021 | |||
|
3 | # ARCHIVO DE LECTURA | |||
|
4 | import os, sys | |||
|
5 | import datetime | |||
|
6 | import time | |||
|
7 | from schainpy.controller import Project | |||
|
8 | ||||
|
9 | print("SETUP- RADAR METEOROLOGICO") | |||
|
10 | V = 10 | |||
|
11 | ####################################################################### | |||
|
12 | ################# RANGO DE PLOTEO###################################### | |||
|
13 | dBmin = '1' | |||
|
14 | dBmax = '65' | |||
|
15 | xmin = '13.2' | |||
|
16 | xmax = '13.5' | |||
|
17 | ymin = '0' | |||
|
18 | ymax = '60' | |||
|
19 | ||||
|
20 | path = '/DATA_RM/WR_20_OCT' | |||
|
21 | figpath_spec = "/home/soporte/Pictures/TEST_MOM" | |||
|
22 | ||||
|
23 | ||||
|
24 | IPP=400*1e-6 | |||
|
25 | n= int(1/(V*IPP)) | |||
|
26 | print("* n - NRO Perfiles Proc:", n ) | |||
|
27 | time.sleep(5) | |||
|
28 | desc = "USRP_test" | |||
|
29 | filename = "USRP_processing.xml" | |||
|
30 | controllerObj = Project() | |||
|
31 | controllerObj.setup(id = '191', name='Test_USRP', description=desc) | |||
|
32 | ####################################################################### | |||
|
33 | ######################## UNIDAD DE LECTURA############################# | |||
|
34 | ####################################################################### | |||
|
35 | readUnitConfObj = controllerObj.addReadUnit(datatype='DigitalRFReader', | |||
|
36 | path=path, | |||
|
37 | startDate="2021/01/01",#today, | |||
|
38 | endDate="2021/12/30",#today, | |||
|
39 | startTime='00:00:00', | |||
|
40 | endTime='23:59:59', | |||
|
41 | delay=0, | |||
|
42 | #set=0, | |||
|
43 | online=0, | |||
|
44 | walk=1, | |||
|
45 | ippKm = 60) | |||
|
46 | ||||
|
47 | opObj11 = readUnitConfObj.addOperation(name='printInfo') | |||
|
48 | ||||
|
49 | procUnitConfObjA = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) | |||
|
50 | ||||
|
51 | procUnitConfObjB = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjA.getId()) | |||
|
52 | procUnitConfObjB.addParameter(name='nFFTPoints', value=n, format='int') | |||
|
53 | procUnitConfObjB.addParameter(name='nProfiles' , value=n, format='int') | |||
|
54 | ''' | |||
|
55 | opObj11 = procUnitConfObjB.addOperation(name='RTIPlot', optype='external') | |||
|
56 | #.addParameter(name='id', value='2', format='int') | |||
|
57 | opObj11.addParameter(name='wintitle', value='RTIPlot', format='str') | |||
|
58 | opObj11.addParameter(name='xmin', value=xmin) | |||
|
59 | opObj11.addParameter(name='xmax', value=xmax) | |||
|
60 | opObj11.addParameter(name='zmin', value=dBmin, format='int') | |||
|
61 | opObj11.addParameter(name='zmax', value=dBmax, format='int') | |||
|
62 | ''' | |||
|
63 | #opObj13 = procUnitConfObjB.addOperation(name='removeDC') | |||
|
64 | #opObj13.addParameter(name='mode', value='2', format='int') | |||
|
65 | ||||
|
66 | procUnitConfObjC = controllerObj.addProcUnit(datatype='ParametersProc',inputId=procUnitConfObjB.getId()) | |||
|
67 | procUnitConfObjC.addOperation(name='SpectralMoments') | |||
|
68 | ||||
|
69 | dBmin = '1' | |||
|
70 | dBmax = '65' | |||
|
71 | opObj11 = procUnitConfObjC.addOperation(name='PowerPlot',optype='external') | |||
|
72 | opObj11.addParameter(name='xmin', value=xmin) | |||
|
73 | opObj11.addParameter(name='xmax', value=xmax) | |||
|
74 | opObj11.addParameter(name='zmin', value=dBmin) | |||
|
75 | opObj11.addParameter(name='zmax', value=dBmax) | |||
|
76 | opObj11.addParameter(name='save', value=figpath_spec) | |||
|
77 | opObj11.addParameter(name='showprofile', value=0) | |||
|
78 | #opObj11.addParameter(name='save_period', value=10) | |||
|
79 | ||||
|
80 | controllerObj.start() |
@@ -575,7 +575,6 class Spectra(JROData): | |||||
575 | z = self.data_spc / factor |
|
575 | z = self.data_spc / factor | |
576 | z = numpy.where(numpy.isfinite(z), z, numpy.NAN) |
|
576 | z = numpy.where(numpy.isfinite(z), z, numpy.NAN) | |
577 | avg = numpy.average(z, axis=1) |
|
577 | avg = numpy.average(z, axis=1) | |
578 |
|
||||
579 | return 10 * numpy.log10(avg) |
|
578 | return 10 * numpy.log10(avg) | |
580 |
|
579 | |||
581 | def getCoherence(self, pairsList=None, phase=False): |
|
580 | def getCoherence(self, pairsList=None, phase=False): |
@@ -95,11 +95,9 class PowerPlot(RTIPlot): | |||||
95 | colormap = 'jet' |
|
95 | colormap = 'jet' | |
96 |
|
96 | |||
97 | def update(self, dataOut): |
|
97 | def update(self, dataOut): | |
98 |
|
||||
99 | data = { |
|
98 | data = { | |
100 | 'pow': 10*numpy.log10(dataOut.data_pow/dataOut.normFactor) |
|
99 | 'pow': 10*numpy.log10(dataOut.data_pow/dataOut.normFactor) | |
101 | } |
|
100 | } | |
102 |
|
||||
103 | return data, {} |
|
101 | return data, {} | |
104 |
|
102 | |||
105 | class SpectralWidthPlot(RTIPlot): |
|
103 | class SpectralWidthPlot(RTIPlot): | |
@@ -204,9 +202,7 class GenericRTIPlot(Plot): | |||||
204 | self.x = self.data.times |
|
202 | self.x = self.data.times | |
205 | self.y = self.data.yrange |
|
203 | self.y = self.data.yrange | |
206 | self.z = self.data['param'] |
|
204 | self.z = self.data['param'] | |
207 |
|
||||
208 | self.z = 10*numpy.log10(self.z) |
|
205 | self.z = 10*numpy.log10(self.z) | |
209 |
|
||||
210 | self.z = numpy.ma.masked_invalid(self.z) |
|
206 | self.z = numpy.ma.masked_invalid(self.z) | |
211 |
|
207 | |||
212 | if self.decimation is None: |
|
208 | if self.decimation is None: | |
@@ -399,17 +395,11 class WeatherPlot(Plot): | |||||
399 |
|
395 | |||
400 | data = {} |
|
396 | data = {} | |
401 | meta = {} |
|
397 | meta = {} | |
402 | print("aprox",dataOut.data_360[0]) |
|
|||
403 | data['weather'] = 10*numpy.log10(dataOut.data_360[0]/(250.0)) |
|
398 | data['weather'] = 10*numpy.log10(dataOut.data_360[0]/(250.0)) | |
404 | #print(data['weather']) |
|
|||
405 | data['azi'] = dataOut.data_azi |
|
399 | data['azi'] = dataOut.data_azi | |
406 | print("UPDATE",data['azi']) |
|
|||
407 | return data, meta |
|
400 | return data, meta | |
408 |
|
401 | |||
409 | def const_ploteo(self,data_weather,data_azi,step,res): |
|
402 | def const_ploteo(self,data_weather,data_azi,step,res): | |
410 | #print("data_weather",data_weather) |
|
|||
411 | print("data_azi",data_azi) |
|
|||
412 | print("step",step) |
|
|||
413 | if self.ini==0: |
|
403 | if self.ini==0: | |
414 | #------- AZIMUTH |
|
404 | #------- AZIMUTH | |
415 | n = (360/res)-len(data_azi) |
|
405 | n = (360/res)-len(data_azi) |
@@ -226,7 +226,6 class RTIPlot(Plot): | |||||
226 | def setup(self): |
|
226 | def setup(self): | |
227 | self.xaxis = 'time' |
|
227 | self.xaxis = 'time' | |
228 | self.ncols = 1 |
|
228 | self.ncols = 1 | |
229 | print("ch",self.data.channels) |
|
|||
230 | self.nrows = len(self.data.channels) |
|
229 | self.nrows = len(self.data.channels) | |
231 | self.nplots = len(self.data.channels) |
|
230 | self.nplots = len(self.data.channels) | |
232 | self.ylabel = 'Range [km]' |
|
231 | self.ylabel = 'Range [km]' | |
@@ -267,7 +266,6 class RTIPlot(Plot): | |||||
267 | cmap=plt.get_cmap(self.colormap) |
|
266 | cmap=plt.get_cmap(self.colormap) | |
268 | ) |
|
267 | ) | |
269 | if self.showprofile: |
|
268 | if self.showprofile: | |
270 | print("test-------------------------------------1") |
|
|||
271 | ax.plot_profile = self.pf_axes[n].plot( |
|
269 | ax.plot_profile = self.pf_axes[n].plot( | |
272 | data['rti'][n], self.y)[0] |
|
270 | data['rti'][n], self.y)[0] | |
273 | ax.plot_noise = self.pf_axes[n].plot(numpy.repeat(data['noise'][n], len(self.y)), self.y, |
|
271 | ax.plot_noise = self.pf_axes[n].plot(numpy.repeat(data['noise'][n], len(self.y)), self.y, |
@@ -1259,7 +1259,6 class SpectralMoments(Operation): | |||||
1259 | dataOut.data_pow = data_param[:,1] |
|
1259 | dataOut.data_pow = data_param[:,1] | |
1260 | dataOut.data_dop = data_param[:,2] |
|
1260 | dataOut.data_dop = data_param[:,2] | |
1261 | dataOut.data_width = data_param[:,3] |
|
1261 | dataOut.data_width = data_param[:,3] | |
1262 |
|
||||
1263 | return dataOut |
|
1262 | return dataOut | |
1264 |
|
1263 | |||
1265 | def __calculateMoments(self, oldspec, oldfreq, n0, |
|
1264 | def __calculateMoments(self, oldspec, oldfreq, n0, |
@@ -1478,6 +1478,7 class PulsePair(Operation): | |||||
1478 | if self.__dataReady: |
|
1478 | if self.__dataReady: | |
1479 | dataOut.nCohInt *= self.n |
|
1479 | dataOut.nCohInt *= self.n | |
1480 | dataOut.dataPP_POW = data_intensity # S |
|
1480 | dataOut.dataPP_POW = data_intensity # S | |
|
1481 | print("help",data_power) | |||
1481 | dataOut.dataPP_POWER = data_power # P |
|
1482 | dataOut.dataPP_POWER = data_power # P | |
1482 | dataOut.dataPP_DOP = data_velocity |
|
1483 | dataOut.dataPP_DOP = data_velocity | |
1483 | dataOut.dataPP_SNR = data_snrPP |
|
1484 | dataOut.dataPP_SNR = data_snrPP |
@@ -32,12 +32,14 controllerObj.setup(id = '191', name='Test_USRP', description=desc) | |||||
32 | ###path_pp = '/DATA_RM/TEST_HDF5_SPEC' |
|
32 | ###path_pp = '/DATA_RM/TEST_HDF5_SPEC' | |
33 |
|
33 | |||
34 | #path = '/DATA_RM/USRP_22' |
|
34 | #path = '/DATA_RM/USRP_22' | |
35 | path = '/DATA_RM/23/6v' |
|
35 | ###path = '/DATA_RM/23/6v' | |
|
36 | path = '/DATA_RM/TEST_19OCTUBRE/10MHZ' | |||
36 | #path_pp = '/DATA_RM/TEST_HDF5' |
|
37 | #path_pp = '/DATA_RM/TEST_HDF5' | |
|
38 | path_pp = '/DATA_RM/TEST_HDF5_19OCT' | |||
37 | # UTIMO TEST 22 DE SEPTIEMBRE |
|
39 | # UTIMO TEST 22 DE SEPTIEMBRE | |
38 | #path_pp = '/DATA_RM/TEST_HDF5_SPEC_22' |
|
40 | #path_pp = '/DATA_RM/TEST_HDF5_SPEC_22' | |
39 | #path_pp = '/DATA_RM/TEST_HDF5_SPEC_3v' |
|
41 | #path_pp = '/DATA_RM/TEST_HDF5_SPEC_3v' | |
40 | path_pp = '/DATA_RM/TEST_HDF5_SPEC_23/6v' |
|
42 | ###path_pp = '/DATA_RM/TEST_HDF5_SPEC_23/6v' | |
41 |
|
43 | |||
42 |
|
44 | |||
43 | #remotefolder = "/home/wmaster/graficos" |
|
45 | #remotefolder = "/home/wmaster/graficos" | |
@@ -79,7 +81,7 opObj11 = readUnitConfObj.addOperation(name='printInfo') | |||||
79 | ####################################################################### |
|
81 | ####################################################################### | |
80 |
|
82 | |||
81 |
|
83 | |||
82 | V=6 |
|
84 | V=10 | |
83 | IPP=400*1e-6 |
|
85 | IPP=400*1e-6 | |
84 | n= int(1/(V*IPP)) |
|
86 | n= int(1/(V*IPP)) | |
85 | print("n numero de Perfiles a procesar con nFFTPoints ", n) |
|
87 | print("n numero de Perfiles a procesar con nFFTPoints ", n) |
@@ -25,12 +25,15 print("SETUP- RADAR METEOROLOGICO") | |||||
25 | V = 10 |
|
25 | V = 10 | |
26 | mode = 1 |
|
26 | mode = 1 | |
27 | #path = '/DATA_RM/23/6v' |
|
27 | #path = '/DATA_RM/23/6v' | |
28 | path = '/DATA_RM/TEST_INTEGRACION_2M' |
|
28 | ####path = '/DATA_RM/TEST_INTEGRACION_2M' | |
29 | path_ped='/DATA_RM/TEST_PEDESTAL/P20211012-082745' |
|
29 | #path = '/DATA_RM/TEST_19OCTUBRE/10MHZ' | |
|
30 | path = '/DATA_RM/WR_20_OCT' | |||
|
31 | #### path_ped='/DATA_RM/TEST_PEDESTAL/P20211012-082745' | |||
|
32 | #### path_ped='/DATA_RM/TEST_PEDESTAL/P20211019-192244' | |||
30 | figpath_pp = "/home/soporte/Pictures/TEST_PP" |
|
33 | figpath_pp = "/home/soporte/Pictures/TEST_PP" | |
31 |
figpath_ |
|
34 | figpath_spec = "/home/soporte/Pictures/TEST_MOM" | |
32 |
plot = |
|
35 | plot = 1 | |
33 |
integration = |
|
36 | integration = 0 | |
34 | save = 0 |
|
37 | save = 0 | |
35 | if save == 1: |
|
38 | if save == 1: | |
36 | if mode==0: |
|
39 | if mode==0: | |
@@ -70,11 +73,11 time.sleep(15) | |||||
70 | ####################################################################### |
|
73 | ####################################################################### | |
71 | ################# RANGO DE PLOTEO###################################### |
|
74 | ################# RANGO DE PLOTEO###################################### | |
72 | dBmin = '1' |
|
75 | dBmin = '1' | |
73 |
dBmax = ' |
|
76 | dBmax = '65' | |
74 |
xmin = '1 |
|
77 | xmin = '13.2' | |
75 |
xmax = '1 |
|
78 | xmax = '13.5' | |
76 | ymin = '0' |
|
79 | ymin = '0' | |
77 |
ymax = '60 |
|
80 | ymax = '60' | |
78 | ####################################################################### |
|
81 | ####################################################################### | |
79 | ########################FECHA########################################## |
|
82 | ########################FECHA########################################## | |
80 | str = datetime.date.today() |
|
83 | str = datetime.date.today() | |
@@ -116,7 +119,7 if mode ==0: | |||||
116 | procUnitConfObjB= controllerObj.addProcUnit(datatype='ParametersProc',inputId=procUnitConfObjA.getId()) |
|
119 | procUnitConfObjB= controllerObj.addProcUnit(datatype='ParametersProc',inputId=procUnitConfObjA.getId()) | |
117 | if plot==1: |
|
120 | if plot==1: | |
118 | opObj11 = procUnitConfObjB.addOperation(name='GenericRTIPlot',optype='external') |
|
121 | opObj11 = procUnitConfObjB.addOperation(name='GenericRTIPlot',optype='external') | |
119 | opObj11.addParameter(name='attr_data', value='dataPP_POW') |
|
122 | opObj11.addParameter(name='attr_data', value='dataPP_POWER') | |
120 | opObj11.addParameter(name='colormap', value='jet') |
|
123 | opObj11.addParameter(name='colormap', value='jet') | |
121 | opObj11.addParameter(name='xmin', value=xmin) |
|
124 | opObj11.addParameter(name='xmin', value=xmin) | |
122 | opObj11.addParameter(name='xmax', value=xmax) |
|
125 | opObj11.addParameter(name='xmax', value=xmax) | |
@@ -124,7 +127,7 if mode ==0: | |||||
124 | opObj11.addParameter(name='zmax', value=dBmax) |
|
127 | opObj11.addParameter(name='zmax', value=dBmax) | |
125 | opObj11.addParameter(name='save', value=figpath_pp) |
|
128 | opObj11.addParameter(name='save', value=figpath_pp) | |
126 | opObj11.addParameter(name='showprofile', value=0) |
|
129 | opObj11.addParameter(name='showprofile', value=0) | |
127 |
opObj11.addParameter(name='save_period', value= |
|
130 | opObj11.addParameter(name='save_period', value=10) | |
128 |
|
131 | |||
129 | ####################### METODO ESCRITURA ####################################################################### |
|
132 | ####################### METODO ESCRITURA ####################################################################### | |
130 | if save==1: |
|
133 | if save==1: | |
@@ -133,7 +136,7 if mode ==0: | |||||
133 | #opObj10.addParameter(name='mode',value=0) |
|
136 | #opObj10.addParameter(name='mode',value=0) | |
134 | opObj10.addParameter(name='blocksPerFile',value='100',format='int') |
|
137 | opObj10.addParameter(name='blocksPerFile',value='100',format='int') | |
135 | opObj10.addParameter(name='metadataList',value='utctimeInit,timeZone,paramInterval,profileIndex,channelList,heightList,flagDataAsBlock',format='list') |
|
138 | opObj10.addParameter(name='metadataList',value='utctimeInit,timeZone,paramInterval,profileIndex,channelList,heightList,flagDataAsBlock',format='list') | |
136 | opObj10.addParameter(name='dataList',value='dataPP_POW,dataPP_DOP,utctime',format='list')#,format='list' |
|
139 | opObj10.addParameter(name='dataList',value='dataPP_POWER,dataPP_DOP,utctime',format='list')#,format='list' | |
137 | if integration==1: |
|
140 | if integration==1: | |
138 | V=10 |
|
141 | V=10 | |
139 | blocksPerfile=360 |
|
142 | blocksPerfile=360 | |
@@ -175,9 +178,9 else: | |||||
175 | opObj11.addParameter(name='xmax', value=xmax) |
|
178 | opObj11.addParameter(name='xmax', value=xmax) | |
176 | opObj11.addParameter(name='zmin', value=dBmin) |
|
179 | opObj11.addParameter(name='zmin', value=dBmin) | |
177 | opObj11.addParameter(name='zmax', value=dBmax) |
|
180 | opObj11.addParameter(name='zmax', value=dBmax) | |
178 |
opObj11.addParameter(name='save', value=figpath_ |
|
181 | opObj11.addParameter(name='save', value=figpath_spec) | |
179 | opObj11.addParameter(name='showprofile', value=0) |
|
182 | opObj11.addParameter(name='showprofile', value=0) | |
180 |
opObj11.addParameter(name='save_period', value=10 |
|
183 | opObj11.addParameter(name='save_period', value=10) | |
181 |
|
184 | |||
182 | if save==1: |
|
185 | if save==1: | |
183 | opObj10 = procUnitConfObjC.addOperation(name='HDFWriter') |
|
186 | opObj10 = procUnitConfObjC.addOperation(name='HDFWriter') |
@@ -6,7 +6,13 import os,numpy,h5py | |||||
6 | import sys,time |
|
6 | import sys,time | |
7 | import matplotlib.pyplot as plt |
|
7 | import matplotlib.pyplot as plt | |
8 | #################################################### |
|
8 | #################################################### | |
9 | path_ped = '/DATA_RM/TEST_PEDESTAL/P20211012-082745' |
|
9 | ################################################################# | |
|
10 | # LA FECHA 21-10-20 CORRESPONDE A LAS PRUEBAS DEL DIA MIERCOLES | |||
|
11 | # 1:15:51 pm hasta 3:49:32 pm | |||
|
12 | ################################################################# | |||
|
13 | ||||
|
14 | #path_ped = '/DATA_RM/TEST_PEDESTAL/P20211012-082745' | |||
|
15 | path_ped = '/DATA_RM/TEST_PEDESTAL/P20211020-131248' | |||
10 | # Metodo para verificar numero |
|
16 | # Metodo para verificar numero | |
11 | def isNumber(str): |
|
17 | def isNumber(str): | |
12 | try: |
|
18 | try: | |
@@ -34,6 +40,7 t= 0 | |||||
34 | time_ = numpy.zeros([m]) |
|
40 | time_ = numpy.zeros([m]) | |
35 | # creacion de |
|
41 | # creacion de | |
36 | for i in range(m): |
|
42 | for i in range(m): | |
|
43 | print("order:",i) | |||
37 | tmp_azi_pos = getDatavaluefromDirFilename(path=path_ped,file=LIST[i],value="azi_pos") |
|
44 | tmp_azi_pos = getDatavaluefromDirFilename(path=path_ped,file=LIST[i],value="azi_pos") | |
38 | tmp_ele_pos = getDatavaluefromDirFilename(path=path_ped,file=LIST[i],value="ele_pos") |
|
45 | tmp_ele_pos = getDatavaluefromDirFilename(path=path_ped,file=LIST[i],value="ele_pos") | |
39 | tmp_azi_vel = getDatavaluefromDirFilename(path=path_ped,file=LIST[i],value="azi_vel") |
|
46 | tmp_azi_vel = getDatavaluefromDirFilename(path=path_ped,file=LIST[i],value="azi_vel") |
@@ -28,7 +28,8 ymax = '600' | |||||
28 | ####################################################################### |
|
28 | ####################################################################### | |
29 | ####################################################################### |
|
29 | ####################################################################### | |
30 | #path = '/DATA_RM/TEST_HDF5_SPEC' |
|
30 | #path = '/DATA_RM/TEST_HDF5_SPEC' | |
31 | path = '/DATA_RM/TEST_HDF5_SPEC_23/6v/' |
|
31 | #path = '/DATA_RM/TEST_HDF5_SPEC_23/6v/' | |
|
32 | path = '/DATA_RM/TEST_HDF5_19OCT' | |||
32 | figpath = '/home/soporte/Downloads/23/6v' |
|
33 | figpath = '/home/soporte/Downloads/23/6v' | |
33 | desc = "Simulator Test" |
|
34 | desc = "Simulator Test" | |
34 | desc_data = { |
|
35 | desc_data = { |
General Comments 0
You need to be logged in to leave comments.
Login now