EWDriftsMP_01feb2023.py
262 lines
| 13.7 KiB
| text/x-python
|
PythonLexer
|
r1743 | |||
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' | ||||
r1750 | path = '/mnt/mp/ISR_JULIA/d2024092' | |||
|
r1743 | #pathFigure = '/media/pcondor/DATA1/Database/ewdriftsschain2023wh5' | ||
r1750 | pathFile = '/mnt/data10tb/MP/ewdriftsschain2024prueb' | |||
|
r1743 | 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') | ||||
r1750 | opObj20.addParameter(name='path', value='/home/operaciones/DIR_MAD/schain/schainpy/model/proc', format='str') | |||
|
r1743 | 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() | ||||