##// 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:

r1535:0450a3a7a48e
r1759:c8ee9da660f1
Show More
sophy_proc_rev007.py
117 lines | 5.7 KiB | text/x-python | PythonLexer
import os,sys,json
import datetime
import time
import argparse
from schainpy.controller import Project
'''
NOTA:
Este script de prueba.
- Unidad del lectura 'HDFReader'.
- Unidad de procesamiento ParametersProc
'''
PATH = "/home/soporte/Documents/EVENTO/HYO_PM@2022-06-09T15-05-12/paramC0N36.0/2022-06-09T18-00-00/"
#PATH = "/home/soporte/Documents/EVENTO/HYO_PM@2022-06-09T15-05-12/param/2022-06-09T18-00-00/"
#PATH = "/home/soporte/Documents/EVENTO/HYO_PM@2022-06-09T15-05-12/paramC0N36.0/2022-06-09T19-00-00/"
#PATH = "/home/soporte/Documents/EVENTO/HYO_PM@2022-05-31T12-00-17/paramC0N36.0/2022-05-31T16-00-00/"
path = PATH
PARAM = {
'S': {'zmin': -45, 'zmax': -25, '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': {'zmin': -12, 'zmax': 12, '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': -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': 'm/s', 'ch':0}
}
def main(args):
#filefmt="******%Y%m%d*%H%M%S*******"
#filefmt="SOPHY_20220609_184620_E8.0_Z"
parameters = args.parameters
grado = args.grado
MASK = None
for param in parameters:
filefmt ="******%Y%m%d*%H%M%S*******"
filter= "_E"+str(grado)+".0_"+param
variable = 'Data/'+PARAM[param]['wrname']+'/H'
desc = {
'Data': {
'data_param': [variable],
'utctime' : 'Data/time'
},
'Metadata': {
'heightList': 'Metadata/range',
'data_azi' : 'Metadata/azimuth',
'data_ele' : 'Metadata/elevation',
'mode_op' : 'Metadata/scan_type',
'h0' : 'Metadata/range_correction',
}
}
project = Project()
project.setup(id='10',name='Test Simulator',description=desc)
readUnitConfObj = project.addReadUnit(datatype='HDFReader',
path=path,
startDate="2022/01/01", #"2020/01/01",#today,
endDate= "2022/12/01", #"2020/12/30",#today,
startTime='00:00:00',
endTime='23:59:59',
delay=0,
#set=0,
online=0,
walk=0,
filefmt=filefmt,
filter=filter,
dparam= 1,
description= json.dumps(desc))#1
proc1 = project.addProcUnit(datatype='ParametersProc',inputId=readUnitConfObj.getId())
if args.plot:
print("plotea")
op= proc1.addOperation(name='WeatherParamsPlot')
if args.save:
op.addParameter(name='save', value=path_plots, format='str')
op.addParameter(name='save_period', value=-1)
op.addParameter(name='show', value=args.show)
op.addParameter(name='channels', value='0,')
op.addParameter(name='zmin', value=PARAM[param]['zmin'], format='int')
op.addParameter(name='zmax', value=PARAM[param]['zmax'], format='int')
op.addParameter(name='attr_data', value=param, format='str')
op.addParameter(name='labels', value=[PARAM[param]['label']])
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')
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')
project.start()
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='Script to process SOPHy data.')
parser.add_argument('--parameters', nargs='*', default=['S'],
help='Variables to process: P, Z, V ,W')
parser.add_argument('--grado', default=2,
help='Angle in Elev to plot')
parser.add_argument('--save', default=0,
help='Save plot')
parser.add_argument('--range', default=0, type=float,
help='Max range to plot')
parser.add_argument('--plot', action='store_true',
help='Create plot files')
parser.add_argument('--show', action='store_true',
help='Show matplotlib plot.')
parser.add_argument('--server', action='store_true',
help='Send to realtime')
args = parser.parse_args()
main(args)