##// END OF EJS Templates
UPDATE Repository desarroll drifts_schain, antigua version de WindProfiler en comparar 2.py
UPDATE Repository desarroll drifts_schain, antigua version de WindProfiler en comparar 2.py

File last commit:

r1750:711be076c23b
r1771:ed72d0635cd3
Show More
EWDriftsMP_01feb2023.py
262 lines | 13.7 KiB | text/x-python | PythonLexer
/ schainpy / scripts / EWDriftsMP_01feb2023.py
import os, sys
import json
#from controller import *
from schainpy.controller import Project
desc = "EW DRIFTS MP Experiment"
filename = "EWDrifts.xml"
controllerObj = Project()
controllerObj.setup(id = '191', name='test01', description=desc)
#Experimentos
#path = "/data/dia"
#path = '/home/pcondor/data'
#path = '/media/pcondor/DATA1/Database/ewdriftsschain2023prue/data'
#path = '/data/2024_01/MP_ISR/main_radar/rawdata/d2024023'
path = '/mnt/mp/ISR_JULIA/d2024092'
#pathFigure = '/media/pcondor/DATA1/Database/ewdriftsschain2023wh5'
pathFile = '/mnt/data10tb/MP/ewdriftsschain2024prueb'
pathFigure = pathFile
pathFileavg = pathFile+'/avg'
pathFiledata = pathFile+'/Drifts-data'
#pathFileavg = '/media/pcondor/DATA1/Database/ewdriftsschain2023wh5/avg'
#pathFiledata = '/media/pcondor/DATA1/Database/ewdriftsschain2023wh5/Drifts-data'
xmin = 0
xmax = 24
#------------------------------------------------------------------------------------------------
readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader',
path=path,
startDate='2024/04/01',
endDate='2024/04/01',
startTime='00:00:00',
endTime='23:59:59',
online=0,
getByBlock=1,
walk=0)
#--------------------------------------------------------------------------------------------------
procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId())
#opObj11 = procUnitConfObj0.addOperation(name='selectHeights')
# # opObj11.addParameter(name='minHei', value='320.0', format='float')
# # opObj11.addParameter(name='maxHei', value='350.0', format='float')
#opObj11.addParameter(name='minHei', value='0.01', format='float')
#opObj11.addParameter(name='maxHei', value='960.0', format='float')
opObj11 = procUnitConfObj0.addOperation(name='selectChannels')
opObj11.addParameter(name='channelList', value='0,0,1,1', format='intlist')
#opObj11 = procUnitConfObj0.addOperation(name='Reshaper')
#opObj11.addParameter(name='shape', value='(500,980)', format='intlist')
opObj11 = procUnitConfObj0.addOperation(name='ProfileSelector', optype='other')
opObj11.addParameter(name='profileRangeList', value='0,127', format='intlist')
opObj11 = procUnitConfObj0.addOperation(name='filterByHeights')
opObj11.addParameter(name='window', value='10', format='int')
code=[[-1,-1,1],[1,1,-1]]
#code = [[1,1,-1],[-1,-1,1],[1,1,-1],[1,1,-1],[1,1,-1],[-1,-1,1],[-1,-1,1],[1,1,-1],[1,1,-1],[-1,-1,1],[1,1,-1],[1,1,-1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[1,1,-1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[1,1,-1],[1,1,-1],[-1,-1,1],[-1,-1,1],[1,1,-1],[-1,-1,1],[1,1,-1],[1,1,-1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[1,1,-1],[-1,-1,1],[1,1,-1],[1,1,-1],[-1,-1,1],[-1,-1,1],[1,1,-1],[1,1,-1],[-1,-1,1],[1,1,-1],[-1,-1,1],[-1,-1,1],[1,1,-1],[1,1,-1],[-1,-1,1],[-1,-1,1],[1,1,-1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[1,1,-1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[1,1,-1],[1,1,-1],[1,1,-1],[1,1,-1],[1,1,-1],[1,1,-1],[1,1,-1],[1,1,-1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[1,1,-1],[-1,-1,1],[1,1,-1],[1,1,-1],[-1,-1,1],[-1,-1,1],[1,1,-1],[-1,-1,1],[1,1,-1],[1,1,-1],[1,1,-1],[1,1,-1],[-1,-1,1],[1,1,-1],[1,1,-1],[1,1,-1],[-1,-1,1],[1,1,-1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[1,1,-1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[1,1,-1],[1,1,-1],[1,1,-1],[1,1,-1],[1,1,-1],[-1,-1,1],[1,1,-1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[1,1,-1],[-1,-1,1],[1,1,-1],[-1,-1,1],[1,1,-1],[1,1,-1],[-1,-1,1],[1,1,-1],[-1,-1,1],[-1,-1,1],[1,1,-1],[1,1,-1],[-1,-1,1],[1,1,-1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[1,1,-1],[-1,-1,1],[-1,-1,1],[1,1,-1],[-1,-1,1],[1,1,-1],[1,1,-1],[-1,-1,1],[-1,-1,1],[1,1,-1],[-1,-1,1],[1,1,-1],[1,1,-1],[1,1,-1],[-1,-1,1],[1,1,-1],[-1,-1,1],[-1,-1,1],[1,1,-1],[1,1,-1],[1,1,-1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[1,1,-1],[-1,-1,1],[-1,-1,1],[1,1,-1],[1,1,-1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[1,1,-1],[-1,-1,1],[1,1,-1],[1,1,-1],[1,1,-1],[1,1,-1],[1,1,-1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[1,1,-1],[1,1,-1],[1,1,-1],[-1,-1,1],[-1,-1,1],[1,1,-1],[1,1,-1],[1,1,-1],[1,1,-1],[1,1,-1],[-1,-1,1],[1,1,-1],[1,1,-1],[-1,-1,1],[1,1,-1],[1,1,-1],[-1,-1,1],[-1,-1,1],[-1,-1,1],[1,1,-1],[1,1,-1],[1,1,-1],[1,1,-1],[1,1,-1],[-1,-1,1],[-1,-1,1],[1,1,-1],[-1,-1,1],[-1,-1,1],[1,1,-1],[1,1,-1]]
opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other')
opObj11.addParameter(name='code', value=code, format='floatlist')
opObj11.addParameter(name='nCode', value='2', format='int')
opObj11.addParameter(name='nBaud', value='3', format='int')
opObj11 = procUnitConfObj0.addOperation(name='selectHeights')
opObj11.addParameter(name='minHei', value='0.0', format='float')
opObj11.addParameter(name='maxHei', value='960', format='float')
procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId())
procUnitConfObj1.addParameter(name='nFFTPoints', value='128', format='int')
procUnitConfObj1.addParameter(name='nProfiles', value='128', format='int')
#procUnitConfObj1.addParameter(name='pairsList', value='(2,3),(4,5)', format='pairsList')#,(2,3)
procUnitConfObj1.addParameter(name='pairsList', value='(0,1),(2,3)', format='pairsList')
#opObj11 = procUnitConfObj1.addOperation(name='selectHeights')
# # opObj11.addParameter(name='minHei', value='320.0', format='float')
# # opObj11.addParameter(name='maxHei', value='350.0', format='float')
#opObj11.addParameter(name='minHei', value='0.0', format='float')
#opObj11.addParameter(name='maxHei', value='960.0', format='float')
#opObj11 = procUnitConfObj1.addOperation(name='selectChannels')
#opObj11.addParameter(name='channelList', value='2,3,4,5', format='intlist')
opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other')
opObj11.addParameter(name='n', value='1', format='float')
#opObj11.addParameter(name='timeInterval', value='300.0', format='float')
#opObj13 = procUnitConfObj1.addOperation(name='removeDC')
#opObj14 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other')
#opObj14.addParameter(name='id', value='65', format='int')
## # opObj14.addParameter(name='wintitle', value='Con interf', format='str')
#opObj14.addParameter(name='save', value=pathFigure, format='str')
##opObj14.addParameter(name='save_period', value=1, format='int')
#opObj14.addParameter(name='zmin', value='10', format='int')
#opObj14.addParameter(name='zmax', value='26', format='int')
#
#opObj12 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other')
#opObj12.addParameter(name='id', value='63', format='int')
#opObj12.addParameter(name='wintitle', value='RTI Plot', format='str')
#opObj12.addParameter(name='save', value=pathFigure, format='str')
#opObj12.addParameter(name='save_period', value=10, format='int')
##opObj12.addParameter(name='figpath', value = pathFigure, format='str')
#opObj12.addParameter(name='xmin', value=xmin, format='float')
#opObj12.addParameter(name='xmax', value=xmax, format='float')
#opObj12.addParameter(name='zmin', value='20', format='int')
#opObj12.addParameter(name='zmax', value='36', format='int')
#--------------------------------------------------------------------------------------------------
procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId())
opObj20 = procUnitConfObj2.addOperation(name='SpectralFitting', optype='other')
opObj20.addParameter(name='path', value='/home/operaciones/DIR_MAD/schain/schainpy/model/proc', format='str')
opObj20.addParameter(name='file', value='modelSpectralFitting', format='str')
opObj20.addParameter(name='groupList', value='(0,1),(2,3)',format='multiList')
opObj20.addParameter(name='taver', value='5')
opObj20.addParameter(name='coh_th', value='[1]',format='multiList')
opObj20.addParameter(name='hei_th', value='[2000]',format='multiList')
#opObj20.addParameter(name='filec', value='weightfit', format='str')
opObj22 = procUnitConfObj2.addOperation(name='HDFWriter', optype='other')
opObj22.addParameter(name='path', value=pathFiledata)
opObj22.addParameter(name='blocksPerFile', value='1')
opObj22.addParameter(name='metadataList',value='heightList,timeZone')
opObj22.addParameter(name='dataList',value='tmp_spectra_i,tmp_cspectra_i,tmp_spectra_c,tmp_cspectra_c,clean_num_aver,coh_num_aver,sat_spectra,sat_cspectra,index,utctime,nIncohInt,nCohInt,nProfiles,nFFTPoints,ippFactor,ippSeconds,paramInterval')
##opObj22.addParameter(name='dataList',value='tmp_spectra_i,tmp_cspectra_i,tmp_spectra_c,tmp_cspectra_c,clean_num_aver,coh_num_aver,index,utctime,nIncohInt,nCohInt,nProfiles,nFFTPoints,normFactor,channelList,ippFactor,ippSeconds')
#angles :-2.41116 3.01082
opObj21 = procUnitConfObj2.addOperation(name='EWDriftsEstimation', optype='other')
opObj21.addParameter(name='zenith', value='-2.41116, 3.01082', format='floatlist')
opObj21.addParameter(name='zenithCorrection', value='0.0', format='float')
opObj21.addParameter(name='fileDrifts', value=pathFile)
# Drifts en h5
one = {'gdlatr': 'lat', 'gdlonr': 'lon', 'spcst':'spcst','pl':'pl','cbadn':'cbadn','inttms': 'inttms','azdir7':'azw','eldir7':'elw','azdir8':'aze','eldir8':'ele','jro14':'jro14','jro15':'jro15','jro16':'jro16','nwlos':'nwlos'}
two = {
'range': ('params', 0),
'gdalt': ('params', 1),
'VIPN': ('params', 2),
'dvipn': ('params', 3),
'vipe': ('params', 4),
'dvipe': ('params', 5),
'vi7': ('params', 6),
'dvi7': ('params', 7),
'vi8': ('params', 8),
'dvi8': ('params', 9),
'PAIWL': ('params', 10),
'pacwl': ('params', 11),
'pbiwl': ('params', 12),
'pbcwl': ('params', 13),
'pciel': ('params', 14),
'pccel': ('params', 15),
'pdiel': ('params', 16),
'pdcel': ('params', 17),
'jro10': ('params', 18),
'jro11': ('params', 19)
} #writer
ind = ['gdalt']
meta = {
'kinst': 10, #instrument code
'kindat': 1910, #type of data
'catalog': {
'principleInvestigator': 'Danny Scipión',
'expPurpose': 'Drifts'#,
#'sciRemarks': file_contents
},
'header': {
'analyst': 'Danny Scipión'
}
}
op_writer = procUnitConfObj2.addOperation(name='MADWriter')
op_writer.addParameter(name='path', value=pathFile)
op_writer.addParameter(name='format', value='hdf5')
op_writer.addParameter(name='oneDDict', value=json.dumps(one))
op_writer.addParameter(name='twoDDict', value=json.dumps(two))
op_writer.addParameter(name='ind2DList', value=json.dumps(ind))
op_writer.addParameter(name='metadata', value=json.dumps(meta))
op_writer = procUnitConfObj2.addOperation(name='setHeightDriftsavg')
# Avg Drifts
one_avg = {'gdlatr': 'lat', 'gdlonr': 'lon', 'spcst':'spcst','pl':'pl','cbadn':'cbadn','inttms': 'inttms'}
two_avg = {
'range': ('params_avg', 4),
'gdalt': ('params_avg', 5),
'altav': ('params_avg', 6),
'VIPN': ('params_avg', 0),
'dvipn': ('params_avg', 1),
'vipe': ('params_avg', 2),
'dvipe': ('params_avg', 3)
}
ind_avg = ['gdalt']
meta = {
'kinst': 10, #instrument code
'kindat': 1911, #type of data
'catalog': {
'principleInvestigator': 'Danny Scipión',
'expPurpose': 'Drifts'#,
#'sciRemarks': file_contents
},
'header': {
'analyst': 'Danny Scipión'
}
}
#dataOut.heightList = dataOut.params_avg[4]
op_writer = procUnitConfObj2.addOperation(name='MADWriter')
op_writer.addParameter(name='path', value=pathFileavg)
op_writer.addParameter(name='format', value='hdf5')
op_writer.addParameter(name='oneDDict', value=json.dumps(one_avg))
op_writer.addParameter(name='twoDDict', value=json.dumps(two_avg))
op_writer.addParameter(name='ind2DList', value=json.dumps(ind_avg))
op_writer.addParameter(name='metadata', value=json.dumps(meta))
op_writer = procUnitConfObj2.addOperation(name='setHeightDrifts')
opObj24 = procUnitConfObj2.addOperation(name='SpectralMomentsPlot', optype='other')
opObj24.addParameter(name='id', value='1', format='int')
### # opObj14.addParameter(name='wintitle', value='Spectral Averaged', format='str')
opObj24.addParameter(name='save', value=pathFigure, format='str')
###opObj24.addParameter(name='save_period', value=1, format='int')
opObj24.addParameter(name='zmin', value='-8', format='int')
opObj24.addParameter(name='zmax', value='16', format='int')
opObj24.addParameter(name='xaxis', value='Velocity', format='str')
#
titles=('SNR,Vertical Drifts,Zonal Drifts')
#titles=('Zonal Drifts,Vertical Drifts')
opObj23 = procUnitConfObj2.addOperation(name='GenericRTIPlot')
opObj23.addParameter(name='colormaps', value='jet,RdBu_r,RdBu_r')
opObj23.addParameter(name='attr_data', value='data_snr1,data_output')
#opObj23.addParameter(name='colormaps', value='RdBu,RdBu')
#opObj23.addParameter(name='attr_data', value='data_output')
opObj23.addParameter(name='wintitle', value='EW Drifts')
opObj23.addParameter(name='save', value=pathFigure)
opObj23.addParameter(name='titles', value=titles)
opObj23.addParameter(name='zfactors', value='1,1,1')
opObj23.addParameter(name='zlimits', value='(-5,20),(-50,50),(-150,150)')
opObj23.addParameter(name='cb_labels', value='dB,m/s,m/s')
#opObj23.addParameter(name='titles', value=titles)
#opObj23.addParameter(name='zfactors', value='1,1')
#opObj23.addParameter(name='zlimits', value='(-150,150),(-40,40)')
#opObj23.addParameter(name='cb_labels', value='m/s,m/s')
opObj23.addParameter(name='throttle', value='1')
opObj23.addParameter(name='xmin', value=xmin)
opObj23.addParameter(name='xmax', value=xmax)
#opObj23.addParameter(name='exp_code', value='110', format='int')
#opObj23.addParameter(name='server', value='10.10.110.243:4444', format='int')
#opObj23.addParameter(name='tag', value= 'jicamarca', format='str')
#--------------------------------------------------------------------------------------------------
controllerObj.start()