##// END OF EJS Templates
update
avaldezp -
r1429:96f17ea26f9f
parent child
Show More
@@ -678,22 +678,23 class WeatherRHIPlot(Plot):
678 list1=[]
678 list1=[]
679 list2=[]
679 list2=[]
680 for i in reversed(range(len(angulos))):
680 for i in reversed(range(len(angulos))):
681 diff_ = angulos[i]-angulos[i-1]
681 if not i==0:#el caso de i=0 evalula el primero de la lista con el ultimo y no es relevante
682 if diff_ >1.5:
682 diff_ = angulos[i]-angulos[i-1]
683 list1.append(i-1)
683 if abs(diff_) >1.5:
684 list2.append(diff_)
684 list1.append(i-1)
685 list2.append(diff_)
685 return list(reversed(list1)),list(reversed(list2))
686 return list(reversed(list1)),list(reversed(list2))
686
687
687 def fixData180(self,list_,ang_):
688 def fixData90(self,list_,ang_):
688 if list_[0]==-1:
689 if list_[0]==-1:
689 vec = numpy.where(ang_<ang_[0])
690 vec = numpy.where(ang_<ang_[0])
690 ang_[vec] = ang_[vec]+180
691 ang_[vec] = ang_[vec]+90
691 return ang_
692 return ang_
692 return ang_
693 return ang_
693
694
694 def fixData180HL(self,angulos):
695 def fixData90HL(self,angulos):
695 vec = numpy.where(angulos>=180)
696 vec = numpy.where(angulos>=90)
696 angulos[vec]=angulos[vec]-180
697 angulos[vec]=angulos[vec]-90
697 return angulos
698 return angulos
698
699
699
700
@@ -704,11 +705,11 class WeatherRHIPlot(Plot):
704 i=None
705 i=None
705 return False,i
706 return False,i
706
707
707 def fixDataComp(self,ang_,list1_,list2_):
708 def fixDataComp(self,ang_,list1_,list2_,tipo_case):
708 size = len(ang_)
709 size = len(ang_)
709 size2 = 0
710 size2 = 0
710 for i in range(len(list2_)):
711 for i in range(len(list2_)):
711 size2=size2+round(list2_[i])-1
712 size2=size2+round(abs(list2_[i]))-1
712 new_size= size+size2
713 new_size= size+size2
713 ang_new = numpy.zeros(new_size)
714 ang_new = numpy.zeros(new_size)
714 ang_new2 = numpy.zeros(new_size)
715 ang_new2 = numpy.zeros(new_size)
@@ -721,23 +722,29 class WeatherRHIPlot(Plot):
721 condition , value = self.search_pos(i,list1_)
722 condition , value = self.search_pos(i,list1_)
722 if condition:
723 if condition:
723 pos = tmp + c + 1
724 pos = tmp + c + 1
724 for k in range(round(list2_[value])-1):
725 for k in range(round(abs(list2_[value]))-1):
725 ang_new[pos+k] = ang_new[pos+k-1]+1
726 if tipo_case==0 or tipo_case==3:#subida
726 ang_new2[pos+k] = numpy.nan
727 ang_new[pos+k] = ang_new[pos+k-1]+1
728 ang_new2[pos+k] = numpy.nan
729 elif tipo_case==1 or tipo_case==2:#bajada
730 ang_new[pos+k] = ang_new[pos+k-1]-1
731 ang_new2[pos+k] = numpy.nan
732
727 tmp = pos +k
733 tmp = pos +k
728 c = 0
734 c = 0
729 c=c+1
735 c=c+1
730 return ang_new,ang_new2
736 return ang_new,ang_new2
731
737
732 def globalCheckPED(self,angulos):
738 def globalCheckPED(self,angulos,tipo_case):
733 l1,l2 = self.get2List(angulos)
739 l1,l2 = self.get2List(angulos)
740 print("l1",l1)
741 print("l2",l2)
734 if len(l1)>0:
742 if len(l1)>0:
735 angulos2 = self.fixData180(list_=l1,ang_=angulos)
743 #angulos2 = self.fixData90(list_=l1,ang_=angulos)
736 l1,l2 = self.get2List(angulos2)
744 #l1,l2 = self.get2List(angulos2)
737
745 ang1_,ang2_ = self.fixDataComp(ang_=angulos,list1_=l1,list2_=l2,tipo_case=tipo_case)
738 ang1_,ang2_ = self.fixDataComp(ang_=angulos2,list1_=l1,list2_=l2)
746 #ang1_ = self.fixData90HL(ang1_)
739 ang1_ = self.fixData180HL(ang1_)
747 #ang2_ = self.fixData90HL(ang2_)
740 ang2_ = self.fixData180HL(ang2_)
741 else:
748 else:
742 ang1_= angulos
749 ang1_= angulos
743 ang2_= angulos
750 ang2_= angulos
@@ -762,52 +769,112 class WeatherRHIPlot(Plot):
762 data_T[i,:]=numpy.ones(data_T.shape[1])*numpy.nan
769 data_T[i,:]=numpy.ones(data_T.shape[1])*numpy.nan
763 return data_T
770 return data_T
764
771
765 def const_ploteo(self,data_weather,data_ele,step,res):
772 def check_case(self,data_ele,ang_max,ang_min):
773 start = data_ele[0]
774 end = data_ele[-1]
775 number = (end-start)
776 len_ang=len(data_ele)
777
778 if start<end and round(abs(number)+1)>=len_ang:#caso subida
779 return 0
780 elif start>end and round(abs(number)+1)>=len_ang:#caso bajada
781 return 1
782 elif round(abs(number)+1)<len_ang and data_ele[-2]>data_ele[-1]:# caso BAJADA CAMBIO ANG MAX
783 return 2
784 elif round(abs(number)+1)<len_ang and data_ele[-2]<data_ele[-1]:# caso SUBIDA CAMBIO ANG MIN
785 return 3
786
787
788 def const_ploteo(self,data_weather,data_ele,step,res,ang_max,ang_min):
789 ang_max= ang_max
790 ang_min= ang_min
766 if self.ini==0:
791 if self.ini==0:
767 #-------
792 print("**********************************************")
768 n = (180/res)-len(data_ele)
793 print("**********************************************")
794 print("***************ini**************")
795 print("**********************************************")
796 print("**********************************************")
797 print("data_ele",data_ele)
798 #----------------------------------------------------------
799 tipo_case = self.check_case(data_ele,ang_max,ang_min)
800 print("TIPO DE DATA",tipo_case)
769 #--------------------- new -------------------------
801 #--------------------- new -------------------------
770 data_ele_new ,data_ele_old= self.globalCheckPED(data_ele)
802 data_ele_new ,data_ele_old= self.globalCheckPED(data_ele,tipo_case)
771 #------------------------
803 print("data_ele_new",data_ele_new)
772 start = data_ele_new[-1] + res
804 print("data_ele_old",data_ele_old)
773 end = data_ele_new[0] - res
805 #-------------------------CAMBIOS RHI---------------------------------
806 start= ang_min
807 end = ang_min
808 n= (ang_max-ang_min)/res
774 #------ new
809 #------ new
775 self.last_data_ele = end
810 self.start_data_ele = data_ele_new[0]
776 if start>end:
811 self.end_data_ele = data_ele_new[-1]
777 end = end + 180
812 if tipo_case==0 or tipo_case==3:
813 n1= round(self.start_data_ele)- start
814 n2= end - round(self.end_data_ele)
815 if n1>0:
816 ele1= numpy.linspace(ang_min+1,self.start_data_ele-1,n1)
817 ele1_nan= numpy.ones(n1)*numpy.nan
818 data_ele = numpy.hstack((ele1,data_ele_new))
819 data_ele_old = numpy.hstack((ele1_nan,data_ele_old))
820 if n2>0:
821 ele2= numpy.linspace(self.end_data_ele+1,end,n2)
822 ele2_nan= numpy.ones(n2)*numpy.nan
823 data_ele = numpy.hstack((data_ele,ele2))
824 data_ele_old = numpy.hstack((data_ele_old,ele2_nan))
825 # RADAR
826 val_mean = numpy.mean(data_weather[:,-1])
827 self.val_mean = val_mean
828 data_weather = self.replaceNAN(data_weather=data_weather,data_ele=data_ele_old,val=self.val_mean)
829 '''
778 ele_vacia = numpy.linspace(start,end,int(n))
830 ele_vacia = numpy.linspace(start,end,int(n))
779 ele_vacia = numpy.where(ele_vacia>180,ele_vacia-180,ele_vacia)
831
832
833 ele_vacia = numpy.where(ele_vacia>ang_max,ele_vacia-ang_max,ele_vacia)
780 data_ele = numpy.hstack((data_ele_new,ele_vacia))
834 data_ele = numpy.hstack((data_ele_new,ele_vacia))
781 # RADAR
835 # RADAR
782 val_mean = numpy.mean(data_weather[:,-1])
836 val_mean = numpy.mean(data_weather[:,-1])
783 self.val_mean = val_mean
837 self.val_mean = val_mean
784 data_weather_cmp = numpy.ones([(180-data_weather.shape[0]),data_weather.shape[1]])*val_mean
838 data_weather_cmp = numpy.ones([(ang_max-data_weather.shape[0]),data_weather.shape[1]])*val_mean
785 data_weather = self.replaceNAN(data_weather=data_weather,data_ele=data_ele_old,val=self.val_mean)
839 data_weather = self.replaceNAN(data_weather=data_weather,data_ele=data_ele_old,val=self.val_mean)
786 data_weather = numpy.vstack((data_weather,data_weather_cmp))
840 data_weather = numpy.vstack((data_weather,data_weather_cmp))
841 '''
787 else:
842 else:
788 # azimuth
843 print("**********************************************")
844 print("**********************************************")
845 print("****************VARIABLE**********************")
846 print("**********************************************")
847 print("**********************************************")
848 #-------------------------CAMBIOS RHI---------------------------------
849 #---------------------------------------------------------------------
850 print("INPUT data_ele",data_ele)
789 flag=0
851 flag=0
790 start_ele = self.res_ele[0]
852 start_ele = self.res_ele[0]
853 tipo_case = self.check_case(data_ele,ang_max,ang_min)
854 print("TIPO DE DATA",tipo_case)
791 #-----------new------------
855 #-----------new------------
792 data_ele ,data_ele_old= self.globalCheckPED(data_ele)
856 data_ele ,data_ele_old= self.globalCheckPED(data_ele,tipo_case)
857 print("data_ele_new",data_ele)
858 print("data_ele_old",data_ele_old)
793 data_weather = self.replaceNAN(data_weather=data_weather,data_ele=data_ele_old,val=self.val_mean)
859 data_weather = self.replaceNAN(data_weather=data_weather,data_ele=data_ele_old,val=self.val_mean)
860 '''
794 #--------------------------
861 #--------------------------
795 start = data_ele[0]
862 start = data_ele[0]
796 end = data_ele[-1]
863 end = data_ele[-1]
797 self.last_data_ele= end
864 self.last_data_ele= end
798 if start< start_ele:
865 if start< start_ele:
799 start = start +180
866 start = start +ang_max
800 if end <start_ele:
867 if end <start_ele:
801 end = end +180
868 end = end +ang_max
802
869
803 pos_ini = int((start-start_ele)/res)
870 pos_ini = int((start-start_ele)/res)
804 len_ele = len(data_ele)
871 len_ele = len(data_ele)
805 if (180-pos_ini)<len_ele:
872 if (ang_max-pos_ini)<len_ele:
806 if pos_ini+1==180:
873 if pos_ini+1==ang_max:
807 pos_ini=0
874 pos_ini=0
808 else:
875 else:
809 flag=1
876 flag=1
810 dif= 180-pos_ini
877 dif= ang_max-pos_ini
811 comp= len_ele-dif
878 comp= len_ele-dif
812 #-----------------
879 #-----------------
813 if flag==0:
880 if flag==0:
@@ -825,6 +892,8 class WeatherRHIPlot(Plot):
825 flag=0
892 flag=0
826 data_ele = self.res_ele
893 data_ele = self.res_ele
827 data_weather = self.res_weather
894 data_weather = self.res_weather
895 '''
896 print("OUPUT data_ele",data_ele)
828
897
829 return data_weather,data_ele
898 return data_weather,data_ele
830
899
@@ -837,6 +906,13 class WeatherRHIPlot(Plot):
837 r_mask = numpy.where(r>=0)[0]
906 r_mask = numpy.where(r>=0)[0]
838 r = numpy.arange(len(r_mask))*delta_height
907 r = numpy.arange(len(r_mask))*delta_height
839 self.y = 2*r
908 self.y = 2*r
909 res = 1
910 print("data['weather'].shape[0]",data['weather'].shape[0])
911 ang_max = 80
912 ang_min = 0
913 var_ang =ang_max - ang_min
914 step = (int(var_ang)/(res*data['weather'].shape[0]))
915 print("step",step)
840 '''
916 '''
841 #-------------------------------------------------------------
917 #-------------------------------------------------------------
842 # RADAR
918 # RADAR
@@ -846,43 +922,26 class WeatherRHIPlot(Plot):
846 res = 1
922 res = 1
847 # STEP
923 # STEP
848 step = (180/(res*data['weather'].shape[0]))
924 step = (180/(res*data['weather'].shape[0]))
849
850
851 self.res_weather, self.res_ele = self.const_ploteo(data_weather=data['weather'][:,r_mask],data_ele=data['ele'],step=step,res=res)
925 self.res_weather, self.res_ele = self.const_ploteo(data_weather=data['weather'][:,r_mask],data_ele=data['ele'],step=step,res=res)
852 self.res_azi = numpy.mean(data['azi'])
926 self.res_azi = numpy.mean(data['azi'])
853 print("self.res_ele------------------------------:",self.res_ele)
927 print("self.res_ele------------------------------:",self.res_ele)
854 ################# PLOTEO ###################
855
856 for i,ax in enumerate(self.axes):
857 if ax.firsttime:
858 plt.clf()
859 cgax, pm = wrl.vis.plot_rhi(self.res_weather,r=r,th=self.res_ele,fig=self.figures[0], proj='cg', vmin=8, vmax=35)
860 else:
861 plt.clf()
862 cgax, pm = wrl.vis.plot_rhi(self.res_weather,r=r,th=self.res_ele,fig=self.figures[0], proj='cg', vmin=8, vmax=35)
863 caax = cgax.parasites[0]
864 paax = cgax.parasites[1]
865 cbar = plt.gcf().colorbar(pm, pad=0.075)
866 caax.set_xlabel('x_range [km]')
867 caax.set_ylabel('y_range [km]')
868 plt.text(1.0, 1.05, 'Elevacion '+str(thisDatetime)+" Step "+str(self.ini)+ " Azi: "+str(round(self.res_azi,2)), transform=caax.transAxes, va='bottom',ha='right')
869
870 self.ini= self.ini+1
871
872
873 '''
928 '''
874 #--------------------------------------------------------
929 #--------------------------------------------------------
930 print('weather',data['weather'].shape)
931 print('ele',data['ele'].shape)
875
932
876 ###self.res_weather, self.res_ele = self.const_ploteo(data_weather=data['weather'][:,r_mask],data_azi=data['ele'],step=step,res=res)
933 self.res_weather, self.res_ele = self.const_ploteo(data_weather=data['weather'][:,r_mask],data_ele=data['ele'],step=step,res=res,ang_max=ang_max,ang_min=ang_min)
877 ###self.res_azi = numpy.mean(data['azi'])
934 self.res_azi = numpy.mean(data['azi'])
935 print("self.res_ele",self.res_ele)
878 #-------------
936 #-------------
879 # 90 angulos en el axis 0
937 # 90 angulos en el axis 0
880 # 1000 step en el axis 1
938 # 1000 step en el axis 1
881 self.res_weather = numpy.ones([120,1000])
939 ###self.res_weather = numpy.ones([120,1000])
882 r = numpy.linspace(0,1999,1000)
940 ###r = numpy.linspace(0,1999,1000)
883 self.res_ele = numpy.arange(0,120)
941 ###self.res_ele = numpy.arange(0,120)
884 self.res_azi = 240
942 ###self.res_azi = 240
885 #-------------
943 #-------------
944 '''
886 for i,ax in enumerate(self.axes):
945 for i,ax in enumerate(self.axes):
887 if ax.firsttime:
946 if ax.firsttime:
888 plt.clf()
947 plt.clf()
@@ -896,5 +955,6 class WeatherRHIPlot(Plot):
896 caax.set_xlabel('x_range [km]')
955 caax.set_xlabel('x_range [km]')
897 caax.set_ylabel('y_range [km]')
956 caax.set_ylabel('y_range [km]')
898 plt.text(1.0, 1.05, 'Elevacion '+str(thisDatetime)+" Step "+str(self.ini)+ " Azi: "+str(round(self.res_azi,2)), transform=caax.transAxes, va='bottom',ha='right')
957 plt.text(1.0, 1.05, 'Elevacion '+str(thisDatetime)+" Step "+str(self.ini)+ " Azi: "+str(round(self.res_azi,2)), transform=caax.transAxes, va='bottom',ha='right')
899
958 '''
959 print("""""""""""""self.ini""""""""""""",self.ini)
900 self.ini= self.ini+1
960 self.ini= self.ini+1
@@ -4188,7 +4188,7 class PedestalInformation(Operation):
4188 #print(i)# OJO IDENTIFICADOR DE SINCRONISMO
4188 #print(i)# OJO IDENTIFICADOR DE SINCRONISMO
4189 self.utc_ped_list.append(self.gettimeutcfromDirFilename(path=self.path_ped,file=self.list_pedestal[i]))
4189 self.utc_ped_list.append(self.gettimeutcfromDirFilename(path=self.path_ped,file=self.list_pedestal[i]))
4190 dataOut.wr_exp = wr_exp
4190 dataOut.wr_exp = wr_exp
4191 print("SETUP READY")
4191 #print("SETUP READY")
4192
4192
4193
4193
4194 def setNextFileP(self,dataOut):
4194 def setNextFileP(self,dataOut):
@@ -4373,13 +4373,13 class Block360(Operation):
4373 if self.__dataReady:
4373 if self.__dataReady:
4374 dataOut.data_360 = data_360 # S
4374 dataOut.data_360 = data_360 # S
4375 ##print("---------------------------------------------------------------------------------")
4375 ##print("---------------------------------------------------------------------------------")
4376 print("---------------------------DATAREADY---------------------------------------------")
4376 ###print("---------------------------DATAREADY---------------------------------------------")
4377 ##print("---------------------------------------------------------------------------------")
4377 ##print("---------------------------------------------------------------------------------")
4378 ##print("data_360",dataOut.data_360.shape)
4378 ##print("data_360",dataOut.data_360.shape)
4379 dataOut.data_azi = data_p
4379 dataOut.data_azi = data_p
4380 dataOut.data_ele = data_e
4380 dataOut.data_ele = data_e
4381 print("azi: ",dataOut.data_azi)
4381 ###print("azi: ",dataOut.data_azi)
4382 print("ele: ",dataOut.data_ele)
4382 ###print("ele: ",dataOut.data_ele)
4383 #print("jroproc_parameters",data_p[0],data_p[-1])#,data_360.shape,avgdatatime)
4383 #print("jroproc_parameters",data_p[0],data_p[-1])#,data_360.shape,avgdatatime)
4384 dataOut.utctime = avgdatatime
4384 dataOut.utctime = avgdatatime
4385 dataOut.flagNoData = False
4385 dataOut.flagNoData = False
@@ -156,7 +156,7 opObj11.addParameter(name='save_period', value=1)
156 #######################################################################
156 #######################################################################
157
157
158 procUnitConfObjB = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjA.getId())
158 procUnitConfObjB = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjA.getId())
159 procUnitConfObjB.addParameter(name='nFFTPoints', value='250', format='int')
159 procUnitConfObjB.addParameter(name='nFFTPoints', value='0', format='int')
160 procUnitConfObjB.addParameter(name='nProfiles', value='250', format='int')
160 procUnitConfObjB.addParameter(name='nProfiles', value='250', format='int')
161
161
162 #procUnitConfObjC = controllerObj.addProcUnit(datatype='SpectraHeisProc', inputId=procUnitConfObjA.getId())
162 #procUnitConfObjC = controllerObj.addProcUnit(datatype='SpectraHeisProc', inputId=procUnitConfObjA.getId())
@@ -24,6 +24,7 import matplotlib.pyplot as plt
24 #--------------------------------
24 #--------------------------------
25
25
26 path_ped= "/DATA_RM/TEST_PEDESTAL/P20220401-172744"
26 path_ped= "/DATA_RM/TEST_PEDESTAL/P20220401-172744"
27
27 # Metodo para verificar numero
28 # Metodo para verificar numero
28 def isNumber(str):
29 def isNumber(str):
29 try:
30 try:
@@ -79,9 +80,9 z=0
79 # CONDICION POR LEER EN TIEMPO REAL NO OFFLINE
80 # CONDICION POR LEER EN TIEMPO REAL NO OFFLINE
80
81
81 for filename in LIST:
82 for filename in LIST:
82 tmp_azi_pos = getDatavaluefromDirFilename(path=path_ped,file=filename,value="azi_pos")
83 #tmp_azi_pos = getDatavaluefromDirFilename(path=path_ped,file=filename,value="azi_pos")
83 tmp_ele_pos = getDatavaluefromDirFilename(path=path_ped,file=filename,value="ele_pos")
84 tmp_ele_pos = getDatavaluefromDirFilename(path=path_ped,file=filename,value="ele_pos")
84 #tmp_azi_pos = getDatavaluefromDirFilename(path=path_ped,file=filename,value="ele_vel")
85 tmp_azi_pos = getDatavaluefromDirFilename(path=path_ped,file=filename,value="ele_vel")
85 #tmp_ele_pos = getDatavaluefromDirFilename(path=path_ped,file=filename,value="azi_vel")
86 #tmp_ele_pos = getDatavaluefromDirFilename(path=path_ped,file=filename,value="azi_vel")
86 # CONDICION POR LEER EN TIEMPO REAL NO OFFLINE
87 # CONDICION POR LEER EN TIEMPO REAL NO OFFLINE
87
88
@@ -8,6 +8,8 from mpl_toolkits.axisartist.grid_finder import FixedLocator, DictFormatter
8 warnings.filterwarnings('ignore')
8 warnings.filterwarnings('ignore')
9 # lectura de gaMIC hdf5 file
9 # lectura de gaMIC hdf5 file
10 filename = wrl.util.get_wradlib_data_file("/home/soporte/Downloads/2014-06-09--185000.rhi.mvol")
10 filename = wrl.util.get_wradlib_data_file("/home/soporte/Downloads/2014-06-09--185000.rhi.mvol")
11 #filename = wrl.util.get_wradlib_data_file("2014-06-09--185000.rhi.mvol")
12
11 data1, metadata = wrl.io.read_gamic_hdf5(filename)
13 data1, metadata = wrl.io.read_gamic_hdf5(filename)
12 print(data1)
14 print(data1)
13 data1 = data1['SCAN0']['ZH']['data']
15 data1 = data1['SCAN0']['ZH']['data']
@@ -26,11 +28,23 site = (metadata['VOL']['Longitude'], metadata['VOL']['Latitude'],
26
28
27 print("Longitud,Latitud,Altura",site)
29 print("Longitud,Latitud,Altura",site)
28 ma1 = np.array(data1)
30 ma1 = np.array(data1)
31 for i in range(3):
32 print("dark",ma1[i])
29 '''
33 '''
30 mask_ind = np.where(data1 <= np.nanmin(data1))
34 mask_ind = np.where(data1 <= np.nanmin(data1))
31 data1[mask_ind] = np.nan
35 data1[mask_ind] = np.nan
32 ma1 = np.ma.array(data1, mask=np.isnan(data1))
36 ma1 = np.ma.array(data1, mask=np.isnan(data1))
33 '''
37 '''
38 ####################### test ####################s
39 th=(np.arange(450)/10.0)+5
40 #th= np.roll(th,-2)
41 #th=np.where(a<7,np.nan,a)
42 ma1=np.roll(ma1,-2,axis=0)
43 for i in range(3):
44 print("green",ma1[i])
45 print("a",th)
46 #th = [i for i in reversed(a)]
47 ######################### test
34 #cgax, pm = wrl.vis.plot_rhi(ma1,r=r,th=th,rf=1e3)
48 #cgax, pm = wrl.vis.plot_rhi(ma1,r=r,th=th,rf=1e3)
35 fig = plt.figure(figsize=(10,8))
49 fig = plt.figure(figsize=(10,8))
36 cgax, pm = wrl.vis.plot_rhi(ma1,r=r,th=th,rf=1e3,fig=fig, ax=111,proj='cg')
50 cgax, pm = wrl.vis.plot_rhi(ma1,r=r,th=th,rf=1e3,fig=fig, ax=111,proj='cg')
@@ -39,17 +39,23 mode_proc = 0
39 #path_ped = "/DATA_RM/TEST_PEDESTAL/P20220322-171722"
39 #path_ped = "/DATA_RM/TEST_PEDESTAL/P20220322-171722"
40 #path = "/DATA_RM/DRONE01ABRIL1701"
40 #path = "/DATA_RM/DRONE01ABRIL1701"
41 path = "/DATA_RM/DATA/Torre_con_bola_1649092242/rawdata"
41 path = "/DATA_RM/DATA/Torre_con_bola_1649092242/rawdata"
42
42 path="/DATA_RM/DRONE01ABRIL1727"
43 path_ped = "/DATA_RM/DRONE01ABRIL1450"
43 #path_ped = "/DATA_RM/DRONE01ABRIL1450"
44 path_ped="/DATA_RM/TEST_PEDESTAL/P20220401-172744"
45 #path_ped = "/DATA_RM/DATA/Torre_con_bola_1649092242/position/2022-04-04T17-00-00"
44 #-------------------------------------------------------------------------------
46 #-------------------------------------------------------------------------------
45 figpath_pp = "/home/soporte/Pictures/Torre_con_bola_1649092242"
47 figpath_pp = "/home/soporte/Pictures/Torre_con_bola_1649092242"
46 #figpath_pp = "/home/soporte/Pictures/MARTES_22_PP_1M_1us"
48 #figpath_pp = "/home/soporte/Pictures/MARTES_22_PP_1M_1us"
47 figpath_spec = "/home/soporte/Pictures/MARTES_22_1M_1us"
49 figpath_spec = "/home/soporte/Pictures/MARTES_22_1M_1us"
48 figpath_pp_ppi = "/home/soporte/Pictures/MARTES_22_1M_1us_PPI"
50 figpath_pp_ppi = "/home/soporte/Pictures/MARTES_22_1M_1us_PPI"
51
52
53 figpath_pp_rhi = "/DATA_RM/LUNES04ABRIL_1200_RHI"
49 #--------------------------OPCIONES---------------------------------------------
54 #--------------------------OPCIONES---------------------------------------------
50 plot = 1
51 plot_ppi = 0
55 plot_ppi = 0
52 integration = 0
56 plot = 0
57 plot_rhi = 1
58 integration = 1
53 save = 0
59 save = 0
54 plot_spec = 0
60 plot_spec = 0
55 #---------------------------SAVE HDF5 PROCESADO/--------------------------------
61 #---------------------------SAVE HDF5 PROCESADO/--------------------------------
@@ -122,9 +128,9 controllerObj.setup(id = '191', name='Test_USRP', description=desc)
122 #------------------------ UNIDAD DE LECTURA-------------------------------------
128 #------------------------ UNIDAD DE LECTURA-------------------------------------
123 readUnitConfObj = controllerObj.addReadUnit(datatype='DigitalRFReader',
129 readUnitConfObj = controllerObj.addReadUnit(datatype='DigitalRFReader',
124 path=path,
130 path=path,
125 startDate="2022/04/04",#today,
131 startDate="2022/04/01",#today,
126 endDate="2022/04/04",#today,
132 endDate="2022/04/01",#today,
127 startTime='12:11:05',#'17:39:25',
133 startTime='00:10:05',#'17:39:25',
128 endTime='23:59:59',#23:59:59',
134 endTime='23:59:59',#23:59:59',
129 delay=0,
135 delay=0,
130 #set=0,
136 #set=0,
@@ -159,7 +165,7 opObj11.addParameter(name='maxIndex', value=str(int(num_alturas/20.0)), format='
159 # CUARTA PARTE de 60 Km POR ESO ENTRE 20 - 3 Km
165 # CUARTA PARTE de 60 Km POR ESO ENTRE 20 - 3 Km
160
166
161
167
162
168 '''
163 procUnitConfObjB = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjA.getId())
169 procUnitConfObjB = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjA.getId())
164 procUnitConfObjB.addParameter(name='nFFTPoints', value='32', format='int')
170 procUnitConfObjB.addParameter(name='nFFTPoints', value='32', format='int')
165 procUnitConfObjB.addParameter(name='nProfiles', value='32', format='int')
171 procUnitConfObjB.addParameter(name='nProfiles', value='32', format='int')
@@ -179,7 +185,7 opObj11.addParameter(name='ymax', value=ymax, format='int')
179 opObj11.addParameter(name='showprofile', value='1', format='int')
185 opObj11.addParameter(name='showprofile', value='1', format='int')
180 #opObj11.addParameter(name='save', value=figpath, format='str')
186 #opObj11.addParameter(name='save', value=figpath, format='str')
181 opObj11.addParameter(name='save_period', value=10, format='int')
187 opObj11.addParameter(name='save_period', value=10, format='int')
182
188 '''
183
189
184 if mode_proc ==0:
190 if mode_proc ==0:
185 ####################### METODO PULSE PAIR ######################################################################
191 ####################### METODO PULSE PAIR ######################################################################
@@ -213,7 +219,9 if mode_proc ==0:
213 opObj11 = procUnitConfObjB.addOperation(name='PedestalInformation')
219 opObj11 = procUnitConfObjB.addOperation(name='PedestalInformation')
214 opObj11.addParameter(name='path_ped', value=path_ped)
220 opObj11.addParameter(name='path_ped', value=path_ped)
215 opObj11.addParameter(name='t_Interval_p', value='0.01', format='float')
221 opObj11.addParameter(name='t_Interval_p', value='0.01', format='float')
216 opObj11.addParameter(name='wr_exp', value='PPI')
222 #opObj11.addParameter(name='wr_exp', value='PPI')
223 opObj11.addParameter(name='wr_exp', value='RHI')
224
217 if plot_ppi==1:
225 if plot_ppi==1:
218 opObj11 = procUnitConfObjB.addOperation(name='Block360')
226 opObj11 = procUnitConfObjB.addOperation(name='Block360')
219 opObj11.addParameter(name='n', value='10', format='int')
227 opObj11.addParameter(name='n', value='10', format='int')
@@ -222,5 +230,13 if mode_proc ==0:
222 opObj11= procUnitConfObjB.addOperation(name='WeatherPlot',optype='other')
230 opObj11= procUnitConfObjB.addOperation(name='WeatherPlot',optype='other')
223 opObj11.addParameter(name='save', value=figpath_pp_ppi)
231 opObj11.addParameter(name='save', value=figpath_pp_ppi)
224 opObj11.addParameter(name='save_period', value=1)
232 opObj11.addParameter(name='save_period', value=1)
233 if plot_rhi==1:
234 opObj11 = procUnitConfObjB.addOperation(name='Block360')
235 opObj11.addParameter(name='n', value='10', format='int')
236 opObj11.addParameter(name='mode', value=mode_proc, format='int')
237 # este bloque funciona bien con divisores de 360 no olvidar 0 10 20 30 40 60 90 120 180
238 opObj11= procUnitConfObjB.addOperation(name='WeatherRHIPlot',optype='other')
239 opObj11.addParameter(name='save', value=figpath_pp_rhi)
240 opObj11.addParameter(name='save_period', value=1)
225
241
226 controllerObj.start()
242 controllerObj.start()
General Comments 0
You need to be logged in to leave comments. Login now