From a8e64958fb6abd0750d91fcc7030b3299f8404bd 2022-06-30 20:16:18 From: Juan C. Espinoza Date: 2022-06-30 20:16:18 Subject: [PATCH] Merge branch 'v3.0-WR' of http://intranet.igp.gob.pe:8082/schain into v3.0-WR --- diff --git a/schainpy/scripts/giff_wr.py b/schainpy/scripts/giff_wr.py index b931c05..9f0dd09 100644 --- a/schainpy/scripts/giff_wr.py +++ b/schainpy/scripts/giff_wr.py @@ -3,16 +3,32 @@ import os #import imageio import imageio.v2 as imageio # Ubicación de la base de datos +''' #path = '/home/soporte/Downloads/plots_C0/S/6/6_evento0/' path= '/home/soporte/Documents/EVENTO/HYO_PM@2022-06-09T15-05-12/plotsC0_PL_R60.0km/V_PPI_EL_8.0CH0/' - path= '/home/soporte/Documents/EVENTO/HYO_PM@2022-05-31T12-00-17/plotsC0_PL_R60.0km_removeDC/V_PPI_EL_8.0CH0/' - path= '/home/soporte/Documents/EVENTO/HYO_PM@2022-06-09T15-05-12/plotsC0_FD_PL_R15.0km_removeDC/Z_PPI_EL_2.0CH0/' path= '/home/soporte/Documents/EVENTO/HYO_PM@2022-06-09T15-05-12/plotsC0_FD_PL_R15.0km/Z_PPI_EL_8.0CH0/' - - path= '/home/soporte/Documents/EVENTO/HYO_PM@2022-06-09T15-05-12/paramC0N36.0/2022-06-09T18-00-00/W_E.2CH0/' +''' +#-------------------------------------------------------------------------------------------------------- +#pulse pair +#path = '/home/soporte/Documents/EVENTO/HYO_PM@2022-06-09T15-05-12/plotsC0_PL_R28.0km/Z_PPI_EL_2.0CH0/' +#path = '/home/soporte/Documents/EVENTO/HYO_PM@2022-06-09T15-05-12/plotsC0_PL_R28.0km/W_PPI_WE_L8.0CH0/' +#--------------------------------------------------------------------------------------------------------- +#pulse pair REMOVEDC +#path = '/home/soporte/Documents/EVENTO/HYO_PM@2022-06-09T15-05-12/plotsC0_PL_R28.0km_removeDC/V_PPI_EL_2.0CH0/' +#path = '/home/soporte/Documents/EVENTO/HYO_PM@2022-06-09T15-05-12/plotsC0_PL_R28.0km_removeDC/W_PPI_WE_L8.0CH0/' +#---------------------------------------------------------------------------------------------------------- +#Spectro +#path = '/home/soporte/Documents/EVENTO/HYO_PM@2022-06-09T15-05-12/plotsC0_FD_PL_R28.0km/V_PPI_EL_2.0CH0/' +path = '/home/soporte/Documents/EVENTO/HYO_PM@2022-06-09T15-05-12/plotsC0_FD_PL_R28.0km/W_PPI_WE_L8.0CH0/' + +#--------------------------------------------------------------------------------------------------------- +#Spectro REMOVEDC +path = '/home/soporte/Documents/EVENTO/HYO_PM@2022-06-09T15-05-12/plotsC0_FD_PL_R28.0km_removeDC/V_PPI_EL_8.0CH0/' +#path = '/home/soporte/Documents/EVENTO/HYO_PM@2022-06-09T15-05-12/plotsC0_FD_PL_R28.0km_removeDC/W_PPI_WE_L2.0CH0/' + archivos = sorted(os.listdir(path)) @@ -30,4 +46,6 @@ for x in range(0, len(archivos)): img_array.append(leer_imagen) #Guardar Gif -imageio.mimwrite('evento_PL_PP_2_28KM_W', img_array, 'GIF', duration=0.5) +#imageio.mimwrite('/home/soporte/Documents/giff_28km/evento_PL_PP_8_28KM_W', img_array, 'GIF', duration=0.5) +#imageio.mimwrite('/home/soporte/Documents/giff_28km/evento_PL_PP_8_28KM_W_reDC', img_array, 'GIF', duration=0.5) +imageio.mimwrite('/home/soporte/Documents/giff_28kmFD/evento_PL_FD_8_28KM_V_reDC', img_array, 'GIF', duration=0.5) diff --git a/schainpy/scripts/sophy_proc.py b/schainpy/scripts/sophy_proc.py index e723362..ba5a952 100644 --- a/schainpy/scripts/sophy_proc.py +++ b/schainpy/scripts/sophy_proc.py @@ -16,7 +16,7 @@ PARAM = { 'P': {'zmin': -180,'zmax': 180,'colormap': 'RdBu_r', 'label': 'PhiDP', 'wrname':'phiDP' , 'cb_label': 'º', 'ch':0}, 'D': {'zmin': -30, 'zmax': 80, 'colormap': 'sophy_r','label': 'ZDR','wrname':'differential_reflectivity' , 'cb_label': 'dBz','ch':0}, 'Z': {'zmin': -30, 'zmax': 80, 'colormap': 'sophy_r','label': 'Reflectivity ', 'wrname':'reflectivity', 'cb_label': 'dBz','ch':0}, - 'W': {'zmin': 0, 'zmax': 15, 'colormap': 'sophy_w','label': 'Spectral Width', 'wrname':'spectral_width', 'cb_label': 'hz', 'ch':0} + 'W': {'zmin': 0, 'zmax': 15, 'colormap': 'sophy_w','label': 'Spectral Width', 'wrname':'spectral_width', 'cb_label': 'm/s', 'ch':0} } def max_index(r, sample_rate, ipp): @@ -372,4 +372,4 @@ if __name__ == '__main__': main(args) -# python sophy_proc.py HYO_PM@2022-06-09T15-05-12 --parameters V --plot --save --show --range 36 +# python sophy_proc.py HYO_PM@2022-06-09T15-05-12 --parameters V --plot --save --show --range 36S diff --git a/schainpy/scripts/sophy_proc_rev004.py b/schainpy/scripts/sophy_proc_rev004.py index 9a4506f..2642b23 100644 --- a/schainpy/scripts/sophy_proc_rev004.py +++ b/schainpy/scripts/sophy_proc_rev004.py @@ -12,13 +12,14 @@ PATH = '/home/soporte/Documents/EVENTO/' PARAM = { 'S': {'zmin': -45, 'zmax': -15, 'colormap': 'jet', 'label': 'Power', 'wrname': 'power','cb_label': 'dBm', 'ch':0}, + 'SNR': {'zmin': -40, 'zmax': -20, 'colormap': 'jet', 'label': 'SNR', 'wrname': 'snr','cb_label': 'dB', 'ch':0}, #'V': {'name': 'dataPP_DOP', 'zmin': -10, 'zmax': 10, 'colormap': 'sophy_v', 'label': 'Velocity', 'wrname': 'velocity', 'cb_label': 'm/s', 'ch':0}, 'V': {'zmin': -10, 'zmax': 10, 'colormap': 'sophy_v', 'label': 'Velocity', 'wrname': 'velocity', 'cb_label': 'm/s', 'ch':0}, 'R': {'zmin': 0, 'zmax': 1, 'colormap': 'jet', 'label': 'RhoHV', 'wrname':'rhoHV', 'cb_label': '*', 'ch':0}, 'P': {'zmin': -180,'zmax': 180,'colormap': 'RdBu_r', 'label': 'PhiDP', 'wrname':'phiDP' , 'cb_label': 'º', 'ch':0}, - 'D': {'zmin': -20, 'zmax': 80, 'colormap': 'gist_ncar','label': 'ZDR','wrname':'differential_reflectivity' , 'cb_label': 'dBz','ch':0}, + 'D': {'zmin': -30, 'zmax': 80, 'colormap': 'gist_ncar','label': 'ZDR','wrname':'differential_reflectivity' , 'cb_label': 'dBz','ch':0}, 'Z': {'zmin': -30, 'zmax': 80, 'colormap': 'sophy_r','label': 'Reflectivity', 'wrname':'reflectivity', 'cb_label': 'dBz','ch':1}, - 'W': {'zmin': 0, 'zmax': 12, 'colormap': 'sophy_w','label': 'Spectral Width', 'wrname':'spectral_width', 'cb_label': 'hz', 'ch':1} + 'W': {'zmin': 0, 'zmax': 12, 'colormap': 'sophy_w','label': 'Spectral Width', 'wrname':'spectral_width', 'cb_label': 'm/s', 'ch':1} } def max_index(r, sample_rate, ipp): @@ -55,6 +56,8 @@ def main(args): #path_plots = os.path.join(PATH, experiment, 'plotsC0_PL_R'+str(args.range)+'km') #path_save = os.path.join(PATH, experiment, 'paramC0_PL_R'+str(args.range)+'km') RMIX = 1.62 + H0=-1.68 + MASK =0.3 from schainpy.controller import Project @@ -80,8 +83,6 @@ def main(args): op.addParameter(name='profileRangeList', value='{},{}'.format(conf['usrp_tx']['repetitions_1'], conf['usrp_tx']['repetitions_1']+conf['usrp_tx']['repetitions_2']-1)) - - if conf['usrp_tx']['code_type_2']: codes = [ c.strip() for c in conf['usrp_tx']['code_2'].split(',')] code = [] @@ -95,26 +96,32 @@ def main(args): op = voltage.addOperation(name='CohInt', optype='other') #Minimo integrar 2 perfiles por ser codigo complementario op.addParameter(name='n', value=len(code), format='int') ncode = len(code) + print("codes",codes) + print("nCode",len(code)) else: ncode = 1 - op = voltage.addOperation(name='setH0') - op.addParameter(name='h0', value='-1.68') if args.range > 0: op = voltage.addOperation(name='selectHeights') op.addParameter(name='minIndex', value='0', format='int') op.addParameter(name='maxIndex', value=max_index(args.range, sample_rate, ipp), format='int') + + op = voltage.addOperation(name='setH0') + op.addParameter(name='h0', value='-1.68' , format='float') + + op = voltage.addOperation(name='PulsePair_vRF', optype='other') op.addParameter(name='n', value=int(conf['usrp_tx']['repetitions_2'])/2, format='int') - #op.addParameter(name='removeDC', value=1, format='int') + op.addParameter(name='removeDC', value=1, format='int') proc = project.addProcUnit(datatype='ParametersProc', inputId=voltage.getId()) + proc.addParameter(name='runNextUnit', value=True) opObj10 = proc.addOperation(name="WeatherRadar") - opObj10.addParameter(name='variableList',value='Reflectividad,VelocidadRadial,AnchoEspectral') + #opObj10.addParameter(name='variableList',value='Reflectividad,VelocidadRadial,AnchoEspectral') opObj10.addParameter(name='tauW',value=(1e-6/sample_rate)*len(code[0])) opObj10.addParameter(name='Pt',value=((1e-6/sample_rate)*len(code[0])/ipp)*200) @@ -144,30 +151,48 @@ def main(args): op.addParameter(name='save_code', value=param) op.addParameter(name='cb_label', value=PARAM[param]['cb_label']) op.addParameter(name='colormap', value=PARAM[param]['colormap']) - op.addParameter(name='bgcolor',value='black') - op.addParameter(name='snr_threshold',value=0.4) + op.addParameter(name='bgcolor', value='black') + if MASK: op.addParameter(name='mask', value=MASK, format='float') + if args.server: + op.addParameter(name='server', value='0.0.0.0:4444') + op.addParameter(name='exp_code', value='400') desc = { 'Data': { - 'data_param': PARAM[param]['wrname'], + 'data_param': {PARAM[param]['wrname']: ['H', 'V']}, 'utctime': 'time' }, 'Metadata': { 'heightList': 'range', 'data_azi': 'azimuth', 'data_ele': 'elevation', + 'mode_op': 'scan_type', + 'h0': 'range_correction', } } if args.save: - opObj10 = proc.addOperation(name='HDFWriter') - opObj10.addParameter(name='path', value=path_save, format='str') - opObj10.addParameter(name='Reset', value=True) - opObj10.addParameter(name='setType', value='weather') - opObj10.addParameter(name=' description', value=json.dumps(desc)) - opObj10.addParameter(name='blocksPerFile', value='1',format='int') - opObj10.addParameter(name='metadataList', value='heightList,data_azi,data_ele') - opObj10.addParameter(name='dataList', value='{},utctime'.format(PARAM[param]['name'])) + writer = proc.addOperation(name='HDFWriter') + writer.addParameter(name='path', value=path_save, format='str') + writer.addParameter(name='Reset', value=True) + writer.addParameter(name='setType', value='weather') + writer.addParameter(name='description', value=json.dumps(desc)) + writer.addParameter(name='blocksPerFile', value='1',format='int') + writer.addParameter(name='metadataList', value='heightList,data_azi,data_ele,mode_op,latitude,longitude,altitude,heading,radar_name,institution,contact,h0,range_unit') + writer.addParameter(name='dataList', value='data_param,utctime') + writer.addParameter(name='weather_var', value=param) + writer.addParameter(name='mask', value=MASK, format='float') + # meta + writer.addParameter(name='latitude', value='-12.040436') + writer.addParameter(name='longitude', value='-75.295893') + writer.addParameter(name='altitude', value='3379.2147') + writer.addParameter(name='heading', value='0') + writer.addParameter(name='radar_name', value='SOPHy') + writer.addParameter(name='institution', value='IGP') + writer.addParameter(name='contact', value='dscipion@igp.gob.pe') + writer.addParameter(name='created_by', value='Signal Chain (https://pypi.org/project/schainpy/)') + writer.addParameter(name='range_unit', value='km') + project.start() @@ -189,6 +214,8 @@ if __name__ == '__main__': help='Show matplotlib plot.') parser.add_argument('--online', action='store_true', help='Set online mode.') + parser.add_argument('--server', action='store_true', + help='Send to realtime') parser.add_argument('--start_time', default='', help='Set start time.') diff --git a/schainpy/scripts/sophy_proc_rev005.py b/schainpy/scripts/sophy_proc_rev005.py index 158004a..df0a7ae 100644 --- a/schainpy/scripts/sophy_proc_rev005.py +++ b/schainpy/scripts/sophy_proc_rev005.py @@ -19,7 +19,7 @@ PARAM = { 'P': {'name': 'PhiD_P', 'zmin': -180,'zmax': 180,'colormap': 'RdBu_r', 'label': 'PhiDP', 'wrname':'phiDP' , 'cb_label': 'º', 'ch':0}, 'D': {'name': 'Zdb_D', 'zmin': -20, 'zmax': 80, 'colormap': 'gist_ncar','label': 'ZDR','wrname':'differential_reflectivity' , 'cb_label': 'dBz','ch':0}, 'Z': {'name': 'Zdb', 'zmin': -30, 'zmax': 80, 'colormap': 'sophy_r','label': 'Reflectivity', 'wrname':'reflectivity', 'cb_label': 'dBz','ch':1}, - 'W': {'name': 'Sigmav_W', 'zmin': 0, 'zmax': 12, 'colormap': 'sophy_w','label': 'Spectral Width', 'wrname':'spectral_width', 'cb_label': 'hz', 'ch':1} + 'W': {'name': 'Sigmav_W', 'zmin': 0, 'zmax': 12, 'colormap': 'sophy_w','label': 'Spectral Width', 'wrname':'spectral_width', 'cb_label': 'm/s', 'ch':1} } def max_index(r, sample_rate, ipp): @@ -51,11 +51,12 @@ def main(args): N = int(1/(speed_axis[0]*ipp)) # 1 GRADO DE RESOLUCION path = os.path.join(PATH, experiment, 'rawdata') path_ped = os.path.join(PATH, experiment, 'position') - #path_plots = os.path.join(PATH, experiment, 'plotsC0_FD_PL_R'+str(args.range)+'km_removeDC') - #path_save = os.path.join(PATH, experiment, 'paramC0_FD_PL_R'+str(args.range)+'km_removeDC') - path_plots = os.path.join(PATH, experiment, 'plotsC0_FD_PL_R'+str(args.range)+'km') - path_save = os.path.join(PATH, experiment, 'paramC0_FD_PL_R'+str(args.range)+'km') + path_plots = os.path.join(PATH, experiment, 'plotsC0_FD_PL_R'+str(args.range)+'km_removeDC') + path_save = os.path.join(PATH, experiment, 'paramC0_FD_PL_R'+str(args.range)+'km_removeDC') + #path_plots = os.path.join(PATH, experiment, 'plotsC0_FD_PL_R'+str(args.range)+'km') + #path_save = os.path.join(PATH, experiment, 'paramC0_FD_PL_R'+str(args.range)+'km') RMIX = 1.62 + MASK =0.3 from schainpy.controller import Project @@ -112,8 +113,8 @@ def main(args): procB.addParameter(name='nFFTPoints', value=int(conf['usrp_tx']['repetitions_2'])/2, format='int') procB.addParameter(name='nProfiles', value=int(conf['usrp_tx']['repetitions_2'])/2, format='int') - #opObj11 = procB.addOperation(name='removeDC') - #opObj11.addParameter(name='mode', value=2) + opObj11 = procB.addOperation(name='removeDC') + opObj11.addParameter(name='mode', value=2) proc= project.addProcUnit(datatype='ParametersProc',inputId=procB.getId()) @@ -123,7 +124,7 @@ def main(args): #---------------------------------------NEW PROCESSING ----------------------------------------------------- opObj10 = proc.addOperation(name="WeatherRadar") - opObj10.addParameter(name='variableList',value='Reflectividad,VelocidadRadial,AnchoEspectral') + #opObj10.addParameter(name='variableList',value='Reflectividad,VelocidadRadial,AnchoEspectral') opObj10.addParameter(name='tauW',value=(1e-6/sample_rate)*len(code[0])) opObj10.addParameter(name='Pt',value=((1e-6/sample_rate)*len(code[0])/ipp)*200) @@ -156,27 +157,44 @@ def main(args): op.addParameter(name='bgcolor',value='black') op.addParameter(name='snr_threshold',value=0.4) + if MASK: op.addParameter(name='mask', value=MASK, format='float') + desc = { 'Data': { - 'data_param': PARAM[param]['wrname'], + 'data_param': {PARAM[param]['wrname']: ['H', 'V']}, 'utctime': 'time' }, 'Metadata': { 'heightList': 'range', 'data_azi': 'azimuth', 'data_ele': 'elevation', + 'mode_op': 'scan_type', + 'h0': 'range_correction', } } if args.save: - opObj10 = proc.addOperation(name='HDFWriter') - opObj10.addParameter(name='path', value=path_save, format='str') - opObj10.addParameter(name='Reset', value=True) - opObj10.addParameter(name='setType', value='weather') - opObj10.addParameter(name=' description', value=json.dumps(desc)) - opObj10.addParameter(name='blocksPerFile', value='1',format='int') - opObj10.addParameter(name='metadataList', value='heightList,data_azi,data_ele') - opObj10.addParameter(name='dataList', value='{},utctime'.format(PARAM[param]['name'])) + writer = proc.addOperation(name='HDFWriter') + writer.addParameter(name='path', value=path_save, format='str') + writer.addParameter(name='Reset', value=True) + writer.addParameter(name='setType', value='weather') + writer.addParameter(name='description', value=json.dumps(desc)) + writer.addParameter(name='blocksPerFile', value='1',format='int') + writer.addParameter(name='metadataList', value='heightList,data_azi,data_ele,mode_op,latitude,longitude,altitude,heading,radar_name,institution,contact,h0,range_unit') + writer.addParameter(name='dataList', value='data_param,utctime') + writer.addParameter(name='weather_var', value=param) + writer.addParameter(name='mask', value=MASK, format='float') + # meta + writer.addParameter(name='latitude', value='-12.040436') + writer.addParameter(name='longitude', value='-75.295893') + writer.addParameter(name='altitude', value='3379.2147') + writer.addParameter(name='heading', value='0') + writer.addParameter(name='radar_name', value='SOPHy') + writer.addParameter(name='institution', value='IGP') + writer.addParameter(name='contact', value='dscipion@igp.gob.pe') + writer.addParameter(name='created_by', value='Signal Chain (https://pypi.org/project/schainpy/)') + writer.addParameter(name='range_unit', value='km') + project.start() @@ -204,4 +222,4 @@ if __name__ == '__main__': args = parser.parse_args() - main(args) + main(args) # Operator#ñ8 diff --git a/schainpy/scripts/sophy_proc_rev006.py b/schainpy/scripts/sophy_proc_rev006.py index fe5540c..96d0afc 100644 --- a/schainpy/scripts/sophy_proc_rev006.py +++ b/schainpy/scripts/sophy_proc_rev006.py @@ -24,7 +24,7 @@ PARAM = { 'S': {'var': 'power','vmin': -45, 'vmax': -15, 'cmap': 'jet', 'label': 'Power','unit': 'dBm'}, 'V': {'var': 'velocity', 'vmin': -10, 'vmax': 10 , 'cmap': 'sophy_v', 'label': 'Velocity','unit': 'm/s'}, 'Z': {'var': 'reflectivity','vmin': -30, 'vmax': 80 , 'cmap': 'sophy_r','label': 'Reflectivity','unit': 'dBZ'}, - 'W': {'var': 'spectral_width', 'vmin': 0 , 'vmax': 12 , 'cmap': 'sophy_w','label': 'Spectral Width','unit': 'hz'} + 'W': {'var': 'spectral_width', 'vmin': 0 , 'vmax': 12 , 'cmap': 'sophy_w','label': 'Spectral Width','unit': 'm/s'} } class Readsophy(): def __init__(self):