##// END OF EJS Templates
Change merge in weatherparam
Change merge in weatherparam

File last commit:

r1535:0450a3a7a48e
r1726:cbbe5ce190d6
Show More
sophy_proc_rev007.py
117 lines | 5.7 KiB | text/x-python | PythonLexer
avaldezp
scripts de prueba para data procesada con signal chain y script proc_JC.py con los ultimos cambios y parametros de escritura
r1535 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)