##// END OF EJS Templates
update y revision RHI
avaldezp -
r1411:e3b451d0f24e
parent child
Show More
@@ -0,0 +1,122
1 # Ing. AVP
2 # 04/01/2022
3 # ARCHIVO DE LECTURA
4 #---- DATA RHI --- 23 DE NOVIEMBRE DEL 2021 --- 23/11/2021---
5 #---- PEDESTAL ----------------------------------------------
6 #------- HORA 143826 /DATA_RM/TEST_PEDESTAL/P20211123-143826 14:38-15:10
7 #---- RADAR ----------------------------------------------
8 #------- 14:26-15:00
9 #------- /DATA_RM/DRONE/2MHZ_5V_ELEVACION/
10 #------- /DATA_RM/DRONE/2MHZ_5V_ELEVACION/ch0/2021-11-23T19-00-00
11
12 import os, sys
13 import datetime
14 import time
15 import numpy
16 from ext_met import getfirstFilefromPath,getDatavaluefromDirFilename
17 from schainpy.controller import Project
18 #-----------------------------------------------------------------------------------------
19 print("[SETUP]-RADAR METEOROLOGICO-")
20 path_ped = "/DATA_RM/TEST_PEDESTAL/P20211123-143826"
21 print("PATH PEDESTAL :",path_ped)
22 path_adq = "/DATA_RM/DRONE/2MHZ_5V_ELEVACION/"
23 print("PATH DATA :",path_adq)
24 figpath_pp_rti = "/home/soporte/Pictures/TEST_PP_RHI"
25 print("PATH PP RTI :",figpath_pp_rti)
26 figpath_pp_rhi = "/home/soporte/Pictures/TEST_PP_RHI"
27 print("PATH PP RHI :",figpath_pp_rhi)
28 path_pp_save_int = "/DATA_RM/TEST_SAVE_PP_INT_RHI"
29 print("PATH SAVE PP INT :",path_pp_save_int)
30 print(" ")
31 #-------------------------------------------------------------------------------------------
32 print("SELECCIONAR MODO: PPI (0) O RHI (1)")
33 mode_wr = 1
34 if mode_wr==0:
35 print("[ ON ] MODE PPI")
36 list_ped = getfirstFilefromPath(path=path_ped,meta="PE",ext=".hdf5")
37 ff_pedestal = list_ped[2]
38 azi_vel = getDatavaluefromDirFilename(path=path_ped,file=ff_pedestal,value="azi_vel")
39 V = round(azi_vel[0])
40 print("VELOCIDAD AZI :", int(numpy.mean(azi_vel)),"°/seg")
41 else:
42 print("[ ON ] MODE RHI")
43 list_ped = getfirstFilefromPath(path=path_ped,meta="PE",ext=".hdf5")
44 ff_pedestal = list_ped[2]
45 ele_vel = getDatavaluefromDirFilename(path=path_ped,file=ff_pedestal,value="ele_vel")
46 V = round(ele_vel[0])
47 V = 10.0
48 print("VELOCIDAD ELE :", int(numpy.mean(ele_vel)),"°/seg")
49 print(" ")
50 #---------------------------------------------------------------------------------------
51 print("SELECCIONAR MODO: PULSE PAIR (0) O FREQUENCY (1)")
52 mode_proc = 0
53 if mode_proc==0:
54 print("[ ON ] MODE PULSEPAIR")
55 else:
56 print("[ ON ] MODE FREQUENCY")
57 ipp = 60.0
58 print("IPP(Km.) : %1.2f"%ipp)
59 ipp_sec = (ipp*1.0e3/150.0)*1.0e-6
60 print("IPP(useg.) : %1.2f"%(ipp_sec*(1.0e6)))
61 VEL=V
62 n= int(1/(VEL*ipp_sec))
63 print("N° Profiles : ", n)
64 #--------------------------------------------
65 plot_rti = 0
66 plot_rhi = 1
67 integration = 1
68 save = 0
69 #---------------------------RANGO DE PLOTEO----------------------------------
70 dBmin = '1'
71 dBmax = '85'
72 xmin = '17'
73 xmax = '17.25'
74 ymin = '0'
75 ymax = '600'
76 #----------------------------------------------------------------------------
77 time.sleep(3)
78 #---------------------SIGNAL CHAIN ------------------------------------
79 desc = "USRP_WEATHER_RADAR"
80 filename = "USRP_processing.xml"
81 controllerObj = Project()
82 controllerObj.setup(id = '191', name='Test_USRP', description=desc)
83 #---------------------UNIDAD DE LECTURA--------------------------------
84 readUnitConfObj = controllerObj.addReadUnit(datatype='DigitalRFReader',
85 path=path_adq,
86 startDate="2021/11/10",#today,
87 endDate="2021/12/30",#today,
88 startTime='17:10:25',
89 endTime='23:59:59',
90 delay=0,
91 #set=0,
92 online=0,
93 walk=1,
94 ippKm=ipp)
95
96 procUnitConfObjA = controllerObj.addProcUnit(datatype='VoltageProc',inputId=readUnitConfObj.getId())
97
98 opObj11 = procUnitConfObjA.addOperation(name='selectHeights')
99 opObj11.addParameter(name='minIndex', value='1', format='int')
100 # opObj11.addParameter(name='maxIndex', value='10000', format='int')
101 opObj11.addParameter(name='maxIndex', value='400', format='int')
102
103 if mode_proc==0:
104 opObj11 = procUnitConfObjA.addOperation(name='PulsePair', optype='other')
105 opObj11.addParameter(name='n', value=int(n), format='int')
106 procUnitConfObjB= controllerObj.addProcUnit(datatype='ParametersProc',inputId=procUnitConfObjA.getId())
107
108 if integration==1:
109 opObj11 = procUnitConfObjB.addOperation(name='PedestalInformation')
110 opObj11.addParameter(name='path_ped', value=path_ped)
111 opObj11.addParameter(name='t_Interval_p', value='0.01', format='float')
112
113 if plot_rhi==1:
114 opObj11 = procUnitConfObjB.addOperation(name='Block360')
115 opObj11.addParameter(name='n', value='10', format='int')
116 opObj11.addParameter(name='mode', value=mode_proc, format='int')
117 # este bloque funciona bien con divisores de 360 no olvidar 0 10 20 30 40 60 90 120 180
118 opObj11= procUnitConfObjB.addOperation(name='WeatherRHIPlot',optype='other')
119 opObj11.addParameter(name='save', value=figpath_pp_rhi)
120 opObj11.addParameter(name='save_period', value=1)
121
122 controllerObj.start()
@@ -0,0 +1,57
1 import numpy as np
2 import matplotlib.pyplot as plt
3 import wradlib as wrl
4 import warnings
5 # libreia nueva
6 from mpl_toolkits.axisartist.grid_finder import FixedLocator, DictFormatter
7 warnings.filterwarnings('ignore')
8 # lectura de gaMIC hdf5 file
9 filename = wrl.util.get_wradlib_data_file("/home/soporte/Downloads/2014-06-09--185000.rhi.mvol")
10 data1, metadata = wrl.io.read_gamic_hdf5(filename)
11 print(data1)
12 data1 = data1['SCAN0']['ZH']['data']
13 print(data1)
14 print("SHAPE Data",np.array(data1).shape)
15 r = metadata['SCAN0']['r']
16 print("r",r)
17 print("longitud r",len(r))
18 th = metadata['SCAN0']['el']
19 print("th",th)
20 print("longitud th",len(th))
21 az = metadata['SCAN0']['az']
22 print("az",az)
23 site = (metadata['VOL']['Longitude'], metadata['VOL']['Latitude'],
24 metadata['VOL']['Height'])
25
26 print("Longitud,Latitud,Altura",site)
27 ma1 = np.array(data1)
28 '''
29 mask_ind = np.where(data1 <= np.nanmin(data1))
30 data1[mask_ind] = np.nan
31 ma1 = np.ma.array(data1, mask=np.isnan(data1))
32 '''
33 #cgax, pm = wrl.vis.plot_rhi(ma1,r=r,th=th,rf=1e3)
34 fig = plt.figure(figsize=(10,8))
35 cgax, pm = wrl.vis.plot_rhi(ma1,r=r,th=th,rf=1e3,fig=fig, ax=111,proj='cg')
36 caax = cgax.parasites[0]
37 paax = cgax.parasites[1]
38 cgax.set_ylim(0, 14)
39 #caax = cgax.parasites[0]
40 #paax = cgax.parasites[1]
41 #cgax, pm = wrl.vis.plot_rhi(ma1, r=r, th=th, rf=1e3, fig=fig, ax=111, proj='cg')
42 txt = plt.title('Simple RHI',y=1.05)
43 #cbar = plt.gcf().colorbar(pm, pad=0.05, ax=paax)
44 cbar = plt.gcf().colorbar(pm, pad=0.05)
45 cbar.set_label('reflectivity [dBZ]')
46 caax.set_xlabel('x_range [km]')
47 caax.set_ylabel('y_range [km]')
48 plt.text(1.0, 1.05, 'azimuth', transform=caax.transAxes, va='bottom',ha='right')
49 gh = cgax.get_grid_helper()
50
51 # set theta to some nice values
52 locs = [0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13., 14.,
53 15., 16., 17., 18., 20., 22., 25., 30., 35., 40., 50., 60., 70., 80., 90.]
54 gh.grid_finder.grid_locator1 = FixedLocator(locs)
55 gh.grid_finder.tick_formatter1 = DictFormatter(dict([(i, r"${0:.0f}^\circ$".format(i)) for i in locs]))
56
57 plt.show()
@@ -399,15 +399,10 class WeatherPlot(Plot):
399 meta = {}
399 meta = {}
400 if hasattr(dataOut, 'dataPP_POWER'):
400 if hasattr(dataOut, 'dataPP_POWER'):
401 factor = 1
401 factor = 1
402
403 if hasattr(dataOut, 'nFFTPoints'):
402 if hasattr(dataOut, 'nFFTPoints'):
404 factor = dataOut.normFactor
403 factor = dataOut.normFactor
405
406 ####print("factor",factor)
407 data['weather'] = 10*numpy.log10(dataOut.data_360[1]/(factor))
404 data['weather'] = 10*numpy.log10(dataOut.data_360[1]/(factor))
408 ####print("weather",data['weather'])
409 data['azi'] = dataOut.data_azi
405 data['azi'] = dataOut.data_azi
410
411 data['ele'] = dataOut.data_ele
406 data['ele'] = dataOut.data_ele
412 return data, meta
407 return data, meta
413
408
@@ -428,7 +423,6 class WeatherPlot(Plot):
428 return ang_
423 return ang_
429 return ang_
424 return ang_
430
425
431
432 def fixData360HL(self,angulos):
426 def fixData360HL(self,angulos):
433 vec = numpy.where(angulos>=360)
427 vec = numpy.where(angulos>=360)
434 angulos[vec]=angulos[vec]-360
428 angulos[vec]=angulos[vec]-360
@@ -466,7 +460,6 class WeatherPlot(Plot):
466 c=c+1
460 c=c+1
467 return ang_new,ang_new2
461 return ang_new,ang_new2
468
462
469
470 def globalCheckPED(self,angulos):
463 def globalCheckPED(self,angulos):
471 l1,l2 = self.get2List(angulos)
464 l1,l2 = self.get2List(angulos)
472 if len(l1)>0:
465 if len(l1)>0:
@@ -476,7 +469,6 class WeatherPlot(Plot):
476 ang1_,ang2_ = self.fixDataComp(ang_=angulos2,list1_=l1,list2_=l2)
469 ang1_,ang2_ = self.fixDataComp(ang_=angulos2,list1_=l1,list2_=l2)
477 ang1_ = self.fixData360HL(ang1_)
470 ang1_ = self.fixData360HL(ang1_)
478 ang2_ = self.fixData360HL(ang2_)
471 ang2_ = self.fixData360HL(ang2_)
479
480 else:
472 else:
481 ang1_= angulos
473 ang1_= angulos
482 ang2_= angulos
474 ang2_= angulos
@@ -512,7 +504,6 class WeatherPlot(Plot):
512 position=list1[i]+1
504 position=list1[i]+1
513 for j in range(list2[i]):
505 for j in range(list2[i]):
514 new_data_azi[position+j]=new_data_azi[position+j-1]+1
506 new_data_azi[position+j]=new_data_azi[position+j-1]+1
515
516 return new_data_azi
507 return new_data_azi
517
508
518 def fixDATA(self,data_azi):
509 def fixDATA(self,data_azi):
@@ -542,17 +533,14 class WeatherPlot(Plot):
542
533
543 def const_ploteo(self,data_weather,data_azi,step,res):
534 def const_ploteo(self,data_weather,data_azi,step,res):
544 if self.ini==0:
535 if self.ini==0:
545 #------- AZIMUTH
536 #-------
546 n = (360/res)-len(data_azi)
537 n = (360/res)-len(data_azi)
547 #--------------------- new -------------------------
538 #--------------------- new -------------------------
548 ####data_azi_old = data_azi
549 data_azi_new ,data_azi_old= self.globalCheckPED(data_azi)
539 data_azi_new ,data_azi_old= self.globalCheckPED(data_azi)
550 #------------------------
540 #------------------------
551 ####data_azi_new = self.fixDATA(data_azi)
552 #ata_azi_new = self.fixDATANEW(data_azi)
553 start = data_azi_new[-1] + res
541 start = data_azi_new[-1] + res
554 end = data_azi_new[0] - res
542 end = data_azi_new[0] - res
555 ##### new
543 #------ new
556 self.last_data_azi = end
544 self.last_data_azi = end
557 if start>end:
545 if start>end:
558 end = end + 360
546 end = end + 360
@@ -571,30 +559,16 class WeatherPlot(Plot):
571 start_azi = self.res_azi[0]
559 start_azi = self.res_azi[0]
572 #-----------new------------
560 #-----------new------------
573 data_azi ,data_azi_old= self.globalCheckPED(data_azi)
561 data_azi ,data_azi_old= self.globalCheckPED(data_azi)
574 print("---------------------------------------------------")
575 print("data_azi",data_azi)
576 print("data_azi_old",data_azi_old)
577 data_weather = self.replaceNAN(data_weather=data_weather,data_azi=data_azi_old,val=self.val_mean)
562 data_weather = self.replaceNAN(data_weather=data_weather,data_azi=data_azi_old,val=self.val_mean)
578 #--------------------------
563 #--------------------------
579 ####data_azi_old = data_azi
580 ### weather ###
581 ####data_weather = self.replaceNAN(data_weather=data_weather,data_azi=data_azi_old,val=self.val_mean)
582
583 ####if numpy.isnan(data_azi[0]):
584 #### data_azi[0]=self.last_data_azi+1
585 ####data_azi = self.fixDATA(data_azi)
586 start = data_azi[0]
564 start = data_azi[0]
587 end = data_azi[-1]
565 end = data_azi[-1]
588 self.last_data_azi= end
566 self.last_data_azi= end
589 ####print("start",start)
590 ####print("end",end)
591 if start< start_azi:
567 if start< start_azi:
592 start = start +360
568 start = start +360
593 if end <start_azi:
569 if end <start_azi:
594 end = end +360
570 end = end +360
595 ####print("start",start)
571
596 ####print("end",end)
597 #### AQUI SERA LA MAGIA
598 pos_ini = int((start-start_azi)/res)
572 pos_ini = int((start-start_azi)/res)
599 len_azi = len(data_azi)
573 len_azi = len(data_azi)
600 if (360-pos_ini)<len_azi:
574 if (360-pos_ini)<len_azi:
@@ -604,11 +578,7 class WeatherPlot(Plot):
604 flag=1
578 flag=1
605 dif= 360-pos_ini
579 dif= 360-pos_ini
606 comp= len_azi-dif
580 comp= len_azi-dif
607
608 #-----------------
581 #-----------------
609 ####print(pos_ini)
610 ####print(len_azi)
611 ####print("shape",self.res_azi.shape)
612 if flag==0:
582 if flag==0:
613 # AZIMUTH
583 # AZIMUTH
614 self.res_azi[pos_ini:pos_ini+len_azi] = data_azi
584 self.res_azi[pos_ini:pos_ini+len_azi] = data_azi
@@ -628,28 +598,13 class WeatherPlot(Plot):
628 return data_weather,data_azi
598 return data_weather,data_azi
629
599
630 def plot(self):
600 def plot(self):
631 #print("--------------------------------------",self.ini,"-----------------------------------")
632 #numpy.set_printoptions(suppress=True)
633 ####print("times: ",self.data.times)
634 thisDatetime = datetime.datetime.utcfromtimestamp(self.data.times[-1]).strftime('%Y-%m-%d %H:%M:%S')
601 thisDatetime = datetime.datetime.utcfromtimestamp(self.data.times[-1]).strftime('%Y-%m-%d %H:%M:%S')
635 #print("times: ",thisDatetime)
636 data = self.data[-1]
602 data = self.data[-1]
637 ####ALTURA altura_tmp_h
638 ###print("Y RANGES",self.data.yrange,len(self.data.yrange))
639 ###altura_h = (data['weather'].shape[1])/10.0
640 ###stoprange = float(altura_h*0.3)#stoprange = float(33*1.5) por ahora 400
641 ###rangestep = float(0.03)
642 ###r = numpy.arange(0, stoprange, rangestep)
643 ###print("r",r,len(r))
644 #-----------------------------update----------------------
645 r= self.data.yrange
603 r = self.data.yrange
646 delta_height = r[1]-r[0]
604 delta_height = r[1]-r[0]
647 #print("1",r)
648 r_mask= numpy.where(r>=0)[0]
605 r_mask = numpy.where(r>=0)[0]
649 r = numpy.arange(len(r_mask))*delta_height
606 r = numpy.arange(len(r_mask))*delta_height
650 #print("2",r)
651 self.y = 2*r
607 self.y = 2*r
652 ######self.y = self.data.yrange
653 # RADAR
608 # RADAR
654 #data_weather = data['weather']
609 #data_weather = data['weather']
655 # PEDESTAL
610 # PEDESTAL
@@ -657,18 +612,10 class WeatherPlot(Plot):
657 res = 1
612 res = 1
658 # STEP
613 # STEP
659 step = (360/(res*data['weather'].shape[0]))
614 step = (360/(res*data['weather'].shape[0]))
660 #print("shape wr_data", wr_data.shape)
615
661 #print("shape wr_azi",wr_azi.shape)
662 #print("step",step)
663 ####print("Time---->",self.data.times[-1],thisDatetime)
664 #print("alturas", len(self.y))numpy.where(r>=0)
665 self.res_weather, self.res_azi = self.const_ploteo(data_weather=data['weather'][:,r_mask],data_azi=data['azi'],step=step,res=res)
616 self.res_weather, self.res_azi = self.const_ploteo(data_weather=data['weather'][:,r_mask],data_azi=data['azi'],step=step,res=res)
666 #numpy.set_printoptions(suppress=True)
667 #print("resultado",self.res_azi)
668 self.res_ele =numpy.mean(data['ele'])
617 self.res_ele = numpy.mean(data['ele'])
669 ###########################/DATA_RM/10_tmp/ch0###############################
670 ################# PLOTEO ###################
618 ################# PLOTEO ###################
671 ##########################################################
672
619
673 for i,ax in enumerate(self.axes):
620 for i,ax in enumerate(self.axes):
674 if ax.firsttime:
621 if ax.firsttime:
@@ -685,3 +632,76 class WeatherPlot(Plot):
685 plt.text(1.0, 1.05, 'Azimuth '+str(thisDatetime)+" Step "+str(self.ini)+ " Elev: "+str(round(self.res_ele,2)), transform=caax.transAxes, va='bottom',ha='right')
632 plt.text(1.0, 1.05, 'Azimuth '+str(thisDatetime)+" Step "+str(self.ini)+ " Elev: "+str(round(self.res_ele,2)), transform=caax.transAxes, va='bottom',ha='right')
686
633
687 self.ini= self.ini+1
634 self.ini= self.ini+1
635
636
637 class WeatherRHIPlot(Plot):
638 CODE = 'weather'
639 plot_name = 'weather'
640 plot_type = 'rhistyle'
641 buffering = False
642
643 def setup(self):
644 self.ncols = 1
645 self.nrows = 1
646 self.nplots= 1
647 self.ylabel= 'Range [Km]'
648 self.titles= ['Weather']
649 self.colorbar=False
650 self.width =8
651 self.height =8
652 self.ini =0
653 self.len_azi =0
654 self.buffer_ini = None
655 self.buffer_azi = None
656 self.plots_adjust.update({'wspace': 0.4, 'hspace':0.4, 'left': 0.1, 'right': 0.9, 'bottom': 0.08})
657 self.flag =0
658 self.indicador= 0
659 self.last_data_azi = None
660 self.val_mean = None
661
662 def update(self, dataOut):
663
664 data = {}
665 meta = {}
666 if hasattr(dataOut, 'dataPP_POWER'):
667 factor = 1
668 if hasattr(dataOut, 'nFFTPoints'):
669 factor = dataOut.normFactor
670 data['weather'] = 10*numpy.log10(dataOut.data_360[1]/(factor))
671 data['azi'] = dataOut.data_azi
672 data['ele'] = dataOut.data_ele
673 return data, meta
674
675 def plot(self):
676 thisDatetime = datetime.datetime.utcfromtimestamp(self.data.times[-1]).strftime('%Y-%m-%d %H:%M:%S')
677 data = self.data[-1]
678 r = self.data.yrange
679 delta_height = r[1]-r[0]
680 r_mask = numpy.where(r>=0)[0]
681 r = numpy.arange(len(r_mask))*delta_height
682 self.y = 2*r
683 ###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'])
685 #-------------
686 # 90 angulos en el axis 0
687 # 1000 step en el axis 1
688 self.res_weather = numpy.ones([90,1000])
689 r = numpy.linspace(0,1999,1000)
690 self.res_ele = numpy.arange(0,90)
691 self.res_azi = 240
692 #-------------
693 for i,ax in enumerate(self.axes):
694 if ax.firsttime:
695 plt.clf()
696 cgax, pm = wrl.vis.plot_rhi(self.res_weather,r=r,th=self.res_ele,fig=self.figures[0], proj='cg')
697 else:
698 plt.clf()
699 cgax, pm = wrl.vis.plot_rhi(self.res_weather,r=r,th=self.res_ele,fig=self.figures[0], proj='cg')
700 caax = cgax.parasites[0]
701 paax = cgax.parasites[1]
702 cbar = plt.gcf().colorbar(pm, pad=0.075)
703 caax.set_xlabel('x_range [km]')
704 caax.set_ylabel('y_range [km]')
705 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')
706
707 self.ini= self.ini+1
@@ -3949,7 +3949,8 class WeatherRadar(Operation):
3949 nHeis = dataOut.nHeights
3949 nHeis = dataOut.nHeights
3950 data_param = numpy.zeros((nCh,4,nHeis))
3950 data_param = numpy.zeros((nCh,4,nHeis))
3951 if type == "Voltage":
3951 if type == "Voltage":
3952 data_param[:,0,:] = dataOut.dataPP_POW/(dataOut.nCohInt**2)
3952 factor = dataOut.normFactor
3953 data_param[:,0,:] = dataOut.dataPP_POW/(factor)
3953 data_param[:,1,:] = dataOut.dataPP_DOP
3954 data_param[:,1,:] = dataOut.dataPP_DOP
3954 data_param[:,2,:] = dataOut.dataPP_WIDTH
3955 data_param[:,2,:] = dataOut.dataPP_WIDTH
3955 data_param[:,3,:] = dataOut.dataPP_SNR
3956 data_param[:,3,:] = dataOut.dataPP_SNR
@@ -3957,7 +3958,6 class WeatherRadar(Operation):
3957 data_param[:,0,:] = dataOut.data_POW
3958 data_param[:,0,:] = dataOut.data_POW
3958 data_param[:,1,:] = dataOut.data_DOP
3959 data_param[:,1,:] = dataOut.data_DOP
3959 data_param[:,2,:] = dataOut.data_WIDTH
3960 data_param[:,2,:] = dataOut.data_WIDTH
3960 def setMoments(self,dataOut,i):
3961 data_param[:,3,:] = dataOut.data_SNR
3961 data_param[:,3,:] = dataOut.data_SNR
3962
3962
3963 return data_param[:,i,:]
3963 return data_param[:,i,:]
@@ -95,7 +95,7 if mode_proc==0:
95 opObj11 = procUnitConfObjA.addOperation(name='PulsePair', optype='other')
95 opObj11 = procUnitConfObjA.addOperation(name='PulsePair', optype='other')
96 opObj11.addParameter(name='n', value=int(n), format='int')
96 opObj11.addParameter(name='n', value=int(n), format='int')
97 procUnitConfObjB= controllerObj.addProcUnit(datatype='ParametersProc',inputId=procUnitConfObjA.getId())
97 procUnitConfObjB= controllerObj.addProcUnit(datatype='ParametersProc',inputId=procUnitConfObjA.getId())
98
98 # REVISAR EL test_sim00013.py
99 if plot_rti==1:
99 if plot_rti==1:
100 opObj11 = procUnitConfObjB.addOperation(name='GenericRTIPlot',optype='external')
100 opObj11 = procUnitConfObjB.addOperation(name='GenericRTIPlot',optype='external')
101 opObj11.addParameter(name='attr_data', value='dataPP_POW')
101 opObj11.addParameter(name='attr_data', value='dataPP_POW')
General Comments 0
You need to be logged in to leave comments. Login now