|
|
|
|
|
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()
|
|
|
|