##// END OF EJS Templates
2 canales plot
avaldezp -
r1435:23d43cc1bb72
parent child
Show More
@@ -377,12 +377,12 class WeatherPlot(Plot):
377 377 def setup(self):
378 378 self.ncols = 1
379 379 self.nrows = 1
380 self.width =8
381 self.height =8
380 382 self.nplots= 1
381 383 self.ylabel= 'Range [Km]'
382 384 self.titles= ['Weather']
383 385 self.colorbar=False
384 self.width =8
385 self.height =8
386 386 self.ini =0
387 387 self.len_azi =0
388 388 self.buffer_ini = None
@@ -643,11 +643,26 class WeatherRHIPlot(Plot):
643 643 data_ele_tmp = None
644 644
645 645 def setup(self):
646 print("********************")
647 print("********************")
648 print("********************")
649 print("SETUP WEATHER PLOT")
646 650 self.ncols = 1
647 651 self.nrows = 1
648 652 self.nplots= 1
649 653 self.ylabel= 'Range [Km]'
650 654 self.titles= ['Weather']
655 if self.channels is not None:
656 self.nplots = len(self.channels)
657 self.nrows = len(self.channels)
658 else:
659 self.nplots = self.data.shape(self.CODE)[0]
660 self.nrows = self.nplots
661 self.channels = list(range(self.nplots))
662 print("channels",self.channels)
663 print("que saldra", self.data.shape(self.CODE)[0])
664 self.titles = ['{} Channel {}'.format(self.CODE.upper(), x) for x in range(self.nrows)]
665 print("self.titles",self.titles)
651 666 self.colorbar=False
652 667 self.width =8
653 668 self.height =8
@@ -669,9 +684,16 class WeatherRHIPlot(Plot):
669 684 factor = 1
670 685 if hasattr(dataOut, 'nFFTPoints'):
671 686 factor = dataOut.normFactor
672 data['weather'] = 10*numpy.log10(dataOut.data_360[1]/(factor))
687 print("dataOut",dataOut.data_360.shape)
688 #
689 data['weather'] = 10*numpy.log10(dataOut.data_360/(factor))
690 #
691 #data['weather'] = 10*numpy.log10(dataOut.data_360[1]/(factor))
673 692 data['azi'] = dataOut.data_azi
674 693 data['ele'] = dataOut.data_ele
694 print("UPDATE")
695 print("data[weather]",data['weather'].shape)
696 print("data[azi]",data['azi'])
675 697 return data, meta
676 698
677 699 def get2List(self,angulos):
@@ -788,10 +810,11 class WeatherRHIPlot(Plot):
788 810 return 3
789 811
790 812
791 def const_ploteo(self,data_weather,data_ele,step,res,ang_max,ang_min):
813 def const_ploteo(self,val_ch,data_weather,data_ele,step,res,ang_max,ang_min):
792 814 ang_max= ang_max
793 815 ang_min= ang_min
794 816 data_weather=data_weather
817 val_ch=val_ch
795 818 ##print("*********************DATA WEATHER**************************************")
796 819 ##print(data_weather)
797 820 if self.ini==0:
@@ -805,6 +828,7 class WeatherRHIPlot(Plot):
805 828 #print("data_ele",data_ele)
806 829 #----------------------------------------------------------
807 830 tipo_case = self.check_case(data_ele,ang_max,ang_min)
831 print("check_case",tipo_case)
808 832 #--------------------- new -------------------------
809 833 data_ele_new ,data_ele_old= self.globalCheckPED(data_ele,tipo_case)
810 834
@@ -845,7 +869,9 class WeatherRHIPlot(Plot):
845 869 self.end_data_ele = data_ele_new[-1]
846 870
847 871 n1= round(self.start_data_ele)- start
848 n2= end - round(self.end_data_ele)
872 n2= end - round(self.end_data_ele)-1
873 print(self.start_data_ele)
874 print(self.end_data_ele)
849 875 if n1>0:
850 876 ele1= numpy.linspace(ang_min+1,self.start_data_ele-1,n1)
851 877 ele1_nan= numpy.ones(n1)*numpy.nan
@@ -861,7 +887,7 class WeatherRHIPlot(Plot):
861 887 val_mean = numpy.mean(data_weather[:,-1])
862 888 self.val_mean = val_mean
863 889 data_weather = self.replaceNAN(data_weather=data_weather,data_ele=data_ele_old,val=self.val_mean)
864 self.data_ele_tmp= data_ele_old
890 self.data_ele_tmp[val_ch]= data_ele_old
865 891 else:
866 892 #print("**********************************************")
867 893 #print("****************VARIABLE**********************")
@@ -897,13 +923,13 class WeatherRHIPlot(Plot):
897 923 #print(data_ele,len(data_ele))
898 924 #print(data_ele_old,len(data_ele_old))
899 925 if new_i_ele< 2:
900 self.data_ele_tmp = numpy.ones(ang_max-ang_min)*numpy.nan
901 self.res_weather = self.replaceNAN(data_weather=self.res_weather,data_ele=self.data_ele_tmp,val=self.val_mean)
902 self.data_ele_tmp[new_i_ele:new_i_ele+len(data_ele)]=data_ele_old
926 self.data_ele_tmp[val_ch] = numpy.ones(ang_max-ang_min)*numpy.nan
927 self.res_weather[val_ch] = self.replaceNAN(data_weather=self.res_weather[val_ch],data_ele=self.data_ele_tmp[val_ch],val=self.val_mean)
928 self.data_ele_tmp[val_ch][new_i_ele:new_i_ele+len(data_ele)]=data_ele_old
903 929 self.res_ele[new_i_ele:new_i_ele+len(data_ele)]= data_ele
904 self.res_weather[new_i_ele:new_i_ele+len(data_ele),:]= data_weather
930 self.res_weather[val_ch][new_i_ele:new_i_ele+len(data_ele),:]= data_weather
905 931 data_ele = self.res_ele
906 data_weather = self.res_weather
932 data_weather = self.res_weather[val_ch]
907 933
908 934 elif tipo_case==1 : #BAJADA
909 935 data_ele = data_ele[::-1] # reversa
@@ -927,13 +953,13 class WeatherRHIPlot(Plot):
927 953 if new_i_ele <= 1:
928 954 new_i_ele = 1
929 955 if round(data_ele[-1])>=ang_max-1:
930 self.data_ele_tmp = numpy.ones(ang_max-ang_min)*numpy.nan
931 self.res_weather = self.replaceNAN(data_weather=self.res_weather,data_ele=self.data_ele_tmp,val=self.val_mean)
932 self.data_ele_tmp[new_i_ele-1:new_i_ele+len(data_ele)-1]=data_ele_old
956 self.data_ele_tmp[val_ch] = numpy.ones(ang_max-ang_min)*numpy.nan
957 self.res_weather[val_ch] = self.replaceNAN(data_weather=self.res_weather[val_ch],data_ele=self.data_ele_tmp[val_ch],val=self.val_mean)
958 self.data_ele_tmp[val_ch][new_i_ele-1:new_i_ele+len(data_ele)-1]=data_ele_old
933 959 self.res_ele[new_i_ele-1:new_i_ele+len(data_ele)-1]= data_ele
934 self.res_weather[new_i_ele-1:new_i_ele+len(data_ele)-1,:]= data_weather
960 self.res_weather[val_ch][new_i_ele-1:new_i_ele+len(data_ele)-1,:]= data_weather
935 961 data_ele = self.res_ele
936 data_weather = self.res_weather
962 data_weather = self.res_weather[val_ch]
937 963
938 964 elif tipo_case==2: #bajada
939 965 vec = numpy.where(data_ele<ang_max)
@@ -959,11 +985,11 class WeatherRHIPlot(Plot):
959 985 data_ele = numpy.hstack((data_ele,ele2))
960 986 data_ele_old = numpy.hstack((data_ele_old,ele2_nan))
961 987
962 self.data_ele_tmp = data_ele_old
988 self.data_ele_tmp[val_ch] = data_ele_old
963 989 self.res_ele = data_ele
964 self.res_weather = self.replaceNAN(data_weather=data_weather,data_ele=data_ele_old,val=self.val_mean)
990 self.res_weather[val_ch] = self.replaceNAN(data_weather=data_weather,data_ele=data_ele_old,val=self.val_mean)
965 991 data_ele = self.res_ele
966 data_weather = self.res_weather
992 data_weather = self.res_weather[val_ch]
967 993
968 994 elif tipo_case==3:#subida
969 995 vec = numpy.where(0<data_ele)
@@ -996,11 +1022,11 class WeatherRHIPlot(Plot):
996 1022 data_ele = numpy.hstack((data_ele,ele2))
997 1023 data_ele_old = numpy.hstack((data_ele_old,ele2_nan))
998 1024
999 self.data_ele_tmp = data_ele_old
1025 self.data_ele_tmp[val_ch] = data_ele_old
1000 1026 self.res_ele = data_ele
1001 self.res_weather = self.replaceNAN(data_weather=data_weather,data_ele=data_ele_old,val=self.val_mean)
1027 self.res_weather[val_ch] = self.replaceNAN(data_weather=data_weather,data_ele=data_ele_old,val=self.val_mean)
1002 1028 data_ele = self.res_ele
1003 data_weather = self.res_weather
1029 data_weather = self.res_weather[val_ch]
1004 1030 #print("self.data_ele_tmp",self.data_ele_tmp)
1005 1031 return data_weather,data_ele
1006 1032
@@ -1026,22 +1052,31 class WeatherRHIPlot(Plot):
1026 1052 ##print('weather',data['weather'].shape)
1027 1053 ##print('ele',data['ele'].shape)
1028 1054
1029 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)
1030 self.res_azi = numpy.mean(data['azi'])
1055 ###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)
1056 ###self.res_azi = numpy.mean(data['azi'])
1031 1057 ###print("self.res_ele",self.res_ele)
1058 plt.clf()
1059 subplots = [121, 122]
1060 if self.ini==0:
1061 self.data_ele_tmp = numpy.ones([self.nplots,int(var_ang)])*numpy.nan
1062 self.res_weather= numpy.ones([self.nplots,int(var_ang),len(r_mask)])*numpy.nan
1063 print("SHAPE",self.data_ele_tmp.shape)
1064
1032 1065 for i,ax in enumerate(self.axes):
1066 self.res_weather[i], self.res_ele = self.const_ploteo(val_ch=i, data_weather=data['weather'][i][:,r_mask],data_ele=data['ele'],step=step,res=res,ang_max=ang_max,ang_min=ang_min)
1067 self.res_azi = numpy.mean(data['azi'])
1033 1068 if ax.firsttime:
1034 plt.clf()
1035 cgax, pm = wrl.vis.plot_rhi(self.res_weather,r=r,th=self.res_ele,fig=self.figures[0], proj='cg',vmin=20, vmax=80)
1069 #plt.clf()
1070 cgax, pm = wrl.vis.plot_rhi(self.res_weather[i],r=r,th=self.res_ele,ax=subplots[i], proj='cg',vmin=20, vmax=80)
1071 #fig=self.figures[0]
1036 1072 else:
1037 plt.clf()
1038 cgax, pm = wrl.vis.plot_rhi(self.res_weather,r=r,th=self.res_ele,fig=self.figures[0], proj='cg',vmin=20, vmax=80)
1039 caax = cgax.parasites[0]
1040 paax = cgax.parasites[1]
1041 cbar = plt.gcf().colorbar(pm, pad=0.075)
1042 caax.set_xlabel('x_range [km]')
1043 caax.set_ylabel('y_range [km]')
1044 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')
1045
1046 #print("***************************self.ini****************************",self.ini)
1073 #plt.clf()
1074 cgax, pm = wrl.vis.plot_rhi(self.res_weather[i],r=r,th=self.res_ele,ax=subplots[i], proj='cg',vmin=20, vmax=80)
1075 caax = cgax.parasites[0]
1076 paax = cgax.parasites[1]
1077 cbar = plt.gcf().colorbar(pm, pad=0.075)
1078 caax.set_xlabel('x_range [km]')
1079 caax.set_ylabel('y_range [km]')
1080 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')
1081 print("***************************self.ini****************************",self.ini)
1047 1082 self.ini= self.ini+1
General Comments 0
You need to be logged in to leave comments. Login now