@@ -0,0 +1,64 | |||||
|
1 | import numpy as np | |||
|
2 | import matplotlib.pyplot as pl | |||
|
3 | import warnings | |||
|
4 | #export WRADLIB_DATA=/path/to/wradlib-data | |||
|
5 | warnings.filterwarnings('ignore') | |||
|
6 | ||||
|
7 | from wradlib.io import read_generic_netcdf | |||
|
8 | from wradlib.util import get_wradlib_data_file | |||
|
9 | import os | |||
|
10 | ||||
|
11 | ||||
|
12 | ||||
|
13 | # A little helper function for repeated tasks | |||
|
14 | def read_and_overview(filename): | |||
|
15 | """Read NetCDF using read_generic_netcdf and print upper level dictionary keys | |||
|
16 | """ | |||
|
17 | test = read_generic_netcdf(filename) | |||
|
18 | print("\nPrint keys for file %s" % os.path.basename(filename)) | |||
|
19 | for key in test.keys(): | |||
|
20 | print("\t%s" % key) | |||
|
21 | return test | |||
|
22 | ||||
|
23 | ||||
|
24 | filename = '/home/soporte/Downloads/PX1000/PX-20180220-174014-E0.0-Z.nc' | |||
|
25 | filename = get_wradlib_data_file(filename) | |||
|
26 | test= read_and_overview(filename) | |||
|
27 | print("Height",test['Height']) | |||
|
28 | print("Azimuth",test['Azimuth']) | |||
|
29 | print("Elevation",test['Elevation']) | |||
|
30 | print("CalibH-value",test['CalibH-value']) | |||
|
31 | print("attributes",test['attributes']) | |||
|
32 | print("-------------------------------------------------------------------------------------") | |||
|
33 | for key in test.keys(): | |||
|
34 | print(key,test[str(key)]) | |||
|
35 | ||||
|
36 | ''' | |||
|
37 | try: | |||
|
38 | get_ipython().magic('matplotlib inline') | |||
|
39 | except: | |||
|
40 | pl.ion() | |||
|
41 | img, meta = wradlib.io.read_dx(filename) | |||
|
42 | print("Shape of polar array: %r\n" % (img.shape,)) | |||
|
43 | print("Some meta data of the DX file:") | |||
|
44 | #print("\tdatetime: %r" % (meta["datetime"],)) | |||
|
45 | #print("\tRadar ID: %s" % (meta["radarid"],)) | |||
|
46 | ||||
|
47 | img[200:250,:]= np.ones([50,img.shape[1]])*np.nan | |||
|
48 | ||||
|
49 | img[300:360,:]= np.ones([60,img.shape[1]])*np.nan | |||
|
50 | ||||
|
51 | cgax, pm= wradlib.vis.plot_ppi(img) | |||
|
52 | txt = pl.title('Simple PPI') | |||
|
53 | print("coordenada angular",img[:,0],len(img[:,0])) | |||
|
54 | print("COORDENADA 0",img[0],len(img[0])) | |||
|
55 | cbar = pl.gcf().colorbar(pm, pad=0.075) | |||
|
56 | ||||
|
57 | #r = np.arange(40, 80) | |||
|
58 | #az = np.arange(200, 250) | |||
|
59 | #ax, pm = wradlib.vis.plot_ppi(img[200:250, 40:80], r, az, autoext=False) | |||
|
60 | #ax, pm = wradlib.vis.plot_ppi(img[200:250, 40:80], r, az) | |||
|
61 | ||||
|
62 | #txt = pl.title('Sector PPI') | |||
|
63 | pl.show() | |||
|
64 | ''' |
@@ -652,11 +652,11 class WeatherRHIPlot(Plot): | |||||
652 | self.ini =0 |
|
652 | self.ini =0 | |
653 | self.len_azi =0 |
|
653 | self.len_azi =0 | |
654 | self.buffer_ini = None |
|
654 | self.buffer_ini = None | |
655 |
self.buffer_ |
|
655 | self.buffer_ele = None | |
656 | self.plots_adjust.update({'wspace': 0.4, 'hspace':0.4, 'left': 0.1, 'right': 0.9, 'bottom': 0.08}) |
|
656 | self.plots_adjust.update({'wspace': 0.4, 'hspace':0.4, 'left': 0.1, 'right': 0.9, 'bottom': 0.08}) | |
657 | self.flag =0 |
|
657 | self.flag =0 | |
658 | self.indicador= 0 |
|
658 | self.indicador= 0 | |
659 |
self.last_data_ |
|
659 | self.last_data_ele = None | |
660 | self.val_mean = None |
|
660 | self.val_mean = None | |
661 |
|
661 | |||
662 | def update(self, dataOut): |
|
662 | def update(self, dataOut): | |
@@ -672,6 +672,161 class WeatherRHIPlot(Plot): | |||||
672 | data['ele'] = dataOut.data_ele |
|
672 | data['ele'] = dataOut.data_ele | |
673 | return data, meta |
|
673 | return data, meta | |
674 |
|
674 | |||
|
675 | def get2List(self,angulos): | |||
|
676 | list1=[] | |||
|
677 | list2=[] | |||
|
678 | for i in reversed(range(len(angulos))): | |||
|
679 | diff_ = angulos[i]-angulos[i-1] | |||
|
680 | if diff_ >1.5: | |||
|
681 | list1.append(i-1) | |||
|
682 | list2.append(diff_) | |||
|
683 | return list(reversed(list1)),list(reversed(list2)) | |||
|
684 | ||||
|
685 | def fixData180(self,list_,ang_): | |||
|
686 | if list_[0]==-1: | |||
|
687 | vec = numpy.where(ang_<ang_[0]) | |||
|
688 | ang_[vec] = ang_[vec]+180 | |||
|
689 | return ang_ | |||
|
690 | return ang_ | |||
|
691 | ||||
|
692 | def fixData180HL(self,angulos): | |||
|
693 | vec = numpy.where(angulos>=180) | |||
|
694 | angulos[vec]=angulos[vec]-180 | |||
|
695 | return angulos | |||
|
696 | ||||
|
697 | ||||
|
698 | def search_pos(self,pos,list_): | |||
|
699 | for i in range(len(list_)): | |||
|
700 | if pos == list_[i]: | |||
|
701 | return True,i | |||
|
702 | i=None | |||
|
703 | return False,i | |||
|
704 | ||||
|
705 | def fixDataComp(self,ang_,list1_,list2_): | |||
|
706 | size = len(ang_) | |||
|
707 | size2 = 0 | |||
|
708 | for i in range(len(list2_)): | |||
|
709 | size2=size2+round(list2_[i])-1 | |||
|
710 | new_size= size+size2 | |||
|
711 | ang_new = numpy.zeros(new_size) | |||
|
712 | ang_new2 = numpy.zeros(new_size) | |||
|
713 | ||||
|
714 | tmp = 0 | |||
|
715 | c = 0 | |||
|
716 | for i in range(len(ang_)): | |||
|
717 | ang_new[tmp +c] = ang_[i] | |||
|
718 | ang_new2[tmp+c] = ang_[i] | |||
|
719 | condition , value = self.search_pos(i,list1_) | |||
|
720 | if condition: | |||
|
721 | pos = tmp + c + 1 | |||
|
722 | for k in range(round(list2_[value])-1): | |||
|
723 | ang_new[pos+k] = ang_new[pos+k-1]+1 | |||
|
724 | ang_new2[pos+k] = numpy.nan | |||
|
725 | tmp = pos +k | |||
|
726 | c = 0 | |||
|
727 | c=c+1 | |||
|
728 | return ang_new,ang_new2 | |||
|
729 | ||||
|
730 | def globalCheckPED(self,angulos): | |||
|
731 | l1,l2 = self.get2List(angulos) | |||
|
732 | if len(l1)>0: | |||
|
733 | angulos2 = self.fixData180(list_=l1,ang_=angulos) | |||
|
734 | l1,l2 = self.get2List(angulos2) | |||
|
735 | ||||
|
736 | ang1_,ang2_ = self.fixDataComp(ang_=angulos2,list1_=l1,list2_=l2) | |||
|
737 | ang1_ = self.fixData180HL(ang1_) | |||
|
738 | ang2_ = self.fixData180HL(ang2_) | |||
|
739 | else: | |||
|
740 | ang1_= angulos | |||
|
741 | ang2_= angulos | |||
|
742 | return ang1_,ang2_ | |||
|
743 | ||||
|
744 | ||||
|
745 | def replaceNAN(self,data_weather,data_ele,val): | |||
|
746 | data= data_ele | |||
|
747 | data_T= data_weather | |||
|
748 | if data.shape[0]> data_T.shape[0]: | |||
|
749 | data_N = numpy.ones( [data.shape[0],data_T.shape[1]]) | |||
|
750 | c = 0 | |||
|
751 | for i in range(len(data)): | |||
|
752 | if numpy.isnan(data[i]): | |||
|
753 | data_N[i,:]=numpy.ones(data_T.shape[1])*numpy.nan | |||
|
754 | else: | |||
|
755 | data_N[i,:]=data_T[c,:] | |||
|
756 | sc=c+1 | |||
|
757 | else: | |||
|
758 | for i in range(len(data)): | |||
|
759 | if numpy.isnan(data[i]): | |||
|
760 | data_T[i,:]=numpy.ones(data_T.shape[1])*numpy.nan | |||
|
761 | return data_T | |||
|
762 | ||||
|
763 | def const_ploteo(self,data_weather,data_ele,step,res): | |||
|
764 | if self.ini==0: | |||
|
765 | #------- | |||
|
766 | n = (180/res)-len(data_ele) | |||
|
767 | #--------------------- new ------------------------- | |||
|
768 | data_ele_new ,data_ele_old= self.globalCheckPED(data_ele) | |||
|
769 | #------------------------ | |||
|
770 | start = data_ele_new[-1] + res | |||
|
771 | end = data_ele_new[0] - res | |||
|
772 | #------ new | |||
|
773 | self.last_data_ele = end | |||
|
774 | if start>end: | |||
|
775 | end = end + 180 | |||
|
776 | ele_vacia = numpy.linspace(start,end,int(n)) | |||
|
777 | ele_vacia = numpy.where(ele_vacia>180,ele_vacia-180,ele_vacia) | |||
|
778 | data_ele = numpy.hstack((data_ele_new,ele_vacia)) | |||
|
779 | # RADAR | |||
|
780 | val_mean = numpy.mean(data_weather[:,-1]) | |||
|
781 | self.val_mean = val_mean | |||
|
782 | data_weather_cmp = numpy.ones([(180-data_weather.shape[0]),data_weather.shape[1]])*val_mean | |||
|
783 | data_weather = self.replaceNAN(data_weather=data_weather,data_ele=data_ele_old,val=self.val_mean) | |||
|
784 | data_weather = numpy.vstack((data_weather,data_weather_cmp)) | |||
|
785 | else: | |||
|
786 | # azimuth | |||
|
787 | flag=0 | |||
|
788 | start_ele = self.res_ele[0] | |||
|
789 | #-----------new------------ | |||
|
790 | data_ele ,data_ele_old= self.globalCheckPED(data_ele) | |||
|
791 | data_weather = self.replaceNAN(data_weather=data_weather,data_ele=data_ele_old,val=self.val_mean) | |||
|
792 | #-------------------------- | |||
|
793 | start = data_ele[0] | |||
|
794 | end = data_ele[-1] | |||
|
795 | self.last_data_ele= end | |||
|
796 | if start< start_ele: | |||
|
797 | start = start +180 | |||
|
798 | if end <start_ele: | |||
|
799 | end = end +180 | |||
|
800 | ||||
|
801 | pos_ini = int((start-start_ele)/res) | |||
|
802 | len_ele = len(data_ele) | |||
|
803 | if (180-pos_ini)<len_ele: | |||
|
804 | if pos_ini+1==180: | |||
|
805 | pos_ini=0 | |||
|
806 | else: | |||
|
807 | flag=1 | |||
|
808 | dif= 180-pos_ini | |||
|
809 | comp= len_ele-dif | |||
|
810 | #----------------- | |||
|
811 | if flag==0: | |||
|
812 | # elevacion | |||
|
813 | self.res_ele[pos_ini:pos_ini+len_ele] = data_ele | |||
|
814 | # RADAR | |||
|
815 | self.res_weather[pos_ini:pos_ini+len_ele,:] = data_weather | |||
|
816 | else: | |||
|
817 | # elevacion | |||
|
818 | self.res_ele[pos_ini:pos_ini+dif] = data_ele[0:dif] | |||
|
819 | self.res_ele[0:comp] = data_ele[dif:] | |||
|
820 | # RADAR | |||
|
821 | self.res_weather[pos_ini:pos_ini+dif,:] = data_weather[0:dif,:] | |||
|
822 | self.res_weather[0:comp,:] = data_weather[dif:,:] | |||
|
823 | flag=0 | |||
|
824 | data_ele = self.res_ele | |||
|
825 | data_weather = self.res_weather | |||
|
826 | ||||
|
827 | return data_weather,data_ele | |||
|
828 | ||||
|
829 | ||||
675 | def plot(self): |
|
830 | def plot(self): | |
676 | thisDatetime = datetime.datetime.utcfromtimestamp(self.data.times[-1]).strftime('%Y-%m-%d %H:%M:%S') |
|
831 | thisDatetime = datetime.datetime.utcfromtimestamp(self.data.times[-1]).strftime('%Y-%m-%d %H:%M:%S') | |
677 | data = self.data[-1] |
|
832 | data = self.data[-1] | |
@@ -680,14 +835,50 class WeatherRHIPlot(Plot): | |||||
680 | r_mask = numpy.where(r>=0)[0] |
|
835 | r_mask = numpy.where(r>=0)[0] | |
681 | r = numpy.arange(len(r_mask))*delta_height |
|
836 | r = numpy.arange(len(r_mask))*delta_height | |
682 | self.y = 2*r |
|
837 | self.y = 2*r | |
|
838 | ''' | |||
|
839 | #------------------------------------------------------------- | |||
|
840 | # RADAR | |||
|
841 | #data_weather = data['weather'] | |||
|
842 | # PEDESTAL | |||
|
843 | #data_azi = data['azi'] | |||
|
844 | res = 1 | |||
|
845 | # STEP | |||
|
846 | step = (180/(res*data['weather'].shape[0])) | |||
|
847 | ||||
|
848 | ||||
|
849 | self.res_weather, self.res_ele = self.const_ploteo(data_weather=data['weather'][:,r_mask],data_ele=data['ele'],step=step,res=res) | |||
|
850 | self.res_azi = numpy.mean(data['azi']) | |||
|
851 | print("self.res_ele------------------------------:",self.res_ele) | |||
|
852 | ################# PLOTEO ################### | |||
|
853 | ||||
|
854 | for i,ax in enumerate(self.axes): | |||
|
855 | if ax.firsttime: | |||
|
856 | plt.clf() | |||
|
857 | 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) | |||
|
858 | else: | |||
|
859 | plt.clf() | |||
|
860 | 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) | |||
|
861 | caax = cgax.parasites[0] | |||
|
862 | paax = cgax.parasites[1] | |||
|
863 | cbar = plt.gcf().colorbar(pm, pad=0.075) | |||
|
864 | caax.set_xlabel('x_range [km]') | |||
|
865 | caax.set_ylabel('y_range [km]') | |||
|
866 | 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') | |||
|
867 | ||||
|
868 | self.ini= self.ini+1 | |||
|
869 | ||||
|
870 | ||||
|
871 | ''' | |||
|
872 | #-------------------------------------------------------- | |||
|
873 | ||||
683 | ###self.res_weather, self.res_ele = self.const_ploteo(data_weather=data['weather'][:,r_mask],data_azi=data['ele'],step=step,res=res) |
|
874 | ###self.res_weather, self.res_ele = self.const_ploteo(data_weather=data['weather'][:,r_mask],data_azi=data['ele'],step=step,res=res) | |
684 | ###self.res_azi = numpy.mean(data['azi']) |
|
875 | ###self.res_azi = numpy.mean(data['azi']) | |
685 | #------------- |
|
876 | #------------- | |
686 | # 90 angulos en el axis 0 |
|
877 | # 90 angulos en el axis 0 | |
687 | # 1000 step en el axis 1 |
|
878 | # 1000 step en el axis 1 | |
688 |
self.res_weather = numpy.ones([ |
|
879 | self.res_weather = numpy.ones([120,1000]) | |
689 | r = numpy.linspace(0,1999,1000) |
|
880 | r = numpy.linspace(0,1999,1000) | |
690 |
self.res_ele = numpy.arange(0, |
|
881 | self.res_ele = numpy.arange(0,120) | |
691 | self.res_azi = 240 |
|
882 | self.res_azi = 240 | |
692 | #------------- |
|
883 | #------------- | |
693 | for i,ax in enumerate(self.axes): |
|
884 | for i,ax in enumerate(self.axes): |
@@ -3961,7 +3961,7 class WeatherRadar(Operation): | |||||
3961 |
|
3961 | |||
3962 | return data_param[:,i,:] |
|
3962 | return data_param[:,i,:] | |
3963 |
|
3963 | |||
3964 |
def getCoeficienteCorrelacionROhv_R(self |
|
3964 | def getCoeficienteCorrelacionROhv_R(self,dataOut): | |
3965 | type = dataOut.inputUnit |
|
3965 | type = dataOut.inputUnit | |
3966 | nHeis = dataOut.nHeights |
|
3966 | nHeis = dataOut.nHeights | |
3967 | data_RhoHV_R = numpy.zeros((nHeis)) |
|
3967 | data_RhoHV_R = numpy.zeros((nHeis)) | |
@@ -3976,7 +3976,7 class WeatherRadar(Operation): | |||||
3976 |
|
3976 | |||
3977 | return data_RhoHV_R |
|
3977 | return data_RhoHV_R | |
3978 |
|
3978 | |||
3979 |
def getFasediferencialPhiD_P(self |
|
3979 | def getFasediferencialPhiD_P(self,dataOut,phase= True): | |
3980 | type = dataOut.inputUnit |
|
3980 | type = dataOut.inputUnit | |
3981 | nHeis = dataOut.nHeights |
|
3981 | nHeis = dataOut.nHeights | |
3982 | data_PhiD_P = numpy.zeros((nHeis)) |
|
3982 | data_PhiD_P = numpy.zeros((nHeis)) | |
@@ -4061,25 +4061,34 class PedestalInformation(Operation): | |||||
4061 | Operation.__init__(self) |
|
4061 | Operation.__init__(self) | |
4062 |
|
4062 | |||
4063 |
|
4063 | |||
4064 |
def getAnguloProfile(self,utc_adq, |
|
4064 | def getAnguloProfile(self,utc_adq,utc_ped_list): | |
4065 | utc_adq = utc_adq |
|
4065 | utc_adq = utc_adq | |
4066 | list_pedestal = list_pedestal |
|
4066 | ##list_pedestal = list_pedestal | |
4067 |
utc_ped_list = |
|
4067 | utc_ped_list = utc_ped_list | |
4068 | for i in range(len(list_pedestal)): |
|
4068 | #for i in range(len(list_pedestal)): | |
4069 | #print(i)# OJO IDENTIFICADOR DE SINCRONISMO |
|
4069 | # #print(i)# OJO IDENTIFICADOR DE SINCRONISMO | |
4070 | utc_ped_list.append(self.gettimeutcfromDirFilename(path=self.path_ped,file=list_pedestal[i])) |
|
4070 | # utc_ped_list.append(self.gettimeutcfromDirFilename(path=self.path_ped,file=list_pedestal[i])) | |
4071 |
|
||||
4072 | nro_file,utc_ped,utc_ped_1 =self.getNROFile(utc_adq,utc_ped_list) |
|
4071 | nro_file,utc_ped,utc_ped_1 =self.getNROFile(utc_adq,utc_ped_list) | |
4073 |
|
|
4072 | #print("NROFILE************************************", nro_file,utc_ped) | |
4074 | if nro_file < 0: |
|
4073 | if nro_file < 0: | |
4075 | return numpy.NaN,numpy.NaN |
|
4074 | return numpy.NaN,numpy.NaN | |
4076 | else: |
|
4075 | else: | |
4077 | nro_key_p = int((utc_adq-utc_ped)/self.t_Interval_p)-1 # ojito al -1 estimado alex |
|
4076 | nro_key_p = int((utc_adq-utc_ped)/self.t_Interval_p)-1 # ojito al -1 estimado alex | |
4078 | ff_pedestal = list_pedestal[nro_file] |
|
4077 | #print("nro_key_p",nro_key_p) | |
|
4078 | ff_pedestal = self.list_pedestal[nro_file] | |||
4079 | #angulo = self.getDatavaluefromDirFilename(path=self.path_ped,file=ff_pedestal,value="azimuth") |
|
4079 | #angulo = self.getDatavaluefromDirFilename(path=self.path_ped,file=ff_pedestal,value="azimuth") | |
4080 | angulo = self.getDatavaluefromDirFilename(path=self.path_ped,file=ff_pedestal,value="azi_pos") |
|
4080 | angulo = self.getDatavaluefromDirFilename(path=self.path_ped,file=ff_pedestal,value="azi_pos") | |
4081 | angulo_ele = self.getDatavaluefromDirFilename(path=self.path_ped,file=ff_pedestal,value="ele_pos") |
|
4081 | angulo_ele = self.getDatavaluefromDirFilename(path=self.path_ped,file=ff_pedestal,value="ele_pos") | |
4082 |
|
4082 | #-----Adicion de filtro........................ | ||
|
4083 | vel_ele = self.getDatavaluefromDirFilename(path=self.path_ped,file=ff_pedestal,value="ele_vel") | |||
|
4084 | ''' | |||
|
4085 | vel_mean = numpy.mean(vel_ele) | |||
|
4086 | print("#############################################################") | |||
|
4087 | print("VEL MEAN----------------:",vel_mean) | |||
|
4088 | f vel_mean<7.7 or vel_mean>8.3: | |||
|
4089 | return numpy.NaN,numpy.NaN | |||
|
4090 | #------------------------------------------------------------------------------------------------------ | |||
|
4091 | ''' | |||
4083 | if 99>=nro_key_p>0: |
|
4092 | if 99>=nro_key_p>0: | |
4084 | ##print("angulo_array :",angulo[nro_key_p]) |
|
4093 | ##print("angulo_array :",angulo[nro_key_p]) | |
4085 | return angulo[nro_key_p],angulo_ele[nro_key_p] |
|
4094 | return angulo[nro_key_p],angulo_ele[nro_key_p] | |
@@ -4148,11 +4157,14 class PedestalInformation(Operation): | |||||
4148 | #print(utc_adq) |
|
4157 | #print(utc_adq) | |
4149 | #print(len(utc_ped_list)) |
|
4158 | #print(len(utc_ped_list)) | |
4150 | ###print(utc_ped_list) |
|
4159 | ###print(utc_ped_list) | |
4151 |
f |
|
4160 | if utc_adq<utc_ped_list[0]: | |
4152 | if utc_adq>utc_ped_list[i]: |
|
4161 | pass | |
4153 | #print("mayor") |
|
4162 | else: | |
4154 |
|
|
4163 | for i in range(len(utc_ped_list)): | |
4155 | c +=1 |
|
4164 | if utc_adq>utc_ped_list[i]: | |
|
4165 | #print("mayor") | |||
|
4166 | #print("utc_ped_list",utc_ped_list[i]) | |||
|
4167 | c +=1 | |||
4156 |
|
4168 | |||
4157 | return c-1,utc_ped_list[c-1],utc_ped_list[c] |
|
4169 | return c-1,utc_ped_list[c-1],utc_ped_list[c] | |
4158 |
|
4170 | |||
@@ -4171,7 +4183,12 class PedestalInformation(Operation): | |||||
4171 | self.path_ped = path_ped |
|
4183 | self.path_ped = path_ped | |
4172 | self.t_Interval_p = t_Interval_p |
|
4184 | self.t_Interval_p = t_Interval_p | |
4173 | self.list_pedestal = self.getfirstFilefromPath(path=self.path_ped,meta="PE",ext=".hdf5") |
|
4185 | self.list_pedestal = self.getfirstFilefromPath(path=self.path_ped,meta="PE",ext=".hdf5") | |
|
4186 | self.utc_ped_list= [] | |||
|
4187 | for i in range(len(self.list_pedestal)): | |||
|
4188 | #print(i)# OJO IDENTIFICADOR DE SINCRONISMO | |||
|
4189 | self.utc_ped_list.append(self.gettimeutcfromDirFilename(path=self.path_ped,file=self.list_pedestal[i])) | |||
4174 | dataOut.wr_exp = wr_exp |
|
4190 | dataOut.wr_exp = wr_exp | |
|
4191 | print("SETUP READY") | |||
4175 |
|
4192 | |||
4176 |
|
4193 | |||
4177 | def setNextFileP(self,dataOut): |
|
4194 | def setNextFileP(self,dataOut): | |
@@ -4194,12 +4211,12 class PedestalInformation(Operation): | |||||
4194 | self.isConfig = True |
|
4211 | self.isConfig = True | |
4195 | #print("config TRUE") |
|
4212 | #print("config TRUE") | |
4196 | utc_adq = dataOut.utctime |
|
4213 | utc_adq = dataOut.utctime | |
4197 |
|
|
4214 | #print("utc_adq---------------",utc_adq) | |
4198 |
|
4215 | |||
4199 | list_pedestal = self.list_pedestal |
|
4216 | list_pedestal = self.list_pedestal | |
4200 | #print("list_pedestal",list_pedestal) |
|
4217 | #print("list_pedestal",list_pedestal[:20]) | |
4201 |
angulo,angulo_ele = self.getAnguloProfile(utc_adq=utc_adq, |
|
4218 | angulo,angulo_ele = self.getAnguloProfile(utc_adq=utc_adq,utc_ped_list=self.utc_ped_list) | |
4202 |
|
|
4219 | #print("angulo**********",angulo) | |
4203 | dataOut.flagNoData = False |
|
4220 | dataOut.flagNoData = False | |
4204 | if numpy.isnan(angulo) or numpy.isnan(angulo_ele) : |
|
4221 | if numpy.isnan(angulo) or numpy.isnan(angulo_ele) : | |
4205 | dataOut.flagNoData = True |
|
4222 | dataOut.flagNoData = True | |
@@ -4356,12 +4373,13 class Block360(Operation): | |||||
4356 | if self.__dataReady: |
|
4373 | if self.__dataReady: | |
4357 | dataOut.data_360 = data_360 # S |
|
4374 | dataOut.data_360 = data_360 # S | |
4358 | ##print("---------------------------------------------------------------------------------") |
|
4375 | ##print("---------------------------------------------------------------------------------") | |
4359 |
|
|
4376 | print("---------------------------DATAREADY---------------------------------------------") | |
4360 | ##print("---------------------------------------------------------------------------------") |
|
4377 | ##print("---------------------------------------------------------------------------------") | |
4361 | ##print("data_360",dataOut.data_360.shape) |
|
4378 | ##print("data_360",dataOut.data_360.shape) | |
4362 | dataOut.data_azi = data_p |
|
4379 | dataOut.data_azi = data_p | |
4363 | dataOut.data_ele = data_e |
|
4380 | dataOut.data_ele = data_e | |
4364 | #####print("azi: ",dataOut.data_azi) |
|
4381 | #####print("azi: ",dataOut.data_azi) | |
|
4382 | print("ele: ",dataOut.data_ele) | |||
4365 | #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) | |
4366 | dataOut.utctime = avgdatatime |
|
4384 | dataOut.utctime = avgdatatime | |
4367 | dataOut.flagNoData = False |
|
4385 | dataOut.flagNoData = False |
@@ -1378,7 +1378,7 class PulsePair(Operation): | |||||
1378 | pair0 = pair0.real |
|
1378 | pair0 = pair0.real | |
1379 | lag_0 = numpy.sum(pair0,1) |
|
1379 | lag_0 = numpy.sum(pair0,1) | |
1380 | #-----------------Calculo de Cscp------------------------------ New |
|
1380 | #-----------------Calculo de Cscp------------------------------ New | |
1381 |
cspc_pair01 = self.__buffer[0]* |
|
1381 | cspc_pair01 = self.__buffer[0]*self.__buffer[1] | |
1382 | #------------------Calculo de Ruido x canal-------------------- |
|
1382 | #------------------Calculo de Ruido x canal-------------------- | |
1383 | self.noise = numpy.zeros(self.__nch) |
|
1383 | self.noise = numpy.zeros(self.__nch) | |
1384 | for i in range(self.__nch): |
|
1384 | for i in range(self.__nch): | |
@@ -1463,7 +1463,7 class PulsePair(Operation): | |||||
1463 | self.__lastdatatime = datatime |
|
1463 | self.__lastdatatime = datatime | |
1464 |
|
1464 | |||
1465 | if data_power is None: |
|
1465 | if data_power is None: | |
1466 | return None, None, None,None,None,None |
|
1466 | return None, None, None,None,None,None,None | |
1467 |
|
1467 | |||
1468 | avgdatatime = self.__initime |
|
1468 | avgdatatime = self.__initime | |
1469 | deltatime = datatime - self.__lastdatatime |
|
1469 | deltatime = datatime - self.__lastdatatime |
@@ -25,17 +25,25 controllerObj.setup(id = '191', name='Test_USRP', description=desc) | |||||
25 | #path = '/media/data/data/vientos/57.2063km/echoes/NCO_Woodman' |
|
25 | #path = '/media/data/data/vientos/57.2063km/echoes/NCO_Woodman' | |
26 | #path = '/DATA_RM/TEST_INTEGRACION' |
|
26 | #path = '/DATA_RM/TEST_INTEGRACION' | |
27 | #path = '/DATA_RM/PRUEBA_USRP_RP' |
|
27 | #path = '/DATA_RM/PRUEBA_USRP_RP' | |
28 | path = '/DATA_RM/PRUEBA_USRP_RP' |
|
28 | #path = '/DATA_RM/PRUEBA_USRP_RP' | |
29 |
|
29 | |||
30 | figpath = '/home/soporte/Pictures/TEST_RP_0001' |
|
30 | path = '/DATA_RM/TEST_2M' | |
31 | figpath = '/home/soporte/Pictures/TEST_RP_6000' |
|
31 | path = '/DATA_RM/TEST_2M_UD' | |
32 | figpath = '/home/soporte/Pictures/USRP' |
|
32 | path = '/DATA_RM/2MHZ17022022' | |
|
33 | path = '/DATA_RM/10MHZTEST/' | |||
|
34 | path = '/DATA_RM/10MHZDRONE/' | |||
|
35 | ||||
|
36 | #figpath = '/home/soporte/Pictures/TEST_RP_0001' | |||
|
37 | #figpath = '/home/soporte/Pictures/TEST_RP_6000' | |||
|
38 | figpath = '/home/soporte/Pictures/USRP_TEST_2M' | |||
|
39 | figpath = '/home/soporte/Pictures/USRP_TEST_2M_UD' | |||
|
40 | figpaht = '/home/soporte/Pictures/10MHZDRONE' | |||
33 | #remotefolder = "/home/wmaster/graficos" |
|
41 | #remotefolder = "/home/wmaster/graficos" | |
34 | ####################################################################### |
|
42 | ####################################################################### | |
35 | ################# RANGO DE PLOTEO###################################### |
|
43 | ################# RANGO DE PLOTEO###################################### | |
36 | ####################################################################### |
|
44 | ####################################################################### | |
37 |
dBmin = ' |
|
45 | dBmin = '20' | |
38 |
dBmax = ' |
|
46 | dBmax = '60' | |
39 | xmin = '0' |
|
47 | xmin = '0' | |
40 | xmax ='24' |
|
48 | xmax ='24' | |
41 | ymin = '0' |
|
49 | ymin = '0' | |
@@ -52,16 +60,16 yesterday = str2.strftime("%Y/%m/%d") | |||||
52 | ####################################################################### |
|
60 | ####################################################################### | |
53 | readUnitConfObj = controllerObj.addReadUnit(datatype='DigitalRFReader', |
|
61 | readUnitConfObj = controllerObj.addReadUnit(datatype='DigitalRFReader', | |
54 | path=path, |
|
62 | path=path, | |
55 |
startDate="202 |
|
63 | startDate="2022/02/18",#today, | |
56 |
endDate="202 |
|
64 | endDate="2022/02/18",#today, | |
57 |
startTime=' |
|
65 | startTime='00:00:00',# inicio libre | |
58 | #startTime='00:00:00', |
|
66 | #startTime='00:00:00', | |
59 |
endTime=' |
|
67 | endTime='23:59:59', | |
60 | delay=0, |
|
68 | delay=0, | |
61 | #set=0, |
|
69 | #set=0, | |
62 |
online= |
|
70 | online=1, | |
63 | walk=1, |
|
71 | walk=1, | |
64 |
ippKm = 60 |
|
72 | ippKm = 60) | |
65 |
|
73 | |||
66 | opObj11 = readUnitConfObj.addOperation(name='printInfo') |
|
74 | opObj11 = readUnitConfObj.addOperation(name='printInfo') | |
67 | #opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') |
|
75 | #opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') | |
@@ -71,11 +79,24 opObj11 = readUnitConfObj.addOperation(name='printInfo') | |||||
71 |
|
79 | |||
72 | procUnitConfObjA = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) |
|
80 | procUnitConfObjA = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) | |
73 |
|
81 | |||
|
82 | ''' | |||
|
83 | # OJO SCOPE | |||
|
84 | opObj10 = procUnitConfObjA.addOperation(name='ScopePlot', optype='external') | |||
|
85 | opObj10.addParameter(name='id', value='10', format='int') | |||
|
86 | ##opObj10.addParameter(name='xmin', value='0', format='int') | |||
|
87 | ##opObj10.addParameter(name='xmax', value='50', format='int') | |||
|
88 | opObj10.addParameter(name='type', value='iq') | |||
|
89 | opObj10.addParameter(name='ymin', value='-1200', format='int') | |||
|
90 | opObj10.addParameter(name='ymax', value='1200', format='int') | |||
|
91 | opObj10.addParameter(name='save', value=figpath, format='str') | |||
|
92 | opObj10.addParameter(name='save_period', value=10, format='int') | |||
|
93 | ''' | |||
|
94 | ''' | |||
74 | opObj11 = procUnitConfObjA.addOperation(name='selectHeights') |
|
95 | opObj11 = procUnitConfObjA.addOperation(name='selectHeights') | |
75 | opObj11.addParameter(name='minIndex', value='1', format='int') |
|
96 | opObj11.addParameter(name='minIndex', value='1', format='int') | |
76 |
|
|
97 | # opObj11.addParameter(name='maxIndex', value='10000', format='int') | |
77 | opObj11.addParameter(name='maxIndex', value='39980', format='int') |
|
98 | opObj11.addParameter(name='maxIndex', value='39980', format='int') | |
78 |
|
99 | ''' | ||
79 | # |
|
100 | # | |
80 | # codigo64='1,1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1,1,1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,1,0,1,1,1,0,0,0,1,0,'+\ |
|
101 | # codigo64='1,1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1,1,1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,1,0,1,1,1,0,0,0,1,0,'+\ | |
81 | # '1,1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1' |
|
102 | # '1,1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1' | |
@@ -148,14 +169,19 opObj11.addParameter(name='save_period', value=1) | |||||
148 | 8 |
|
169 | 8 | |
149 | ''' |
|
170 | ''' | |
150 |
|
171 | |||
|
172 | ||||
|
173 | ||||
|
174 | opObj11 = procUnitConfObjA.addOperation(name='CohInt', optype='other') | |||
|
175 | opObj11.addParameter(name='n', value='250', format='int') | |||
|
176 | ||||
151 | ####################################################################### |
|
177 | ####################################################################### | |
152 | ########## OPERACIONES DOMINIO DE LA FRECUENCIA######################## |
|
178 | ########## OPERACIONES DOMINIO DE LA FRECUENCIA######################## | |
153 | ####################################################################### |
|
179 | ####################################################################### | |
154 |
|
180 | |||
155 |
|
|
181 | procUnitConfObjB = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjA.getId()) | |
156 |
|
|
182 | procUnitConfObjB.addParameter(name='nFFTPoints', value='32', format='int') | |
157 |
|
|
183 | procUnitConfObjB.addParameter(name='nProfiles', value='32', format='int') | |
158 |
|
184 | ''' | ||
159 | procUnitConfObjC = controllerObj.addProcUnit(datatype='SpectraHeisProc', inputId=procUnitConfObjA.getId()) |
|
185 | procUnitConfObjC = controllerObj.addProcUnit(datatype='SpectraHeisProc', inputId=procUnitConfObjA.getId()) | |
160 |
|
|
186 | #procUnitConfObjB.addParameter(name='nFFTPoints', value='64', format='int') | |
161 |
|
|
187 | #procUnitConfObjB.addParameter(name='nProfiles', value='64', format='int') | |
@@ -174,7 +200,8 opObj11.addParameter(name='n', value='100', format='int') | |||||
174 |
|
|
200 | ########## PLOTEO DOMINIO DE LA FRECUENCIA############################# | |
175 |
|
|
201 | ####################################################################### | |
176 |
|
|
202 | #---- | |
177 |
|
203 | ''' | ||
|
204 | ''' | |||
178 | opObj11 = procUnitConfObjC.addOperation(name='SpectraHeisPlot') |
|
205 | opObj11 = procUnitConfObjC.addOperation(name='SpectraHeisPlot') | |
179 | opObj11.addParameter(name='id', value='10', format='int') |
|
206 | opObj11.addParameter(name='id', value='10', format='int') | |
180 | opObj11.addParameter(name='wintitle', value='Spectra_Alturas', format='str') |
|
207 | opObj11.addParameter(name='wintitle', value='Spectra_Alturas', format='str') | |
@@ -189,7 +216,7 opObj11.addParameter(name='grid', value=True, format='bool') | |||||
189 |
|
|
216 | #opObj11.addParameter(name='showprofile', value='1', format='int') | |
190 | opObj11.addParameter(name='save', value=figpath, format='str') |
|
217 | opObj11.addParameter(name='save', value=figpath, format='str') | |
191 |
|
|
218 | #opObj11.addParameter(name='save_period', value=10, format='int') | |
192 |
|
219 | ''' | ||
193 | ''' |
|
220 | ''' | |
194 | opObj11 = procUnitConfObjC.addOperation(name='RTIHeisPlot') |
|
221 | opObj11 = procUnitConfObjC.addOperation(name='RTIHeisPlot') | |
195 | opObj11.addParameter(name='id', value='10', format='int') |
|
222 | opObj11.addParameter(name='id', value='10', format='int') | |
@@ -204,7 +231,7 opObj11.addParameter(name='showprofile', value='1', format='int') | |||||
204 | opObj11.addParameter(name='save', value=figpath, format='str') |
|
231 | opObj11.addParameter(name='save', value=figpath, format='str') | |
205 | opObj11.addParameter(name='save_period', value=10, format='int') |
|
232 | opObj11.addParameter(name='save_period', value=10, format='int') | |
206 | ''' |
|
233 | ''' | |
207 | ''' |
|
234 | ||
208 | #SpectraPlot |
|
235 | #SpectraPlot | |
209 |
|
236 | |||
210 | opObj11 = procUnitConfObjB.addOperation(name='SpectraPlot', optype='external') |
|
237 | opObj11 = procUnitConfObjB.addOperation(name='SpectraPlot', optype='external') | |
@@ -220,6 +247,7 opObj11.addParameter(name='showprofile', value='1', format='int') | |||||
220 | opObj11.addParameter(name='save', value=figpath, format='str') |
|
247 | opObj11.addParameter(name='save', value=figpath, format='str') | |
221 | opObj11.addParameter(name='save_period', value=10, format='int') |
|
248 | opObj11.addParameter(name='save_period', value=10, format='int') | |
222 |
|
249 | |||
|
250 | ||||
223 | #RTIPLOT |
|
251 | #RTIPLOT | |
224 |
|
252 | |||
225 | opObj11 = procUnitConfObjB.addOperation(name='RTIPlot', optype='external') |
|
253 | opObj11 = procUnitConfObjB.addOperation(name='RTIPlot', optype='external') | |
@@ -259,7 +287,7 opObj11.addParameter(name='save_period', value=10, format='int') | |||||
259 |
|
|
287 | # opObj11.addParameter(name='save', value=0, format='bool') | |
260 |
|
|
288 | # opObj11.addParameter(name='pairsList', value='(0,1)', format='pairsList') | |
261 |
|
|
289 | # | |
262 |
|
290 | ''' | ||
263 | ''' |
|
291 | ''' | |
264 | ####################################################################### |
|
292 | ####################################################################### | |
265 | ############### UNIDAD DE ESCRITURA ################################### |
|
293 | ############### UNIDAD DE ESCRITURA ################################### |
@@ -16,6 +16,7 print("[SETUP]-RADAR METEOROLOGICO-") | |||||
16 | path_ped = "/DATA_RM/TEST_PEDESTAL/P20211111-173856" |
|
16 | path_ped = "/DATA_RM/TEST_PEDESTAL/P20211111-173856" | |
17 | print("PATH PEDESTAL :",path_ped) |
|
17 | print("PATH PEDESTAL :",path_ped) | |
18 | path_adq = "/DATA_RM/11" |
|
18 | path_adq = "/DATA_RM/11" | |
|
19 | path_adq = "/DATA_RM/10MHZDRONE/" | |||
19 | print("PATH DATA :",path_adq) |
|
20 | print("PATH DATA :",path_adq) | |
20 |
|
21 | |||
21 |
|
22 | |||
@@ -60,9 +61,9 n= int(1/(VEL*ipp_sec)) | |||||
60 | print("N° Profiles : ", n) |
|
61 | print("N° Profiles : ", n) | |
61 | #--------------------------------------------------------------------------------------- |
|
62 | #--------------------------------------------------------------------------------------- | |
62 | plot_rti = 0 |
|
63 | plot_rti = 0 | |
63 |
plot_ppi = |
|
64 | plot_ppi = 1 | |
64 | integration = 1 |
|
65 | integration = 1 | |
65 |
save = |
|
66 | save = 0 | |
66 | #---------------------------RANGO DE PLOTEO---------------------------------- |
|
67 | #---------------------------RANGO DE PLOTEO---------------------------------- | |
67 | dBmin = '1' |
|
68 | dBmin = '1' | |
68 | dBmax = '85' |
|
69 | dBmax = '85' | |
@@ -94,9 +95,9 controllerObj.setup(id = '191', name='Test_USRP', description=desc) | |||||
94 | #---------------------UNIDAD DE LECTURA-------------------------------- |
|
95 | #---------------------UNIDAD DE LECTURA-------------------------------- | |
95 | readUnitConfObj = controllerObj.addReadUnit(datatype='DigitalRFReader', |
|
96 | readUnitConfObj = controllerObj.addReadUnit(datatype='DigitalRFReader', | |
96 | path=path_adq, |
|
97 | path=path_adq, | |
97 |
startDate="202 |
|
98 | startDate="2022/02/19",#today, | |
98 |
endDate="202 |
|
99 | endDate="2022/02/18",#today, | |
99 |
startTime=' |
|
100 | startTime='00:00:00', | |
100 | endTime='23:59:59', |
|
101 | endTime='23:59:59', | |
101 | delay=0, |
|
102 | delay=0, | |
102 | #set=0, |
|
103 | #set=0, |
@@ -18,8 +18,10 from schainpy.controller import Project | |||||
18 | #----------------------------------------------------------------------------------------- |
|
18 | #----------------------------------------------------------------------------------------- | |
19 | print("[SETUP]-RADAR METEOROLOGICO-") |
|
19 | print("[SETUP]-RADAR METEOROLOGICO-") | |
20 | path_ped = "/DATA_RM/TEST_PEDESTAL/P20211123-143826" |
|
20 | path_ped = "/DATA_RM/TEST_PEDESTAL/P20211123-143826" | |
|
21 | path_ped = "/DATA_RM/TEST_PEDESTAL/P20220217-172216" | |||
21 | print("PATH PEDESTAL :",path_ped) |
|
22 | print("PATH PEDESTAL :",path_ped) | |
22 | path_adq = "/DATA_RM/DRONE/2MHZ_5V_ELEVACION/" |
|
23 | path_adq = "/DATA_RM/DRONE/2MHZ_5V_ELEVACION/" | |
|
24 | path_adq = "/DATA_RM/2MHZTEST/" | |||
23 | print("PATH DATA :",path_adq) |
|
25 | print("PATH DATA :",path_adq) | |
24 | figpath_pp_rti = "/home/soporte/Pictures/TEST_PP_RHI" |
|
26 | figpath_pp_rti = "/home/soporte/Pictures/TEST_PP_RHI" | |
25 | print("PATH PP RTI :",figpath_pp_rti) |
|
27 | print("PATH PP RTI :",figpath_pp_rti) | |
@@ -44,7 +46,7 else: | |||||
44 | ff_pedestal = list_ped[2] |
|
46 | ff_pedestal = list_ped[2] | |
45 | ele_vel = getDatavaluefromDirFilename(path=path_ped,file=ff_pedestal,value="ele_vel") |
|
47 | ele_vel = getDatavaluefromDirFilename(path=path_ped,file=ff_pedestal,value="ele_vel") | |
46 | V = round(ele_vel[0]) |
|
48 | V = round(ele_vel[0]) | |
47 | V = 10.0 |
|
49 | V = 8.0#10.0 | |
48 | print("VELOCIDAD ELE :", int(numpy.mean(ele_vel)),"°/seg") |
|
50 | print("VELOCIDAD ELE :", int(numpy.mean(ele_vel)),"°/seg") | |
49 | print(" ") |
|
51 | print(" ") | |
50 | #--------------------------------------------------------------------------------------- |
|
52 | #--------------------------------------------------------------------------------------- | |
@@ -83,9 +85,9 controllerObj.setup(id = '191', name='Test_USRP', description=desc) | |||||
83 | #---------------------UNIDAD DE LECTURA-------------------------------- |
|
85 | #---------------------UNIDAD DE LECTURA-------------------------------- | |
84 | readUnitConfObj = controllerObj.addReadUnit(datatype='DigitalRFReader', |
|
86 | readUnitConfObj = controllerObj.addReadUnit(datatype='DigitalRFReader', | |
85 | path=path_adq, |
|
87 | path=path_adq, | |
86 |
startDate="202 |
|
88 | startDate="2022/02/17",#today, | |
87 |
endDate="202 |
|
89 | endDate="2022/02/17",#today, | |
88 |
startTime=' |
|
90 | startTime='00:00:00', | |
89 | endTime='23:59:59', |
|
91 | endTime='23:59:59', | |
90 | delay=0, |
|
92 | delay=0, | |
91 | #set=0, |
|
93 | #set=0, | |
@@ -109,6 +111,7 if mode_proc==0: | |||||
109 | opObj11 = procUnitConfObjB.addOperation(name='PedestalInformation') |
|
111 | opObj11 = procUnitConfObjB.addOperation(name='PedestalInformation') | |
110 | opObj11.addParameter(name='path_ped', value=path_ped) |
|
112 | opObj11.addParameter(name='path_ped', value=path_ped) | |
111 | opObj11.addParameter(name='t_Interval_p', value='0.01', format='float') |
|
113 | opObj11.addParameter(name='t_Interval_p', value='0.01', format='float') | |
|
114 | opObj11.addParameter(name='wr_exp', value='RHI') | |||
112 |
|
115 | |||
113 | if plot_rhi==1: |
|
116 | if plot_rhi==1: | |
114 | opObj11 = procUnitConfObjB.addOperation(name='Block360') |
|
117 | opObj11 = procUnitConfObjB.addOperation(name='Block360') |
@@ -16,6 +16,7 path_ped = '/DATA_RM/TEST_PEDESTAL/P20211020-131248' | |||||
16 | path_ped = '/DATA_RM/TEST_PEDESTAL/P20211110-171003' |
|
16 | path_ped = '/DATA_RM/TEST_PEDESTAL/P20211110-171003' | |
17 | path_ped = '/DATA_RM/TEST_PEDESTAL/P20211111-173856' |
|
17 | path_ped = '/DATA_RM/TEST_PEDESTAL/P20211111-173856' | |
18 | path_ped = '/DATA_RM/TEST_PEDESTAL/P20211123-143826' |
|
18 | path_ped = '/DATA_RM/TEST_PEDESTAL/P20211123-143826' | |
|
19 | path_ped = "/DATA_RM/TEST_PEDESTAL/P20220217-172216" | |||
19 | #path_ped = '/DATA_RM/TEST_PEDESTAL/P20211111-173409' |
|
20 | #path_ped = '/DATA_RM/TEST_PEDESTAL/P20211111-173409' | |
20 | # Metodo para verificar numero |
|
21 | # Metodo para verificar numero | |
21 | def isNumber(str): |
|
22 | def isNumber(str): | |
@@ -48,7 +49,7 for i in range(m): | |||||
48 | tmp_azi_pos = getDatavaluefromDirFilename(path=path_ped,file=LIST[i],value="azi_pos") |
|
49 | tmp_azi_pos = getDatavaluefromDirFilename(path=path_ped,file=LIST[i],value="azi_pos") | |
49 | tmp_ele_pos = getDatavaluefromDirFilename(path=path_ped,file=LIST[i],value="ele_pos") |
|
50 | tmp_ele_pos = getDatavaluefromDirFilename(path=path_ped,file=LIST[i],value="ele_pos") | |
50 | tmp_azi_vel = getDatavaluefromDirFilename(path=path_ped,file=LIST[i],value="azi_vel") |
|
51 | tmp_azi_vel = getDatavaluefromDirFilename(path=path_ped,file=LIST[i],value="azi_vel") | |
51 |
tmp_ele_vel = getDatavaluefromDirFilename(path=path_ped,file=LIST[i],value=" |
|
52 | tmp_ele_vel = getDatavaluefromDirFilename(path=path_ped,file=LIST[i],value="ele_vel")# nuevo :D | |
52 |
|
53 | |||
53 | time_[i] = getDatavaluefromDirFilename(path=path_ped,file=LIST[i],value="utc") |
|
54 | time_[i] = getDatavaluefromDirFilename(path=path_ped,file=LIST[i],value="utc") | |
54 |
|
55 | |||
@@ -72,8 +73,10 z=0 | |||||
72 | # CONDICION POR LEER EN TIEMPO REAL NO OFFLINE |
|
73 | # CONDICION POR LEER EN TIEMPO REAL NO OFFLINE | |
73 |
|
74 | |||
74 | for filename in LIST: |
|
75 | for filename in LIST: | |
75 | tmp_azi_pos = getDatavaluefromDirFilename(path=path_ped,file=filename,value="azi_pos") |
|
76 | #tmp_azi_pos = getDatavaluefromDirFilename(path=path_ped,file=filename,value="azi_pos") | |
76 | tmp_ele_pos = getDatavaluefromDirFilename(path=path_ped,file=filename,value="ele_pos") |
|
77 | #tmp_ele_pos = getDatavaluefromDirFilename(path=path_ped,file=filename,value="ele_pos") | |
|
78 | tmp_azi_pos = getDatavaluefromDirFilename(path=path_ped,file=filename,value="ele_vel") | |||
|
79 | tmp_ele_pos = getDatavaluefromDirFilename(path=path_ped,file=filename,value="azi_vel") | |||
77 | # CONDICION POR LEER EN TIEMPO REAL NO OFFLINE |
|
80 | # CONDICION POR LEER EN TIEMPO REAL NO OFFLINE | |
78 |
|
81 | |||
79 | if z==(m-1): |
|
82 | if z==(m-1): |
General Comments 0
You need to be logged in to leave comments.
Login now