@@ -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, |
|
|
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, |
|
|
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