##// END OF EJS Templates
last 30-16:19
last 30-16:19

File last commit:

r1405:49f004b59e80
r1405:49f004b59e80
Show More
SOPHY_test0001.py
118 lines | 5.5 KiB | text/x-python | PythonLexer
# Ing. AVP
# 01/11/2021
# ARCHIVO DE LECTURA
import os, sys
import datetime
import time
from schainpy.controller import Project
print("----[Setup]-RadarMeteorologico--------")
Vel = 10
modo_proc = 0 # 0 Pulse Pair 1 Spectros
#-----------PATH DE DATOS-----------------------#
#------------VERIFICAR SIEMPRE LA FECHA DE LA DATA
path = "/DATA_RM/10"
path_ped = "/DATA_RM/TEST_PEDESTAL/P20211110-171003"
figpath_pp = "/home/soporte/Pictures/TEST_POT"
figpath_ppi_pp = "/home/soporte/Pictures/ppi_PP_30DIC_4"
#-------------------------------------------------------------------
print("----[OPCIONES]------------------------")
op_plot = 0
op_integration = 1
op_save = 1
op_plot_spec = 0
#-------------------------------------
################# RANGO DE PLOTEO######################################
dBmin = '1'
dBmax = '85'
xmin = '17.1'
xmax = '17.25'
ymin = '0'
ymax = '600'
#-------------------NRO Perfiles PROCESAMIENTO --------------------
V=Vel
IPP=400*1e-6
n= int(1/(V*IPP))
print("* n - NRO Perfiles Proc:", n )
time.sleep(3)
#------------------------SIGNAL CHAIN ------------------------------
desc = "USRP_test"
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,
startDate= "2021/11/10",#today,
endDate = "2021/12/30",#today,
startTime= '00:00:25',
endTime = '23:59:59',
delay = 0,
online = 0,
walk = 1,
ippKm = 60)
opObj11 = readUnitConfObj.addOperation(name='printInfo')
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 modo_proc ==0:
#----------------------------------------PULSE PAIR --------------------------------------------------#
opObj11 = procUnitConfObjA.addOperation(name='PulsePair', optype='other')
opObj11.addParameter(name='n', value=int(n), format='int')#10 VOY A USAR 250 DADO QUE LA VELOCIDAD ES 10 GRADOS
#opObj11.addParameter(name='removeDC', value=1, format='int')
#------------------------ METODO Parametros -----------------------------------------------------------
procUnitConfObjB= controllerObj.addProcUnit(datatype='ParametersProc',inputId=procUnitConfObjA.getId())
if op_plot==1:
opObj11 = procUnitConfObjB.addOperation(name='GenericRTIPlot',optype='external')
opObj11.addParameter(name='attr_data', value='dataPP_POW')
opObj11.addParameter(name='colormap', value='jet')
#opObj11.addParameter(name='xmin', value=xmin)
#opObj11.addParameter(name='xmax', value=xmax)
opObj11.addParameter(name='zmin', value=dBmin)
opObj11.addParameter(name='zmax', value=dBmax)
opObj11.addParameter(name='save', value=figpath_pp)
opObj11.addParameter(name='showprofile', value=0)
opObj11.addParameter(name='save_period', value=50)
####################### METODO ESCRITURA #######################################################################
if op_integration==1:
V=V
blocksPerfile=100
print("* Velocidad del Pedestal:",V)
tmp_blocksPerfile = 100
f_a_p= int(tmp_blocksPerfile/V)
opObj11 = procUnitConfObjB.addOperation(name='PedestalInformation')
opObj11.addParameter(name='path_ped', value=path_ped)
#opObj11.addParameter(name='path_adq', value=path_adq)
opObj11.addParameter(name='t_Interval_p', value='0.01', format='float')
opObj11.addParameter(name='blocksPerfile', value=blocksPerfile, format='int')
opObj11.addParameter(name='n_Muestras_p', value='100', format='float')
opObj11.addParameter(name='f_a_p', value=f_a_p, format='int')
opObj11.addParameter(name='online', value='0', format='int')
opObj11 = procUnitConfObjB.addOperation(name='Block360')
opObj11.addParameter(name='n', value='10', format='int')
opObj11.addParameter(name='mode', value=modo_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='WeatherPlot',optype='other')
opObj11.addParameter(name='save', value=figpath_ppi_pp)
opObj11.addParameter(name='save_period', value=1)
if op_save==1:
opObj10 = procUnitConfObjB.addOperation(name='HDFWriter')
opObj10.addParameter(name='path',value=figpath_ppi_pp)
#opObj10.addParameter(name='mode',value=0)
opObj10.addParameter(name='blocksPerFile',value='100',format='int')
opObj10.addParameter(name='metadataList',value='utctimeInit,timeZone,paramInterval,profileIndex,channelList,heightList,flagDataAsBlock',format='list')
opObj10.addParameter(name='dataList',value='dataPP_POW,dataPP_DOP,azimuth,utctime',format='list')#,format='list'
controllerObj.start()