##// END OF EJS Templates
Script test de pruebas actuales con el update de heading en el block 360, el parametro adicional es heading que se lee del experiment.conf
Script test de pruebas actuales con el update de heading en el block 360, el parametro adicional es heading que se lee del experiment.conf

File last commit:

r1418:2ccc6450afd4
r1759:c8ee9da660f1
Show More
basic_proc00004.py
125 lines | 5.3 KiB | text/x-python | PythonLexer
# Ing. AVP
# 04/01/2022
# ARCHIVO DE LECTURA
#---- DATA RHI --- 23 DE NOVIEMBRE DEL 2021 --- 23/11/2021---
#---- PEDESTAL ----------------------------------------------
#------- HORA 143826 /DATA_RM/TEST_PEDESTAL/P20211123-143826 14:38-15:10
#---- RADAR ----------------------------------------------
#------- 14:26-15:00
#------- /DATA_RM/DRONE/2MHZ_5V_ELEVACION/
#------- /DATA_RM/DRONE/2MHZ_5V_ELEVACION/ch0/2021-11-23T19-00-00
import os, sys
import datetime
import time
import numpy
from ext_met import getfirstFilefromPath,getDatavaluefromDirFilename
from schainpy.controller import Project
#-----------------------------------------------------------------------------------------
print("[SETUP]-RADAR METEOROLOGICO-")
path_ped = "/DATA_RM/TEST_PEDESTAL/P20211123-143826"
path_ped = "/DATA_RM/TEST_PEDESTAL/P20220217-172216"
print("PATH PEDESTAL :",path_ped)
path_adq = "/DATA_RM/DRONE/2MHZ_5V_ELEVACION/"
path_adq = "/DATA_RM/2MHZTEST/"
print("PATH DATA :",path_adq)
figpath_pp_rti = "/home/soporte/Pictures/TEST_PP_RHI"
print("PATH PP RTI :",figpath_pp_rti)
figpath_pp_rhi = "/home/soporte/Pictures/TEST_PP_RHI"
print("PATH PP RHI :",figpath_pp_rhi)
path_pp_save_int = "/DATA_RM/TEST_SAVE_PP_INT_RHI"
print("PATH SAVE PP INT :",path_pp_save_int)
print(" ")
#-------------------------------------------------------------------------------------------
print("SELECCIONAR MODO: PPI (0) O RHI (1)")
mode_wr = 1
if mode_wr==0:
print("[ ON ] MODE PPI")
list_ped = getfirstFilefromPath(path=path_ped,meta="PE",ext=".hdf5")
ff_pedestal = list_ped[2]
azi_vel = getDatavaluefromDirFilename(path=path_ped,file=ff_pedestal,value="azi_vel")
V = round(azi_vel[0])
print("VELOCIDAD AZI :", int(numpy.mean(azi_vel)),"°/seg")
else:
print("[ ON ] MODE RHI")
list_ped = getfirstFilefromPath(path=path_ped,meta="PE",ext=".hdf5")
ff_pedestal = list_ped[2]
ele_vel = getDatavaluefromDirFilename(path=path_ped,file=ff_pedestal,value="ele_vel")
V = round(ele_vel[0])
V = 8.0#10.0
print("VELOCIDAD ELE :", int(numpy.mean(ele_vel)),"°/seg")
print(" ")
#---------------------------------------------------------------------------------------
print("SELECCIONAR MODO: PULSE PAIR (0) O FREQUENCY (1)")
mode_proc = 0
if mode_proc==0:
print("[ ON ] MODE PULSEPAIR")
else:
print("[ ON ] MODE FREQUENCY")
ipp = 60.0
print("IPP(Km.) : %1.2f"%ipp)
ipp_sec = (ipp*1.0e3/150.0)*1.0e-6
print("IPP(useg.) : %1.2f"%(ipp_sec*(1.0e6)))
VEL=V
n= int(1/(VEL*ipp_sec))
print("N° Profiles : ", n)
#--------------------------------------------
plot_rti = 0
plot_rhi = 1
integration = 1
save = 0
#---------------------------RANGO DE PLOTEO----------------------------------
dBmin = '1'
dBmax = '85'
xmin = '17'
xmax = '17.25'
ymin = '0'
ymax = '600'
#----------------------------------------------------------------------------
time.sleep(3)
#---------------------SIGNAL CHAIN ------------------------------------
desc = "USRP_WEATHER_RADAR"
filename = "USRP_processing.xml"
controllerObj = Project()
controllerObj.setup(id = '191', name='Test_USRP', description=desc)
#---------------------UNIDAD DE LECTURA--------------------------------
readUnitConfObj = controllerObj.addReadUnit(datatype='DigitalRFReader',
path=path_adq,
startDate="2022/02/17",#today,
endDate="2022/02/17",#today,
startTime='00:00:00',
endTime='23:59:59',
delay=0,
#set=0,
online=0,
walk=1,
ippKm=ipp)
procUnitConfObjA = controllerObj.addProcUnit(datatype='VoltageProc',inputId=readUnitConfObj.getId())
opObj11 = procUnitConfObjA.addOperation(name='selectHeights')
opObj11.addParameter(name='minIndex', value='1', format='int')
# opObj11.addParameter(name='maxIndex', value='10000', format='int')
opObj11.addParameter(name='maxIndex', value='400', format='int')
if mode_proc==0:
opObj11 = procUnitConfObjA.addOperation(name='PulsePair', optype='other')
opObj11.addParameter(name='n', value=int(n), format='int')
procUnitConfObjB= controllerObj.addProcUnit(datatype='ParametersProc',inputId=procUnitConfObjA.getId())
if integration==1:
opObj11 = procUnitConfObjB.addOperation(name='PedestalInformation')
opObj11.addParameter(name='path_ped', value=path_ped)
opObj11.addParameter(name='t_Interval_p', value='0.01', format='float')
opObj11.addParameter(name='wr_exp', value='RHI')
if plot_rhi==1:
opObj11 = procUnitConfObjB.addOperation(name='Block360')
opObj11.addParameter(name='n', value='10', format='int')
opObj11.addParameter(name='mode', value=mode_proc, format='int')
# este bloque funciona bien con divisores de 360 no olvidar 0 10 20 30 40 60 90 120 180
opObj11= procUnitConfObjB.addOperation(name='WeatherRHIPlot',optype='other')
opObj11.addParameter(name='save', value=figpath_pp_rhi)
opObj11.addParameter(name='save_period', value=1)
controllerObj.start()