Hybrid.py
520 lines
| 17.4 KiB
| text/x-python
|
PythonLexer
r1390 | ''' | |||
#!/usr/bin/python3.7.4 | ||||
''' | ||||
from schainpy.controller import Project | ||||
import json | ||||
controller = Project() | ||||
controller.setup(id = '001', | ||||
name='Hybrid', | ||||
description='DP+LP') | ||||
read_unit = controller.addReadUnit(datatype='VoltageReader', | ||||
#path='/home/roberto/Documents/data', | ||||
#path='/data/DP_19_12_Campaing', | ||||
#######path='/home/roberto/pum', | ||||
path='/home/roberto/puma/2020_09/lp_faraday', | ||||
###path='/home/roberto/puma/2020_02/hybrid2', | ||||
#path='/data', | ||||
#path='/home/roberto/dataHybrid/hybrid', | ||||
##path='/home/roberto/dataHybrid', | ||||
#######startDate='2019/10/14', | ||||
startDate='2020/09/03', | ||||
#######endDate='2019/10/20', | ||||
endDate='2020/09/03', | ||||
#startTime='05:58:26', | ||||
startTime='15:00:00', | ||||
endTime='23:59:59', | ||||
online=0, | ||||
getByBlock='True', | ||||
walk=0, | ||||
#nTries=2, | ||||
#nFiles=1, | ||||
delay=30) | ||||
############################################# | ||||
proc_unit = controller.addProcUnit(datatype='VoltageProc',inputId=read_unit.getId()) | ||||
op1 = proc_unit.addOperation(name='selectChannels') | ||||
op1.addParameter(name='channelList', value='0,1,2,3') | ||||
op121 = proc_unit.addOperation(name='ProfileSelector') | ||||
op121.addParameter(name='profileRangeList', value='0,149') | ||||
#op02 = proc_unit.addOperation(name='DuplicateData', optype='self') | ||||
#op002 = proc_unit.addOperation(name='filterByHeights2', optype='self') | ||||
#op002.addParameter(name='window', value='2', format='int') | ||||
op2 = proc_unit.addOperation(name='filterByHeights') | ||||
op2.addParameter(name='window', value='4') | ||||
#opp2 = proc_unit.addOperation(name='test111', optype='other') | ||||
op3 = proc_unit.addOperation(name='CrossProdHybrid') | ||||
op3.addParameter(name='NLAG', value='16') | ||||
op3.addParameter(name='NRANGE', value='200') | ||||
op3.addParameter(name='NCAL', value='0') | ||||
op3.addParameter(name='DPL', value='11') | ||||
op3.addParameter(name='NDN', value='0') | ||||
op3.addParameter(name='NDT', value='67') | ||||
op3.addParameter(name='NDP', value='67') | ||||
op3.addParameter(name='NSCAN', value='128') | ||||
op3.addParameter(name='lagind', value='(0,1,2,3,4,5,6,7,0,3,4,5,6,8,9,10)') | ||||
op3.addParameter(name='lagfirst', value='(1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1)') | ||||
op3.addParameter(name='NAVG', value='16') | ||||
op3.addParameter(name='nkill', value='6') | ||||
#op_LP_3 = proc_unit.addOperation(name='RemoveDebris', optype='other') | ||||
figpath='/home/roberto/Pictures/Test_Hybrid_2019_09_Reader+Fitter' | ||||
#figpath='/home/roberto/Pictures' | ||||
figpath='/home/roberto/Pictures/Test_Hybrid_2020_02_Reader_V2' | ||||
figpath='/home/roberto/Pictures/Hybrid_develop_manual' | ||||
op082 = proc_unit.addOperation(name='RTILPPlot') | ||||
op082.addParameter(name='id', value='177') | ||||
op082.addParameter(name='wintitle', value='RTI LP') | ||||
op082.addParameter(name='xmin', value='0') | ||||
op082.addParameter(name='xmax', value='24') | ||||
#op082.addParameter(name='ymin', value='180') | ||||
#op082.addParameter(name='ymax', value='600') | ||||
op082.addParameter(name='zmin', value='32') | ||||
op082.addParameter(name='zmax', value='80') | ||||
#op16.addParameter(name='showprofile', value='1') | ||||
#op16.addParameter(name='timerange', value=str(24*60*60)) | ||||
op082.addParameter(name='xrange', value=str(24*1)) | ||||
#op082.addParameter(name='save', value=figpath) | ||||
op080 = proc_unit.addOperation(name='CrossProductsPlot') | ||||
op080.addParameter(name='id', value='177') | ||||
op080.addParameter(name='wintitle', value='CrossProducts') | ||||
#op7.addParameter(name='xmin', value='0') | ||||
#op7.addParameter(name='xmax', value='24') | ||||
#op080.addParameter(name='ymin', value='180') | ||||
#op080.addParameter(name='ymax', value='600') | ||||
#op16.addParameter(name='zmin', value='32') | ||||
#op16.addParameter(name='zmax', value='62') | ||||
#op16.addParameter(name='showprofile', value='1') | ||||
#op16.addParameter(name='timerange', value=str(24*60*60)) | ||||
#op080.addParameter(name='save', value=figpath) | ||||
#op080.addParameter(name='save_period', value=10) | ||||
op082 = proc_unit.addOperation(name='RTIDPPlot') | ||||
op082.addParameter(name='id', value='177') | ||||
op082.addParameter(name='wintitle', value='RTI') | ||||
op082.addParameter(name='xmin', value='0') | ||||
op082.addParameter(name='xmax', value='24') | ||||
#op082.addParameter(name='ymin', value='180') | ||||
#op082.addParameter(name='ymax', value='600') | ||||
op082.addParameter(name='zmin', value='32') | ||||
op082.addParameter(name='zmax', value='62') | ||||
#op16.addParameter(name='showprofile', value='1') | ||||
#op16.addParameter(name='timerange', value=str(24*60*60)) | ||||
op082.addParameter(name='xrange', value=str(24*1), format='int') | ||||
#op082.addParameter(name='save', value=figpath, format='str') | ||||
op081 = proc_unit.addOperation(name='NoiseDPPlot') | ||||
op081.addParameter(name='id', value='178') | ||||
op081.addParameter(name='wintitle', value='Noise') | ||||
op081.addParameter(name='xmin', value='0') | ||||
op081.addParameter(name='xmax', value='24') | ||||
#op080.addParameter(name='ymin', value='180') | ||||
#op080.addParameter(name='ymax', value='600') | ||||
op081.addParameter(name='zmin', value='20') | ||||
op081.addParameter(name='zmax', value='65') | ||||
#op16.addParameter(name='showprofile', value='1') | ||||
op081.addParameter(name='xrange', value=str(24*1)) | ||||
#op16.addParameter(name='timerange', value=str(24*60*60)) | ||||
#op081.addParameter(name='save', value=figpath) | ||||
''' | ||||
''' | ||||
op080 = proc_unit.addOperation(name='CrossProductsLPPlot') | ||||
op080.addParameter(name='id', value='1777') | ||||
op080.addParameter(name='wintitle', value='CrossProducts') | ||||
#op080.addParameter(name='ymin', value='180') | ||||
#op080.addParameter(name='ymax', value='600') | ||||
#op080.addParameter(name='save', value=figpath) | ||||
op77_LP = proc_unit.addOperation(name='XmitWaveformPlot') #only works as it should when matplotlib.version>=3.2 | ||||
op77_LP.addParameter(name='id', value='65') | ||||
op77_LP.addParameter(name='wintitle', value='Xmit Waveform') | ||||
#op77_LP.addParameter(name='save', value=figpath) | ||||
op_LP_3 = proc_unit.addOperation(name='RemoveDebris') | ||||
''' | ||||
o=proc_unit.addOperation(name='printAttribute') | ||||
o.addParameter(name='attributes',value='flagNoData') | ||||
''' | ||||
''' | ||||
dataList=['kax','kay','kbx','kby','kax2','kay2','kbx2', | ||||
'kby2','kaxbx','kaxby','kaybx','kayby','kaxay', | ||||
'kbxby','FirstAVGDate','LastAVGDate', | ||||
'FirstBlockDate', | ||||
'utctime','TimeBlockSeconds','output_LP','noise_final'] | ||||
metadataList=['NAVG','DH','H0','DPL','NDP','NR','FirstHeight', | ||||
'MAXNRANGENDT','NLAG','heightList','timeZone','NRANGE','NSCAN'] | ||||
op221 = proc_unit.addOperation(name='HDFWriter') | ||||
op221.addParameter(name='path', value='/home/roberto/hdf5_outputs/test') | ||||
op221.addParameter(name='dataList', value=dataList) | ||||
op221.addParameter(name='metadataList', value=metadataList) | ||||
op221.addParameter(name='blocksPerFile', value=1000) | ||||
''' | ||||
''' | ||||
op21 = proc_unit.addOperation(name='DatWriter_New_V1') | ||||
op21.addParameter(name='experiment', value='HP') | ||||
op21.addParameter(name='path', value='/home/roberto/DatOut_Sch/Test_Hybrid/2020_09/test_reader') | ||||
op21.addParameter(name='format', value='out') | ||||
''' | ||||
op4 = proc_unit.addOperation(name='IntegrationHP') | ||||
op4.addParameter(name='nint', value='2') | ||||
op5 = proc_unit.addOperation(name='SumFlipsHP') | ||||
op6 = proc_unit.addOperation(name='FlagBadHeights') | ||||
#op7 = proc_unit.addOperation(name='GetNoise') | ||||
#op7 = proc_unit.addOperation(name='NoisePower') | ||||
op8 = proc_unit.addOperation(name='DoublePulseACFs') | ||||
op9 = proc_unit.addOperation(name='FaradayAngleAndDPPower') | ||||
op10 = proc_unit.addOperation(name='IGRFModel') | ||||
op11 = proc_unit.addOperation(name='ElectronDensityFaraday') | ||||
op11.addParameter(name='NSHTS', value='41') | ||||
op11.addParameter(name='RATE', value='1.8978873e-6') | ||||
op12 = proc_unit.addOperation(name='NormalizeDPPower') | ||||
#op12.addParameter(name='cut0', value='170') | ||||
#op12.addParameter(name='cut1', value='650') | ||||
op022 = proc_unit.addOperation(name='ACFs') | ||||
op012 = proc_unit.addOperation(name='DPTemperaturesEstimation') | ||||
op012.addParameter(name='IBITS', value='16') | ||||
op0122 = proc_unit.addOperation(name='LongPulseAnalysis') | ||||
op0122.addParameter(name='NACF', value='90') | ||||
#figpath='/home/roberto/Pictures/Test_Hybrid_2020_02_V2' | ||||
#figpath='/home/roberto/Pictures/Test_Hybrid_2019_09_Reader+Fitter' | ||||
#''' | ||||
op026 = proc_unit.addOperation(name='ACFsPlot') | ||||
op026.addParameter(name='id', value='177') | ||||
op026.addParameter(name='wintitle', value='ACFs DP') | ||||
#op7.addParameter(name='xmin', value='0') | ||||
#op7.addParameter(name='xmax', value='24') | ||||
#op016.addParameter(name='ymin', value='180') | ||||
#op016.addParameter(name='ymax', value='600') | ||||
#op16.addParameter(name='timerange', value=str(24*60*60)) | ||||
#op026.addParameter(name='save', value=figpath) | ||||
op026 = proc_unit.addOperation(name='ACFsLPPlot') | ||||
op026.addParameter(name='id', value='177') | ||||
op026.addParameter(name='wintitle', value='ACFs LP') | ||||
#op7.addParameter(name='xmin', value='0') | ||||
#op7.addParameter(name='xmax', value='24') | ||||
op026.addParameter(name='ymin', value='550') | ||||
#op026.addParameter(name='ymax', value='600') | ||||
#op16.addParameter(name='zmin', value='32') | ||||
#op16.addParameter(name='zmax', value='62') | ||||
#op16.addParameter(name='showprofile', value='1') | ||||
#op16.addParameter(name='timerange', value=str(24*60*60)) | ||||
#op026.addParameter(name='save', value=figpath) | ||||
op026 = proc_unit.addOperation(name='EDensityHPPlot') | ||||
op026.addParameter(name='id', value='179') | ||||
op026.addParameter(name='wintitle', value='Electron Density') | ||||
#op7.addParameter(name='xmin', value='0') | ||||
#op7.addParameter(name='xmax', value='24') | ||||
op026.addParameter(name='ymin', value='150') | ||||
op026.addParameter(name='ymax', value='1350') | ||||
#op16.addParameter(name='zmin', value='1000') | ||||
#op16.addParameter(name='zmax', value='10000000') | ||||
#op16.addParameter(name='showprofile', value='1') | ||||
#op16.addParameter(name='timerange', value=str(24*60*60)) | ||||
#op026.addParameter(name='save', value=figpath) | ||||
op0166 = proc_unit.addOperation(name='TempsHPPlot') | ||||
op0166.addParameter(name='id', value='1755') | ||||
op0166.addParameter(name='wintitle', value='Temperatures') | ||||
#op7.addParameter(name='xmin', value='0') | ||||
#op7.addParameter(name='xmax', value='24') | ||||
op0166.addParameter(name='ymin', value='160') | ||||
#op016.addParameter(name='ymax', value='600') | ||||
#op16.addParameter(name='zmin', value='32') | ||||
#op16.addParameter(name='zmax', value='62',) | ||||
#op16.addParameter(name='showprofile', value='1') | ||||
#op16.addParameter(name='timerange', value=str(24*60*60)) | ||||
#op0166.addParameter(name='save', value=figpath) | ||||
op0177 = proc_unit.addOperation(name='FracsHPPlot') | ||||
op0177.addParameter(name='id', value='1700') | ||||
op0177.addParameter(name='wintitle', value='Composition') | ||||
#op7.addParameter(name='xmin', value='0') | ||||
#op7.addParameter(name='xmax', value='24') | ||||
#op016.addParameter(name='ymin', value='180') | ||||
#op016.addParameter(name='ymax', value='600') | ||||
#op16.addParameter(name='zmin', value='32') | ||||
#op16.addParameter(name='zmax', value='62') | ||||
#op16.addParameter(name='showprofile', value='1') | ||||
#op16.addParameter(name='timerange', value=str(24*60*60)) | ||||
#op0177.addParameter(name='save', value=figpath) | ||||
#''' | ||||
op018 = proc_unit.addOperation(name='DataSaveCleanerHP') | ||||
op181 = proc_unit.addOperation(name='ETempRTIPlot') | ||||
op181.addParameter(name='id', value='176') | ||||
op181.addParameter(name='wintitle', value='ElectronTemp') | ||||
op181.addParameter(name='xmin', value='0') | ||||
op181.addParameter(name='xmax', value='24') | ||||
op181.addParameter(name='ymin', value='180') | ||||
op181.addParameter(name='ymax', value='1350') | ||||
op181.addParameter(name='zmin', value='500') | ||||
op181.addParameter(name='zmax', value='6500') | ||||
#op16.addParameter(name='showprofile', value='1') | ||||
op181.addParameter(name='xrange', value=str(24*1)) | ||||
#op16.addParameter(name='timerange', value=str(24*60*60)) | ||||
#op181.addParameter(name='save', value=figpath) | ||||
op182 = proc_unit.addOperation(name='ITempRTIPlot') | ||||
op182.addParameter(name='id', value='176') | ||||
op182.addParameter(name='wintitle', value='IonTemp') | ||||
op182.addParameter(name='xmin', value='0') | ||||
op182.addParameter(name='xmax', value='24') | ||||
op182.addParameter(name='ymin', value='180') | ||||
op182.addParameter(name='ymax', value='1350') | ||||
op182.addParameter(name='zmin', value='500') | ||||
op182.addParameter(name='zmax', value='6500') | ||||
#op16.addParameter(name='showprofile', value='1') | ||||
op182.addParameter(name='xrange', value=str(24*1)) | ||||
#op16.addParameter(name='timerange', value=str(24*60*60)) | ||||
#op182.addParameter(name='save', value=figpath) | ||||
op183 = proc_unit.addOperation(name='HFracRTIPlot') | ||||
op183.addParameter(name='id', value='176') | ||||
op183.addParameter(name='wintitle', value='H+ Frac') | ||||
op183.addParameter(name='xmin', value='0') | ||||
op183.addParameter(name='xmax', value='24') | ||||
op183.addParameter(name='ymin', value='180') | ||||
op183.addParameter(name='ymax', value='1350') | ||||
op183.addParameter(name='zmin', value='0') | ||||
op183.addParameter(name='zmax', value='1') | ||||
#op16.addParameter(name='showprofile', value='1') | ||||
op183.addParameter(name='xrange', value=str(24*1)) | ||||
#op16.addParameter(name='timerange', value=str(24*60*60)) | ||||
#op183.addParameter(name='save', value=figpath) | ||||
op184 = proc_unit.addOperation(name='HeFracRTIPlot') | ||||
op184.addParameter(name='id', value='176') | ||||
op184.addParameter(name='wintitle', value='He+ Frac') | ||||
op184.addParameter(name='xmin', value='0') | ||||
op184.addParameter(name='xmax', value='24') | ||||
op184.addParameter(name='ymin', value='180') | ||||
op184.addParameter(name='ymax', value='1350') | ||||
op184.addParameter(name='zmin', value='0') | ||||
op184.addParameter(name='zmax', value='0.5') | ||||
#op16.addParameter(name='showprofile', value='1') | ||||
op184.addParameter(name='xrange', value=str(24*1)) | ||||
#op16.addParameter(name='timerange', value=str(24*60*60)) | ||||
#op184.addParameter(name='save', value=figpath) | ||||
op16 = proc_unit.addOperation(name='DenRTIPlot') | ||||
op16.addParameter(name='id', value='174') | ||||
op16.addParameter(name='wintitle', value='Electron Density RTI') | ||||
op16.addParameter(name='xmin', value='0') | ||||
op16.addParameter(name='xmax', value='24') | ||||
op16.addParameter(name='ymin', value='180') | ||||
op16.addParameter(name='ymax', value='1350') | ||||
op16.addParameter(name='zmin', value='1000') | ||||
op16.addParameter(name='zmax', value='10000000') | ||||
#op16.addParameter(name='showprofile', value='1') | ||||
op16.addParameter(name='xrange', value=str(24*1)) | ||||
#op16.addParameter(name='save', value=figpath) | ||||
''' | ||||
one = {'gdlatr': 'lat', 'gdlonr': 'lon'} #reader gdlatr-->lat only 1D | ||||
two_wr = { | ||||
'gdalt': 'heightList', #<----- nmonics | ||||
#'VIPE': ('data_output', 0), | ||||
# 'DVIPE': ('data_output', 1), | ||||
'NE': ('DensityFinal', 0), | ||||
'DNE': ('EDensityFinal', 0), | ||||
'TE': ('ElecTempFinal', 0), | ||||
'DTE': ('EElecTempFinal', 0), | ||||
'TI': ('IonTempFinal', 0), | ||||
'DTI': ('EIonTempFinal', 0), | ||||
'PH+': ('PhyFinal', 0), | ||||
'DPH+': ('EPhyFinal', 0), | ||||
'PHE+': ('PheFinal', 0), | ||||
'DPHE+': ('EPheFinal', 0), | ||||
'SRACF0': ('acfs_DP', 0), | ||||
'DSRACF0': ('acfs_error_DP', 0), | ||||
'RACF1': ('acfs_DP', 1), | ||||
'DRACF1': ('acfs_error_DP', 1), | ||||
'RACF2': ('acfs_DP', 2), | ||||
'DRACF2': ('acfs_error_DP', 2), | ||||
'RACF3': ('acfs_DP', 3), | ||||
'DRACF3': ('acfs_error_DP', 3), | ||||
'RACF4': ('acfs_DP', 4), | ||||
'DRACF4': ('acfs_error_DP', 4), | ||||
'RACF5': ('acfs_DP', 5), | ||||
'DRACF5': ('acfs_error_DP', 5), | ||||
'RACF6': ('acfs_DP', 6), | ||||
'DRACF6': ('acfs_error_DP', 6), | ||||
'RACF7': ('acfs_DP', 7), | ||||
'DRACF7': ('acfs_error_DP', 7), | ||||
'RACF8': ('acfs_DP', 8), | ||||
'DRACF8': ('acfs_error_DP', 8), | ||||
'RACF9': ('acfs_DP', 9), | ||||
'DRACF9': ('acfs_error_DP', 9), | ||||
'RACF10': ('acfs_DP', 10), | ||||
'DRACF10': ('acfs_error_DP', 10), | ||||
'RACF11': ('acfs_LP', 0), | ||||
'DRACF11': ('acfs_error_LP', 0), | ||||
'RACF12': ('acfs_LP', 1), | ||||
'DRACF12': ('acfs_error_LP', 1), | ||||
'RACF13': ('acfs_LP', 2), | ||||
'DRACF13': ('acfs_error_LP', 2), | ||||
'RACF14': ('acfs_LP', 3), | ||||
'DRACF14': ('acfs_error_LP', 3), | ||||
'RACF15': ('acfs_LP', 4), | ||||
'DRACF15': ('acfs_error_LP', 4), | ||||
'RACF16': ('acfs_LP', 5), | ||||
'DRACF16': ('acfs_error_LP', 5), | ||||
'RACF17': ('acfs_LP', 6), | ||||
'DRACF17': ('acfs_error_LP', 6), | ||||
'RACF18': ('acfs_LP', 7), | ||||
'DRACF18': ('acfs_error_LP', 7), | ||||
'RACF19': ('acfs_LP', 8), | ||||
'DRACF19': ('acfs_error_LP', 8), | ||||
'RACF20': ('acfs_LP', 9), | ||||
'DRACF20': ('acfs_error_LP', 9), | ||||
'RACF21': ('acfs_LP', 10), | ||||
'DRACF21': ('acfs_error_LP', 10), | ||||
'RACF22': ('acfs_LP', 11), | ||||
'DRACF22': ('acfs_error_LP', 11), | ||||
'RACF23': ('acfs_LP', 12), | ||||
'DRACF23': ('acfs_error_LP', 12), | ||||
'RACF24': ('acfs_LP', 13), | ||||
'DRACF24': ('acfs_error_LP', 13), | ||||
'RACF25': ('acfs_LP', 14), | ||||
'DRACF25': ('acfs_error_LP', 14), | ||||
'RACF26': ('acfs_LP', 15), | ||||
'DRACF26': ('acfs_error_LP', 15) | ||||
# 'DVIPN': ('data_output', 3), | ||||
#'snl': 'data_SNR' | ||||
} #writer | ||||
f=open('/home/roberto/moder_test.txt','r') | ||||
file_contents=f.read() | ||||
ind = ['gdalt'] | ||||
meta = { | ||||
'kinst': 10, #instrumnet code | ||||
'kindat': 1802, #type of data ###to be confirmed | ||||
'catalog': { | ||||
'principleInvestigator': 'Marco Milla', | ||||
'expPurpose': 'Electron Density', | ||||
'sciRemarks': file_contents | ||||
}, | ||||
'header': { | ||||
'analyst': 'David Hysell' | ||||
} | ||||
} | ||||
f.close() | ||||
op_writer = proc_unit.addOperation(name='MADWriter') | ||||
#op_writer.addParameter(name='path', value='/home/roberto/hdf5_outputs') | ||||
op_writer.addParameter(name='path', value='/home/roberto/hdf5_outputs/Hybrid_2020_09_reader') | ||||
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_wr)) | ||||
op_writer.addParameter(name='ind2DList', value=json.dumps(ind)) | ||||
op_writer.addParameter(name='metadata', value=json.dumps(meta)) | ||||
#op_writer.addParameter(name='blocks', value=60) | ||||
''' | ||||
controller.start() | ||||