From 3ce34093377218a9617f85222485e8593389eb06 2021-09-02 13:29:20 From: joabAM Date: 2021-09-02 13:29:20 Subject: [PATCH] test --- diff --git a/schainpy/model/io/jroIO_kamisr.py b/schainpy/model/io/jroIO_kamisr.py index afbe5cd..e90a2b1 100644 --- a/schainpy/model/io/jroIO_kamisr.py +++ b/schainpy/model/io/jroIO_kamisr.py @@ -2,6 +2,8 @@ Created on Set 9, 2015 @author: roj-idl71 Karim Kuyeng + +@update: 2021, Joab Apaza ''' import os @@ -419,7 +421,7 @@ class AMISRReader(ProcessingUnit): self.__selectDataForTimes(online=True) filename = self.filenameList[0] wait = 0 - self.__waitForNewFile=180 ## DEBUG: + #self.__waitForNewFile=180 ## DEBUG: while self.__filename_online == filename: print('waiting %d seconds to get a new file...'%(self.__waitForNewFile)) if wait == 5: diff --git a/schainpy/scripts/JASMET30_MetDet.py b/schainpy/scripts/JASMET30_MetDet.py deleted file mode 100644 index 106a7a8..0000000 --- a/schainpy/scripts/JASMET30_MetDet.py +++ /dev/null @@ -1,95 +0,0 @@ - -import os, sys - -from schainpy.controller import Project - -controllerObj = Project() -controllerObj.setup(id = '002', name='script02', description="JASMET Meteor Detection") - -#-------------------------------------- Setup ----------------------------------------- -#Verificar estas variables - -#Path para los archivos -# path = '/mnt/jars/2016_08/NOCHE' -# path = '/media/joscanoa/DATA_JASMET/JASMET/2016_08/DIA' -# path = '/media/joscanoa/DATA_JASMET/JASMET/2016_08/NOCHE' -path = '/home/nanosat/data/jasmet' - -#Path para los graficos -pathfig = os.path.join(os.environ['HOME'],'Pictures/JASMET30/201608/graphics') - -#Path para los archivos HDF5 de meteoros -pathfile = os.path.join(os.environ['HOME'],'Pictures/JASMET30/201608/meteor') - -#Fechas para busqueda de archivos -startDate = '2010/08/29' -endDate = '2017/09/11' -#Horas para busqueda de archivos -startTime = '00:00:00' -endTime = '23:59:59' - - -#------------------------------ Voltage Reading Unit ---------------------------------- - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate=startDate, - endDate=endDate, - startTime=startTime, - endTime=endTime, - online=0, - delay=30, - walk=1, - getblock=1, - blocktime=100) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -#-------------------------- Voltage Processing Unit ------------------------------------ - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj00 = procUnitConfObj0.addOperation(name='selectChannels') -opObj00.addParameter(name='channelList', value='0,1,2,3,4', format='intlist') - -opObj01 = procUnitConfObj0.addOperation(name='setRadarFrequency') -opObj01.addParameter(name='frequency', value='30.e6', format='float') - -# opObj01 = procUnitConfObj0.addOperation(name='interpolateHeights') -# opObj01.addParameter(name='topLim', value='73', format='int') -# opObj01.addParameter(name='botLim', value='71', format='int') - -opObj02 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - -opObj03 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -opObj03.addParameter(name='n', value='2', format='int') - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId()) -opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='237', format='int') -opObj11.addParameter(name='xmin', value='9.0', format='float') -opObj11.addParameter(name='xmax', value='16.0', format='float') -opObj11.addParameter(name='zmin', value='15.0', format='float') -opObj11.addParameter(name='zmax', value='50.0', format='float') - -#--------------------------- Parameters Processing Unit ------------------------------------ - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj0.getId()) -# -opObj10 = procUnitConfObj1.addOperation(name='SMDetection', optype='other') -opObj10.addParameter(name='azimuth', value='45', format='float') -opObj10.addParameter(name='hmin', value='60', format='float') -opObj10.addParameter(name='hmax', value='120', format='float') - -opObj12 = procUnitConfObj1.addOperation(name='ParamWriter', optype='other') -opObj12.addParameter(name='path', value=pathfile) -opObj12.addParameter(name='blocksPerFile', value='1000', format='int') -opObj12.addParameter(name='metadataList',value='type,heightList,paramInterval,timeZone',format='list') -opObj12.addParameter(name='dataList',value='data_param,utctime',format='list') -opObj12.addParameter(name='mode',value='2',format='int') - -#-------------------------------------------------------------------------------------------------- - -controllerObj.start() - - diff --git a/schainpy/scripts/JASMET30_PhaseCal.py b/schainpy/scripts/JASMET30_PhaseCal.py deleted file mode 100644 index 1b0da1f..0000000 --- a/schainpy/scripts/JASMET30_PhaseCal.py +++ /dev/null @@ -1,68 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -path = os.path.split(path)[0] - -sys.path.insert(0, path) - -from schainpy.controller import Project - -controllerObj = Project() -controllerObj.setup(id = '004', name='script04', description="JASMET Phase Calibration") - -#-------------------------------------- Setup ----------------------------------------- -#Verificar estas variables - -#Path donde estan los archivos HDF5 de meteoros -path = os.path.join(os.environ['HOME'],'Pictures/JASMET30_mp/201608/meteor') - -#Path para los graficos -pathfig = os.path.join(os.environ['HOME'],'Pictures/JASMET30_mp/201608/graphics') - -#Path donde se almacenaran las fases calculadas -pathfile = os.path.join(os.environ['HOME'],'Pictures/JASMET30_mp/201608/phase') - -#Fechas para busqueda de archivos -startDate = '2016/08/29' -endDate = '2016/09/11' -#Horas para busqueda de archivos -startTime = '00:00:00' -endTime = '23:59:59' - -#------------------------------------------------------------------------------------------------ -readUnitConfObj = controllerObj.addReadUnit(datatype='ParamReader', - path=path, - startDate=startDate, - endDate=endDate, - startTime=startTime, - endTime=endTime, - walk=1) - -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=readUnitConfObj.getId()) -# # -opObj31 = procUnitConfObj1.addOperation(name='SMPhaseCalibration', optype='other') -opObj31.addParameter(name='nHours', value='1', format='float') -opObj31.addParameter(name='hmin', value='60', format='float') -opObj31.addParameter(name='hmax', value='120', format='float') -# opObj31.addParameter(name='channelPositions', value='(2.5,0),(0,2.5),(0,0),(0,4.5),(-2,0)', format='pairslist') - -opObj32 = procUnitConfObj1.addOperation(name='PhasePlot', optype='other') -opObj32.addParameter(name='id', value='201', format='int') -opObj32.addParameter(name='wintitle', value='PhaseCalibration', format='str') -opObj32.addParameter(name='save', value='1', format='bool') -opObj32.addParameter(name='xmin', value='0', format='float') -opObj32.addParameter(name='xmax', value='24', format='float') -opObj32.addParameter(name='ymin', value='-180', format='float') -opObj32.addParameter(name='ymax', value='180', format='float') -opObj32.addParameter(name='figpath', value=pathfig, format='str') -# # -opObj33 = procUnitConfObj1.addOperation(name='ParamWriter', optype='other') -opObj33.addParameter(name='path', value=pathfile) -opObj33.addParameter(name='blocksPerFile', value='1000', format='int') -opObj33.addParameter(name='metadataList',value='type,outputInterval,timeZone',format='list') -opObj33.addParameter(name='dataList',value='data_output,utctime',format='list') -# # opObj25.addParameter(name='mode',value='1,0,0',format='intlist') - -controllerObj.start() \ No newline at end of file diff --git a/schainpy/scripts/JASMET30_Winds.py b/schainpy/scripts/JASMET30_Winds.py deleted file mode 100644 index f489be5..0000000 --- a/schainpy/scripts/JASMET30_Winds.py +++ /dev/null @@ -1,85 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -path = os.path.split(path)[0] - -sys.path.insert(0, path) - -from schainpy.controller import Project - -controllerObj = Project() -controllerObj.setup(id = '005', name='script05', description="JASMET Wind Estimation") - -#-------------------------------------- Setup ----------------------------------------- -#Verificar estas variables - -#Path donde estan los archivos HDF5 de meteoros -path = os.path.join(os.environ['HOME'],'Pictures/JASMET30_mp/201608/meteor') - -#Path para los graficos -pathfig = os.path.join(os.environ['HOME'],'Pictures/JASMET30_mp/201608/graphics') - -#Path donde se almacenaran las estimaciones de vientos -pathfile = os.path.join(os.environ['HOME'],'Pictures/JASMET30_mp/201608/phase') - -#Fechas para busqueda de archivos -startDate = '2016/08/29' -endDate = '2016/09/11' -#Horas para busqueda de archivos -startTime = '00:00:00' -endTime = '23:59:59' - -#Offsets optimos obtenidos con OptimumOffset.py -phaseOffsets = '-2.84, -1.77, 11.94, 9.71' -phaseOffsets = '-5.86, -0.93, -7.29, 23.35' -#------------------------------------------------------------------------------------------------ -readUnitConfObj = controllerObj.addReadUnit(datatype='ParamReader', - path=path, - startDate=startDate, - endDate=endDate, - startTime=startTime, - endTime=endTime, - walk=1) -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObj1.addOperation(name='CorrectSMPhases',optype='other') -opObj10.addParameter(name='phaseOffsets', value=phaseOffsets, format='floatlist') - -opObj13 = procUnitConfObj1.addOperation(name='SkyMapPlot', optype='other') -opObj13.addParameter(name='id', value='1', format='int') -opObj13.addParameter(name='wintitle', value='Sky Map', format='str') -opObj13.addParameter(name='save', value='1', format='bool') -opObj13.addParameter(name='figpath', value=pathfig, format='str') -opObj13.addParameter(name='ftp', value='1', format='int') -opObj13.addParameter(name='exp_code', value='15', format='int') -opObj13.addParameter(name='sub_exp_code', value='1', format='int') -opObj13.addParameter(name='tmin', value='0', format='int') -opObj13.addParameter(name='tmax', value='24', format='int') - -opObj22 = procUnitConfObj1.addOperation(name='WindProfiler', optype='other') -opObj22.addParameter(name='technique', value='Meteors', format='str') -opObj22.addParameter(name='nHours', value='1', format='float') -opObj22.addParameter(name='hmin', value='70', format='float') -opObj22.addParameter(name='hmax', value='120', format='float') - -opObj23 = procUnitConfObj1.addOperation(name='WindProfilerPlot', optype='other') -opObj23.addParameter(name='id', value='2', format='int') -opObj23.addParameter(name='wintitle', value='Wind Profiler', format='str') -opObj23.addParameter(name='save', value='1', format='bool') -opObj23.addParameter(name='figpath', value = pathfig, format='str') -opObj23.addParameter(name='zmin', value='-140', format='int') -opObj23.addParameter(name='zmax', value='140', format='int') -opObj23.addParameter(name='xmin', value='0', format='float') -opObj23.addParameter(name='xmax', value='24', format='float') -opObj23.addParameter(name='ymin', value='70', format='float') -opObj23.addParameter(name='ymax', value='110', format='float') - -opObj33 = procUnitConfObj1.addOperation(name='ParamWriter', optype='other') -opObj33.addParameter(name='path', value=pathfile) -opObj33.addParameter(name='blocksPerFile', value='1000', format='int') -opObj33.addParameter(name='metadataList',value='type,outputInterval,timeZone',format='list') -opObj33.addParameter(name='dataList',value='data_output,utctime',format='list') -#-------------------------------------------------------------------------------------------------- - -controllerObj.start() \ No newline at end of file diff --git a/schainpy/scripts/OnlineAmisrSim.sh b/schainpy/scripts/OnlineAmisrSim.sh deleted file mode 100755 index 22087df..0000000 --- a/schainpy/scripts/OnlineAmisrSim.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -#source ~/virtuals/virtual_schain3x/bin/activate -echo "Amisr EEJ Online simulation" - -PATH_IN=/media/soporte/DATA/dataAMISR/20210717.001/ -PATH_OUT=/home/soporte/Data/OutTest/ONLINE/20210717.001/ -count=0 -for f in $PATH_IN* -do - if [ ${f: -3} == ".h5" ] - then - echo "copying $f" - cp ${f} $PATH_OUT - echo "waiting new file..." - sleep 1m #it takes about 5 minutes to generate new data in AMISR radar - fi - ((count=count+1)) - - if [ $count -eq 10 ] #only transfer 20 files - then - echo " finish simulation" - break - fi -done diff --git a/schainpy/scripts/OnlineAmisrSim2.sh b/schainpy/scripts/OnlineAmisrSim2.sh deleted file mode 100755 index 8cdf311..0000000 --- a/schainpy/scripts/OnlineAmisrSim2.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -echo "Amisr ESF Online simulation" - -PATH_IN=/media/soporte/DATA/dataAMISR/20210716.003/ -PATH_OUT=/home/soporte/Data/OutTest/ONLINE/20210716.003/ -count=0 -for f in $PATH_IN* -do - if [ ${f: -3} == ".h5" ] - then - echo "copying $f" - cp ${f} $PATH_OUT - echo "waiting new file..." - sleep 3m #it takes about 5 minutes to generate new data in AMISR radar - fi - ((count=count+1)) - - if [ $count -eq 10 ] #only transfer 20 files - then - echo " finish simulation" - break - fi -done diff --git a/schainpy/scripts/PPD.py b/schainpy/scripts/PPD.py deleted file mode 100644 index 0c66244..0000000 --- a/schainpy/scripts/PPD.py +++ /dev/null @@ -1,97 +0,0 @@ -import argparse - -from schainpy.controller import Project, multiSchain - -desc = "HF_EXAMPLE" - -def fiber(cursor, skip, q, dt): - - controllerObj = Project() - - controllerObj.setup(id='191', name='test01', description=desc) - - readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader', - path='/home/nanosat/data/sp1_f0', - startDate=dt, - endDate=dt, - startTime="00:00:00", - endTime="23:59:59", - online=0, - #set=1426485881, - walk=1, - queue=q, - cursor=cursor, - skip=skip, - verbose=1 - #timezone=-5*3600 - ) - - # #opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - # - procUnitConfObj2 = controllerObj.addProcUnit(datatype='Spectra', inputId=readUnitConfObj.getId()) - # procUnitConfObj2.addParameter(name='nipp', value='5', format='int') - - procUnitConfObj3 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=readUnitConfObj.getId()) - opObj11 = procUnitConfObj3.addOperation(name='SpectralMoments', optype='other') - - # - # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') - # opObj11.addParameter(name='id', value='1000', format='int') - # opObj11.addParameter(name='wintitle', value='HF_Jicamarca_Spc', format='str') - # opObj11.addParameter(name='channelList', value='0', format='intlist') - # opObj11.addParameter(name='zmin', value='-120', format='float') - # opObj11.addParameter(name='zmax', value='-70', format='float') - # opObj11.addParameter(name='save', value='1', format='int') - # opObj11.addParameter(name='figpath', value=figpath, format='str') - - # opObj11 = procUnitConfObj3.addOperation(name='Parameters1Plot', optype='other') - # opObj11.addParameter(name='channelList', value='0', format='intList') - - # opObj11.addParameter(name='id', value='2000', format='int') - # # opObj11.addParameter(name='colormap', value='0', format='bool') - # opObj11.addParameter(name='onlySNR', value='1', format='bool') - # opObj11.addParameter(name='DOP', value='0', format='bool') - # # opObj11.addParameter(name='showSNR', value='1', format='bool') - # # opObj11.addParameter(name='SNRthresh', value='0', format='int') - # opObj11.addParameter(name='SNRmin', value='-10', format='int') - # opObj11.addParameter(name='SNRmax', value='30', format='int') - - # opObj11.addParameter(name='showSNR', value='1', format='int') - # # opObj11.addParameter(name='channelList', value='0', format='intlist') - # # opObj11.addParameter(name='xmin', value='0', format='float') - # opObj11.addParameter(name='xmin', value='0', format='float') - # opObj11.addParameter(name='xmax', value='24', format='float') - - # opObj11.addParameter(name='zmin', value='-110', format='float') - # opObj11.addParameter(name='zmax', value='-70', format='float') - # opObj11.addParameter(name='save', value='0', format='int') - # # opObj11.addParameter(name='figpath', value='/tmp/', format='str') - # - opObj12 = procUnitConfObj3.addOperation(name='PublishData', optype='other') - opObj12.addParameter(name='zeromq', value=1, format='int') - opObj12.addParameter(name='verbose', value=0, format='bool') - - - # opObj13 = procUnitConfObj3.addOperation(name='PublishData', optype='other') - # opObj13.addParameter(name='zeromq', value=1, format='int') - # opObj13.addParameter(name='server', value="juanca", format='str') - - opObj12.addParameter(name='delay', value=0, format='int') - - - # print "Escribiendo el archivo XML" - # controllerObj.writeXml(filename) - # print "Leyendo el archivo XML" - # controllerObj.readXml(filename) - - - # timeit.timeit('controllerObj.run()', number=2) - - controllerObj.start() - - -if __name__ == '__main__': - parser = argparse.ArgumentParser(description='Set number of parallel processes') - parser.add_argument('--nProcess', default=1, type=int) - args = parser.parse_args() - multiSchain(fiber, nProcess=args.nProcess, startDate='2017/01/26', endDate='2017/01/26') diff --git a/schainpy/scripts/USRP_PLOT_THOR.py b/schainpy/scripts/USRP_PLOT_THOR.py deleted file mode 100644 index d2e2eb0..0000000 --- a/schainpy/scripts/USRP_PLOT_THOR.py +++ /dev/null @@ -1,183 +0,0 @@ -#!python -''' -''' - -import os, sys -import datetime -import time - -#path = os.path.dirname(os.getcwd()) -#path = os.path.dirname(path) -#sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "USRP_test" -filename = "USRP_processing.xml" -controllerObj = Project() -controllerObj.setup(id = '191', name='Test_USRP', description=desc) - -############## USED TO PLOT IQ VOLTAGE, POWER AND SPECTRA ############# - -####################################################################### -######PATH DE LECTURA, ESCRITURA, GRAFICOS Y ENVIO WEB################# -####################################################################### -#path = '/media/data/data/vientos/57.2063km/echoes/NCO_Woodman' - - -path = '/home/soporte/data_hdf5' #### with clock 35.16 db noise - -figpath = '/home/soporte/data_hdf5_imag' -#remotefolder = "/home/wmaster/graficos" -####################################################################### -################# RANGO DE PLOTEO###################################### -####################################################################### -dBmin = '30' -dBmax = '60' -xmin = '0' -xmax ='24' -ymin = '0' -ymax = '600' -####################################################################### -########################FECHA########################################## -####################################################################### -str = datetime.date.today() -today = str.strftime("%Y/%m/%d") -str2 = str - datetime.timedelta(days=1) -yesterday = str2.strftime("%Y/%m/%d") -####################################################################### -######################## UNIDAD DE LECTURA############################# -####################################################################### -readUnitConfObj = controllerObj.addReadUnit(datatype='DigitalRFReader', - path=path, - startDate="2019/01/01",#today, - endDate="2109/12/30",#today, - startTime='00:00:00', - endTime='23:59:59', - delay=0, - #set=0, - online=0, - walk=1, - ippKm = 1000) - -opObj11 = readUnitConfObj.addOperation(name='printInfo') -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') -####################################################################### -################ OPERACIONES DOMINIO DEL TIEMPO######################## -####################################################################### - -procUnitConfObjA = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -# -# codigo64='1,1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1,1,1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,1,0,1,1,1,0,0,0,1,0,'+\ -# '1,1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1' - -#opObj11 = procUnitConfObjA.addOperation(name='setRadarFrequency') -#opObj11.addParameter(name='frequency', value='30e6', format='float') - -#opObj10 = procUnitConfObjA.addOperation(name='Scope', optype='external') -#opObj10.addParameter(name='id', value='10', format='int') -##opObj10.addParameter(name='xmin', value='0', format='int') -##opObj10.addParameter(name='xmax', value='50', format='int') -#opObj10.addParameter(name='type', value='iq') -#opObj10.addParameter(name='ymin', value='-5000', format='int') -##opObj10.addParameter(name='ymax', value='8500', format='int') - -#opObj10 = procUnitConfObjA.addOperation(name='setH0') -#opObj10.addParameter(name='h0', value='-5000', format='float') - -#opObj11 = procUnitConfObjA.addOperation(name='filterByHeights') -#opObj11.addParameter(name='window', value='1', format='int') - -#codigo='1,1,-1,1,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 = procUnitConfObjSousy.addOperation(name='Decoder', optype='other') -#opObj11.addParameter(name='code', value=codigo, format='floatlist') -#opObj11.addParameter(name='nCode', value='1', format='int') -#opObj11.addParameter(name='nBaud', value='28', format='int') - -#opObj11 = procUnitConfObjA.addOperation(name='CohInt', optype='other') -#opObj11.addParameter(name='n', value='100', format='int') - -####################################################################### -########## OPERACIONES DOMINIO DE LA FRECUENCIA######################## -####################################################################### -procUnitConfObjSousySpectra = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjA.getId()) -procUnitConfObjSousySpectra.addParameter(name='nFFTPoints', value='100', format='int') -procUnitConfObjSousySpectra.addParameter(name='nProfiles', value='100', format='int') -#procUnitConfObjSousySpectra.addParameter(name='pairsList', value='(0,0),(1,1),(0,1)', format='pairsList') - -#opObj13 = procUnitConfObjSousySpectra.addOperation(name='removeDC') -#opObj13.addParameter(name='mode', value='2', format='int') - -#opObj11 = procUnitConfObjSousySpectra.addOperation(name='IncohInt', optype='other') -#opObj11.addParameter(name='n', value='60', format='float') -####################################################################### -########## PLOTEO DOMINIO DE LA FRECUENCIA############################# -####################################################################### -#SpectraPlot - -opObj11 = procUnitConfObjSousySpectra.addOperation(name='SpectraPlot', optype='external') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='Spectra', format='str') -#opObj11.addParameter(name='xmin', value=-0.01, format='float') -#opObj11.addParameter(name='xmax', value=0.01, format='float') -#opObj11.addParameter(name='zmin', value=dBmin, format='int') -#opObj11.addParameter(name='zmax', value=dBmax, format='int') -#opObj11.addParameter(name='ymin', value=ymin, format='int') -#opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='showprofile', value='1', format='int') -opObj11.addParameter(name='save', value=figpath, format='str') -opObj11.addParameter(name='save_period', value=10, format='int') - - -#RTIPLOT - -opObj11 = procUnitConfObjSousySpectra.addOperation(name='RTIPlot', optype='external') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='RTIPlot', format='str') -#opObj11.addParameter(name='zmin', value=dBmin, format='int') -#opObj11.addParameter(name='zmax', value=dBmax, format='int') -#opObj11.addParameter(name='ymin', value=ymin, format='int') -#opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='xmin', value=0, format='int') -opObj11.addParameter(name='xmax', value=23, format='int') - -opObj11.addParameter(name='showprofile', value='1', format='int') -opObj11.addParameter(name='save', value=figpath, format='str') -opObj11.addParameter(name='save_period', value=10, format='int') - - -# opObj11 = procUnitConfObjSousySpectra.addOperation(name='CrossSpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='CrossSpectraPlot', format='str') -# opObj11.addParameter(name='ymin', value=ymin, format='int') -# opObj11.addParameter(name='ymax', value=ymax, format='int') -# opObj11.addParameter(name='phase_cmap', value='jet', format='str') -# opObj11.addParameter(name='zmin', value=dBmin, format='int') -# opObj11.addParameter(name='zmax', value=dBmax, format='int') -# opObj11.addParameter(name='figpath', value=figures_path, format='str') -# opObj11.addParameter(name='save', value=0, format='bool') -# opObj11.addParameter(name='pairsList', value='(0,1)', format='pairsList') -# # -# opObj11 = procUnitConfObjSousySpectra.addOperation(name='CoherenceMap', optype='other') -# opObj11.addParameter(name='id', value='4', format='int') -# opObj11.addParameter(name='wintitle', value='Coherence', format='str') -# opObj11.addParameter(name='phase_cmap', value='jet', format='str') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='figpath', value=figures_path, format='str') -# opObj11.addParameter(name='save', value=0, format='bool') -# opObj11.addParameter(name='pairsList', value='(0,1)', format='pairsList') -# -####################################################################### -############### UNIDAD DE ESCRITURA ################################### -####################################################################### -#opObj11 = procUnitConfObjSousySpectra.addOperation(name='SpectraWriter', optype='other') -#opObj11.addParameter(name='path', value=wr_path) -#opObj11.addParameter(name='blocksPerFile', value='50', format='int') -print ("Escribiendo el archivo XML") -print ("Leyendo el archivo XML") - - - -controllerObj.start() - diff --git a/schainpy/scripts/amisr_eej_proc_offline_v3.py b/schainpy/scripts/amisr_eej_proc_offline_v3.py deleted file mode 100644 index 2d4dd9e..0000000 --- a/schainpy/scripts/amisr_eej_proc_offline_v3.py +++ /dev/null @@ -1,202 +0,0 @@ - -import os, sys -import time -import datetime - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -def main(): - - - desc = "AMISR EEJ Experiment" - filename = "amisr_reader.xml" - xmin = '07' - xmax = '18' - xrange = int(xmax)-int(xmin) - - dbmin = '45' #'60'#'55' #'40' #noise esf eej - dbmax = '65' #'70' #'55' - showSPC = '0' #view plot Spectra - showRTI = '0' #view plot RTI - showNOISE = '0' #view plot NOISE - localtime='1' #para ajustar el horario en las gráficas '0' para dejar en utc - 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' - nCode = '1' - nBaud = '28' - nosamp = '1' # oversample for EEJ - today = time.strftime("%Y/%m/%d") - startDate=today - endDate=today - #startDate='2021/07/17' - #endDate='2021/07/17' - #inPath= '/home/soporte/dataAMISR_test/' - inPath= '/home/soporte/dataAMISR/' - #inPath= '/media/soporte/UARS_4T_D02/AMISR_DATA/2021/' - #inPath = '/home/soporte/' - outPath = '/home/soporte/Data/EEJ' - - ##....................................................................................... - ##....................................................................................... - - #l = startDate.split('/') #adding day of the year to outPath - l = startDate.split('/') - datelist = datetime.date(int(l[0]),int(l[1]),int(l[2])) - DOY = datelist.timetuple().tm_yday - outPath= outPath+"/EEJ"+l[0]+str(DOY) - if os.path.exists(outPath): - print("outPath", outPath) - else : - os.mkdir(outPath) - print("Creating...", outPath) - - ##....................................................................................... - ##....................................................................................... - controllerObj = Project() - controllerObj.setup(id = '11', name='eej_proc', description=desc) - ##....................................................................................... - ##....................................................................................... - readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=inPath, - startDate=startDate,#startDate, #'2014/10/07', - endDate=endDate, #endDate '2014/10/07', - startTime='07:00:30',#'07:00:00', - endTime='18:00:10',#'15:00:00', - walk=1, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=0) - - - # #AMISR Processing Unit - # ##....................................................................................... - # ##....................................................................................... - procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - opObj10 = procUnitConfObj0.addOperation(name='setAttribute') - opObj10.addParameter(name='frequency', value='445.09e6') - # opObj10 = procUnitConfObj0.addOperation(name='setRadarFrequency') - # opObj10.addParameter(name='frequency', value='445e6', format='float') - - - opObj01 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - opObj01.addParameter(name='code', value=code, format='floatlist') - opObj01.addParameter(name='nCode', value=nCode, format='int') - opObj01.addParameter(name='nBaud', value=nBaud, format='int') - opObj01.addParameter(name='osamp', value=nosamp, format='int') - - - # opObj02 = procUnitConfObj0.addOperation(name='CohInt', optype='other') - # opObj02.addParameter(name='n', value='2', format='int') - - # - # - # ##....................................................................................... - # ##....................................................................................... - - procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId()) - procUnitConfObj1.addParameter(name='nFFTPoints', value='16', format='int') - - - opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') - opObj11.addParameter(name='n', value='150', format='int') #300? - - ## Remove DC signal - ##opObj11 = procUnitConfObj1.addOperation(name='removeDC') - ##....................................................................................... - ##....................................................................................... - - # opObj13 = procUnitConfObj1.addOperation(name='getNoise' , optype ='self') - # opObj13.addParameter(name='minHei', value='100', format='float') - # opObj13.addParameter(name='maxHei', value='280', format='float') - - - # - opObj12 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external') - opObj12.addParameter(name='id', value='21', format='int') - opObj12.addParameter(name= 'xaxis', value='velocity') - opObj12.addParameter(name='showprofile', value='1', format='int') - opObj12.addParameter(name='wintitle', value='AMISR Beam 0', format='str') - opObj12.addParameter(name='zmin', value=dbmin, format='int') - opObj12.addParameter(name='zmax', value=dbmax, format='int') - opObj12.addParameter(name='save', value=outPath+'/plots', format='str') - opObj12.addParameter(name='colormap', value='jet', format='str') - opObj12.addParameter(name='localtime', value=localtime,format='int') - opObj12.addParameter(name='show', value = showSPC, format='int') - - - ##Generate *.pdata from AMISR data - ##....................................................................................... - ##....................................................................................... - opObj13 = procUnitConfObj1.addOperation(name='SpectraWriter', optype='external') - opObj13.addParameter(name='path', value=outPath) - opObj13.addParameter(name='blocksPerFile', value='10', format='int') - - - opObj14 = procUnitConfObj1.addOperation(name='NoisePlot', optype='external') - opObj14.addParameter(name='id', value='3', format='int') - opObj14.addParameter(name='wintitle', value='title0', format='str') - opObj14.addParameter(name='showprofile', value='0', format='int') - opObj14.addParameter(name='tmin', value=xmin, format='int') - opObj14.addParameter(name='xrange', value=xrange, format='int') - opObj14.addParameter(name='ymin', value=dbmin, format='int') - opObj14.addParameter(name='ymax', value=dbmax, format='int') - opObj14.addParameter(name='save', value=outPath+'/plots', format='str') - opObj14.addParameter(name='localtime', value=localtime,format='int') - opObj14.addParameter(name='show', value = showNOISE, format='int') - - # # - opObj15 = procUnitConfObj1.addOperation(name='RTIPlot', optype='external') - opObj15.addParameter(name='id', value='2', format='int') - opObj15.addParameter(name='localtime', value=localtime,format='int') - opObj15.addParameter(name='wintitle', value='RTI', format='str') - opObj15.addParameter(name='tmin', value=xmin, format='int') - opObj15.addParameter(name='xrange', value=xrange, format='int') - opObj15.addParameter(name='ymin', value=ymin, format='int') - opObj15.addParameter(name='zmin', value=dbmin, format='int') - opObj15.addParameter(name='zmax', value=dbmax, format='int') - opObj15.addParameter(name='showprofile', value='0', format='int') - opObj15.addParameter(name='save', value=outPath+'/plots', format='str') - opObj15.addParameter(name='colormap', value='jet', format='str') - opObj15.addParameter(name='show', value = showRTI, format='int') - - - - ##....................................................................................... - ##....................................................................................... - # - # procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) - # opObj16 = procUnitConfObj2.addOperation(name='SpectralMoments', optype='other') - - - #Using HDFWriter:::: - #....................................................................................... - #....................................................................................... - # opObj17 = procUnitConfObj2.addOperation(name='HDFWriter', optype='external') - # opObj17.addParameter(name='path', value=outPath) - # opObj17.addParameter(name='blocksPerFile', value='10', format='int') - # opObj17.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') - # opObj17.addParameter(name='dataList',value='moments,data_SNR,utctime',format='list') - - - - ##....................................................................................... - ##....................................................................................... - #print("Escribiendo el archivo XML",controllerObj.writeXml(outPath +'/'+filename)) - - controllerObj.start() - - #print("Leyendo el archivo XML",controllerObj.readXml(outPath +'/'+filename)) - - ##....................................................................................... - ##....................................................................................... - -if __name__ == '__main__': - import time - start_time = time.time() - main() - print("--- %s seconds ---" % (time.time() - start_time)) diff --git a/schainpy/scripts/amisr_eej_proc_online_v3.py b/schainpy/scripts/amisr_eej_proc_online_v3.py deleted file mode 100644 index 87a3657..0000000 --- a/schainpy/scripts/amisr_eej_proc_online_v3.py +++ /dev/null @@ -1,169 +0,0 @@ -#!/usr/bin/env python -import os, sys -import time -import datetime - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -def main(): - - - desc = "AMISR EEJ Experiment" - filename = "amisr_reader.xml" - xmin = '07' - xmax = '18' # - xrange = int(xmax)-int(xmin) - - dbmin = '45' #'60'#'55' #'40' #noise esf eej - dbmax = '65' #'70' #'55' - showSPC = '0' #view plot Spectra - showRTI = '0' #view plot RTI - showNOISE = '0' #view plot NOISE - localtime='1' #para ajustar el horario en las gráficas '0' para dejar en utc - 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' - nCode = '1' - nBaud = '28' - nosamp = '1' # oversample for EEJ - str0 = datetime.date.today() - today = str0.strftime("%Y/%m/%d") - startDate=today - endDate=today - #startDate='2021/07/17' - #endDate='2021/07/17' - #inPath= '/home/soporte/Data/OutTest/ONLINE/' - #inPath= '/home/soporte/dataAMISR/' - inPath = '/mnt/data_amisr' - outPath = '/home/soporte/Data/EEJ' - - ##....................................................................................... - ##....................................................................................... - - l = startDate.split('/') #adding day of the year to outPath - datelist = datetime.date(int(l[0]),int(l[1]),int(l[2])) - DOY = datelist.timetuple().tm_yday - outPath= outPath+"/EEJ"+l[0]+str(DOY) - if os.path.exists(outPath): - print("outPath", outPath) - else : - os.mkdir(outPath) - print("Creating...", outPath) - ##....................................................................................... - ##....................................................................................... - controllerObj = Project() - controllerObj.setup(id = '10', name='eej_proc', description=desc) - ##....................................................................................... - ##....................................................................................... - readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=inPath, - startDate=startDate, - endDate=endDate, - startTime='07:01:00',#'07:00:00', - endTime='17:55:00',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=1) - - #AMISR Processing Unit - ##....................................................................................... - ##....................................................................................... - procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - opObj10 = procUnitConfObj0.addOperation(name='setAttribute') - opObj10.addParameter(name='frequency', value='445.0e6') - - - opObj01 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - opObj01.addParameter(name='code', value=code, format='floatlist') - opObj01.addParameter(name='nCode', value=nCode, format='int') - opObj01.addParameter(name='nBaud', value=nBaud, format='int') - opObj01.addParameter(name='osamp', value=nosamp, format='int') - - - - - - ##....................................................................................... - ##....................................................................................... - - procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId()) - procUnitConfObj1.addParameter(name='nFFTPoints', value='16', format='int') - - - opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') - opObj11.addParameter(name='n', value='150', format='int') #300 normal value - - ##....................................................................................... - ##....................................................................................... - - - # - opObj12 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external') - opObj12.addParameter(name='id', value='21', format='int') - opObj12.addParameter(name= 'xaxis', value='velocity') - opObj12.addParameter(name='showprofile', value='1', format='int') - opObj12.addParameter(name='wintitle', value='AMISR Beam 0', format='str') - opObj12.addParameter(name='zmin', value=dbmin, format='int') - opObj12.addParameter(name='zmax', value=dbmax, format='int') - opObj12.addParameter(name='save', value=outPath+'/plots', format='str') - opObj12.addParameter(name='colormap', value='jet', format='str') - opObj12.addParameter(name='localtime', value=localtime,format='int') - opObj12.addParameter(name='show', value = showSPC, format='int') - opObj12.addParameter(name='exp_code', value='206', format='int') - opObj12.addParameter(name='server', value='jro-realtime.igp.gob.pe:4444') - opObj12.addParameter(name='sender_period', value='120') - opObj12.addParameter(name='tag', value='AMISR') - - opObj14 = procUnitConfObj1.addOperation(name='NoisePlot', optype='external') - opObj14.addParameter(name='id', value='3', format='int') - opObj14.addParameter(name='wintitle', value='title0', format='str') - opObj14.addParameter(name='showprofile', value='0', format='int') - opObj14.addParameter(name='tmin', value=xmin, format='int') - opObj14.addParameter(name='xrange', value=xrange, format='int') - opObj14.addParameter(name='ymin', value=dbmin, format='int') - opObj14.addParameter(name='ymax', value=dbmax, format='int') - opObj14.addParameter(name='save', value=outPath+'/plots', format='str') - opObj14.addParameter(name='localtime', value=localtime,format='int') - opObj14.addParameter(name='show', value = showNOISE, format='int') - opObj14.addParameter(name='exp_code', value='206', format='int') - opObj14.addParameter(name='server', value='jro-realtime.igp.gob.pe:4444') - opObj14.addParameter(name='sender_period', value='120') - opObj14.addParameter(name='tag', value='AMISR') - - opObj15 = procUnitConfObj1.addOperation(name='RTIPlot', optype='external') - opObj15.addParameter(name='id', value='2', format='int') - opObj15.addParameter(name='localtime', value=localtime,format='int') - opObj15.addParameter(name='wintitle', value='RTI', format='str') - opObj15.addParameter(name='tmin', value=xmin, format='int') - opObj15.addParameter(name='xrange', value=xrange, format='int') - opObj15.addParameter(name='zmin', value=dbmin, format='int') - opObj15.addParameter(name='zmax', value=dbmax, format='int') - opObj15.addParameter(name='showprofile', value='1', format='int') - opObj15.addParameter(name='save', value=outPath+'/plots', format='str') - opObj15.addParameter(name='colormap', value='jet', format='str') - opObj15.addParameter(name='show', value = showRTI, format='int') - opObj15.addParameter(name='exp_code', value='206', format='int') - opObj15.addParameter(name='server', value='jro-realtime.igp.gob.pe:4444') - opObj15.addParameter(name='sender_period', value='120') - opObj15.addParameter(name='tag', value='AMISR') - - - ##....................................................................................... - ##....................................................................................... - # - - controllerObj.start() - - ##....................................................................................... - ##....................................................................................... - -if __name__ == '__main__': - import time - start_time = time.time() - main() - print("--- %s seconds ---" % (time.time() - start_time)) diff --git a/schainpy/scripts/amisr_esf_proc_offline_v3.py b/schainpy/scripts/amisr_esf_proc_offline_v3.py deleted file mode 100644 index 6084f8c..0000000 --- a/schainpy/scripts/amisr_esf_proc_offline_v3.py +++ /dev/null @@ -1,224 +0,0 @@ - -import os, sys -import time -import datetime - -''' - ESF 10 BEAM OFFLINE -''' -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - - -def main(): - desc = "AMISR ESF 10 Beam Experiment" - - filename = "amisr_esf_reader.xml" - - - - #path = os.path.join(os.environ['HOME'],'amisr') - inPath = '/mnt/data_amisr' - inPath= '/home/soporte/dataAMISR/' - inPath= '/media/soporte/DATA/dataAMISR/' - - outPath = '/home/soporte/Data/ESF' - remotefolder = "/home/wmaster/graficos" - xmin = '18' - xmax = '31' - xrange = int(xmax)-int(xmin) - dbmin = '60' #'60'#'55' #'40' #noise esf eej - dbmax = '75' #'70' #'55' - showSPC = '0' #view plot Spectra - showRTI = '0' #view plot RTI - showNOISE = '0' #view plot NOISE - # # 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' - # # code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' - 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' - nCode = '1' - nBaud = '28' - nosamp = '2' # oversample - localtime='1' #para ajustar el horario en las gráficas '0' para dejar en utc - - str0 = datetime.date.today() - str1 = str0 + datetime.timedelta(days=1) - str2 = str0 - datetime.timedelta(days=1) - today = str0.strftime("%Y/%m/%d") - tomorrow = str1.strftime("%Y/%m/%d") - yesterday = str2.strftime("%Y/%m/%d") - - startDate=yesterday - endDate=today - - #startDate='2021/07/16' - #endDate='2021/07/17' - ##....................................................................................... - ##....................................................................................... - l = startDate.split('/') #adding day of the year to outPath - datelist = datetime.date(int(l[0]),int(l[1]),int(l[2])) - DOY = datelist.timetuple().tm_yday - outPath= outPath+"/ESF"+l[0]+str(DOY) - if os.path.exists(outPath): - print("outPath", outPath) - else : - os.mkdir(outPath) - print("Creating...", outPath) - ##....................................................................................... - ##....................................................................................... - - controllerObj = Project() - controllerObj.setup(id = '20', name='esf_proc', description=desc) - ##....................................................................................... - ##....................................................................................... - - readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=inPath, - startDate=startDate,#startDate,#'2016/07/12', - endDate=endDate,#endDate,#'2016/07/13', - startTime='18:00:10',#'07:00:00', - endTime='07:00:10',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=0) - - #AMISR Processing Unit - ##....................................................................................... - ##....................................................................................... - - #Voltage Processing Unit - procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - opObj10 = procUnitConfObjBeam0.addOperation(name='setAttribute') - opObj10.addParameter(name='frequency', value='445.09e6') - - - #Noise--> no code - - opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') - opObj11.addParameter(name='code', value=code, format='floatlist') - opObj11.addParameter(name='nCode', value=nCode, format='int') - opObj11.addParameter(name='nBaud', value=nBaud, format='int') - opObj11.addParameter(name='osamp', value=nosamp, format='int') - - - # opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') - # opObj12.addParameter(name='minHei', value='50', format='float') - # opObj12.addParameter(name='maxHei', value='150', format='float') - - # #Coherent Integration - # opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') - # opObj11.addParameter(name='n', value='2', format='int') - - ##....................................................................................... - ##....................................................................................... - - #Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints - procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) - procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') - # - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') - opObj11.addParameter(name='n', value='60', format='int') - #opObj11.addParameter(name='timeInterval', value='30', format='int') - # - # - # # # #RemoveDc - #opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - # - # ##Noise Estimation #so reconoce nueva version - ## opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise', optype='self') - ## opObj11.addParameter(name='minHei', value='100', format='int') - ## opObj11.addParameter(name='maxHei', value='280', format='int') - ## #opObj11.addParameter(name='minHei', value='15', format='int') - ## #opObj11.addParameter(name='maxHei', value='20', format='int') - - #--- - # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='selectChannels') - # opObj11.addParameter(name='channelList', value='7,8,9', format='intlist') - - ##....................................................................................... - ##....................................................................................... - - #SpectraPlot - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='external') - opObj11.addParameter(name='id', value='1', format='int') - opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') - opObj11.addParameter(name='showprofile', value='1', format='int') - opObj11.addParameter(name='zmin', value=dbmin, format='int') - opObj11.addParameter(name='zmax', value=dbmax, format='int') - opObj11.addParameter(name='save', value=outPath+'/plots', format='str') - opObj11.addParameter(name='ftp', value='1', format='int') - - opObj11.addParameter(name='localtime', value=localtime,format='int') - opObj11.addParameter(name='show', value = showSPC, format='int') - - #RTIPlot - #title0 = 'RTI AMISR Beam 0' - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='external') - opObj11.addParameter(name='id', value='2', format='int') - opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') - opObj11.addParameter(name='showprofile', value='0', format='int') - opObj11.addParameter(name='tmin', value=xmin, format='int') - opObj11.addParameter(name='xrange', value=xrange, format='int') - opObj11.addParameter(name='zmin', value=dbmin, format='int') - opObj11.addParameter(name='zmax', value=dbmax, format='int') - opObj11.addParameter(name='save', value=outPath+'/plots', format='str') - opObj11.addParameter(name='ftp', value='1', format='int') - opObj11.addParameter(name='wr_period', value='2', format='int') - opObj11.addParameter(name='localtime', value=localtime,format='int') - opObj11.addParameter(name='show', value = showRTI, format='int') - - - # # # - # #Noise - #title0 = 'RTI AMISR Beam 0' - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='NoisePlot', optype='external') - opObj11.addParameter(name='id', value='3', format='int') - opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') - opObj11.addParameter(name='showprofile', value='0', format='int') - opObj11.addParameter(name='tmin', value=xmin, format='int') - opObj11.addParameter(name='xrange', value=xrange, format='int') - #opObj11.addParameter(name='ymin', value=dbmin, format='int') - #opObj11.addParameter(name='ymax', value=dbmax, format='int') - opObj11.addParameter(name='save', value=outPath+'/plots', format='str') - opObj11.addParameter(name='show', value = showNOISE, format='int') - opObj11.addParameter(name='localtime', value=localtime,format='int') - - #Generate *.pdata from AMISR data - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='external') - opObj11.addParameter(name='path', value=outPath) - opObj11.addParameter(name='blocksPerFile', value='10', format='int') - - ##....................................................................................... - ##....................................................................................... - - # #generate moments - # procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) - # opObj20 = procUnitConfObj2.addOperation(name='SpectralMoments', optype='other') - # - # opObj12 = procUnitConfObj2.addOperation(name='ParamWriter', optype='external') - # opObj12.addParameter(name='path', value=outPath) - # opObj12.addParameter(name='blocksPerFile', value='10', format='int') - # opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') - # opObj12.addParameter(name='dataList',value='moments,data_SNR,utctime',format='list') - # opObj12.addParameter(name='mode',value='1',format='int') - # - # - # ---- - - - # print "Escribiendo el archivo XML" - # controllerObj.writeXml(outPath+"/"filename) - controllerObj.start() - # print "Leyendo el archivo XML" - # controllerObj.readXml(outPath+"/"filename) - -if __name__ == '__main__': - import time - start_time = time.time() - main() - print("--- %s seconds ---" % (time.time() - start_time)) diff --git a/schainpy/scripts/amisr_esf_proc_online_v3.py b/schainpy/scripts/amisr_esf_proc_online_v3.py deleted file mode 100644 index 3f496d5..0000000 --- a/schainpy/scripts/amisr_esf_proc_online_v3.py +++ /dev/null @@ -1,220 +0,0 @@ - -import os, sys -import time -import datetime - -''' - ESF EW 10 BEAM ONLINE -''' -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - - -def main(): - desc = "AMISR ESF 10 Beam Experiment" - - filename = "amisr_esf_reader.xml" - - - - #path = os.path.join(os.environ['HOME'],'amisr') - inPath= '/home/soporte/Data/OutTest/ONLINE/' - #inPath = '/mnt/data_amisr' - #path= '/home/soporte/dataAMISR/' - #inPath= '/home/soporte/dataAMISR_test/' - outPath = '/home/soporte/Data/ESF' - remotefolder = "/home/wmaster/test/graficos" - xmin = '18' - xmax = '31' - xrange = int(xmax)-int(xmin) - dbmin = '60' #'60'#'55' #'40' #noise esf eej - dbmax = '75' #'70' #'55' - showSPC = '0' #view plot Spectra - showRTI = '0' #view plot RTI - showNOISE = '0' #view plot NOISE - # # 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' - # # code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' - 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' - nCode = '1' - nBaud = '28' - nosamp = '2' # oversample - localtime='1' #para ajustar el horario en las gráficas '0' para dejar en utc - - dty = datetime.date.today() #ONLINE - str1 = dty + datetime.timedelta(days=1) - str2 = dty - datetime.timedelta(days=1) - today = dty.strftime("%Y/%m/%d") - tomorrow = str1.strftime("%Y/%m/%d") - yesterday = str2.strftime("%Y/%m/%d") - startDate=today - endDate=tomorrow - #startDate='2021/07/16' - #endDate='2021/07/17' - ##....................................................................................... - ##....................................................................................... - l = startDate.split('/') #adding day of the year to outPath - datelist = datetime.date(int(l[0]),int(l[1]),int(l[2])) - DOY = datelist.timetuple().tm_yday - outPath= outPath+"/ESF"+l[0]+str(DOY) - if os.path.exists(outPath): - print("outPath", outPath) - else : - os.mkdir(outPath) - print("Creating...", outPath) - ##....................................................................................... - ##....................................................................................... - - controllerObj = Project() - controllerObj.setup(id = '21', name='esf_proc', description=desc) - ##....................................................................................... - ##....................................................................................... - - readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=inPath, - startDate=startDate,#'2016/07/12', - endDate=endDate,#'2016/07/13', - startTime='18:01:00',#'07:00:00', - endTime='06:55:00',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=1) - - #AMISR Processing Unit - ##....................................................................................... - ##....................................................................................... - - #Voltage Processing Unit - procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - opObj10 = procUnitConfObjBeam0.addOperation(name='setAttribute') - opObj10.addParameter(name='frequency', value='445.0e6') - - #opObj10.addParameter(name='frequency', value='445e6', format='int') #changed on Dec 3, 15:40h - - - #Noise--> no code - - opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') - opObj11.addParameter(name='code', value=code, format='floatlist') - opObj11.addParameter(name='nCode', value=nCode, format='int') - opObj11.addParameter(name='nBaud', value=nBaud, format='int') - opObj11.addParameter(name='osamp', value=nosamp, format='int') - - - # opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') - # opObj12.addParameter(name='minHei', value='50', format='float') - # opObj12.addParameter(name='maxHei', value='150', format='float') - - # #Coherent Integration - # opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') - # opObj11.addParameter(name='n', value='2', format='int') - - ##....................................................................................... - ##....................................................................................... - - #Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints - procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) - procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') - # - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') - opObj11.addParameter(name='n', value='60', format='int') - #opObj11.addParameter(name='timeInterval', value='30', format='int') - - - # # #RemoveDc - #opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - - - #--- - #opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='selectChannels') - #opObj11.addParameter(name='channelList', value='0,2,4,6,8', format='intlist') - - ##....................................................................................... - ##....................................................................................... - - #SpectraPlot - opObj12 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='external') - opObj12.addParameter(name='id', value='1', format='int') - opObj12.addParameter(name='wintitle', value='ESF AMISR', format='str') - opObj12.addParameter(name='showprofile', value='1', format='int') - opObj12.addParameter(name='zmin', value=dbmin, format='int') - opObj12.addParameter(name='zmax', value=dbmax, format='int') - opObj12.addParameter(name='save', value=outPath+'/plots', format='str') - opObj12.addParameter(name='localtime', value=localtime,format='int') - opObj12.addParameter(name='show', value = showSPC, format='int') - opObj12.addParameter(name='colormap', value='jet', format='str') - opObj12.addParameter(name='exp_code', value='207', format='int') - opObj12.addParameter(name='server', value='jro-realtime.igp.gob.pe:4444') - opObj12.addParameter(name='sender_period', value='120') - opObj12.addParameter(name='tag', value='AMISR') - - #RTIPlot - #title0 = 'RTI AMISR Beam 0' - opObj13 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='external') - opObj13.addParameter(name='id', value='2', format='int') - opObj13.addParameter(name='wintitle', value='ESF AMISR', format='str') - opObj13.addParameter(name='showprofile', value='0', format='int') - opObj13.addParameter(name='tmin', value=xmin, format='int') - opObj13.addParameter(name='xrange', value=xrange,format='int') - opObj13.addParameter(name='zmin', value=dbmin, format='int') - opObj13.addParameter(name='zmax', value=dbmax, format='int') - opObj13.addParameter(name='save', value=outPath+'/plots', format='str') - opObj13.addParameter(name='localtime', value=localtime,format='int') - opObj13.addParameter(name='show', value = showRTI, format='int') - opObj13.addParameter(name='colormap', value='jet', format='str') - opObj13.addParameter(name='exp_code', value='207', format='int') - opObj13.addParameter(name='server', value='jro-realtime.igp.gob.pe:4444') - opObj13.addParameter(name='sender_period', value='120') - opObj13.addParameter(name='tag', value='AMISR') - - # # # - # #Noise - #title0 = 'RTI AMISR Beam 0' - opObj14 = procUnitConfObjSpectraBeam0.addOperation(name='NoisePlot', optype='external') - opObj14.addParameter(name='id', value='3', format='int') - opObj14.addParameter(name='wintitle', value='ESF AMISR', format='str') - opObj14.addParameter(name='showprofile', value='0', format='int') - opObj14.addParameter(name='tmin', value=xmin, format='int') - opObj14.addParameter(name='tmax', value=xmax, format='int') - ##opObj11.addParameter(name='ymin', value=dbmin, format='int') - ##opObj11.addParameter(name='ymax', value=dbmax, format='int') - opObj14.addParameter(name='save', value=outPath+'/plots', format='str') - opObj14.addParameter(name='show', value = showNOISE, format='int') - opObj14.addParameter(name='localtime', value=localtime,format='int') - opObj14.addParameter(name='exp_code', value='207', format='int') - opObj14.addParameter(name='server', value='jro-realtime.igp.gob.pe:4444') - opObj14.addParameter(name='sender_period', value='120') - opObj14.addParameter(name='tag', value='AMISR') - ''' - patternX : list - detail of files to be send must have the following order: local, remote - ext, period, exp_code, sub_exp_code - ''' - # ftp = procUnitConfObjSpectraBeam0.addOperation(name='SendToFTP', optype='external') - # ftp.addParameter(name='server', value='jro-app.igp.gob.pe') - # ftp.addParameter(name='username', value='wmaster') - # ftp.addParameter(name='password', value='mst2010vhf') - # ftp.addParameter(name='pattern1', - # value=outPath+'/plots/rti,/home/wmaster/graficos,png,60,1,1', - # format='list') - # ftp.addParameter(name='pattern2', - # value=outPath+'/plots/rti,/home/wmaster/graficos,png,300,1,1', - # format='list') - - - # print "Escribiendo el archivo XML" - # controllerObj.writeXml(filename) - controllerObj.start() - # print "Leyendo el archivo XML" - # controllerObj.readXml(filename) - -if __name__ == '__main__': - import time - start_time = time.time() - main() - print("--- %s seconds ---" % (time.time() - start_time)) diff --git a/schainpy/scripts/amisr_winds_proc_offline_v3.py b/schainpy/scripts/amisr_winds_proc_offline_v3.py deleted file mode 100644 index bb90af2..0000000 --- a/schainpy/scripts/amisr_winds_proc_offline_v3.py +++ /dev/null @@ -1,237 +0,0 @@ - - -import os, sys -import time -import datetime -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -def main(): - - desc = "AMISR WINDS Experiment" - - filename = "amisr_reader.xml" - - controllerObj = Project() - - controllerObj.setup(id = '191', name='winds_offline', description=desc) - - - # path = os.path.join(os.environ['HOME'],'amisr') - # path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' - # path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' - # path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' - # path = '/mnt/data_amisr' - # path = '/media/soporte/E9F4-F053/AMISR/Data/winds' - path = '/mnt/data_amisr' - path= '/home/soporte/dataAMISR/' - #path = '/media/soporte/AMISR_104' - #figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') - #figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF' - figpath = '/home/soporte/Data/winds' - remotefolder = "/home/wmaster/graficos" - #path = '/media/soporte/AMISR_104' - #figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') - #figpath = '/media/soporte/E9F4-F053/AMISR/Data/winds/plots' - - xmin = '08' - xmax = '18' - dbmin = '50' #'60'#'55' #'40' #noise esf eej - dbmax = '80' #'70' #'55' - - ippFactor = '5' - - #ode = '1,-1,-1,-1,1,1,1,1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,1,-1,1' - nCode = '1' - nBaud = '28' - - - today = time.strftime("%Y/%m/%d") - - - readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2019/12/16', #'2014/10/07', - endDate='2019/12/16', #'2014/10/07', - startTime='10:00:00',#'07:00:00', - endTime='23:59:59',#'15:00:00', - walk=0, - # code = code, - # nCode = nCode, - # nBaud = nBaud, - timezone='lt', - online=0) - - #AMISR Processing Unit - - #Voltage Processing Unit - procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') - opObj10.addParameter(name='frequency', value='445e6', format='float') - - opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') - opObj11.addParameter(name='n', value='8', format='int') - - - opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') - opObj12.addParameter(name='minHei', value='0', format='float') - opObj12.addParameter(name='maxHei', value='10', format='float') - - - - #Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints - procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) - procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value='64', format='int') - procUnitConfObjSpectraBeam0.addParameter(name='ippFactor', value=ippFactor, format='int') - # - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') - opObj11.addParameter(name='n', value='64', format='int') - #opObj11.addParameter(name='timeInterval', value='30', format='float') - - - # # #RemoveDc - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - # - #Noise Estimation - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') - opObj11.addParameter(name='minHei', value='2', format='float') - opObj11.addParameter(name='maxHei', value='9', format='float') - - # - # #SpectraPlot - # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='external') - # opObj11.addParameter(name='id', value='1', format='int') - # opObj11.addParameter(name='wintitle', value='Winds AMISR', format='str') - # opObj11.addParameter(name='zmin', value=dbmin, format='int') - # opObj11.addParameter(name='zmax', value=dbmax, format='int') - # opObj11.addParameter(name='save', value=figpath, format='str') - # - # # #RTIPlot - # # #title0 = 'RTI AMISR Beam 0' - # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='external') - # opObj11.addParameter(name='id', value='2', format='int') - # opObj11.addParameter(name='wintitle', value='Winds AMISR', format='str') - # opObj11.addParameter(name='showprofile', value='0', format='int') - # #opObj11.addParameter(name='xmin', value=xmin, format='int') - # #opObj11.addParameter(name='xmax', value=xmax, format='int') - # opObj11.addParameter(name='zmin', value=dbmin, format='int') - # opObj11.addParameter(name='zmax', value=dbmax, format='int') - # opObj11.addParameter(name='save', value=figpath, format='str') - # - # - # # - # # - # # #Noise - # #title0 = 'RTI AMISR Beam 0' - # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='NoisePlot', optype='external') - # opObj11.addParameter(name='id', value='3', format='int') - # # opObj11.addParameter(name='wintitle', value=title0, format='str') - # opObj11.addParameter(name='showprofile', value='0', format='int') - # opObj11.addParameter(name='xmin', value=xmin, format='int') - # opObj11.addParameter(name='xmax', value=xmax, format='int') - # opObj11.addParameter(name='ymin', value=dbmin, format='int') - # opObj11.addParameter(name='ymax', value=dbmax, format='int') - # opObj11.addParameter(name='save', value=figpath, format='str') - - - ##For saving Pdata (doesn't work with amisr data yet!) - # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='external') - # opObj11.addParameter(name='path', value=figpath) - # opObj11.addParameter(name='blocksPerFile', value='100', format='int') - ## opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved NO USAR - - - # #Parameters Process - procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) - opObj20 = procUnitConfObj2.addOperation(name='SpectralMoments', optype='other') - opObj20 = procUnitConfObj2.addOperation(name='SALags', optype='other') - #opObj20.addParameter(name='azimuth', value='0,-90,0,90,180', format='floatlist') - #opObj20.addParameter(name='elevation', value='75.6,75.6,90,75.60,75.60', format='floatlist') - - opObj22 = procUnitConfObj2.addOperation(name='WindProfiler', optype='other') - opObj22.addParameter(name='technique', value='DBS', format='str') - opObj22.addParameter(name='correctAzimuth', value='51.06', format='float') - opObj22.addParameter(name='correctFactor', value='-1', format='float') - opObj22.addParameter(name='azimuth', value='0,-90,0,90,180', format='floatlist') - opObj22.addParameter(name='elevation', value='75.6,75.6,90,75.60,75.60', format='floatlist') - - #opObj20 = procUnitConfObj2.addOperation(name='SALags', optype='other') - # opObj20 = procUnitConfObj2.addOperation(name = 'NonSpecularMeteorDetection', optype='other') - # opObj20.addParameter(name = 'mode', value='DBS', format='str') - - # op23 = procUnitConfObj2.addOperation(name='OutputPlot', optype='external') - # op23.addParameter(name='wintitle', value='Wind Profiler', format='str') - # op23.addParameter(name='titles', value='Zonal, Meridional, Vertical', format='list') - # op23.addParameter(name='cb_labels', value='m/s, m/s, cm/s', format='list') - # op23.addParameter(name='xmin', value='0', format='int') - # op23.addParameter(name='xmax', value='24', format='int') - # op23.addParameter(name='ymin', value='0', format='float') - # op23.addParameter(name='ymax', value='4', format='int') - # op23.addParameter(name='zlimits', value='(-20,20),(-20,20),(-200,200)', format='pairsList') - # op23.addParameter(name='save', value=figpath, format='str') - # op23.addParameter(name='save_code', value='wind', format='str') - - # #WindProfilerPlot - # op23 = procUnitConfObj2.addOperation(name='ParametersPlot_', optype='external') - # op23.addParameter(name='wintitle', value='Wind Profiler', format='str') - # op23.addParameter(name='id', value='4', format='int') - # #op23.addParameter(name='titles', value='Zonal, Meridional, Vertical', format='list') - # op23.addParameter(name='cb_labels', value='m/s, m/s, cm/s', format='list') - # op23.addParameter(name='xmin', value='0', format='int') - # op23.addParameter(name='xmax', value='24', format='int') - # op23.addParameter(name='ymin', value='0', format='float') - # op23.addParameter(name='ymax', value='4', format='int') - # op23.addParameter(name='zlimits', value='(-20,20),(-20,20),(-200,200)', format='pairsList') - # op23.addParameter(name='save', value=figpath, format='str') - # op23.addParameter(name='save_code', value='wind', format='str') - - opObj23 = procUnitConfObj2.addOperation(name='WindProfilerPlot_', optype='external') - opObj23.addParameter(name='show', value='1', format='bool') - opObj23.addParameter(name='id', value='4', format='int') - opObj23.addParameter(name='wintitle', value='Wind Profiler', format='str') - opObj23.addParameter(name='save', value='1', format='bool') - opObj23.addParameter(name='figpath', value = figpath, format='str') - opObj23.addParameter(name='zmin', value='-20', format='int') - opObj23.addParameter(name='zmax', value='20', format='int') - opObj23.addParameter(name='zmin_ver', value='-100', format='float') - opObj23.addParameter(name='zmax_ver', value='100', format='float') - opObj23.addParameter(name='SNRmin', value='-20', format='int') - opObj23.addParameter(name='SNRmax', value='30', format='int') - opObj23.addParameter(name='SNRthresh', value='-50', format='float') - opObj23.addParameter(name='xmin', value=xmin, format='float') - opObj23.addParameter(name='xmax', value=xmax, format='float') - opObj23.addParameter(name='ftp', value='1', format='int') - opObj23.addParameter(name='wr_period', value='2', format='int') - opObj23.addParameter(name='exp_code', value='21', format='int') - opObj23.addParameter(name='sub_exp_code', value='3', format='int') - opObj23.addParameter(name='ftp_wei', value='0', format='int') - opObj23.addParameter(name='plot_pos', value='0', format='int') - - #--------------------------------------------------------------------------------------------- - # - # procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') - # procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') - # procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') - # procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') - # procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') - # procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') - # procUnitConfObj2.addParameter(name='ext', value='.png', format='str') - # procUnitConfObj2.addParameter(name='period', value=60, format='int') - # procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - #----------------------------------------------------------------------------------------------- - - - # print "Escribiendo el archivo XML" - # controllerObj.writeXml(path +'/'+filename) - # print "Leyendo el archivo XML" - # controllerObj.readXml(path +'/'+filename) - - controllerObj.start() -if __name__ == '__main__': - import time - start_time = time.time() - main() - print("--- %s seconds ---" % (time.time() - start_time)) diff --git a/schainpy/scripts/amisr_winds_proc_online_v3.py b/schainpy/scripts/amisr_winds_proc_online_v3.py deleted file mode 100644 index 43ca879..0000000 --- a/schainpy/scripts/amisr_winds_proc_online_v3.py +++ /dev/null @@ -1,164 +0,0 @@ -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -def main(): - desc = "AMISR WINDS Experiment" - - filename = "amisr_reader.xml" - - controllerObj = Project() - - controllerObj.setup(id = '191', name='winds_online', description=desc) - - - # path = os.path.join(os.environ['HOME'],'amisr') - # path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' - # path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' - # path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' - # path = '/mnt/data_amisr' - # path = '/media/soporte/E9F4-F053/AMISR/Data/winds' - path = '/mnt/data_amisr' - path= '/home/soporte/dataAMISR/' - #path = '/media/soporte/AMISR_104' - #figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') - figpath = '/home/soporte/Data/winds/plots' - remotefolder = "/home/wmaster/graficos" - - xmin = '08' - xmax = '18' - dbmin = '50' #'60'#'55' #'40' #noise esf eej - dbmax = '80' #'70' #'55' - - #to consider that each real IPP is actually original_IPP * nchannels - ippFactor = '5' - - # 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' - # nCode = '1' - # nBaud = '28' - - - today = time.strftime("%Y/%m/%d") - - - readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2019/12/16', #'2014/10/07', - endDate='2019/12/16', #'2014/10/07', - startTime='10:00:00',#'07:00:00', - endTime='23:59:59',#'15:00:00', - walk=0, - # code = code, - # nCode = nCode, - # nBaud = nBaud, - timezone='lt', - online=1) - - #AMISR Processing Unit - - #Voltage Processing Unit - procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') - opObj10.addParameter(name='frequency', value='445e6', format='float') - - - - opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') - opObj12.addParameter(name='minHei', value='0', format='float') - opObj12.addParameter(name='maxHei', value='10', format='float') - - - - #Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints - procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) - procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=32, format='int') - procUnitConfObjSpectraBeam0.addParameter(name='ippFactor', value=ippFactor, format='int') - # - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') - opObj11.addParameter(name='n', value='16', format='int') - #opObj11.addParameter(name='timeInterval', value='30', format='float') - - - # # #RemoveDc - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - # - #Noise Estimation - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') - opObj11.addParameter(name='minHei', value='5', format='float') - opObj11.addParameter(name='maxHei', value='9', format='float') - - - #SpectraPlot - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') - opObj11.addParameter(name='id', value='1', format='int') - opObj11.addParameter(name='wintitle', value='Winds AMISR', format='str') - opObj11.addParameter(name='zmin', value=dbmin, format='int') - opObj11.addParameter(name='zmax', value=dbmax, format='int') - opObj11.addParameter(name='save', value=figpath, format='str') - - - - # #RTIPlot - # #title0 = 'RTI AMISR Beam 0' - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') - opObj11.addParameter(name='id', value='2', format='int') - opObj11.addParameter(name='wintitle', value='Winds AMISR', format='str') - opObj11.addParameter(name='showprofile', value='0', format='int') - opObj11.addParameter(name='xmin', value=xmin, format='int') - opObj11.addParameter(name='xmax', value=xmax, format='int') - opObj11.addParameter(name='zmin', value=dbmin, format='int') - opObj11.addParameter(name='zmax', value=dbmax, format='int') - opObj11.addParameter(name='save', value=figpath, format='str') - - - # - # #Noise - #title0 = 'RTI AMISR Beam 0' - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') - opObj11.addParameter(name='id', value='3', format='int') - # opObj11.addParameter(name='wintitle', value=title0, format='str') - opObj11.addParameter(name='showprofile', value='0', format='int') - opObj11.addParameter(name='xmin', value=xmin, format='int') - opObj11.addParameter(name='xmax', value=xmax, format='int') - opObj11.addParameter(name='ymin', value=dbmin, format='int') - opObj11.addParameter(name='ymax', value=dbmax, format='int') - opObj11.addParameter(name='save', value=figpath, format='str') - - - #For saving Pdata (doesn't work with amisr data yet!) - # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') - # opObj11.addParameter(name='path', value=figpath) - # opObj11.addParameter(name='blocksPerFile', value='100', format='int') - # opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved - - - pathF1 = outPath+'/plots/rti' - pathF2 = outPath+'/plots/spc' - ''' PaternX = local, remote, ext, period, exp_code, sub_exp_code - ''' - ftp = procUnitConfObjSpectraBeam0.addOperation(name='SendToFTP', optype='external') - ftp.addParameter(name='server', value='jro-app.igp.gob.pe') - ftp.addParameter(name='username', value='wmaster') - ftp.addParameter(name='password', value='mst2010vhf') - ftp.addParameter(name='pattern1',value=pathF1+',/home/wmaster/graficos,png,100,17,2', - format='list') - ftp.addParameter(name='pattern2',value=pathF2+',/home/wmaster/graficos,png,100,17,2', - format='list') - #----------------------------------------------------------------------------------------------- - - - # print "Escribiendo el archivo XML" - # controllerObj.writeXml(path +'/'+filename) - # print "Leyendo el archivo XML" - # controllerObj.readXml(path +'/'+filename) - controllerObj.start() -if __name__ == '__main__': - import time - start_time = time.time() - main() - print("--- %s seconds ---" % (time.time() - start_time)) diff --git a/schainpy/scripts/base_eej.py b/schainpy/scripts/base_eej.py deleted file mode 100644 index 35ade40..0000000 --- a/schainpy/scripts/base_eej.py +++ /dev/null @@ -1,215 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='eej_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -path = '/mnt/data_amisr' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/EEJ' -figpath = '/home/soporte/Data/EEJ' - - - - -dpath= '/media/soporte/DATA/AMISR/JULIA/proc/EEJ' - - - -#path='/media/soporte/New Volume1/AMISR/JULIA/EEJ' -#path = '/media/soporte/DATA/AMISR/JULIA/EEJ' -#path = '/media/soporte/data/AMISR/EEJ' -#path = '/mnt/data_amisr/EEJ' - - -#path = '/media/soporte/data/AMS/EEJ' (2017/03/14) - -path = '/mnt/data_hddamisr/EEJ' -path = '/mnt/data_amisr/EEJ' -figpath = '/media/soporte/DATA/AMISR/JULIA/plot/EEJ' -pdatapath = '/media/soporte/DATA/AMISR/JULIA/pdata/EEJ' -procpath = '/media/soporte/DATA/AMISR/JULIA/param/EEJ' - -xmin = '07' -xmax = '18' -ymin = '0' -dbmin = '45' #'60'#'55' #'40' #noise esf eej -dbmax = '65' #'70' #'55' -show = '0' - -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' -nCode = '1' -nBaud = '28' - - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2017/05/22',#'2016/04/09', #'2014/10/07', - endDate='2017/05/27',#'2016/04/15', #'2014/10/07', - startTime='00:00:00',#'07:00:00', - endTime='23:59:59',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=0) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dic 3, 15:40h -#opObj10.addParameter(name='frequency', value='430e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -#Noise--> no code - -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='121', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='300', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - -# #procUnitConfObjSpectraBeam0.addParameter(name='pairsList', value='(0,0),(1,1),(2,2),(3,3),(4,4)', \ -# # format='pairsList') -# -# # procUnitConfObjSpectraBeam0.addParameter(name='pairsList', value='(0,0)', \ -# # format='pairsList') -# # -# # #RemoveDc -# # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') -# -#Noise Estimation -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -# opObj11.addParameter(name='minHei', value='100', format='float') -# opObj11.addParameter(name='maxHei', value='280', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') -# # -# #SpectraPlot -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='1', format='int') -# opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') -# #opObj11.addParameter(name='zmin', value='38', format='int') -# opObj11.addParameter(name='zmin', value=dbmin, format='int') -# opObj11.addParameter(name='zmax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# # -# # #RTIPlot -# # #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=ymin, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') - -# # # -# # # -# #Noise -#title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# # opObj11.addParameter(name='wintitle', value=title0, format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# opObj11.addParameter(name='show', value = show, format='bool') - - - -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -opObj11.addParameter(name='path', value=pdatapath) -opObj11.addParameter(name='blocksPerFile', value='10', format='int') -opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved - - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=5, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -opObj12.addParameter(name='path', value=procpath) -opObj12.addParameter(name='blocksPerFile', value='10', format='int') -opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -opObj12.addParameter(name='mode',value='1',format='int') - - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm diff --git a/schainpy/scripts/julia_mp.py b/schainpy/scripts/julia_mp.py deleted file mode 100644 index 2a8eaf1..0000000 --- a/schainpy/scripts/julia_mp.py +++ /dev/null @@ -1,94 +0,0 @@ -import argparse - -from schainpy.controller import Project, multiSchain - -desc = "HF_EXAMPLE" - -def fiber(cursor, skip, q, dt): - - controllerObj = Project() - - controllerObj.setup(id='191', name='test01', description=desc) - - readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader', - path='/home/nanosat/data/julia', - startDate=dt, - endDate=dt, - startTime="00:00:00", - endTime="23:59:59", - online=0, - #set=1426485881, - delay=10, - walk=1, - queue=q, - cursor=cursor, - skip=skip, - #timezone=-5*3600 - ) - - # #opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - # - procUnitConfObj2 = controllerObj.addProcUnit(datatype='Spectra', inputId=readUnitConfObj.getId()) - # procUnitConfObj2.addParameter(name='nipp', value='5', format='int') - - # procUnitConfObj3 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=readUnitConfObj.getId()) - # opObj11 = procUnitConfObj3.addOperation(name='SpectralMoments', optype='other') - - # - opObj11 = procUnitConfObj2.addOperation(name='RTIPlot', optype='other') - opObj11.addParameter(name='id', value='1000', format='int') - opObj11.addParameter(name='wintitle', value='HF_Jicamarca_Spc', format='str') - opObj11.addParameter(name='xmin', value='0', format='int') - opObj11.addParameter(name='xmax', value='24', format='int') - - # opObj11 = procUnitConfObj3.addOperation(name='Parameters1Plot', optype='other') - # opObj11.addParameter(name='channelList', value='0', format='intList') - # - # opObj11.addParameter(name='id', value='2000', format='int') - # # opObj11.addParameter(name='colormap', value='0', format='bool') - # opObj11.addParameter(name='onlySNR', value='1', format='bool') - # opObj11.addParameter(name='DOP', value='0', format='bool') - # opObj11.addParameter(name='showSNR', value='1', format='bool') - # opObj11.addParameter(name='SNRthresh', value='0', format='int') - # opObj11.addParameter(name='SNRmin', value='-10', format='int') - # opObj11.addParameter(name='SNRmax', value='30', format='int') - - # opObj11.addParameter(name='showSNR', value='1', format='int') - # # opObj11.addParameter(name='channelList', value='0', format='intlist') - # # opObj11.addParameter(name='xmin', value='0', format='float') - # opObj11.addParameter(name='xmin', value='0', format='float') - # opObj11.addParameter(name='xmax', value='24', format='float') - - # opObj11.addParameter(name='zmin', value='-110', format='float') - # opObj11.addParameter(name='zmax', value='-70', format='float') - # opObj11.addParameter(name='save', value='0', format='int') - # # opObj11.addParameter(name='figpath', value='/tmp/', format='str') - # - # opObj12 = procUnitConfObj2.addOperation(name='PublishData', optype='other') - # opObj12.addParameter(name='zeromq', value=1, format='int') - # opObj12.addParameter(name='server', value='tcp://10.10.10.82:7000', format='str') - - - # opObj13 = procUnitConfObj3.addOperation(name='PublishData', optype='other') - # opObj13.addParameter(name='zeromq', value=1, format='int') - # opObj13.addParameter(name='server', value="juanca", format='str') - - # opObj12.addParameter(name='delay', value=1, format='int') - - - # print "Escribiendo el archivo XML" - # controllerObj.writeXml(filename) - # print "Leyendo el archivo XML" - # controllerObj.readXml(filename) - - - # timeit.timeit('controllerObj.run()', number=2) - - controllerObj.start() - - -if __name__ == '__main__': - parser = argparse.ArgumentParser(description='Set number of parallel processes') - parser.add_argument('--nProcess', default=1, type=int) - args = parser.parse_args() - multiSchain(fiber, nProcess=args.nProcess, startDate='2016/08/19', endDate='2016/08/19') diff --git a/schainpy/scripts/optimun_offset.py b/schainpy/scripts/optimun_offset.py deleted file mode 100644 index fa6e660..0000000 --- a/schainpy/scripts/optimun_offset.py +++ /dev/null @@ -1,117 +0,0 @@ -import h5py -import numpy -import matplotlib.pyplot as plt -import glob -import os - -#---------------------- Functions --------------------- - -def findFiles(path): - - dirList = [] - fileList = [] - - for thisPath in os.listdir(path): - dirList.append(os.path.join(path,thisPath)) - dirList.sort() - - for thisDirectory in dirList: - files = glob.glob1(thisDirectory, "*.hdf5") - files.sort() - for thisFile in files: - fileList.append(os.path.join(thisDirectory,thisFile)) - - return fileList - -def readFiles(fileList): - - meteors_array = numpy.zeros((1,4)) - - for thisFile in fileList: - - #Leer - f1 = h5py.File(thisFile,'r') - grp1 = f1['Data'] - grp2 = grp1['data_output'] - meteors1 = grp2['table0'][:] - meteors_array = numpy.vstack((meteors_array,meteors1)) - #cerrar - f1.close() - - meteors_array = numpy.delete(meteors_array, 0, axis=0) - meteors_list = [meteors_array[:,0],meteors_array[:,1],meteors_array[:,2],meteors_array[:,3]] - return meteors_list - -def estimateMean(offset_list): - - mean_off = [] - axisY_off = [] - axisX_off = [] - - for thisOffset in offset_list: - mean_aux = numpy.mean(thisOffset, axis = 0) - mean_off.append(mean_aux) - axisX_off.append(numpy.array([0,numpy.size(thisOffset)])) - axisY_off.append(numpy.array([mean_aux,mean_aux])) - - return mean_off, axisY_off, axisX_off - -def plotPhases(offset0, axisY0, axisX0, title): - f, axarr = plt.subplots(4, sharey=True) - color = ['b','g','r','c'] -# plt.grid() - for i in range(len(offset0)): - thisMeteor = offset0[i] - thisY = axisY0[i] - thisX = axisX0[i] - thisColor = color[i] - - opt = thisColor + 'o' - axarr[i].plot(thisMeteor,opt) - axarr[i].plot(thisX, thisY, thisColor) - axarr[i].set_ylabel('Offset ' + str(i)) - - plt.ylim((-180,180)) - axarr[0].set_title(title + ' Offsets') - axarr[3].set_xlabel('Number of estimations') - - return - -def filterOffsets(offsets0, stdvLimit): - offsets1 = [] - - for thisOffset in offsets0: - pstd = numpy.std(thisOffset)*stdvLimit - pmean = numpy.mean(thisOffset) - outlier1 = thisOffset > pmean - pstd - outlier2 = thisOffset < pmean + pstd - not_outlier = numpy.logical_and(outlier1,outlier2) - thisOffset1 = thisOffset[not_outlier] - offsets1.append(thisOffset1) - - return offsets1 - -#---------------------- Setup --------------------------- - -<<<<<<< HEAD -path = '/home/nanosat/Pictures/JASMET30_mp/201608/phase' -======= -path = '/home/jespinoza/Pictures/JASMET30/201608/phase' ->>>>>>> master -stdvLimit = 0.5 - -#---------------------- Script --------------------------- - -fileList = findFiles(path) -offsets0 = readFiles(fileList) -mean0, axisY0, axisX0 = estimateMean(offsets0) -plotPhases(offsets0, axisY0, axisX0, 'Original') - -offsets1 = filterOffsets(offsets0, stdvLimit) -mean1, axisY1, axisX1 = estimateMean(offsets1) -plotPhases(offsets1, axisY1, axisX1, 'Filtered') - -print "Original Offsets: %.2f, %.2f, %.2f, %.2f" % (mean0[0],mean0[1],mean0[2],mean0[3]) -print "Filtered Offsets: %.2f, %.2f, %.2f, %.2f" % (mean1[0],mean1[1],mean1[2],mean1[3]) - -plt.show() diff --git a/schainpy/scripts/pedestal_client.py b/schainpy/scripts/pedestal_client.py deleted file mode 100644 index ec88d9e..0000000 --- a/schainpy/scripts/pedestal_client.py +++ /dev/null @@ -1,87 +0,0 @@ -import numpy -import sys -import zmq -import time -import h5py -import os - -path="/home/alex/Downloads/pedestal" -ext=".hdf5" - -port ="5556" -if len(sys.argv)>1: - port = sys.argv[1] - int(port) - -if len(sys.argv)>2: - port1 = sys.argv[2] - int(port1) - -#Socket to talk to server -context = zmq.Context() -socket = context.socket(zmq.SUB) - -print("Collecting updates from weather server...") -socket.connect("tcp://localhost:%s"%port) - -if len(sys.argv)>2: - socket.connect("tcp://localhost:%s"%port1) - -#Subscribe to zipcode, default is NYC,10001 -topicfilter = "10001" -socket.setsockopt_string(zmq.SUBSCRIBE,topicfilter) -#Process 5 updates -total_value=0 -count= -1 -azi= [] -elev=[] -time0=[] -#for update_nbr in range(250): -while(True): - string= socket.recv() - topic,ang_elev,ang_elev_dec,ang_azi,ang_azi_dec,seconds,seconds_dec= string.split() - ang_azi =float(ang_azi)+1e-3*float(ang_azi_dec) - ang_elev =float(ang_elev)+1e-3*float(ang_elev_dec) - seconds =float(seconds) +1e-6*float(seconds_dec) - azi.append(ang_azi) - elev.append(ang_elev) - time0.append(seconds) - count +=1 - if count == 100: - timetuple=time.localtime() - epoc = time.mktime(timetuple) - #print(epoc) - fullpath = path + ("/" if path[-1]!="/" else "") - - if not os.path.exists(fullpath): - os.mkdir(fullpath) - - azi_array = numpy.array(azi) - elev_array = numpy.array(elev) - time0_array= numpy.array(time0) - pedestal_array=numpy.array([azi,elev,time0]) - count=0 - azi= [] - elev=[] - time0=[] - #print(pedestal_array[0]) - #print(pedestal_array[1]) - - meta='PE' - filex="%s%4.4d%3.3d%10.4d%s"%(meta,timetuple.tm_year,timetuple.tm_yday,epoc,ext) - filename = os.path.join(fullpath,filex) - fp = h5py.File(filename,'w') - #print("Escribiendo HDF5...",epoc) - #·················· Data·....······································ - grp = fp.create_group("Data") - dset = grp.create_dataset("azimuth" , data=pedestal_array[0]) - dset = grp.create_dataset("elevacion", data=pedestal_array[1]) - dset = grp.create_dataset("utc" , data=pedestal_array[2]) - #·················· Metadata······································· - grp = fp.create_group("Metadata") - dset = grp.create_dataset("utctimeInit", data=pedestal_array[2][0]) - timeInterval = pedestal_array[2][1]-pedestal_array[2][0] - dset = grp.create_dataset("timeInterval", data=timeInterval) - fp.close() - -#print ("Average messagedata value for topic '%s' was %dF" % ( topicfilter,total_value / update_nbr)) diff --git a/schainpy/scripts/pedestal_server.py b/schainpy/scripts/pedestal_server.py deleted file mode 100644 index 446a76a..0000000 --- a/schainpy/scripts/pedestal_server.py +++ /dev/null @@ -1,48 +0,0 @@ -########################################################################### -############################### SERVIDOR################################### -######################### SIMULADOR DE PEDESTAL############################ -########################################################################### -import time -import math -import numpy -import struct -from time import sleep -import zmq -import pickle -port="5556" -context = zmq.Context() -socket = context.socket(zmq.PUB) -socket.bind("tcp://*:%s"%port) -###### PARAMETROS DE ENTRADA################################ -print("PEDESTAL RESOLUCION 0.01") -print("MAXIMA VELOCIDAD DEL PEDESTAL") -ang_elev = 4.12 -ang_azi = 30 -velocidad= input ("Ingresa velocidad:") -velocidad= float(velocidad) -print (velocidad) -############################################################ -sleep(3) -print("Start program") -t1 = time.time() -count=0 -while(True): - tmp_vuelta = int(360/velocidad) - t1=t1+tmp_vuelta*count - count= count+1 - muestras_seg = 100 - t2 = time.time() - for i in range(tmp_vuelta): - for j in range(muestras_seg): - tmp_variable = (i+j/100.0) - ang_azi = (tmp_variable)*float(velocidad) - seconds = t1+ tmp_variable - topic=10001 - print ("Azim°: ","%.4f"%ang_azi,"Time:" ,"%.5f"%seconds) - seconds_dec=(seconds-int(seconds))*1e6 - ang_azi_dec= (ang_azi-int(ang_azi))*1e3 - ang_elev_dec=(ang_elev-int(ang_elev))*1e3 - sleep(0.0088) - socket.send_string("%d %d %d %d %d %d %d"%(topic,ang_elev,ang_elev_dec,ang_azi,ang_azi_dec,seconds,seconds_dec)) - t3 = time.time() - print ("Total time for 1 vuelta in Seconds",t3-t2) diff --git a/schainpy/scripts/restore.spst b/schainpy/scripts/restore.spst deleted file mode 100644 index e69de29..0000000 --- a/schainpy/scripts/restore.spst +++ /dev/null diff --git a/schainpy/scripts/scripts_v/.svn/all-wcprops b/schainpy/scripts/scripts_v/.svn/all-wcprops deleted file mode 100644 index 0cbdfed..0000000 --- a/schainpy/scripts/scripts_v/.svn/all-wcprops +++ /dev/null @@ -1,275 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 75 -/svn/jro_soft/schain/!svn/ver/1045/trunk/schainroot/source/schainpy/scripts -END -amisr_windEstimation.py -K 25 -svn:wc:ra_dav:version-url -V 99 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/amisr_windEstimation.py -END -Meteor_JASMET30Mhz_Beacon.py -K 25 -svn:wc:ra_dav:version-url -V 104 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/Meteor_JASMET30Mhz_Beacon.py -END -Meteor_JASMET50Mhz_Beacon.py -K 25 -svn:wc:ra_dav:version-url -V 104 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/Meteor_JASMET50Mhz_Beacon.py -END -amisr_esf_proc_online.py -K 25 -svn:wc:ra_dav:version-url -V 100 -/svn/jro_soft/schain/!svn/ver/1206/trunk/schainroot/source/schainpy/scripts/amisr_esf_proc_online.py -END -amisr_winds_proc_offline.py -K 25 -svn:wc:ra_dav:version-url -V 103 -/svn/jro_soft/schain/!svn/ver/1115/trunk/schainroot/source/schainpy/scripts/amisr_winds_proc_offline.py -END -plot_mst.py -K 25 -svn:wc:ra_dav:version-url -V 87 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/plot_mst.py -END -EWDrifts_estimation02.py -K 25 -svn:wc:ra_dav:version-url -V 100 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/EWDrifts_estimation02.py -END -Meteor_JASMET30MHz.py -K 25 -svn:wc:ra_dav:version-url -V 97 -/svn/jro_soft/schain/!svn/ver/1044/trunk/schainroot/source/schainpy/scripts/Meteor_JASMET30MHz.py -END -150km_january_3.py -K 25 -svn:wc:ra_dav:version-url -V 94 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/150km_january_3.py -END -Meteor_JASMET_PreProc.py -K 25 -svn:wc:ra_dav:version-url -V 100 -/svn/jro_soft/schain/!svn/ver/1044/trunk/schainroot/source/schainpy/scripts/Meteor_JASMET_PreProc.py -END -plot_eej.py -K 25 -svn:wc:ra_dav:version-url -V 87 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/plot_eej.py -END -150km_january_1.py -K 25 -svn:wc:ra_dav:version-url -V 94 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/150km_january_1.py -END -test_isr_blocks.py -K 25 -svn:wc:ra_dav:version-url -V 94 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/test_isr_blocks.py -END -plot_isr.py -K 25 -svn:wc:ra_dav:version-url -V 87 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/plot_isr.py -END -test_eej_blocks.py -K 25 -svn:wc:ra_dav:version-url -V 94 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/test_eej_blocks.py -END -amisr_EEJ.py -K 25 -svn:wc:ra_dav:version-url -V 88 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/amisr_EEJ.py -END -amisr_reader_exp.py -K 25 -svn:wc:ra_dav:version-url -V 95 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/amisr_reader_exp.py -END -test_mst_blocks.py -K 25 -svn:wc:ra_dav:version-url -V 94 -/svn/jro_soft/schain/!svn/ver/1040/trunk/schainroot/source/schainpy/scripts/test_mst_blocks.py -END -amisr_esf_proc_offline.py -K 25 -svn:wc:ra_dav:version-url -V 101 -/svn/jro_soft/schain/!svn/ver/1205/trunk/schainroot/source/schainpy/scripts/amisr_esf_proc_offline.py -END -mst_isr_eej_blocks.py -K 25 -svn:wc:ra_dav:version-url -V 97 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/mst_isr_eej_blocks.py -END -150km_January_shortPulse.py -K 25 -svn:wc:ra_dav:version-url -V 103 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/150km_January_shortPulse.py -END -150km_jicamarca.xml -K 25 -svn:wc:ra_dav:version-url -V 95 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/150km_jicamarca.xml -END -sousy.py -K 25 -svn:wc:ra_dav:version-url -V 84 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/sousy.py -END -hf_write_pdata.py -K 25 -svn:wc:ra_dav:version-url -V 93 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/hf_write_pdata.py -END -150km_January_longPulse.py -K 25 -svn:wc:ra_dav:version-url -V 102 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/150km_January_longPulse.py -END -jacktotalrunner.py -K 25 -svn:wc:ra_dav:version-url -V 94 -/svn/jro_soft/schain/!svn/ver/1032/trunk/schainroot/source/schainpy/scripts/jacktotalrunner.py -END -hf_test.py -K 25 -svn:wc:ra_dav:version-url -V 86 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/hf_test.py -END -amisr_eej_proc_offline.py -K 25 -svn:wc:ra_dav:version-url -V 101 -/svn/jro_soft/schain/!svn/ver/1204/trunk/schainroot/source/schainpy/scripts/amisr_eej_proc_offline.py -END -mst_isr_eej_processing.py -K 25 -svn:wc:ra_dav:version-url -V 101 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/mst_isr_eej_processing.py -END -__init__.py -K 25 -svn:wc:ra_dav:version-url -V 87 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/__init__.py -END -amisr_spreadF.py -K 25 -svn:wc:ra_dav:version-url -V 92 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/amisr_spreadF.py -END -EWDrifts_estimation01.py -K 25 -svn:wc:ra_dav:version-url -V 100 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/EWDrifts_estimation01.py -END -WindProfiler_DBS01.py -K 25 -svn:wc:ra_dav:version-url -V 97 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/WindProfiler_DBS01.py -END -amisr_reader.py -K 25 -svn:wc:ra_dav:version-url -V 91 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/amisr_reader.py -END -amisr_winds_proc_online.py -K 25 -svn:wc:ra_dav:version-url -V 102 -/svn/jro_soft/schain/!svn/ver/1115/trunk/schainroot/source/schainpy/scripts/amisr_winds_proc_online.py -END -amisr_reader_exp_ex2.py -K 25 -svn:wc:ra_dav:version-url -V 99 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/amisr_reader_exp_ex2.py -END -amisr_eej_proc_online.py -K 25 -svn:wc:ra_dav:version-url -V 100 -/svn/jro_soft/schain/!svn/ver/1203/trunk/schainroot/source/schainpy/scripts/amisr_eej_proc_online.py -END -beacon_phase.py -K 25 -svn:wc:ra_dav:version-url -V 91 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/beacon_phase.py -END -testRawData.py -K 25 -svn:wc:ra_dav:version-url -V 90 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/testRawData.py -END -jasmet30_16april.py -K 25 -svn:wc:ra_dav:version-url -V 95 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/jasmet30_16april.py -END -hf_plot_pdata.py -K 25 -svn:wc:ra_dav:version-url -V 92 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/hf_plot_pdata.py -END -jasmet50_16april.py -K 25 -svn:wc:ra_dav:version-url -V 95 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/jasmet50_16april.py -END -WindProfiler_SA01.py -K 25 -svn:wc:ra_dav:version-url -V 96 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/WindProfiler_SA01.py -END -Meteor_JASMET50MHz_Winds.py -K 25 -svn:wc:ra_dav:version-url -V 103 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/Meteor_JASMET50MHz_Winds.py -END -amisr_proc.py -K 25 -svn:wc:ra_dav:version-url -V 89 -/svn/jro_soft/schain/!svn/ver/1014/trunk/schainroot/source/schainpy/scripts/amisr_proc.py -END diff --git a/schainpy/scripts/scripts_v/.svn/dir-prop-base b/schainpy/scripts/scripts_v/.svn/dir-prop-base deleted file mode 100644 index 3342c5d..0000000 --- a/schainpy/scripts/scripts_v/.svn/dir-prop-base +++ /dev/null @@ -1,16 +0,0 @@ -K 10 -svn:ignore -V 158 -ewdrifts.xml -output_sinGraphs.pstats -output_tmp.pstats -output.png -output.pstats -output0.png -output2.pstats -output3.png -output3.pstats -schain.xml -test8chan.py - -END diff --git a/schainpy/scripts/scripts_v/.svn/entries b/schainpy/scripts/scripts_v/.svn/entries deleted file mode 100644 index 463e5b3..0000000 --- a/schainpy/scripts/scripts_v/.svn/entries +++ /dev/null @@ -1,1558 +0,0 @@ -10 - -dir -1047 -http://jro-dev.igp.gob.pe/svn/jro_soft/schain/trunk/schainroot/source/schainpy/scripts -http://jro-dev.igp.gob.pe/svn/jro_soft/schain - - - -2015-08-06T17:51:12.741208Z -1045 -joscanoa -has-props - -svn:special svn:externals svn:needs-lock - - - - - - - - - - - -ea082a80-fb9f-4feb-b8d7-17586309b78c - -150km_January_longPulse.py -file - - - - -2015-08-19T22:00:56.000000Z -395fc9ce3defafddacdf509f2f4556c6 -2015-06-04T23:19:33.989293Z -1003 -avaldez - - - - - - - - - - - - - - - - - - - - - -7868 - -150km_January_shortPulse.py -file - - - - -2015-08-19T22:00:56.000000Z -440444c0146e4298556f3d56f3568b1d -2015-06-04T23:19:42.100708Z -1004 -avaldez - - - - - - - - - - - - - - - - - - - - - -7474 - -150km_january_1.py -file - - - - -2015-08-19T22:00:56.000000Z -86a9fcd86f96d0db78e6141088d9fc7b -2015-01-12T15:49:08.326511Z -911 -murco - - - - - - - - - - - - - - - - - - - - - -4945 - -150km_january_3.py -file - - - - -2015-08-19T22:00:56.000000Z -92f48cdeb6ce34d984c5eb68691d4f67 -2015-05-04T14:59:38.187771Z -967 -murco - - - - - - - - - - - - - - - - - - - - - -5960 - -150km_jicamarca.xml -file - - - - -2015-08-19T22:00:56.000000Z -92f2164728c8f8a6958e634a6447d6f2 -2015-05-04T14:59:38.187771Z -967 -murco - - - - - - - - - - - - - - - - - - - - - -3795 - -EWDrifts_estimation01.py -file - - - - -2015-08-19T22:00:56.000000Z -a010bf08aa81509ec10268c73dfdf4cb -2014-11-27T09:30:54.575113Z -902 -joscanoa - - - - - - - - - - - - - - - - - - - - - -6835 - -EWDrifts_estimation02.py -file - - - - -2015-08-19T22:00:56.000000Z -d1d854d0706a550d5fb51ff0edf5760c -2014-11-27T09:30:54.575113Z -902 -joscanoa - - - - - - - - - - - - - - - - - - - - - -2788 - -Meteor_JASMET30MHz.py -file - - - - -2015-08-19T22:00:56.000000Z -5b6d5ea9603d6d02248bae6dacbb5fd9 -2015-08-06T17:47:33.905218Z -1044 -joscanoa - - - - - - - - - - - - - - - - - - - - - -10553 - -Meteor_JASMET30Mhz_Beacon.py -file - - - - -2015-08-19T22:00:56.000000Z -1398471f68e8000c19302db7792c0804 -2014-10-21T10:34:03.775723Z -875 -joscanoa - - - - - - - - - - - - - - - - - - - - - -3248 - -Meteor_JASMET50MHz_Winds.py -file - - - - -2015-08-19T22:00:56.000000Z -9fbfbd3af506d9971ea2cdfefdd5f1d3 -2014-10-21T10:34:03.775723Z -875 -joscanoa - - - - - - - - - - - - - - - - - - - - - -5611 - -Meteor_JASMET50Mhz_Beacon.py -file - - - - -2015-08-19T22:00:56.000000Z -da232f7e1903bc9d040cab31c7b285ba -2014-10-21T10:34:03.775723Z -875 -joscanoa - - - - - - - - - - - - - - - - - - - - - -3075 - -Meteor_JASMET_PreProc.py -file - - - - -2015-08-19T22:00:56.000000Z -6d568acf3503e664c520f631a4f669a3 -2015-08-06T17:47:33.905218Z -1044 -joscanoa - - - - - - - - - - - - - - - - - - - - - -1824 - -WindProfiler_DBS01.py -file - - - - -2015-08-19T22:00:56.000000Z -d57b434eff1c1a1a4f5f45cdeb8fdcb7 -2014-11-27T09:30:54.575113Z -902 -joscanoa - - - - - - - - - - - - - - - - - - - - - -8130 - -WindProfiler_SA01.py -file - - - - -2015-08-19T22:00:56.000000Z -3de1185977c63ceac6087aebeac03682 -2014-11-27T09:30:54.575113Z -902 -joscanoa - - - - - - - - - - - - - - - - - - - - - -6689 - -__init__.py -file - - - - -2015-08-19T22:00:56.000000Z -2c125383ea262e4c2d0f2adc87c6292c -2015-06-03T15:32:50.999038Z -996 -murco - - - - - - - - - - - - - - - - - - - - - -51 - -amisr_EEJ.py -file - - - - -2015-08-19T22:00:56.000000Z -7a79d0041d085bfb94795b50139bf357 -2014-12-01T10:10:51.712101Z -904 -joscanoa - - - - - - - - - - - - - - - - - - - - - -5116 - -amisr_eej_proc_offline.py -file -1204 - - - -2015-12-03T21:27:28.000000Z -3b434f6180a550b107f12b66b38ae1f0 -2015-12-15T16:42:28.403966Z -1204 -kkuyeng - - - - - - - - - - - - - - - - - - - - - -8590 - -amisr_eej_proc_online.py -file -1203 - - - -2015-12-15T14:49:24.000000Z -07770d4cb153daf0bea9d8911e18a15d -2015-12-15T16:41:25.330699Z -1203 -kkuyeng - - - - - - - - - - - - - - - - - - - - - -9424 - -amisr_esf_proc_offline.py -file -1205 - - - -2015-12-03T21:27:47.000000Z -111d5469de0a9d87bf15cc6eae803259 -2015-12-15T16:42:43.453045Z -1205 -kkuyeng - - - - - - - - - - - - - - - - - - - - - -8612 - -amisr_esf_proc_online.py -file -1206 - - - -2015-12-03T21:27:38.000000Z -0da07e8a9f0e523ca06bbcc4c841f4de -2015-12-15T16:42:56.099535Z -1206 -kkuyeng - - - - - - - - - - - - - - - - - - - - - -10091 - -amisr_proc.py -file - - - - -2015-08-19T22:00:56.000000Z -ff8508355cfff72608373443eb72881b -2014-10-20T19:02:16.227014Z -874 -dsuarez - - - - - - - - - - - - - - - - - - - - - -3702 - -amisr_reader.py -file - - - - -2015-08-19T22:00:56.000000Z -96933f3e344677f28c5c66d4c3f2f0b9 -2014-09-24T12:02:49.355338Z -861 -dsuarez - - - - - - - - - - - - - - - - - - - - - -1233 - -amisr_reader_exp.py -file - - - - -2015-08-19T22:00:56.000000Z -a9a02749d1055155f7c53294cc7f0e53 -2014-08-26T19:04:23.002737Z -840 -dsuarez - - - - - - - - - - - - - - - - - - - - - -1681 - -amisr_reader_exp_ex2.py -file - - - - -2015-08-19T22:00:56.000000Z -12ec9bf6c53bba757b3ca43abff78539 -2014-09-11T13:13:30.068275Z -848 -dsuarez - - - - - - - - - - - - - - - - - - - - - -19325 - -amisr_spreadF.py -file - - - - -2015-08-19T22:00:56.000000Z -8a042f6495c86427a1afca4769f9df55 -2014-12-01T10:10:51.712101Z -904 -joscanoa - - - - - - - - - - - - - - - - - - - - - -4913 - -amisr_windEstimation.py -file - - - - -2015-08-19T22:00:56.000000Z -8f1ef0baad13373c0b2d3afa16c6daf8 -2014-10-22T14:43:41.347288Z -882 -joscanoa - - - - - - - - - - - - - - - - - - - - - -6743 - -amisr_winds_proc_offline.py -file -1115 - - - -2015-11-12T15:12:10.000000Z -cd64883a993633f3e52863f810757c49 -2015-11-26T20:42:43.496114Z -1115 -kkuyeng - - - - - - - - - - - - - - - - - - - - - -10189 - -amisr_winds_proc_online.py -file -1115 - - - -2015-11-09T19:55:14.000000Z -aa4423eea5e0bc1d91bbf7a1803a90d6 -2015-11-26T20:42:43.496114Z -1115 -kkuyeng - - - - - - - - - - - - - - - - - - - - - -7426 - -beacon_phase.py -file - - - - -2015-08-19T22:00:56.000000Z -758f737670e5975c3af7695a766e1adc -2014-06-18T19:12:03.857985Z -792 -dsuarez - - - - - - - - - - - - - - - - - - - - - -2349 - -hf_plot_pdata.py -file - - - - -2015-08-19T22:00:56.000000Z -a9a74ea6bf5a6edc602a86c803a5827d -2015-03-18T14:22:24.517070Z -951 -avaldez - - - - - - - - - - - - - - - - - - - - - -9827 - -hf_test.py -file - - - - -2015-08-19T22:00:56.000000Z -e40d6032f318641f42d056a3f5f49cbd -2015-03-18T14:23:21.411737Z -952 -avaldez - - - - - - - - - - - - - - - - - - - - - -11441 - -hf_write_pdata.py -file - - - - -2015-08-19T22:00:56.000000Z -6421fbfd59187bf6620934274fd05f32 -2015-03-18T14:17:11.745988Z -950 -avaldez - - - - - - - - - - - - - - - - - - - - - -11800 - -jacktotalrunner.py -file - - - - -2015-08-19T22:00:56.000000Z -9cb28bd216659a6b11e75162a92c1807 -2015-07-01T19:19:45.148360Z -1032 -avaldez - - - - - - - - - - - - - - - - - - - - - -5811 - -jasmet30_16april.py -file - - - - -2015-08-19T22:00:56.000000Z -1cdbf19310fc8c7f802cd825bdf550a8 -2014-04-16T14:19:29.302979Z -766 -dsuarez - - - - - - - - - - - - - - - - - - - - - -3009 - -jasmet50_16april.py -file - - - - -2015-08-19T22:00:56.000000Z -b4359fd270df5b5a8ecfc6edeb5f21ba -2014-04-16T14:19:29.302979Z -766 -dsuarez - - - - - - - - - - - - - - - - - - - - - -3147 - -mst_isr_eej_blocks.py -file - - - - -2015-08-19T22:00:56.000000Z -bf10d1c0f3e57165ec123d482d0229b8 -2014-12-16T14:43:31.823208Z -906 -dsuarez - - - - - - - - - - - - - - - - - - - - - -12481 - -mst_isr_eej_processing.py -file - - - - -2015-08-19T22:00:56.000000Z -fab23ab6d30a635967d6e32e8bd33526 -2014-06-19T13:30:25.014925Z -794 -dsuarez - - - - - - - - - - - - - - - - - - - - - -14027 - -plot_eej.py -file - - - - -2015-08-19T22:00:56.000000Z -bf39e579fd3778f2aa0fbdbaf2648565 -2014-05-14T17:28:55.220752Z -777 -dsuarez - - - - - - - - - - - - - - - - - - - - - -4280 - -plot_isr.py -file - - - - -2015-08-19T22:00:56.000000Z -d35a515fe173584a65741f208f23036d -2014-05-14T17:28:55.220752Z -777 -dsuarez - - - - - - - - - - - - - - - - - - - - - -3646 - -plot_mst.py -file - - - - -2015-08-19T22:00:56.000000Z -ee07ba76ff153273cb252e4422f6c8c2 -2014-05-14T17:28:55.220752Z -777 -dsuarez - - - - - - - - - - - - - - - - - - - - - -4043 - -sousy.py -file - - - - -2015-08-19T22:00:56.000000Z -29d5e86c6fd485e109705c614e940d54 -2014-09-11T13:17:37.402870Z -849 -dsuarez - - - - - - - - - - - - - - - - - - - - - -4407 - -testRawData.py -file - - - - -2015-08-19T22:00:56.000000Z -61f240f9a7c844f4d837dc0dafe2786e -2015-06-03T15:32:50.999038Z -996 -murco - - - - - - - - - - - - - - - - - - - - - -4933 - -test_eej_blocks.py -file - - - - -2015-08-19T22:00:56.000000Z -9a5e1f72b8531eadb6186f5ad43dce08 -2014-12-18T17:13:31.562115Z -908 -dsuarez - - - - - - - - - - - - - - - - - - - - - -5183 - -test_isr_blocks.py -file - - - - -2015-08-19T22:00:56.000000Z -7ad8ffb600b04b51e240868e7234e3f5 -2014-12-18T17:13:31.562115Z -908 -dsuarez - - - - - - - - - - - - - - - - - - - - - -5397 - -test_mst_blocks.py -file - - - - -2015-08-19T22:00:56.000000Z -89c02b680f90590ba8ab4602108a0959 -2015-07-06T21:21:22.068132Z -1040 -murco - - - - - - - - - - - - - - - - - - - - - -5986 - diff --git a/schainpy/scripts/scripts_v/.svn/text-base/150km_January_longPulse.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/150km_January_longPulse.py.svn-base deleted file mode 100644 index 9a27226..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/150km_January_longPulse.py.svn-base +++ /dev/null @@ -1,185 +0,0 @@ -import os, sys -import numpy -path = os.path.split(os.getcwd())[0] -path = os.path.split(path)[0] - -sys.path.append(path) - -from schainpy.controller import Project - -desc = "150 km Jicamarca January 2015" -filename = "150km_jicamarca.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -#path = '/home/operaciones/150km_jicamarca_january/RAW_EXP/2015_ISR' -path = '/media/DATOS/2015_ISR' -#path = '/media/New Volume2/DATA/RAW_EXP/2015_ISR' - -figpath = '/home/operaciones/Pictures/150km_jicamarca_january' - -remotefolder = "/home/wmaster/graficos" - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2015/01/13', - endDate='2015/01/30', - startTime='07:55:00', - endTime='23:59:59', - online=0, - delay=10, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -a=[] -for i in range(85): - if i>20: - a.append(i) -for i in range(170): - if i>105: - a.append(i) -for i in range(255): - if i>190: - a.append(i) -for i in range(340): - if 339>i>275: - a.append(i) - if i==339: - a.append(i) - -b= str(a) -profileIndex = b[1:][:-1] - -opObj11 = procUnitConfObj0.addOperation(name='ProfileSelector', optype='other') -#profileIndex = '0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19' -opObj11.addParameter(name='profileList', value=profileIndex, format='intlist') - - -# opObj11 = procUnitConfObj0.addOperation(name='ProfileSelector', optype='other') -# opObj11.addParameter(name='profileRangeList', value='21,84', format='intlist') - - -binary28="1,1,-1,1,1,-1,1,-1,-1,1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,-1,1,1,1,1,-1,-1,-1" - - -CODEB=numpy.array([1,1,-1,1,1,-1,1,-1,-1,1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,-1,1,1,1,1,-1,-1,-1]) -x= numpy.array([ CODEB,CODEB,-CODEB,-CODEB]) -code= ",".join(map(str,x.flatten())) - -opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='intlist') -opObj11.addParameter(name='nCode', value='4', format='int') -opObj11.addParameter(name='nBaud', value='28', format='int') - -opObj11 = procUnitConfObj0.addOperation(name='deFlip') -opObj11.addParameter(name='channelList', value='1,3,5,7', format='intlist') - -# opObj10 = procUnitConfObj0.addOperation(name='selectHeights') -# opObj10.addParameter(name='minHei', value='50', format='float') -# opObj10.addParameter(name='maxHei', value='150', format='float') - -# opObj11 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='4', format='float') - - -# opObj11 = procUnitConfObj0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='10', format='int') -# opObj11.addParameter(name='wintitle', value='Voltage', format='str') -# opObj11.addParameter(name='zmin', value='40', format='int') -# opObj11.addParameter(name='zmax', value='90', format='int') - -#opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId()) -procUnitConfObj1.addParameter(name='nFFTPoints', value='64', format='int') -procUnitConfObj1.addParameter(name='nProfiles', value='64', format='int') - -#procUnitConfObj1.addParameter(name='pairsList', value='(3,7),(2,6)', format='pairsList') -procUnitConfObj1.addParameter(name='pairsList', value='(1,0),(3,2),(5,4),(7,6)', format='pairsList') - -opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='timeInterval', value='60', format='float') - -# opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='2001', format='int') -# opObj11.addParameter(name='wintitle', value='150km_Jicamarca', format='str') -# #opObj11.addParameter(name='channelList', value='0,1,2,3,45', format='intlist') -# # opObj11.addParameter(name='zmin', value='0', format='int') -# # opObj11.addParameter(name='zmax', value='60', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') - -opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='other') -opObj11.addParameter(name='id', value='2005', format='int') -opObj11.addParameter(name='wintitle', value='CrossSpectraPlot_LongPulse', format='str') -opObj11.addParameter(name='phase_cmap', value='jet', format='str') -opObj11.addParameter(name='zmin', value='20', format='int') -opObj11.addParameter(name='zmax', value='80', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='exp_code', value='13', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath) -opObj11.addParameter(name='ftp', value='1', format='int') - - - - - -opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -opObj11.addParameter(name='id', value='101', format='int') -opObj11.addParameter(name='wintitle', value='Coherence', format='str') -opObj11.addParameter(name='phase_cmap', value='jet', format='str') - -opObj11.addParameter(name='xmin', value='0', format='int') -opObj11.addParameter(name='xmax', value='24', format='int') -opObj11.addParameter(name='exp_code', value='13', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath) -opObj11.addParameter(name='ftp', value='1', format='int') - - - - - - - -# opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='3002', format='int') -# opObj11.addParameter(name='wintitle', value='150km_Jicamarca_LongPulse', format='str') -# # opObj11.addParameter(name='xmin', value='20.5', format='float') -# # opObj11.addParameter(name='xmax', value='24', format='float') -# opObj11.addParameter(name='zmin', value='20', format='int') -# opObj11.addParameter(name='zmax', value='80', format='int') -# #opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') -# #opObj11.addParameter(name='channelList', value='0,1,2,3,4,5,6,7', format='intlist') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') - -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value=60, format='int') -procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() - -#timeit.timeit('controllerObj.run()', number=2) - -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/150km_January_shortPulse.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/150km_January_shortPulse.py.svn-base deleted file mode 100644 index f82449e..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/150km_January_shortPulse.py.svn-base +++ /dev/null @@ -1,152 +0,0 @@ -import os, sys -import numpy -path = os.path.split(os.getcwd())[0] -path = os.path.split(path)[0] - -sys.path.append(path) - -from schainpy.controller import Project - -desc = "150 km Jicamarca January 2015" -filename = "150km_jicamarca.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -#path = '/home/operaciones/150km_jicamarca_january/RAW_EXP/2015_ISR' -path = '/media/DATOS/2015_ISR' -#path = '/media/New Volume2/DATA/RAW_EXP/2015_ISR' - -figpath = '/home/operaciones/Pictures/150km_jicamarca_january' - -remotefolder = "/home/wmaster/graficos" - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2015/01/14', - endDate='2015/01/30', - startTime='07:40:00', - endTime='23:59:59', - online=0, - delay=10, - walk=1, - nTxs=4) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObj0.addOperation(name='ProfileSelector', optype='other') -opObj11.addParameter(name='rangeList', value='(1,80),(341,420),(681,760),(1021,1100)', format='multiList') - -# opObj11 = procUnitConfObj0.addOperation(name='filterByHeights') -# opObj11.addParameter(name='window', value='1', format='int') -# opObj11.addParameter(name='axis', value='2', format='int') - -cod7barker="1,1,1,-1,-1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,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=cod7barker, format='floatlist') -opObj11.addParameter(name='nCode', value='4', format='int') -opObj11.addParameter(name='nBaud', value='7', format='int') - -opObj11 = procUnitConfObj0.addOperation(name='deFlip') -opObj11.addParameter(name='channelList', value='1,3,5,7', format='intlist') - -# cod7barker="1,1,1,-1,-1,1,-1" -# opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') -# opObj11.addParameter(name='code', value=cod7barker, format='intlist') -# opObj11.addParameter(name='nCode', value='1', format='int') -# opObj11.addParameter(name='nBaud', value='7', format='int') - -# opObj11 = procUnitConfObj0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='10', format='int') -# opObj11.addParameter(name='wintitle', value='Voltage', format='str') -# opObj11.addParameter(name='zmin', value='40', format='int') -# opObj11.addParameter(name='zmax', value='90', format='int') - -#opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId()) -procUnitConfObj1.addParameter(name='nFFTPoints', value='80', format='int') -procUnitConfObj1.addParameter(name='nProfiles', value='80', format='int') -#procUnitConfObj1.addParameter(name='pairsList', value='(3,7),(2,6)', format='pairsList') -procUnitConfObj1.addParameter(name='pairsList', value='(1,0),(3,2),(5,4),(7,6)', format='pairsList') - -# -opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='timeInterval', value='60', format='float') -# -# opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='2004', format='int') -# opObj11.addParameter(name='wintitle', value='150km_Jicamarca_ShortPulse', format='str') -# #opObj11.addParameter(name='channelList', value='0,1,2,3,45', format='intlist') -# opObj11.addParameter(name='zmin', value='15', format='int') -# opObj11.addParameter(name='zmax', value='45', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') - -opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='other') -opObj11.addParameter(name='id', value='2006', format='int') -opObj11.addParameter(name='wintitle', value='CrossSpectraPlot_ShortPulse', format='str') -opObj11.addParameter(name='coherence_cmap', value='jet', format='str') -opObj11.addParameter(name='phase_cmap', value='jet', format='str') -# opObj11.addParameter(name='ymin', value='0', format='int') -# opObj11.addParameter(name='ymax', value='105', format='int') -opObj11.addParameter(name='zmin', value='15', format='int') -opObj11.addParameter(name='zmax', value='45', format='int') -opObj11.addParameter(name='exp_code', value='14', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath) -opObj11.addParameter(name='ftp', value='1', format='int') - -# -opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -opObj11.addParameter(name='id', value='102', format='int') -opObj11.addParameter(name='wintitle', value='Coherence', format='str') -opObj11.addParameter(name='phase_cmap', value='jet', format='str') -opObj11.addParameter(name='xmin', value='0', format='int') -opObj11.addParameter(name='xmax', value='24', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='14', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath) -opObj11.addParameter(name='ftp', value='1', format='int') - - -# opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='3005', format='int') -# opObj11.addParameter(name='wintitle', value='150km_Jicamarca_ShortPulse', format='str') -# # opObj11.addParameter(name='xmin', value='20.5', format='float') -# # opObj11.addParameter(name='xmax', value='24', format='float') -# opObj11.addParameter(name='zmin', value='15', format='int') -# opObj11.addParameter(name='zmax', value='45', format='int') -# #opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') -# #opObj11.addParameter(name='channelList', value='0,1,2,3,4,5,6,7', format='intlist') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') - -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value=60, format='int') -procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() - -#timeit.timeit('controllerObj.run()', number=2) - -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/150km_january_1.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/150km_january_1.py.svn-base deleted file mode 100644 index 99680bf..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/150km_january_1.py.svn-base +++ /dev/null @@ -1,119 +0,0 @@ -import os, sys -#import timeit -import datetime - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "150 km Jicamarca January 2015" -filename = "150km_jicamarca.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -path = '/home/operaciones/150km_jicamarca_january/RAW_EXP/2015_ISR' - -figpath = '/home/operaciones/Pictures/150km_jicamarca_january' - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2015/01/13', - endDate='2015/01/30', - startTime='07:55:00', - endTime='23:59:59', - online=1, - delay=10, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObj0.addOperation(name='ProfileSelector', optype='other') -opObj11.addParameter(name='profileRangeList', value='21,84', format='intlist') - - -binary28="1,1,-1,1,1,-1,1,-1,-1,1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,-1,1,1,1,1,-1,-1,-1" - -#cod7barker="1,1,1,-1,-1,1,-1" -#cod7barkerneg="-1,-1,-1,1,1,-1,1" -CODEB=numpy.array([1,1,1,-1,-1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,1,-1,1,-1,-1,-1,1,1,-1,1]) -x= numpy.array([ CODEB,CODEB,-CODEB,-CODEB]) -code= ",".join(map(str,x.flatten())) - -opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='intlist') -opObj11.addParameter(name='nCode', value='4', format='int') -opObj11.addParameter(name='nBaud', value='28', format='int') - -# opObj11 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='4', format='float') - - -# opObj11 = procUnitConfObj0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='10', format='int') -# opObj11.addParameter(name='wintitle', value='Voltage', format='str') - - - -# opObj11.addParameter(name='zmin', value='40', format='int') -# opObj11.addParameter(name='zmax', value='90', format='int') - -#opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId()) -procUnitConfObj1.addParameter(name='nFFTPoints', value='64', format='int') -procUnitConfObj1.addParameter(name='nProfiles', value='64', format='int') - -#procUnitConfObj1.addParameter(name='pairsList', value='(0,1),(2,3),(4,5),(6,7)', format='pairsList') - -opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='timeInterval', value='10', format='float') - -opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='2001', format='int') -opObj11.addParameter(name='wintitle', value='150km_Jicamarca', format='str') -#opObj11.addParameter(name='channelList', value='0,1,2,3,45', format='intlist') -# opObj11.addParameter(name='zmin', value='0', format='int') -# opObj11.addParameter(name='zmax', value='60', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='exp_code', value='13', format='int') - - - -# opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='2005', format='int') -# opObj11.addParameter(name='wintitle', value='CrossSpectraPlot_ShortPulse', format='str') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') - -# -opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='3002', format='int') -opObj11.addParameter(name='wintitle', value='150km_Jicamarca', format='str') -# opObj11.addParameter(name='xmin', value='20.5', format='float') -# opObj11.addParameter(name='xmax', value='24', format='float') -# opObj11.addParameter(name='zmin', value='15', format='int') -# opObj11.addParameter(name='zmax', value='45', format='int') -#opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') -#opObj11.addParameter(name='channelList', value='0,1,2,3,4,5,6,7', format='intlist') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='exp_code', value='13', format='int') - - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() - -#timeit.timeit('controllerObj.run()', number=2) - -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/150km_january_3.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/150km_january_3.py.svn-base deleted file mode 100644 index fe56f3e..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/150km_january_3.py.svn-base +++ /dev/null @@ -1,128 +0,0 @@ -import os, sys -#import timeit -import datetime - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "150 km Jicamarca January 2015" -filename = "150km_jicamarca.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -path = './' - -figpath = '/Users/miguel/tmp' - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2015/01/14', - endDate='2015/01/14', - startTime='08:30:00', - endTime='09:30:59', - online=1, - delay=10, - walk=1, - nTxs = 4) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObj0.addOperation(name='ProfileSelector', optype='other') -opObj11.addParameter(name='rangeList', value='(1,80),(341,420),(681,760),(1021,1100)', format='multiList') - - -cod7barker="1,1,1,-1,-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=cod7barker, format='floatlist') -opObj11.addParameter(name='nCode', value='4', format='int') -opObj11.addParameter(name='nBaud', value='7', format='int') -# -opObj11 = procUnitConfObj0.addOperation(name='deFlip') -opObj11.addParameter(name='channelList', value='1,3,5,7', format='intlist') - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId()) -procUnitConfObj1.addParameter(name='nFFTPoints', value='80', format='int') -procUnitConfObj1.addParameter(name='nProfiles', value='80', format='int') -procUnitConfObj1.addParameter(name='pairsList', value='(1,0),(3,2),(5,4),(7,6)', format='pairsList') -# -# # -opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='timeInterval', value='60', format='float') -# -# opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='2004', format='int') -# opObj11.addParameter(name='wintitle', value='150km_Jicamarca_ShortPulse', format='str') -# #opObj11.addParameter(name='channelList', value='0,1,2,3,45', format='intlist') -# opObj11.addParameter(name='zmin', value='15', format='int') -# opObj11.addParameter(name='zmax', value='45', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') - -# -opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='other') -opObj11.addParameter(name='id', value='2006', format='int') -opObj11.addParameter(name='wintitle', value='CrossSpectraPlot_ShortPulse', format='str') -opObj11.addParameter(name='ymin', value='0', format='int') -opObj11.addParameter(name='ymax', value='105', format='int') -opObj11.addParameter(name='phase_cmap', value='jet', format='str') -opObj11.addParameter(name='zmin', value='15', format='int') -opObj11.addParameter(name='zmax', value='45', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='exp_code', value='13', format='int') -# -# -opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -opObj11.addParameter(name='id', value='102', format='int') -opObj11.addParameter(name='wintitle', value='Coherence', format='str') -opObj11.addParameter(name='phase_cmap', value='jet', format='str') -opObj11.addParameter(name='xmin', value='8.5', format='float') -opObj11.addParameter(name='xmax', value='9.5', format='float') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='save', value=1, format='bool') -opObj11.addParameter(name='pairsList', value='(1,0),(3,2)', format='pairsList') - -# opObj11.addParameter(name='wr_period', value='2', format='int') - -# opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -# opObj11.addParameter(name='id', value='103', format='int') -# opObj11.addParameter(name='wintitle', value='Coherence', format='str') -# opObj11.addParameter(name='phase_cmap', value='jet', format='str') -# opObj11.addParameter(name='xmin', value='8.5', format='float') -# opObj11.addParameter(name='xmax', value='9.5', format='float') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='save', value=1, format='bool') -# opObj11.addParameter(name='pairsList', value='(5,4),(7,6)', format='pairsList') - -# opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='3005', format='int') -# opObj11.addParameter(name='wintitle', value='150km_Jicamarca_ShortPulse', format='str') -# # opObj11.addParameter(name='xmin', value='20.5', format='float') -# # opObj11.addParameter(name='xmax', value='24', format='float') -# opObj11.addParameter(name='zmin', value='15', format='int') -# opObj11.addParameter(name='zmax', value='45', format='int') -#opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') -#opObj11.addParameter(name='channelList', value='0,1,2,3,4,5,6,7', format='intlist') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') - - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() - -#timeit.timeit('controllerObj.run()', number=2) - -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/150km_jicamarca.xml.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/150km_jicamarca.xml.svn-base deleted file mode 100644 index cceca18..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/150km_jicamarca.xml.svn-base +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/EWDrifts_estimation01.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/EWDrifts_estimation01.py.svn-base deleted file mode 100644 index dbb9449..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/EWDrifts_estimation01.py.svn-base +++ /dev/null @@ -1,140 +0,0 @@ -# DIAS 19 Y 20 FEB 2014 -# Comprobacion de Resultados DBS con SA - -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "DBS Experiment Test" -filename = "DBStest.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -#Experimentos - -path = '/host/Jicamarca/EW_Drifts/d2012248' -pathFigure = '/home/propietario/workspace/Graficos/drifts' - - -path = "/home/soporte/Data/drifts" -pathFigure = '/home/soporte/workspace/Graficos/drifts/prueba' -pathFile = '/home/soporte/Data/drifts/HDF5' - -xmin = 0 -xmax = 24 -#------------------------------------------------------------------------------------------------ -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2012/09/06', - endDate='2012/09/06', - startTime='00:00:00', - endTime='23:59:59', - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -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='3', format='int') - -opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') -# opObj11.addParameter(name='code', value='1,-1', format='floatlist') -# opObj11.addParameter(name='nCode', value='2', format='int') -# opObj11.addParameter(name='nBaud', value='1', format='int') - -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='(0,1),(2,3)', format='pairsList')#,(2,3) - -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='200.0', format='float') -opObj11.addParameter(name='maxHei', value='600.0', format='float') - -opObj11 = procUnitConfObj1.addOperation(name='selectChannels') -opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') - -opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') -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='1', format='int') -# # opObj14.addParameter(name='wintitle', value='Con interf', format='str') -# opObj14.addParameter(name='save', value='1', format='bool') -# opObj14.addParameter(name='figpath', value=pathFigure, format='str') -# # opObj14.addParameter(name='zmin', value='5', format='int') -# opObj14.addParameter(name='zmax', value='30', format='int') -# -# opObj12 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -# opObj12.addParameter(name='id', value='2', format='int') -# opObj12.addParameter(name='wintitle', value='RTI Plot', format='str') -# opObj12.addParameter(name='save', value='1', format='bool') -# 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='5', format='int') -# opObj12.addParameter(name='zmax', value='30', format='int') - -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) -opObj20 = procUnitConfObj2.addOperation(name='SpectralFitting') -opObj20.addParameter(name='path', value='/home/soporte/workspace/RemoteSystemsTempFiles', format='str') -opObj20.addParameter(name='file', value='modelSpectralFitting', format='str') -opObj20.addParameter(name='groupList', value='(0,1),(2,3)',format='multiList') - -opObj11 = procUnitConfObj2.addOperation(name='SpectralFittingPlot', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -opObj11.addParameter(name='wintitle', value='DopplerPlot', format='str') -opObj11.addParameter(name='cutHeight', value='350', format='int') -opObj11.addParameter(name='fit', value='1', format='int')#1--True/include fit -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = pathFigure, format='str') - -opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -opObj12.addParameter(name='path', value=pathFile) -opObj12.addParameter(name='blocksPerFile', value='3', format='int') - -opObj11 = procUnitConfObj2.addOperation(name='EWDriftsEstimation', optype='other') -opObj11.addParameter(name='zenith', value='-3.80208,3.10658', format='floatlist') -opObj11.addParameter(name='zenithCorrection', value='0.183201', format='float') - -opObj23 = procUnitConfObj2.addOperation(name='EWDriftsPlot', optype='other') -opObj23.addParameter(name='id', value='4', format='int') -opObj23.addParameter(name='wintitle', value='EW Drifts', format='str') -opObj23.addParameter(name='save', value='1', format='bool') -opObj23.addParameter(name='figpath', value = pathFigure, format='str') -opObj23.addParameter(name='zminZonal', value='-150', format='int') -opObj23.addParameter(name='zmaxZonal', value='150', format='int') -opObj23.addParameter(name='zminVertical', value='-30', format='float') -opObj23.addParameter(name='zmaxVertical', value='30', format='float') -opObj23.addParameter(name='SNR_1', value='1', format='bool') -opObj23.addParameter(name='SNRmax', value='5', format='int') -# opObj23.addParameter(name='SNRthresh', value='-50', format='float') -opObj23.addParameter(name='xmin', value=xmin, format='float') -opObj23.addParameter(name='xmax', value=xmax, format='float') -#-------------------------------------------------------------------------------------------------- -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/EWDrifts_estimation02.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/EWDrifts_estimation02.py.svn-base deleted file mode 100644 index 8980f9d..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/EWDrifts_estimation02.py.svn-base +++ /dev/null @@ -1,65 +0,0 @@ -# DIAS 19 Y 20 FEB 2014 -# Comprobacion de Resultados DBS con SA - -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "DBS Experiment Test" -filename = "DBStest.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -#Experimentos - -path = "/home/soporte/Data/drifts/HDF5" -pathFigure = '/home/soporte/workspace/Graficos/drifts/prueba' -pathFile = '/home/soporte/Data/drifts/HDF5' - -xmin = 0 -xmax = 24 -#------------------------------------------------------------------------------------------------ -readUnitConfObj = controllerObj.addReadUnit(datatype='HDF5Reader', - path=path, - startDate='2012/09/06', - endDate='2012/09/06', - startTime='00:00:00', - endTime='23:59:59', - timezone='lt', - walk=1) - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=readUnitConfObj.getId()) -#-------------------------------------------------------------------------------------------------- - -opObj11 = procUnitConfObj0.addOperation(name='EWDriftsEstimation', optype='other') -opObj11.addParameter(name='zenith', value='-3.80208,3.10658', format='floatlist') -opObj11.addParameter(name='zenithCorrection', value='0.183201', format='float') - -opObj23 = procUnitConfObj0.addOperation(name='EWDriftsPlot', optype='other') -opObj23.addParameter(name='id', value='4', format='int') -opObj23.addParameter(name='wintitle', value='EW Drifts', format='str') -opObj23.addParameter(name='save', value='1', format='bool') -opObj23.addParameter(name='figpath', value = pathFigure, format='str') -opObj23.addParameter(name='zminZonal', value='-150', format='int') -opObj23.addParameter(name='zmaxZonal', value='150', format='int') -opObj23.addParameter(name='zminVertical', value='-30', format='float') -opObj23.addParameter(name='zmaxVertical', value='30', format='float') -opObj23.addParameter(name='SNR_1', value='1', format='bool') -opObj23.addParameter(name='SNRmax', value='5', format='int') -# opObj23.addParameter(name='SNRthresh', value='-50', format='float') -opObj23.addParameter(name='xmin', value=xmin, format='float') -opObj23.addParameter(name='xmax', value=xmax, format='float') -#-------------------------------------------------------------------------------------------------- -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/Meteor_JASMET30MHz.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/Meteor_JASMET30MHz.py.svn-base deleted file mode 100644 index 86d00ce..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/Meteor_JASMET30MHz.py.svn-base +++ /dev/null @@ -1,188 +0,0 @@ -# DIAS 19 Y 20 FEB 2014 -# Comprobacion de Resultados DBS con SA - -import os, sys - -path = os.path.split(os.getcwd())[0] -path = os.path.split(path)[0] - -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "JASMET Experiment Test" -filename = "JASMETtest.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -#Experimentos - -#2014051 20 Feb 2014 -# path = '/home/soporte/Data/JASMET/JASMET_30/2014106' -# pathFigure = '/home/soporte/workspace/Graficos/JASMET/prueba1' - -remotefolder = "/home/wmaster/graficos" -path = '/media/joscanoa/84A65E64A65E5730/soporte/Data/JASMET/JASMET_30/' - -pathfile1 = os.path.join(os.environ['HOME'],'Pictures/JASMET30/meteor') -pathfile2 = os.path.join(os.environ['HOME'],'Pictures/JASMET30/wind') -pathfile3 = os.path.join(os.environ['HOME'],'Pictures/JASMET30/phase') - -pathfig = os.path.join(os.environ['HOME'],'Pictures/JASMET30/graph') - -startTime = '00:00:00' -endTime = '23:59:59' -xmin ='17.0' -xmax = '34.0' - -#------------------------------------------------------------------------------------------------ -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2014/04/15', - endDate='2014/04/16', - startTime=startTime, - endTime=endTime, - online=0, - delay=5, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - - -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj00 = procUnitConfObj0.addOperation(name='selectChannels') -opObj00.addParameter(name='channelList', value='0, 1, 2, 3, 4', format='intlist') - -opObj01 = procUnitConfObj0.addOperation(name='setRadarFrequency') -# opObj01.addParameter(name='frequency', value='30.e6', format='float') -opObj01.addParameter(name='frequency', value='50.e6', format='float') - -#opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj0.getId()) -procUnitConfObj1.addParameter(name='nSeconds', value='100', format='int') - -opObj10 = procUnitConfObj1.addOperation(name='MeteorDetection') -# opObj10.addParameter(name='predefinedPhaseShifts', value='-89.5, 41.5, 0.0, -138.0, -85.5', format='floatlist') -opObj10.addParameter(name='predefinedPhaseShifts', value='0, 0, 0, 0, 0', format='floatlist') -opObj10.addParameter(name='cohDetection', value='0', format='bool') -opObj10.addParameter(name='noise_multiple', value='4', format='int') -opObj10.addParameter(name='SNRThresh', value='5', format='float') -opObj10.addParameter(name='phaseThresh', value='20', format='float') -opObj10.addParameter(name='azimuth', value='45', format='float') -opObj10.addParameter(name='hmin', value='68', format='float') -opObj10.addParameter(name='hmax', value='112', format='float') -opObj10.addParameter(name='saveAll', value='1', format='bool') - -opObj12 = procUnitConfObj1.addOperation(name='HDF5Writer', optype='other') -opObj12.addParameter(name='path', value=pathfile1) -opObj12.addParameter(name='blocksPerFile', value='1000', format='int') -opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList,paramInterval',format='list') -opObj12.addParameter(name='dataList',value='data_param',format='list') -opObj12.addParameter(name='mode',value='0',format='int') -#Tiene que ser de 3 dimensiones, append en lugar de aumentar una dimension - -opObj13 = procUnitConfObj1.addOperation(name='SkyMapPlot', optype='other') -opObj13.addParameter(name='id', value='1', format='int') -opObj13.addParameter(name='wintitle', value='Sky Map', format='str') -opObj13.addParameter(name='save', value='1', format='bool') -opObj13.addParameter(name='figpath', value=pathfig, format='str') -opObj13.addParameter(name='ftp', value='1', format='int') -opObj13.addParameter(name='exp_code', value='15', format='int') -opObj13.addParameter(name='sub_exp_code', value='1', format='int') - - -#-------------------------------------------------------------------------------------------------- -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) - -opObj22 = procUnitConfObj2.addOperation(name='WindProfiler', optype='other') -opObj22.addParameter(name='technique', value='Meteors', format='str') -opObj22.addParameter(name='nHours', value='0.25', format='float') -opObj22.addParameter(name='SNRThresh', value='12.0', format='float') - -opObj23 = procUnitConfObj2.addOperation(name='WindProfilerPlot', optype='other') -opObj23.addParameter(name='id', value='2', format='int') -opObj23.addParameter(name='wintitle', value='Wind Profiler', format='str') -opObj23.addParameter(name='save', value='1', format='bool') -opObj23.addParameter(name='figpath', value = pathfig, format='str') -opObj23.addParameter(name='zmin', value='-120', format='int') -opObj23.addParameter(name='zmax', value='120', format='int') -# opObj12.addParameter(name='zmin_ver', value='-0.8', format='float') -# opObj12.addParameter(name='zmax_ver', value='0.8', format='float') -# opObj23.addParameter(name='SNRmin', value='-10', format='int') -# opObj23.addParameter(name='SNRmax', value='60', format='int') -# opObj23.addParameter(name='SNRthresh', value='0', format='float') -opObj23.addParameter(name='xmin', value=xmin, format='float') -opObj23.addParameter(name='xmax', value=xmax, format='float') -opObj23.addParameter(name='ftp', value='1', format='int') -opObj23.addParameter(name='exp_code', value='15', format='int') -opObj23.addParameter(name='sub_exp_code', value='1', format='int') - -opObj24 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -opObj24.addParameter(name='path', value=pathfile2) -opObj24.addParameter(name='blocksPerFile', value='1000', format='int') -opObj24.addParameter(name='metadataList',value='type,inputUnit,outputInterval',format='list') -opObj24.addParameter(name='dataList',value='data_output,utctime',format='list') - -#-------------------------------------------------------------------------------------------------- -procUnitConfObj3 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) - - -opObj31 = procUnitConfObj3.addOperation(name='PhaseCalibration', optype='other') -opObj31.addParameter(name='nHours', value='0.25', format='float') -opObj31.addParameter(name='distances', value='-15, -15, 12, 12', format='intlist') -# opObj31.addParameter(name='distances', value='-25, -25, 20, 20', format='intlist') -opObj31.addParameter(name='pairs', value='(0,3),(1,2)', format='pairslist') -opObj31.addParameter(name='hmin', value='68', format='float') -opObj31.addParameter(name='hmax', value='112', format='float') - -opObj32 = procUnitConfObj3.addOperation(name='PhasePlot', optype='other') -opObj32.addParameter(name='id', value='201', format='int') -opObj32.addParameter(name='wintitle', value='PhaseCalibration', format='str') -# opObj32.addParameter(name='timerange', value='300', format='int') -opObj32.addParameter(name='xmin', value=xmin, format='float') -opObj32.addParameter(name='xmax', value=xmax, format='float') -# opObj32.addParameter(name='xmin', value='19', format='float') -# opObj32.addParameter(name='xmax', value='20', format='float') -opObj32.addParameter(name='ymin', value='-180', format='float') -opObj32.addParameter(name='ymax', value='180', format='float') -opObj32.addParameter(name='figpath', value=pathfig, format='str') -opObj32.addParameter(name='ftp', value='1', format='int') -opObj32.addParameter(name='exp_code', value='15', format='int') -opObj32.addParameter(name='sub_exp_code', value='1', format='int') - -opObj33 = procUnitConfObj3.addOperation(name='HDF5Writer', optype='other') -opObj33.addParameter(name='path', value=pathfile3) -opObj33.addParameter(name='blocksPerFile', value='1000', format='int') -opObj33.addParameter(name='metadataList',value='type,inputUnit,outputInterval',format='list') -opObj33.addParameter(name='dataList',value='data_output,utctime',format='list') -# opObj25.addParameter(name='mode',value='1,0,0',format='intlist') - -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj4 = controllerObj.addProcUnit(name='SendToServer') -procUnitConfObj4.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -procUnitConfObj4.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj4.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj4.addParameter(name='localfolder', value=pathfig, format='str') -procUnitConfObj4.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj4.addParameter(name='ext', value='.png', format='str') -procUnitConfObj4.addParameter(name='period', value=20, format='int') -procUnitConfObj4.addParameter(name='protocol', value='ftp', format='str') - -#-------------------------------------------------------------------------------------------------- - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/Meteor_JASMET30Mhz_Beacon.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/Meteor_JASMET30Mhz_Beacon.py.svn-base deleted file mode 100644 index a56aa48..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/Meteor_JASMET30Mhz_Beacon.py.svn-base +++ /dev/null @@ -1,81 +0,0 @@ -""" -Se debe verficar que el disco de datos se encuentra montado en el sistema -""" -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "Meteor Experiment Test" -filename = "meteor20130812.xml" - -controllerObj = Project() -controllerObj.setup(id = '191', name='meteor_test01', description=desc) - -path = '/home/dsuarez/.gvfs/data on 10.10.20.13/Jasmet50' -pathFigure = '/home/jasmet/jasmet30_phase' -path = '/home/soporte/Data/JASMET/JASMET_30/2014106' -pathFigure = '/home/soporte/workspace/Graficos/JASMET/prueba1' - - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2014/04/15', - endDate='2014/04/15', - startTime='20:00:00', - endTime='23:59:59', - online=0, - walk=0) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - - -# opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') -# -# -# opObj11 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -# opObj11 = procUnitConfObj0.addOperation(name='VoltageWriter', optype='other') -# opObj11.addParameter(name='path', value='/home/jasmet/jasmet30_abril') -# opObj11.addParameter(name='blocksPerFile', value='100', format='int') -# opObj11.addParameter(name='profilesPerBlock', value='200', format='int') - - -""" -########################################### BEACON ########################################## -""" - -procUnitConfObjBeacon = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId()) -procUnitConfObjBeacon.addParameter(name='nProfiles', value='200', format='int') -procUnitConfObjBeacon.addParameter(name='nFFTPoints', value='200', format='int') -procUnitConfObjBeacon.addParameter(name='pairsList', value='(2,0),(2,1),(2,3),(2,4)', format='pairsList') - -opObj11 = procUnitConfObjBeacon.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='4', format='int') - -opObj11 = procUnitConfObjBeacon.addOperation(name='getBeaconSignal') - -opObj11 = procUnitConfObjBeacon.addOperation(name='BeaconPhase', optype='other') -opObj11.addParameter(name='id', value='201', format='int') -opObj11.addParameter(name='wintitle', value='Beacon Phase', format='str') -opObj11.addParameter(name='timerange', value='300', format='int') -opObj11.addParameter(name='xmin', value='20', format='float') -opObj11.addParameter(name='xmax', value='22', format='float') -opObj11.addParameter(name='ymin', value='-180', format='float') -opObj11.addParameter(name='ymax', value='180', format='float') -opObj11.addParameter(name='figpath', value=pathFigure, format='str') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() diff --git a/schainpy/scripts/scripts_v/.svn/text-base/Meteor_JASMET50MHz_Winds.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/Meteor_JASMET50MHz_Winds.py.svn-base deleted file mode 100644 index 6dc9ffc..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/Meteor_JASMET50MHz_Winds.py.svn-base +++ /dev/null @@ -1,105 +0,0 @@ -# DIAS 19 Y 20 FEB 2014 -# Comprobacion de Resultados DBS con SA - -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "JASMET Experiment Test" -filename = "JASMETtest.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -#Experimentos - -#2014051 20 Feb 2014 -path = '/home/soporte/Data/JASMET/JASMET_50/2014106' -pathFigure = '/home/soporte/workspace/Graficos/JASMET' - -startTime = '00:00:00' -endTime = '23:59:59' -xmin ='19.0' -xmax = '33.0' - - -#------------------------------------------------------------------------------------------------ -readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage', - path=path, - startDate='2014/04/15', - endDate='2014/04/16', - startTime=startTime, - endTime=endTime, - online=0, - delay=5, - walk=0) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - - -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) - -opObj00 = procUnitConfObj0.addOperation(name='selectChannels') -opObj00.addParameter(name='channelList', value='0, 1, 2, 3, 4', format='intlist') - -opObj01 = procUnitConfObj0.addOperation(name='setRadarFrequency') -opObj01.addParameter(name='frequency', value='50.e6', format='float') - -#opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='Parameters', inputId=procUnitConfObj0.getId()) -procUnitConfObj1.addParameter(name='nSeconds', value='100', format='int') - -opObj10 = procUnitConfObj1.addOperation(name='DetectMeteors') -opObj10.addParameter(name='predefinedPhaseShifts', value='-17.0, -139.0, 0.0, 48.0, -130.0', format='floatlist') -opObj10.addParameter(name='cohDetection', value='0', format='bool') -opObj10.addParameter(name='noise_multiple', value='4', format='int') -opObj10.addParameter(name='SNRThresh', value='5', format='float') -opObj10.addParameter(name='phaseThresh', value='20', format='float') -opObj10.addParameter(name='azimuth', value='45', format='float') -opObj10.addParameter(name='hmin', value='68', format='float') -opObj10.addParameter(name='hmax', value='112', format='float') -opObj10.addParameter(name='savefile', value='1', format='bool') -opObj10.addParameter(name='filename', value=filehdf5, format='str') - -opObj13 = procUnitConfObj1.addOperation(name='SkyMapPlot', optype='other') -opObj13.addParameter(name='id', value='1', format='int') -opObj13.addParameter(name='wintitle', value='Sky Map', format='str') -opObj13.addParameter(name='save', value='1', format='bool') -opObj13.addParameter(name='figpath', value=pathFigure, format='str') - -opObj11 = procUnitConfObj1.addOperation(name='WindProfiler', optype='other') -opObj11.addParameter(name='technique', value='Meteors', format='str') -opObj11.addParameter(name='nHours', value='1.0', format='float') - -opObj12 = procUnitConfObj1.addOperation(name='WindProfilerPlot', optype='other') -opObj12.addParameter(name='id', value='2', format='int') -opObj12.addParameter(name='wintitle', value='Wind Profiler', format='str') -opObj12.addParameter(name='save', value='1', format='bool') -opObj12.addParameter(name='figpath', value = pathFigure, format='str') -opObj12.addParameter(name='zmin', value='-120', format='int') -opObj12.addParameter(name='zmax', value='120', format='int') -# opObj12.addParameter(name='zmin_ver', value='-0.8', format='float') -# opObj12.addParameter(name='zmax_ver', value='0.8', format='float') -# opObj23.addParameter(name='SNRmin', value='-10', format='int') -# opObj23.addParameter(name='SNRmax', value='60', format='int') -# opObj23.addParameter(name='SNRthresh', value='0', format='float') -opObj12.addParameter(name='xmin', value=xmin, format='float') -opObj12.addParameter(name='xmax', value=xmax, format='float') - -#-------------------------------------------------------------------------------------------------- -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/Meteor_JASMET50Mhz_Beacon.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/Meteor_JASMET50Mhz_Beacon.py.svn-base deleted file mode 100644 index b2b59ac..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/Meteor_JASMET50Mhz_Beacon.py.svn-base +++ /dev/null @@ -1,78 +0,0 @@ -""" -Se debe verficar que el disco de datos se encuentra montado en el sistema -""" -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "Meteor Experiment Test" -filename = "meteor20130812.xml" - -controllerObj = Project() -controllerObj.setup(id = '191', name='meteor_test01', description=desc) - -path = '/home/dsuarez/.gvfs/data on 10.10.20.13/Jasmet50' - - -readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage', - path=path, - startDate='2014/04/15', - endDate='2014/04/15', - startTime='17:00:00', - endTime='23:59:59', - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) - - -opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - - -opObj11 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='2', format='int') - -opObj11 = procUnitConfObj0.addOperation(name='VoltageWriter', optype='other') -opObj11.addParameter(name='path', value='/media/datos/jasmet50_abril') -opObj11.addParameter(name='blocksPerFile', value='100', format='int') -opObj11.addParameter(name='profilesPerBlock', value='200', format='int') - - -""" -########################################### BEACON ########################################## -""" - -procUnitConfObjBeacon = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId()) -procUnitConfObjBeacon.addParameter(name='nProfiles', value='200', format='int') -procUnitConfObjBeacon.addParameter(name='nFFTPoints', value='200', format='int') -procUnitConfObjBeacon.addParameter(name='pairsList', value='(2,0),(2,1),(2,3),(2,4)', format='pairsList') - -opObj11 = procUnitConfObjBeacon.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='4', format='int') - -opObj11 = procUnitConfObjBeacon.addOperation(name='getBeaconSignal') - -opObj11 = procUnitConfObjBeacon.addOperation(name='BeaconPhase', optype='other') -opObj11.addParameter(name='id', value='201', format='int') -opObj11.addParameter(name='wintitle', value='Beacon Phase', format='str') -opObj11.addParameter(name='timerange', value='300', format='int') -opObj11.addParameter(name='xmin', value='0', format='float') -opObj11.addParameter(name='xmax', value='24', format='float') -opObj11.addParameter(name='ymin', value='-180', format='float') -opObj11.addParameter(name='ymax', value='180', format='float') -opObj11.addParameter(name='figpath', value='/media/datos/jasmet50_phase', format='str') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() diff --git a/schainpy/scripts/scripts_v/.svn/text-base/Meteor_JASMET_PreProc.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/Meteor_JASMET_PreProc.py.svn-base deleted file mode 100644 index 4b5d668..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/Meteor_JASMET_PreProc.py.svn-base +++ /dev/null @@ -1,56 +0,0 @@ -""" -Se debe verficar que el disco de datos se encuentra montado en el sistema -""" -import os, sys - -path = os.path.split(os.getcwd())[0] -path = os.path.split(path)[0] - -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "Meteor Experiment Test" -filename = "meteor20130812.xml" - -controllerObj = Project() -controllerObj.setup(id = '191', name='meteor_test01', description=desc) - -path = '/home/dsuarez/.gvfs/data on 10.10.20.13/Jasmet50' - - -readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage', - path=path, - startDate='2014/04/16', - endDate='2014/04/16', - startTime='00:00:00', - endTime='23:59:59', - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) - - -opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - - -opObj11 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='2', format='int') - -opObj11 = procUnitConfObj0.addOperation(name='VoltageWriter', optype='other') -opObj11.addParameter(name='path', value='/home/jasmet/jasmet30_abril') -opObj11.addParameter(name='blocksPerFile', value='100', format='int') -opObj11.addParameter(name='profilesPerBlock', value='200', format='int') - - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() diff --git a/schainpy/scripts/scripts_v/.svn/text-base/WindProfiler_DBS01.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/WindProfiler_DBS01.py.svn-base deleted file mode 100644 index fcd3b44..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/WindProfiler_DBS01.py.svn-base +++ /dev/null @@ -1,169 +0,0 @@ -# DIAS 19 Y 20 FEB 2014 -# Comprobacion de Resultados DBS con SA - -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "DBS Experiment Test" -filename = "DBStest.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -#Experimentos - -#2014050 19 Feb 2014 -# path = '/home/soporte/Documents/MST_Data/DBS/d2014050' -# pathFigure = '/home/soporte/workspace/Graficos/DBS/d2014050p/' -# xmin = '15.5' -# xmax = '23.99999999' -# startTime = '17:25:00' -# filehdf5 = "DBS_2014050.hdf5" - -#2014051 20 Feb 2014 -path = '/home/soporte/Data/MST/DBS/d2014051' -pathFigure = '/home/soporte/workspace/Graficos/DBS/prueba1/' -xmin = '0' -xmax = '7.5' -startTime = '00:00:00' -filehdf5 = "DBS_2014051.hdf5" - - - -#------------------------------------------------------------------------------------------------ -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2014/01/31', - endDate='2014/03/31', - startTime=startTime, - endTime='23:59:59', - online=0, - delay=5, - walk=0) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - - -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - -opObj11 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='256', format='int') -# opObj11.addParameter(name='n', value='16', format='int') - -opObj11 = procUnitConfObj0.addOperation(name='selectHeightsByIndex') -opObj11.addParameter(name='minIndex', value='10', format='float') -opObj11.addParameter(name='maxIndex', value='60', format='float') - -#--------------------------------------------------------------------------------------------------- - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId()) -procUnitConfObj1.addParameter(name='nFFTPoints', value='64', format='int') -procUnitConfObj1.addParameter(name='nProfiles', value='64', format='int') -# procUnitConfObj1.addParameter(name='ippFactor', value='2', format='int') -procUnitConfObj1.addParameter(name='pairsList', value='(0,0),(0,1),(2,1)', format='pairsList') - -opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='5', format='int') - -opObj14 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -opObj14.addParameter(name='id', value='1', format='int') -opObj14.addParameter(name='wintitle', value='Con interf', format='str') -opObj14.addParameter(name='save', value='1', format='bool') -opObj14.addParameter(name='figpath', value=pathFigure, format='str') -opObj14.addParameter(name='zmin', value='5', format='int') -opObj14.addParameter(name='zmax', value='90', format='int') - -opObj12 = procUnitConfObj1.addOperation(name='removeInterference') -opObj13 = procUnitConfObj1.addOperation(name='removeDC') -opObj13.addParameter(name='mode', value='1', format='int') - -opObj12 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj12.addParameter(name='id', value='2', format='int') -opObj12.addParameter(name='wintitle', value='RTI Plot', format='str') -opObj12.addParameter(name='save', value='1', format='bool') -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='5', format='int') -opObj12.addParameter(name='zmax', value='90', format='int') - -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -opObj21 = procUnitConfObj2.addOperation(name='MomentsPlot', optype='other') -opObj21.addParameter(name='id', value='3', format='int') -opObj21.addParameter(name='wintitle', value='Moments Plot', format='str') -opObj21.addParameter(name='save', value='1', format='bool') -opObj21.addParameter(name='figpath', value=pathFigure, format='str') -opObj21.addParameter(name='zmin', value='5', format='int') -opObj21.addParameter(name='zmax', value='90', format='int') - -opObj21 = procUnitConfObj2.addOperation(name='ParametersPlot', optype='other') -opObj21.addParameter(name='id', value='5', format='int') -opObj21.addParameter(name='wintitle', value='Radial Velocity Plot', format='str') -opObj21.addParameter(name='save', value='1', format='bool') -opObj21.addParameter(name='figpath', value=pathFigure, format='str') -opObj21.addParameter(name='SNRmin', value='-10', format='int') -opObj21.addParameter(name='SNRmax', value='60', format='int') -opObj21.addParameter(name='SNRthresh', value='0', format='float') -opObj21.addParameter(name='xmin', value=xmin, format='float') -opObj21.addParameter(name='xmax', value=xmax, format='float') - -opObj21 = procUnitConfObj2.addOperation(name='ParametersPlot', optype='other') -opObj21.addParameter(name='id', value='6', format='int') -opObj21.addParameter(name='wintitle', value='Spectral width Plot', format='str') -opObj21.addParameter(name='save', value='1', format='bool') -opObj21.addParameter(name='figpath', value=pathFigure, format='str') -opObj21.addParameter(name='SNRmin', value='-10', format='int') -opObj21.addParameter(name='SNRmax', value='60', format='int') -opObj21.addParameter(name='SNRthresh', value='0', format='float') -opObj21.addParameter(name='xmin', value=xmin, format='float') -opObj21.addParameter(name='xmax', value=xmax, format='float') -opObj21.addParameter(name='zmin', value=0, format='float') -opObj21.addParameter(name='paramIndex', value=2, format='int') -opObj21.addParameter(name='onlyPositive', value=1, format='bool') - -opObj22 = procUnitConfObj2.addOperation(name='WindProfiler', optype='other') -opObj22.addParameter(name='technique', value='DBS', format='str') -opObj22.addParameter(name='correctAzimuth', value='51.06', format='float') -opObj22.addParameter(name='correctFactor', value='-1', format='float') -opObj22.addParameter(name='dirCosx', value='0.041016, 0, -0.054688', format='floatlist') -opObj22.addParameter(name='dirCosy', value='-0.041016, 0.025391, -0.023438', format='floatlist') -# opObj22.addParameter(name='horizontalOnly', value='1', format='bool') -# opObj22.addParameter(name='channelList', value='1,2', format='intlist') - -opObj23 = procUnitConfObj2.addOperation(name='WindProfilerPlot', optype='other') -opObj23.addParameter(name='id', value='4', format='int') -opObj23.addParameter(name='wintitle', value='Wind Profiler', format='str') -opObj23.addParameter(name='save', value='1', format='bool') -opObj23.addParameter(name='figpath', value = pathFigure, format='str') -opObj23.addParameter(name='zmin', value='-10', format='int') -opObj23.addParameter(name='zmax', value='10', format='int') -opObj23.addParameter(name='zmin_ver', value='-80', format='float') -opObj23.addParameter(name='zmax_ver', value='80', format='float') -opObj23.addParameter(name='SNRmin', value='-10', format='int') -opObj23.addParameter(name='SNRmax', value='60', format='int') -opObj23.addParameter(name='SNRthresh', value='0', format='float') -opObj23.addParameter(name='xmin', value=xmin, format='float') -opObj23.addParameter(name='xmax', value=xmax, format='float') - -#-------------------------------------------------------------------------------------------------- -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/WindProfiler_SA01.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/WindProfiler_SA01.py.svn-base deleted file mode 100644 index 8d0a8c6..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/WindProfiler_SA01.py.svn-base +++ /dev/null @@ -1,139 +0,0 @@ -# DIAS 19 Y 20 FEB 2014 -# Comprobacion de Resultados DBS con SA - -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "SA Experiment Test" -filename = "SA2014050.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -#Experimentos - -#2014050 19 Feb 2014 -path = '/home/soporte/Data/MST/SA/d2014050' -pathFigure = '/home/soporte/workspace/Graficos/SA/prueba1/' -xmin = '15.5' -xmax = '24' -startTime = '15:30:00' -filehdf5 = "SA_2014050.hdf5" - -#2014051 20 Feb 2014 -# path = '/home/soporte/Data/MST/SA/d2014051' -# pathFigure = '/home/soporte/workspace/Graficos/SA/new/' -# xmin = '0.0' -# xmax = '8.0' -# startTime = '00:00:00' -# filehdf5 = "SA_2014051.hdf5" - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2014/01/01', - endDate='2014/03/31', - startTime=startTime, - endTime='23:59:59', - online=0, - delay=5, - walk=0) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - - -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - -opObj11 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='600', format='int') -# opObj11.addParameter(name='n', value='10', format='int') - -opObj11 = procUnitConfObj0.addOperation(name='selectHeightsByIndex') -opObj11.addParameter(name='minIndex', value='10', format='float') -opObj11.addParameter(name='maxIndex', value='60', format='float') -#--------------------------------------------------------------------------------------------------- -procUnitConfObj1 = controllerObj.addProcUnit(datatype='CorrelationProc', inputId=procUnitConfObj0.getId()) -# procUnitConfObj1.addParameter(name='pairsList', value='(0,0),(1,1),(2,2),(3,3),(1,0),(2,3)', format='pairsList') -procUnitConfObj1.addParameter(name='pairsList', value='(0,0),(1,1),(2,2),(3,3),(0,3),(0,2),(1,3),(1,2),(0,1),(2,3)', format='pairsList') -procUnitConfObj1.addParameter(name='fullT', value='1', format='bool') -procUnitConfObj1.addParameter(name='removeDC', value='1', format='bool') -#procUnitConfObj1.addParameter(name='lagT', value='0,1,2,3', format='intlist') - -opObj12 = procUnitConfObj1.addOperation(name='CorrelationPlot', optype='other') -opObj12.addParameter(name='id', value='1', format='int') -opObj12.addParameter(name='wintitle', value='CrossCorrelation Plot', format='str') -opObj12.addParameter(name='save', value='1', format='bool') -opObj12.addParameter(name='zmin', value='0', format='int') -opObj12.addParameter(name='zmax', value='1', format='int') -opObj12.addParameter(name='figpath', value = pathFigure, format='str') - -opObj12 = procUnitConfObj1.addOperation(name='removeNoise') -opObj12.addParameter(name='mode', value='2', format='int') -opObj12 = procUnitConfObj1.addOperation(name='calculateNormFactor') - -opObj12 = procUnitConfObj1.addOperation(name='CorrelationPlot', optype='other') -opObj12.addParameter(name='id', value='2', format='int') -opObj12.addParameter(name='wintitle', value='CrossCorrelation Plot', format='str') -opObj12.addParameter(name='save', value='1', format='bool') -opObj12.addParameter(name='zmin', value='0', format='int') -opObj12.addParameter(name='zmax', value='1', format='int') -opObj12.addParameter(name='figpath', value = pathFigure, format='str') - -#--------------------------------------------------------------------------------------------------- -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetLags') - -opObj21 = procUnitConfObj2.addOperation(name='WindProfiler', optype='other') -opObj21.addParameter(name='technique', value='SA', format='str') -# opObj21.addParameter(name='correctFactor', value='-1', format='float') -opObj21.addParameter(name='positionX', value='36,0,36,0', format='floatlist') -opObj21.addParameter(name='positionY', value='36,0,0,36', format='floatlist') -opObj21.addParameter(name='azimuth', value='51.06', format='float') -opObj21.addParameter(name='crosspairsList', value='(0,3),(0,2),(1,3),(1,2),(0,1),(2,3)', format='pairsList')#COrregir -# -opObj22 = procUnitConfObj2.addOperation(name='WindProfilerPlot', optype='other') -opObj22.addParameter(name='id', value='4', format='int') -opObj22.addParameter(name='wintitle', value='Wind Profiler', format='str') -opObj22.addParameter(name='save', value='1', format='bool') -opObj22.addParameter(name='figpath', value = pathFigure, format='str') -opObj22.addParameter(name='zmin', value='-15', format='int') -opObj22.addParameter(name='zmax', value='15', format='int') -opObj22.addParameter(name='zmin_ver', value='-80', format='float') -opObj22.addParameter(name='zmax_ver', value='80', format='float') -opObj22.addParameter(name='SNRmin', value='-20', format='int') -opObj22.addParameter(name='SNRmax', value='40', format='int') -opObj22.addParameter(name='SNRthresh', value='-3.5', format='float') -opObj22.addParameter(name='xmin', value=xmin, format='float') -opObj22.addParameter(name='xmax', value=xmax, format='float') -# #----------------------------------------------------------------------------------- -# -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId()) -# procUnitConfObj2.addParameter(name='nFFTPoints', value='128', format='int') -# procUnitConfObj2.addParameter(name='nProfiles', value='128', format='int') -# procUnitConfObj2.addParameter(name='pairsList', value='(0,0),(0,1),(2,1)', format='pairsList') -# -# opObj22 = procUnitConfObj2.addOperation(name='SpectraPlot', optype='other') -# opObj22.addParameter(name='id', value='5', format='int') -# opObj22.addParameter(name='wintitle', value='Spectra Plot', format='str') -# opObj22.addParameter(name='save', value='1', format='bool') -# opObj22.addParameter(name='figpath', value = pathFigure, format='str') - -#----------------------------------------------------------------------------------- - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/__init__.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/__init__.py.svn-base deleted file mode 100644 index 8feaeca..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/__init__.py.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -''' -Created on Jul 2, 2014 - -@author: roj-idl71 -''' diff --git a/schainpy/scripts/scripts_v/.svn/text-base/amisr_EEJ.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/amisr_EEJ.py.svn-base deleted file mode 100644 index 76880db..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/amisr_EEJ.py.svn-base +++ /dev/null @@ -1,123 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/eej') - -xmin = '7' -xmax = '15' - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2014/10/07', - endDate='2014/10/07', - startTime='07:00:00', - endTime='15:00:00', - walk=0, - timezone='lt', - all=0, - online=0) - -#AMISR Processing Unit -procUnitAMISRBeam0 = controllerObj.addProcUnit(datatype='AMISRProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitAMISRBeam0.addOperation(name='PrintInfo', optype='other') - -#Reshaper -opObj11 = procUnitAMISRBeam0.addOperation(name='ProfileToChannels', optype='other') - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=procUnitAMISRBeam0.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -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' -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value='1', format='int') -opObj11.addParameter(name='nBaud', value='28', format='int') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -#opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -#opObj11.addParameter(name='timeInterval', value='10', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=64, format='int') -procUnitConfObjSpectraBeam0.addParameter(name='nProfiles', value=64, format='int') - -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -# opObj11.addParameter(name='n', value='90', format='int') -opObj11.addParameter(name='timeInterval', value='30', format='float') - -#RemoveDc -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') -opObj11.addParameter(name='zmin', value='38', format='int') -opObj11.addParameter(name='zmax', value='68', format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') - -#RTIPlot -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value='38', format='int') -opObj11.addParameter(name='zmax', value='68', format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') - - - -#----------------------------------------------------------------------------------------------- - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/.svn/text-base/amisr_eej_proc_offline.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/amisr_eej_proc_offline.py.svn-base deleted file mode 100644 index 19a263a..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/amisr_eej_proc_offline.py.svn-base +++ /dev/null @@ -1,194 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='eej_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -path = '/mnt/data_amisr' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/EEJ' -figpath = '/home/soporte/Data/EEJ' - -xmin = '07' -xmax = '18' -dbmin = '45' #'60'#'55' #'40' #noise esf eej -dbmax = '65' #'70' #'55' -show = '0' - -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' -nCode = '1' -nBaud = '28' - - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate=today, #'2014/10/07', - endDate=today, #'2014/10/07', - startTime='07:01:30',#'07:00:00', - endTime='18:00:00',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=0) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dic 3, 15:40h -#opObj10.addParameter(name='frequency', value='435e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -#Noise--> no code - -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='121', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='150', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - -# #procUnitConfObjSpectraBeam0.addParameter(name='pairsList', value='(0,0),(1,1),(2,2),(3,3),(4,4)', \ -# # format='pairsList') -# -# # procUnitConfObjSpectraBeam0.addParameter(name='pairsList', value='(0,0)', \ -# # format='pairsList') -# # -# # #RemoveDc -# # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') -# -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') -# # -# #SpectraPlot -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='1', format='int') -# opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') -# #opObj11.addParameter(name='zmin', value='38', format='int') -# opObj11.addParameter(name='zmin', value=dbmin, format='int') -# opObj11.addParameter(name='zmax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# # -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath+'/plots', format='str') -opObj11.addParameter(name='show', value = show, format='bool') - -# # # -# # # -# #Noise -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=dbmin, format='int') -opObj11.addParameter(name='ymax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath+'/plots', format='str') -opObj11.addParameter(name='show', value = show, format='bool') - - - -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -opObj11.addParameter(name='path', value=figpath) -opObj11.addParameter(name='blocksPerFile', value='10', format='int') -opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved - - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=5, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -opObj12.addParameter(name='path', value=figpath+'/param') -opObj12.addParameter(name='blocksPerFile', value='10', format='int') -opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -opObj12.addParameter(name='mode',value='1',format='int') - - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/.svn/text-base/amisr_eej_proc_online.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/amisr_eej_proc_online.py.svn-base deleted file mode 100644 index 1c3a1de..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/amisr_eej_proc_online.py.svn-base +++ /dev/null @@ -1,205 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='eej_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -path = '/mnt/data_amisr' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/EEJ' -figpath = '/home/soporte/Data/EEJ' -remotefolder = "/home/wmaster/graficos" - -xmin = '07' -xmax = '18' -ymin ='30' -ymax ='300' -dbmin = '45' #'60'#'55' #'40' #noise esf eej -dbmax = '65' #'70' #'55' -show = '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' -nCode = '1' -nBaud = '28' - - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate=today, #'2014/10/07', - endDate=today, #'2014/10/07', - startTime='07:01:30',#'07:00:00', - endTime='17:55:00',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=1) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dic 3, 15:40h -#opObj10.addParameter(name='frequency', value='440e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - - -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') - - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='150', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') - - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -opObj11.addParameter(name='ymin', value=ymin, format='int') -opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='0', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=ymin, format='int') -opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #send to server -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -#procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value='300', format='int') -procUnitConfObj2.addParameter(name='protocol', value='ssh', format='str') - - -# #Noise -#title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='0', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# opObj11.addParameter(name='show', value = show, format='bool') - - -# #For saving Pdata (doesn't work with amisr data yet!) -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='10', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved -# -# -# # procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# # procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# # procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# # procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# # procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# # procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# # procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# # procUnitConfObj2.addParameter(name='period', value=5, format='int') -# # procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -# #----------------------------------------------------------------------------------------------- -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=figpath+'/plots') -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/.svn/text-base/amisr_esf_proc_offline.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/amisr_esf_proc_offline.py.svn-base deleted file mode 100644 index 853579c..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/amisr_esf_proc_offline.py.svn-base +++ /dev/null @@ -1,197 +0,0 @@ -import os, sys -import time -import datetime - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='esf_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/ESF' -path = '/mnt/data_amisr' - -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF' -figpath = '/home/soporte/Data/ESF' -remotefolder = "/home/wmaster/graficos" - -xmin = '18' -xmax = '31' -dbmin = '60' #'60'#'55' #'40' #noise esf eej -dbmax = '75' #'70' #'55' -show = '0' - -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' -nCode = '1' -nBaud = '28' -nosamp = '2' # oversample - -str = datetime.date.today() -str1 = str + datetime.timedelta(days=1) -str2 = str - datetime.timedelta(days=1) -today = str.strftime("%Y/%m/%d") -tomorrow = str1.strftime("%Y/%m/%d") -yesterday = str2.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate=yesterday, #'2014/10/07', - endDate=today, #'2014/10/07', - startTime='18:01:30',#'07:00:00', - endTime='07:00:00',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=0) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') #chaned on Dec 3, 15:40h -#opObj10.addParameter(name='frequency', value='435e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -#Noise--> no code - -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') -opObj11.addParameter(name='osamp', value=nosamp, format='int') - - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='121', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=32, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='60', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - -# # #RemoveDc -# # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='650', format='float') -opObj11.addParameter(name='maxHei', value='800', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') - -# #SpectraPlot -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='1', format='int') -# opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') -# #opObj11.addParameter(name='zmin', value='38', format='int') -# opObj11.addParameter(name='zmin', value=dbmin, format='int') -# opObj11.addParameter(name='zmax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') - - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath+'/plots', format='str') -opObj11.addParameter(name='show', value = show, format='bool') -# # # -# # # -# #Noise -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=dbmin, format='int') -opObj11.addParameter(name='ymax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath+'/plots', format='str') -opObj11.addParameter(name='show', value = show, format='bool') - - -#Generate *.pdata from AMISR data -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -opObj11.addParameter(name='path', value=figpath) -opObj11.addParameter(name='blocksPerFile', value='10', format='int') -opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved - -#generate moments -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -opObj12.addParameter(name='path', value=figpath+'/param') -opObj12.addParameter(name='blocksPerFile', value='10', format='int') -opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -opObj12.addParameter(name='mode',value='1',format='int') - - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=5, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/.svn/text-base/amisr_esf_proc_online.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/amisr_esf_proc_online.py.svn-base deleted file mode 100644 index fb5cf01..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/amisr_esf_proc_online.py.svn-base +++ /dev/null @@ -1,220 +0,0 @@ -import os, sys -import time -import datetime - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='esf_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/ESF' -path = '/mnt/data_amisr' - -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF' -figpath = '/home/soporte/Data/ESF' -remotefolder = "/home/wmaster/graficos" - -xmin = '18' -xmax = '31' -dbmin = '60' #'60'#'55' #'40' #noise esf eej -dbmax = '75' #'70' #'55' -show = '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' -nCode = '1' -nBaud = '28' -nosamp = '2' # oversample - -str = datetime.date.today() -str1 = str + datetime.timedelta(days=1) -today = str.strftime("%Y/%m/%d") -tomorrow = str1.strftime("%Y/%m/%d") - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate=today, #'2014/10/07', - endDate=tomorrow, #'2014/10/07', - startTime='18:01:30',#'07:00:00', - endTime='07:00:00',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=1) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dec 3, 15:40h -#opObj10.addParameter(name='frequency', value='435e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -#Noise--> no code - -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') -opObj11.addParameter(name='osamp', value=nosamp, format='int') - - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='121', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=32, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='60', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - -# # #RemoveDc -# # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -#opObj11.addParameter(name='zmin', value='38', format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='0', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='4', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='4', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - -# #send to server -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -#procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value='300', format='int') -procUnitConfObj2.addParameter(name='protocol', value='ssh', format='str') - -# # # -# #Noise -#title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# opObj11.addParameter(name='show', value = show, format='bool') - - -#Generate *.pdata from AMISR data -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='10', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved -# -# #generate moments -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=figpath+'/plots') -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=5, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/.svn/text-base/amisr_proc.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/amisr_proc.py.svn-base deleted file mode 100644 index 5839c7a..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/amisr_proc.py.svn-base +++ /dev/null @@ -1,92 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -path = os.path.join(os.environ['HOME'],'Development/amisr/data') -path = '/media/administrator/KINGSTON/amisr' -figpath = os.path.join(os.environ['HOME'],'Pictures/amisr') - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2014/10/21', - endDate='2014/10/21', - startTime='00:00:00', - endTime='23:59:59', - walk=1, - timezone='lt') - -#AMISR Processing Unit -procUnitAMISRBeam0 = controllerObj.addProcUnit(datatype='AMISRProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitAMISRBeam0.addOperation(name='PrintInfo', optype='other') - -#Reshaper -opObj11 = procUnitAMISRBeam0.addOperation(name='ProfileToChannels', optype='other') - - -#Beam Selector -#opObj11 = procUnitAMISRBeam0.addOperation(name='BeamSelector', optype='other') -#opObj11.addParameter(name='beam', value='0', format='int') - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=procUnitAMISRBeam0.getId()) -#Coherent Integration -opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='8', format='int') -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=32, format='int') -procUnitConfObjSpectraBeam0.addParameter(name='nProfiles', value=32, format='int') -#RemoveDc -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='5', format='float') -opObj11.addParameter(name='maxHei', value='20', format='float') - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='100', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') -opObj11.addParameter(name='zmin', value='30', format='int') -opObj11.addParameter(name='zmax', value='80', format='int') - -#RTIPlot -#title0 = 'RTI AMISR Beam 0' -#opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -#opObj11.addParameter(name='id', value='200', format='int') -#opObj11.addParameter(name='wintitle', value=title0, format='str') -#opObj11.addParameter(name='showprofile', value='0', format='int') -##Setting RTI time using xmin,xmax -#opObj11.addParameter(name='xmin', value='15', format='int') -#opObj11.addParameter(name='xmax', value='23', format='int') -#Setting dB range with zmin, zmax -#opObj11.addParameter(name='zmin', value='45', format='int') -#opObj11.addParameter(name='zmax', value='70', format='int') -#Save RTI -#figfile0 = 'amisr_rti_beam0.png' -#opObj11.addParameter(name='figpath', value=figpath, format='str') -#opObj11.addParameter(name='figfile', value=figfile0, format='str') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() diff --git a/schainpy/scripts/scripts_v/.svn/text-base/amisr_reader.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/amisr_reader.py.svn-base deleted file mode 100644 index 3a547ba..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/amisr_reader.py.svn-base +++ /dev/null @@ -1,39 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -path = os.path.join(os.environ['HOME'],'Documents/amisr') #'/home/signalchain/Documents/amisr' - -figpath = os.path.join(os.environ['HOME'],'Pictures/amisr') - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2014/08/18', - endDate='2014/08/18', - startTime='00:00:00', - endTime='23:59:59', - walk=1) - -procUnitAMISR = controllerObj.addProcUnit(datatype='AMISRProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitAMISR.addOperation(name='PrintInfo', optype='other') - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() diff --git a/schainpy/scripts/scripts_v/.svn/text-base/amisr_reader_exp.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/amisr_reader_exp.py.svn-base deleted file mode 100644 index 02b3033..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/amisr_reader_exp.py.svn-base +++ /dev/null @@ -1,47 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "AMISR Experiment Test" -filename = "amisr.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -path = '/home/administrator/Documents/amisr' - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISR', - path=path, - startDate='2014/08/18', - endDate='2014/08/18', - startTime='00:00:00', - endTime='23:59:59', - walk=1) - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObj0.addOperation(name='Scope', optype='other') -opObj11.addParameter(name='id', value='101', format='int') -opObj11.addParameter(name='wintitle', value='AMISR', format='str') -opObj11.addParameter(name='type', value='iq', format='str') - -opObj11 = procUnitConfObjBeam1.addOperation(name='ProfileSelector', optype='other') -opObj11.addParameter(name='profileRangeList', value='0,81', format='intlist') - -opObj11 = procUnitConfObj0.addOperation(name='PowerProfile', optype='other') -opObj11.addParameter(name='id', value='102', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Power Profile', format='str') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() diff --git a/schainpy/scripts/scripts_v/.svn/text-base/amisr_reader_exp_ex2.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/amisr_reader_exp_ex2.py.svn-base deleted file mode 100644 index 666fd0a..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/amisr_reader_exp_ex2.py.svn-base +++ /dev/null @@ -1,404 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "AMISR Experiment Test" -filename = "amisr.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -path = '/home/administrator/Documents/amisr_bug' -path = '/media/administrator/New Volume/amisr' -#path = '/media/administrator/Toshiba/data' -figpath = '/home/administrator/Pictures/amisr' - -figfile0 = 'amisr_rti_beam0.png' -figfile1 = 'amisr_rti_beam1.png' -figfile2 = 'amisr_rti_beam2.png' -figfile3 = 'amisr_rti_beam3.png' -figfile4 = 'amisr_rti_beam4.png' -figfile5 = 'amisr_rti_beam5.png' -figfile6 = 'amisr_rti_beam6.png' - -title0 = 'RTI AMISR Beam 0' -title1 = 'RTI AMISR Beam 1' -title2 = 'RTI AMISR Beam 2' -title3 = 'RTI AMISR Beam 3' -title4 = 'RTI AMISR Beam 4' -title5 = 'RTI AMISR Beam 5' -title6 = 'RTI AMISR Beam 6' - -profileStrSelBeam0 = '0,101' -profileStrSelBeam1 = '614,741' -profileStrSelBeam2 = '358,485' -profileStrSelBeam3 = '742,869' -profileStrSelBeam4 = '230,357' -profileStrSelBeam5 = '486,613' -profileStrSelBeam6 = '102,229' - -nProfiles = '32' -nFFTPoints = '32' - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISR', - path=path, - startDate='2014/08/18', - endDate='2014/08/18', - startTime='00:00:00', - endTime='23:59:59', - walk=1) - - - -# procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) -# opObj11 = procUnitConfObjBeam0.addOperation(name='ProfileSelector', optype='other') -# opObj11.addParameter(name='profileRangeList', value=profileStrSelBeam0, format='intlist') - -# procUnitConfObjBeam1 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) -# procUnitConfObjBeam2 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) -# procUnitConfObjBeam3 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) -# procUnitConfObjBeam4 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) -# procUnitConfObjBeam5 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) -# procUnitConfObjBeam6 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) - -# procUnitAMISR = controllerObj.addProcUnit(datatype='AMISR', inputId=readUnitConfObj.getId()) -# opObj11 = procUnitAMISR.addOperation(name='BeamSelector', optype='other') -# opObj11.addParameter(name='beam', value='1', format='int') -# -# procUnitConfObjBeam1 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitAMISRBeam0.getId()) -# -# opObj11 = procUnitConfObjBeam1.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='128', format='int') -# -# -# procUnitConfObjSpectraBeam1 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjBeam1.getId()) -# procUnitConfObjSpectraBeam1.addParameter(name='nFFTPoints', value='32', format='int') -# procUnitConfObjSpectraBeam1.addParameter(name='nProfiles', value='32', format='int') -# -# opObj11 = procUnitConfObjSpectraBeam1.addOperation(name='getNoise') -# opObj11.addParameter(name='minHei', value='100', format='float') -# opObj11.addParameter(name='maxHei', value='450', format='float') -# -# opObj11 = procUnitConfObjSpectraBeam1.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='100', format='int') -# opObj11.addParameter(name='wintitle', value='SpectraPlot', format='str') - - - - - - - -# ############################# Beam0 ############################# -procUnitAMISRBeam0 = controllerObj.addProcUnit(datatype='AMISR', inputId=readUnitConfObj.getId()) - -#opObj11 = procUnitAMISRBeam0.addOperation(name='PrintInfo', optype='other') - - -opObj11 = procUnitAMISRBeam0.addOperation(name='BeamSelector', optype='other') -opObj11.addParameter(name='beam', value='0', format='int') - -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitAMISRBeam0.getId()) - -opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='128', format='int') - -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=nFFTPoints, format='int') -procUnitConfObjSpectraBeam0.addParameter(name='nProfiles', value=nProfiles, format='int') - -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='450', format='float') - -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='100', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') - - - - -# procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) -# opObj11 = procUnitConfObjBeam0.addOperation(name='ProfileSelector', optype='other') -# opObj11.addParameter(name='profileRangeList', value=profileStrSelBeam0, format='intlist') -# -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='102', format='int') -# -# procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjBeam0.getId()) -# procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value='32', format='int') -# procUnitConfObjSpectraBeam0.addParameter(name='nProfiles', value='32', format='int') -# -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -# opObj11.addParameter(name='minHei', value='100', format='float') -# opObj11.addParameter(name='maxHei', value='450', format='float') -# -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='100', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='18', format='int') -# opObj11.addParameter(name='zmin', value='45', format='int') -# opObj11.addParameter(name='zmax', value='70', format='int') -# #opObj11.addParameter(name='timerange', value='7200', format='int') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='figfile', value=figfile0, format='str') -# -# -# -# -# -# # - -# ############################# Beam1 ############################# -procUnitAMISRBeam1 = controllerObj.addProcUnit(datatype='AMISR', inputId=readUnitConfObj.getId()) - -#opObj11 = procUnitAMISRBeam1.addOperation(name='PrintInfo', optype='other') - - -opObj11 = procUnitAMISRBeam1.addOperation(name='BeamSelector', optype='other') -opObj11.addParameter(name='beam', value='1', format='int') - -procUnitConfObjBeam1 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitAMISRBeam1.getId()) - -opObj11 = procUnitConfObjBeam1.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='128', format='int') - -procUnitConfObjSpectraBeam1 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjBeam1.getId()) -procUnitConfObjSpectraBeam1.addParameter(name='nFFTPoints', value=nFFTPoints, format='int') -procUnitConfObjSpectraBeam1.addParameter(name='nProfiles', value=nProfiles, format='int') - -opObj11 = procUnitConfObjSpectraBeam1.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='450', format='float') - -opObj11 = procUnitConfObjSpectraBeam1.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='101', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 1', format='str') - -# -# opObj11 = procUnitConfObjSpectraBeam1.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='201', format='int') -# opObj11.addParameter(name='wintitle', value=title1, format='str') -# #opObj11.addParameter(name='timerange', value='36000', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='18', format='int') -# opObj11.addParameter(name='zmin', value='45', format='int') -# opObj11.addParameter(name='zmax', value='70', format='int') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='figfile', value=figfile1, format='str') -# # -# # -# # -# # -# # -# ############################## Beam2 ############################# -procUnitAMISRBeam2 = controllerObj.addProcUnit(datatype='AMISR', inputId=readUnitConfObj.getId()) -opObj11 = procUnitAMISRBeam2.addOperation(name='BeamSelector', optype='other') -opObj11.addParameter(name='beam', value='2', format='int') - -procUnitConfObjBeam2 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitAMISRBeam2.getId()) - -opObj11 = procUnitConfObjBeam2.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='128', format='int') - - -procUnitConfObjSpectraBeam2 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjBeam2.getId()) -procUnitConfObjSpectraBeam2.addParameter(name='nFFTPoints', value=nFFTPoints, format='int') -procUnitConfObjSpectraBeam2.addParameter(name='nProfiles', value=nProfiles, format='int') - -opObj11 = procUnitConfObjSpectraBeam2.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='450', format='float') - -opObj11 = procUnitConfObjSpectraBeam2.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='102', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 2', format='str') - -# -# opObj11 = procUnitConfObjSpectraBeam2.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='202', format='int') -# opObj11.addParameter(name='wintitle', value=title2, format='str') -# #opObj11.addParameter(name='timerange', value='18000', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='18', format='int') -# opObj11.addParameter(name='zmin', value='45', format='int') -# opObj11.addParameter(name='zmax', value='70', format='int') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='figfile', value=figfile2, format='str') -# -# -# -# -# -# -# ############################## Beam3 ############################# -procUnitAMISRBeam3 = controllerObj.addProcUnit(datatype='AMISR', inputId=readUnitConfObj.getId()) -opObj11 = procUnitAMISRBeam3.addOperation(name='BeamSelector', optype='other') -opObj11.addParameter(name='beam', value='3', format='int') - -procUnitConfObjBeam3 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitAMISRBeam3.getId()) - -opObj11 = procUnitConfObjBeam3.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='128', format='int') - - -procUnitConfObjSpectraBeam3 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjBeam3.getId()) -procUnitConfObjSpectraBeam3.addParameter(name='nFFTPoints', value=nFFTPoints, format='int') -procUnitConfObjSpectraBeam3.addParameter(name='nProfiles', value=nProfiles, format='int') - -opObj11 = procUnitConfObjSpectraBeam3.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='450', format='float') - -opObj11 = procUnitConfObjSpectraBeam3.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='103', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 3', format='str') - -# -# opObj11 = procUnitConfObjSpectraBeam3.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='203', format='int') -# opObj11.addParameter(name='wintitle', value=title3, format='str') -# #opObj11.addParameter(name='timerange', value='18000', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='18', format='int') -# opObj11.addParameter(name='zmin', value='45', format='int') -# opObj11.addParameter(name='zmax', value='70', format='int') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='figfile', value=figfile3, format='str') -# # # -# # # -# # # -# # # -# # # -# # # -# ############################## Beam4 ############################# -procUnitAMISRBeam4 = controllerObj.addProcUnit(datatype='AMISR', inputId=readUnitConfObj.getId()) -opObj11 = procUnitAMISRBeam4.addOperation(name='BeamSelector', optype='other') -opObj11.addParameter(name='beam', value='4', format='int') - -procUnitConfObjBeam4 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitAMISRBeam4.getId()) - -opObj11 = procUnitConfObjBeam4.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='128', format='int') - - -procUnitConfObjSpectraBeam4 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjBeam4.getId()) -procUnitConfObjSpectraBeam4.addParameter(name='nFFTPoints', value=nFFTPoints, format='int') -procUnitConfObjSpectraBeam4.addParameter(name='nProfiles', value=nProfiles, format='int') - -opObj11 = procUnitConfObjSpectraBeam4.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='450', format='float') - -opObj11 = procUnitConfObjSpectraBeam4.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='104', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 4', format='str') - -# opObj11 = procUnitConfObjSpectraBeam4.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='204', format='int') -# opObj11.addParameter(name='wintitle', value=title4, format='str') -# #opObj11.addParameter(name='timerange', value='18000', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='18', format='int') -# opObj11.addParameter(name='zmin', value='45', format='int') -# opObj11.addParameter(name='zmax', value='70', format='int') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='figfile', value=figfile4, format='str') -# # # # -# # # # -# # # # -# # # # -# # # # -# ############################## Beam5 ############################# -procUnitAMISRBeam5 = controllerObj.addProcUnit(datatype='AMISR', inputId=readUnitConfObj.getId()) -opObj11 = procUnitAMISRBeam5.addOperation(name='BeamSelector', optype='other') -opObj11.addParameter(name='beam', value='5', format='int') - -procUnitConfObjBeam5 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitAMISRBeam5.getId()) - -opObj11 = procUnitConfObjBeam5.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='128', format='int') - -procUnitConfObjSpectraBeam5 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjBeam5.getId()) -procUnitConfObjSpectraBeam5.addParameter(name='nFFTPoints', value=nFFTPoints, format='int') -procUnitConfObjSpectraBeam5.addParameter(name='nProfiles', value=nProfiles, format='int') - -opObj11 = procUnitConfObjSpectraBeam5.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='450', format='float') - -opObj11 = procUnitConfObjSpectraBeam5.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='105', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 5', format='str') - -# opObj11 = procUnitConfObjSpectraBeam5.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='205', format='int') -# opObj11.addParameter(name='wintitle', value=title5, format='str') -# #opObj11.addParameter(name='timerange', value='18000', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='18', format='int') -# opObj11.addParameter(name='zmin', value='45', format='int') -# opObj11.addParameter(name='zmax', value='70', format='int') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='figfile', value=figfile5, format='str') -# # # -# # # # -# # # # -# # # # -# # # # -# ############################## Beam6 ############################# -procUnitAMISRBeam6 = controllerObj.addProcUnit(datatype='AMISR', inputId=readUnitConfObj.getId()) -opObj11 = procUnitAMISRBeam6.addOperation(name='BeamSelector', optype='other') -opObj11.addParameter(name='beam', value='6', format='int') - -procUnitConfObjBeam6 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitAMISRBeam6.getId()) - -opObj11 = procUnitConfObjBeam6.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='128', format='int') - - -procUnitConfObjSpectraBeam6 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjBeam6.getId()) -procUnitConfObjSpectraBeam6.addParameter(name='nFFTPoints', value=nFFTPoints, format='int') -procUnitConfObjSpectraBeam6.addParameter(name='nProfiles', value=nProfiles, format='int') - -opObj11 = procUnitConfObjSpectraBeam6.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='450', format='float') - -opObj11 = procUnitConfObjSpectraBeam6.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='106', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 6', format='str') -# -# opObj11 = procUnitConfObjSpectraBeam6.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='206', format='int') -# opObj11.addParameter(name='wintitle', value=title6, format='str') -# #opObj11.addParameter(name='timerange', value='18000', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='18', format='int') -# opObj11.addParameter(name='zmin', value='45', format='int') -# opObj11.addParameter(name='zmax', value='70', format='int') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='figfile', value=figfile6, format='str') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() diff --git a/schainpy/scripts/scripts_v/.svn/text-base/amisr_spreadF.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/amisr_spreadF.py.svn-base deleted file mode 100644 index 56a6712..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/amisr_spreadF.py.svn-base +++ /dev/null @@ -1,119 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/spreadF/filt2') - -xmin = '18' -xmax = '31' - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2014/10/06', - endDate='2014/10/07', - startTime='18:00:00', - endTime='07:00:00', - walk=0, - timezone='lt', - all=0, - online=0) - -#AMISR Processing Unit -procUnitAMISRBeam0 = controllerObj.addProcUnit(datatype='AMISRProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitAMISRBeam0.addOperation(name='PrintInfo', optype='other') - -#Reshaper -opObj11 = procUnitAMISRBeam0.addOperation(name='ProfileToChannels', optype='other') - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=procUnitAMISRBeam0.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - -opObj11 = procUnitConfObjBeam0.addOperation(name='filterByHeights') -opObj11.addParameter(name='window', value='2', format='int') - -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -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' -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value='1', format='int') -opObj11.addParameter(name='nBaud', value='28', format='int') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') -# opObj12.addParameter(name='maxHei', value='10', format='float') -#Coherent Integration -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='timeInterval', value='30', format='int') -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=64, format='int') -procUnitConfObjSpectraBeam0.addParameter(name='nProfiles', value=64, format='int') - -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='timeInterval', value='30', format='float') -# opObj11.addParameter(name='n', value='64', format='int') - -#RemoveDc -#opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='200', format='float') -opObj11.addParameter(name='maxHei', value='700', format='float') - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') -opObj11.addParameter(name='zmin', value='54', format='int') -opObj11.addParameter(name='zmax', value='70', format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') - -#RTIPlot -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value='54', format='int') -opObj11.addParameter(name='zmax', value='70', format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') - - - -#----------------------------------------------------------------------------------------------- - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/.svn/text-base/amisr_windEstimation.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/amisr_windEstimation.py.svn-base deleted file mode 100644 index ee0e461..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/amisr_windEstimation.py.svn-base +++ /dev/null @@ -1,147 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -path = os.path.join(os.environ['HOME'],'Development/amisr/data') -path = '/home/soporte/Data/AMISR' -figpath = os.path.join(os.environ['HOME'],'Pictures/amisr') - -pathFigure = '/home/operaciones/Documents/AMISR_windprofiler/20141023' -xmin = '8.0' -xmax = '12.0' - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2014/10/23', - endDate='2014/10/23', - startTime='00:00:00', - endTime='23:59:59', - walk=1, - timezone='lt') - -#AMISR Processing Unit -procUnitAMISRBeam0 = controllerObj.addProcUnit(datatype='AMISRProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitAMISRBeam0.addOperation(name='PrintInfo', optype='other') - -#Reshaper -opObj11 = procUnitAMISRBeam0.addOperation(name='ProfileToChannels', optype='other') - - -#Beam Selector -#opObj11 = procUnitAMISRBeam0.addOperation(name='BeamSelector', optype='other') -#opObj11.addParameter(name='beam', value='0', format='int') - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=procUnitAMISRBeam0.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - -opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -opObj12.addParameter(name='minHei', value='0', format='float') -opObj12.addParameter(name='maxHei', value='10', format='float') -#Coherent Integration -opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='8', format='int') -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=32, format='int') -procUnitConfObjSpectraBeam0.addParameter(name='nProfiles', value=32, format='int') - -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='16', format='int') - -#RemoveDc -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='5', format='float') -opObj11.addParameter(name='maxHei', value='20', format='float') - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='100', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') -opObj11.addParameter(name='zmin', value='30', format='int') -opObj11.addParameter(name='zmax', value='80', format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = pathFigure, format='str') -#RTIPlot -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='200', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value='30', format='int') -opObj11.addParameter(name='zmax', value='80', format='int') -opObj23.addParameter(name='save', value='1', format='bool') -opObj23.addParameter(name='figpath', value = pathFigure, format='str') - -# Save RTI -# figfile0 = 'amisr_rti_beam0.png' -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='figfile', value=figfile0, format='str') - -#----------------------------------------------------------------------------------------------- -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0 .getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -opObj21 = procUnitConfObj2.addOperation(name='MomentsPlot', optype='other') -opObj21.addParameter(name='id', value='3', format='int') -opObj21.addParameter(name='wintitle', value='Moments Plot', format='str') -opObj21.addParameter(name='save', value='1', format='bool') -opObj21.addParameter(name='figpath', value=pathFigure, format='str') -opObj21.addParameter(name='zmin', value='30', format='int') -opObj21.addParameter(name='zmax', value='80', format='int') - -opObj22 = procUnitConfObj2.addOperation(name='WindProfiler', optype='other') -opObj22.addParameter(name='technique', value='DBS', format='str') -opObj22.addParameter(name='correctAzimuth', value='51.06', format='float') -opObj22.addParameter(name='correctFactor', value='-1', format='float') -opObj22.addParameter(name='azimuth', value='0,-90,0,90,180', format='floatlist') -opObj22.addParameter(name='elevation', value='74.53,75.90.0,75.60,75.60', format='floatlist') -# opObj22.addParameter(name='horizontalOnly', value='1', format='bool') -# opObj22.addParameter(name='channelList', value='1,2', format='intlist') - -opObj23 = procUnitConfObj2.addOperation(name='WindProfilerPlot', optype='other') -opObj23.addParameter(name='id', value='4', format='int') -opObj23.addParameter(name='wintitle', value='Wind Profiler', format='str') -opObj23.addParameter(name='save', value='1', format='bool') -opObj23.addParameter(name='figpath', value = pathFigure, format='str') -opObj23.addParameter(name='zmin', value='-20', format='int') -opObj23.addParameter(name='zmax', value='20', format='int') -opObj23.addParameter(name='zmin_ver', value='-100', format='float') -opObj23.addParameter(name='zmax_ver', value='100', format='float') -opObj23.addParameter(name='SNRmin', value='-20', format='int') -opObj23.addParameter(name='SNRmax', value='30', format='int') -opObj23.addParameter(name='SNRthresh', value='-50', format='float') -opObj23.addParameter(name='xmin', value=xmin, format='float') -opObj23.addParameter(name='xmax', value=xmax, format='float') - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/.svn/text-base/amisr_winds_proc_offline.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/amisr_winds_proc_offline.py.svn-base deleted file mode 100644 index 9f55242..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/amisr_winds_proc_offline.py.svn-base +++ /dev/null @@ -1,222 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='eej_proc', description=desc) - - -# path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -# path = '/mnt/data_amisr' -# path = '/media/soporte/E9F4-F053/AMISR/Data/winds' -path = '/mnt/data_amisr' - -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF' -figpath = '/home/soporte/Data/winds' -remotefolder = "/home/wmaster/graficos" -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/winds/plots' - -xmin = '08' -xmax = '18' -dbmin = '50' #'60'#'55' #'40' #noise esf eej -dbmax = '80' #'70' #'55' - -ippFactor = '5' - -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' -nCode = '1' -nBaud = '28' - - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2015/11/12', #'2014/10/07', - endDate='2015/11/12', #'2014/10/07', - startTime='00:00:00',#'07:00:00', - endTime='23:59:59',#'15:00:00', - walk=0, -# code = code, -# nCode = nCode, -# nBaud = nBaud, - timezone='lt', - online=1) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - - - -opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -opObj12.addParameter(name='minHei', value='0', format='float') -opObj12.addParameter(name='maxHei', value='10', format='float') - - - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=64, format='int') -procUnitConfObjSpectraBeam0.addParameter(name='ippFactor', value=ippFactor, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='64', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - -# # #RemoveDc -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') -# -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='5', format='float') -opObj11.addParameter(name='maxHei', value='9', format='float') - - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='Winds AMISR', format='str') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='Winds AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') -# -# -# #Noise -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=dbmin, format='int') -opObj11.addParameter(name='ymax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -#For saving Pdata (doesn't work with amisr data yet!) -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='100', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved - -# opObj22.addParameter(name='azimuth', value='0,-90,0,90,180', format='floatlist') -# opObj22.addParameter(name='elevation', value='75.6,75.6,90,75.60,75.6', format='floatlist') - -#Parameters Process -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -opObj22 = procUnitConfObj2.addOperation(name='WindProfiler', optype='other') -opObj22.addParameter(name='technique', value='DBS', format='str') -opObj22.addParameter(name='correctAzimuth', value='51.06', format='float') -opObj22.addParameter(name='correctFactor', value='-1', format='float') -opObj22.addParameter(name='azimuth', value='0,-90,0,90,180', format='floatlist') -opObj22.addParameter(name='elevation', value='75.6,75.6,90,75.60,75.60', format='floatlist') - -#WindProfilerPlot -opObj23 = procUnitConfObj2.addOperation(name='WindProfilerPlot', optype='other') -opObj23.addParameter(name='id', value='4', format='int') -opObj23.addParameter(name='wintitle', value='Wind Profiler', format='str') -opObj23.addParameter(name='save', value='1', format='bool') -opObj23.addParameter(name='figpath', value = figpath, format='str') -opObj23.addParameter(name='zmin', value='-20', format='int') -opObj23.addParameter(name='zmax', value='20', format='int') -opObj23.addParameter(name='zmin_ver', value='-100', format='float') -opObj23.addParameter(name='zmax_ver', value='100', format='float') -opObj23.addParameter(name='SNRmin', value='-20', format='int') -opObj23.addParameter(name='SNRmax', value='30', format='int') -opObj23.addParameter(name='SNRthresh', value='-50', format='float') -opObj23.addParameter(name='xmin', value=xmin, format='float') -opObj23.addParameter(name='xmax', value=xmax, format='float') -opObj23.addParameter(name='ftp', value='1', format='int') -opObj23.addParameter(name='wr_period', value='2', format='int') -opObj23.addParameter(name='exp_code', value='21', format='int') -opObj23.addParameter(name='sub_exp_code', value='3', format='int') -opObj23.addParameter(name='ftp_wei', value='0', format='int') -opObj23.addParameter(name='plot_pos', value='0', format='int') - -#--------------------------------------------------------------------------------------------- - -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value=60, format='int') -procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/.svn/text-base/amisr_winds_proc_online.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/amisr_winds_proc_online.py.svn-base deleted file mode 100644 index 4a67b51..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/amisr_winds_proc_online.py.svn-base +++ /dev/null @@ -1,176 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='eej_proc', description=desc) - - -# path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -# path = '/mnt/data_amisr' -# path = '/media/soporte/E9F4-F053/AMISR/Data/winds' -path = '/mnt/data_amisr' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -figpath = '/home/soporte/Data/winds/plots' -remotefolder = "/home/wmaster/graficos" - -xmin = '08' -xmax = '18' -dbmin = '50' #'60'#'55' #'40' #noise esf eej -dbmax = '80' #'70' #'55' - -#to consider that each real IPP is actually original_IPP * nchannels -ippFactor = '5' - -# 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' -# nCode = '1' -# nBaud = '28' - - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2016/10/28', #'2014/10/07', - endDate='2014/10/28', #'2014/10/07', - startTime='00:00:00',#'07:00:00', - endTime='23:59:59',#'15:00:00', - walk=0, -# code = code, -# nCode = nCode, -# nBaud = nBaud, - timezone='lt', - online=1) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - - - -opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -opObj12.addParameter(name='minHei', value='0', format='float') -opObj12.addParameter(name='maxHei', value='10', format='float') - - - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=32, format='int') -procUnitConfObjSpectraBeam0.addParameter(name='ippFactor', value=ippFactor, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='16', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - -# # #RemoveDc -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') -# -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='5', format='float') -opObj11.addParameter(name='maxHei', value='9', format='float') - - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='Winds AMISR', format='str') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='Winds AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') -# -# -# #Noise -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=dbmin, format='int') -opObj11.addParameter(name='ymax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') - - -#For saving Pdata (doesn't work with amisr data yet!) -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='100', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved - - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=5, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/.svn/text-base/beacon_phase.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/beacon_phase.py.svn-base deleted file mode 100644 index 9f9d784..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/beacon_phase.py.svn-base +++ /dev/null @@ -1,56 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "Meteor Experiment Test" -filename = "jasmet20140415.xml" - -controllerObj = Project() -controllerObj.setup(id = '191', name='meteor_test01', description=desc) - -path = '/home/dsuarez/.gvfs/data on 10.10.20.13/Jasmet50/d2014104' - - -readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage', - path=path, - startDate='2013/08/21', - endDate='2013/08/21', - startTime='00:00:00', - endTime='23:59:59', - online=0, - walk=0) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) - -procUnitConfObjBeacon = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId()) -procUnitConfObjBeacon.addParameter(name='nProfiles', value='200', format='int') -procUnitConfObjBeacon.addParameter(name='nFFTPoints', value='200', format='int') -procUnitConfObjBeacon.addParameter(name='pairsList', value='(0,5),(1,5),(2,5),(3,5),(4,5)', format='pairsList') - -opObj11 = procUnitConfObjBeacon.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='4', format='int') - -opObj11 = procUnitConfObjBeacon.addOperation(name='getBeaconSignal') - -opObj11 = procUnitConfObjBeacon.addOperation(name='BeaconPhase', optype='other') -opObj11.addParameter(name='id', value='301', format='int') -opObj11.addParameter(name='wintitle', value='Beacon Phase', format='str') -opObj11.addParameter(name='timerange', value='300', format='int') -opObj11.addParameter(name='ymin', value='-180', format='float') -opObj11.addParameter(name='ymax', value='180', format='float') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value='/home/dsuarez/Pictures/beacon_abril', format='str') - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/hf_plot_pdata.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/hf_plot_pdata.py.svn-base deleted file mode 100644 index b61e3a4..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/hf_plot_pdata.py.svn-base +++ /dev/null @@ -1,197 +0,0 @@ -import os, sys -#import timeit -import datetime - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "HF_EXAMPLE" -filename = "hf_test.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -#path='/media/APOLLO/HF_rawdata/d2015026/0/cspec' -#path='/media/APOLLO/HF_rawdata/cspec' -#path='/media/APOLLO/bistatico' -#path='/home/alex/Downloads/pdata_hf/sousy' -path='/home/alex/Downloads/pdata_hf' -#path='/media/APOLLO/bistatico' - - - -#path="/media/APOLLO/HF_rawdata/d2015059/sp01_f0" #f0=2.72e6 -#path="/media/APOLLO/HF_rawdata/d2015059/sp01_f1" #f0=3.64e6 -#path='/media/APOLLO/HF_rawdata/test' -#figpath='/home/alex/Pictures/hf2_16/last_data' -figpath='/home/alex/Pictures/pdata_plot' -pathFigure='/home/alex/Pictures/hf2_16/last_data' -#path='/home/alex/Downloads/ICA_LAST_TEST' - -readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader', - path=path, - startDate='2015/01/12', - endDate='2015/05/13', - startTime='00:00:00', - endTime='23:59:59', - online=0, - #set=1426485881, - delay=10, - walk=1 - #timezone=-5*3600 - ) - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1000', format='int') -opObj11.addParameter(name='wintitle', value='HF_Jicamarca_Spc', format='str') -#opObj11.addParameter(name='channelList', value='0', format='intlist') -opObj11.addParameter(name='zmin', value='-120', format='float') -opObj11.addParameter(name='zmax', value='-70', format='float') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='figfile', value=figfile_spectra_name, format='str') -# opObj11.addParameter(name='wr_period', value='5', format='int') -#opObj11.addParameter(name='ftp_wei', value='0', format='int') -#opObj11.addParameter(name='exp_code', value='20', format='int') -#opObj11.addParameter(name='sub_exp_code', value='0', format='int') -#opObj11.addParameter(name='plot_pos', value='0', format='int') - - - -# # figfile_power_name="jro_power_image"+freq2+date+ext_img -# # print figfile_power_name -opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2000', format='int') -opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -#opObj11.addParameter(name='channelList', value='0', format='intlist') -opObj11.addParameter(name='xmin', value='0', format='float') -opObj11.addParameter(name='xmax', value='24', format='float') -opObj11.addParameter(name='zmin', value='-110', format='float') -opObj11.addParameter(name='zmax', value='-50', format='float') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -#opObj11.addParameter(name='figfile', value=figfile_power_name, format='str') -#opObj11.addParameter(name='wr_period', value='5', format='int') - -# -# opObj11 = procUnitConfObj1.addOperation(name='PowerProfile', optype='other') -# opObj11.addParameter(name='id', value='2004', format='int') -# opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -# #opObj11.addParameter(name='channelList', value='0', format='intlist') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# #opObj11.addParameter(name='xmin', value='10', format='int') -# #opObj11.addParameter(name='xmax', value='40', format='int') -# -# # figfile_phase_name="jro_phase_image"+freq1+date+ext_img -# # print figfile_phase_name -opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -opObj11.addParameter(name='id', value='3000', format='int') -opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -opObj11.addParameter(name='showprofile', value='1', format='int') -opObj11.addParameter(name='xmin', value='0', format='float') -opObj11.addParameter(name='xmax', value='24', format='float') -#opObj11.addParameter(name='channelList', value='0', format='intlist') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value=figpath, format='str') - # opObj11.addParameter(name='figfile', value=figfile_phase_name, format='str') - # opObj11.addParameter(name='wr_period', value='5', format='int') - -# opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='6005', format='int') -# opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -# opObj11.addParameter(name='zmin', value='-110', format='float') -# opObj11.addParameter(name='zmax', value='-50', format='float') -# #opObj11.addParameter(name='xmin', value='0', format='float') -# #opObj11.addParameter(name='xmax', value='24', format='float') -# #opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# -# -# -# xmin = 0 -# xmax = 24 -# -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -# opObj21 = procUnitConfObj2.addOperation(name='MomentsPlot', optype='other') -# opObj21.addParameter(name='id', value='3', format='int') -# opObj21.addParameter(name='wintitle', value='Moments Plot', format='str') -# opObj21.addParameter(name='save', value='1', format='bool') -# opObj21.addParameter(name='figpath', value=pathFigure, format='str') -# opObj21.addParameter(name='zmin', value='5', format='int') -# opObj21.addParameter(name='zmax', value='90', format='int') -# -opObj21 = procUnitConfObj2.addOperation(name='ParametersPlot', optype='other') -opObj21.addParameter(name='id', value='4000', format='int') -opObj21.addParameter(name='wintitle', value='Radial Velocity Plot0', format='str') -opObj21.addParameter(name='channelList', value='0', format='intlist') -opObj21.addParameter(name='save', value='1', format='bool') -opObj21.addParameter(name='figpath', value=figpath, format='str') -opObj21.addParameter(name='SNR', value='1', format='bool') -opObj21.addParameter(name='SNRmin', value='-10', format='int') -opObj21.addParameter(name='SNRmax', value='50', format='int') -opObj21.addParameter(name='SNRthresh', value='0', format='float') -opObj21.addParameter(name='xmin', value=0, format='float') -opObj21.addParameter(name='xmax', value=24, format='float') -#opObj21.addParameter(name='parameterIndex', value=, format='int') - -# -opObj21 = procUnitConfObj2.addOperation(name='ParametersPlot', optype='other') -opObj21.addParameter(name='id', value='5000', format='int') -opObj21.addParameter(name='wintitle', value='Radial Velocity Plot1', format='str') -opObj21.addParameter(name='channelList', value='1', format='intlist') -opObj21.addParameter(name='save', value='1', format='bool') -opObj21.addParameter(name='figpath', value=figpath, format='str') -opObj21.addParameter(name='SNR', value='1', format='bool') -opObj21.addParameter(name='SNRmin', value='-20', format='int') -opObj21.addParameter(name='SNRmax', value='50', format='int') -opObj21.addParameter(name='SNRthresh', value='0', format='float') -opObj21.addParameter(name='xmin', value=0, format='float') -opObj21.addParameter(name='xmax', value=24, format='float') - -# -# -# opObj23 = procUnitConfObj2.addOperation(name='EWDriftsPlot', optype='other') -# opObj23.addParameter(name='id', value='4', format='int') -# opObj23.addParameter(name='wintitle', value='EW Drifts', format='str') -# opObj23.addParameter(name='save', value='1', format='bool') -# opObj23.addParameter(name='figpath', value = pathFigure, format='str') -# opObj23.addParameter(name='zminZonal', value='-150', format='int') -# opObj23.addParameter(name='zmaxZonal', value='150', format='int') -# opObj23.addParameter(name='zminVertical', value='-30', format='float') -# opObj23.addParameter(name='zmaxVertical', value='30', format='float') -# opObj23.addParameter(name='SNR_1', value='1', format='bool') -# opObj23.addParameter(name='SNRmax', value='5', format='int') -# # opObj23.addParameter(name='SNRthresh', value='-50', format='float') -# opObj23.addParameter(name='xmin', value=xmin, format='float') -# opObj23.addParameter(name='xmax', value=xmax, format='float') -# -# -# # opObj11 = procUnitConf.Obj1.addOperation(name='SendByFTP', optype='other') -# # opObj11.addParameter(name='ext', value='*.jpeg', format='str') -# # opObj11.addParameter(name='localfolder', value='/home/alex/Pictures/ftp', format='str') -# # opObj11.addParameter(name='remotefolder', value='/home/wmaster/web2/data/JRO/HFT/2015/03/11/figures/', format='str') -# # opObj11.addParameter(name='server', value='181.177.232.125', format='str') -# # opObj11.addParameter(name='username', value='wmaster', format='str') -# # opObj11.addParameter(name='password', value='mst2010vhf', format='str') -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() - -#timeit.timeit('controllerObj.run()', number=2) - -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/hf_test.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/hf_test.py.svn-base deleted file mode 100644 index 0aff4c7..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/hf_test.py.svn-base +++ /dev/null @@ -1,236 +0,0 @@ -import os, sys -#import timeit -import datetime - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -#--------------------------------------- -freq1="_2.72MHz_" -freq2="_3.64MHz_" - -date="2015-03-12_N" -ext_img=".jpeg" - - -#--------------------------------------- - - - -desc = "HF_EXAMPLE" -filename = "hf_test.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -#-----------------------PATH------------------------------# -#path='/media/APOLLO/HF_rawdata/d2015026/0/cspec' -#path='/media/APOLLO/HF_rawdata/cspec' -#path="/media/APOLLO/HF_rawdata/d2015059/sp01_f0" #f0=2.72e6 -#path="/media/APOLLO/HF_rawdata/d2015059/sp01_f1" #f0=3.64e6 -#path='/media/APOLLO/HF_rawdata/test' -path='/media/APOLLO/HF_rawdata/HFT_miercoles/sp01_f0' -#---------------------------------------------------------# - -#---------------------PATH-FIGURE------------------------# -#figpath='/home/alex/Pictures/hf2_16/last_data' -figpath='/home/alex/Pictures/ftp' -pathFigure='/home/alex/Pictures/hf2_16/last_data' -#path='/home/alex/Downloads/ICA_LAST_TEST' -#---------------------------------------------------------# -readUnitConfObj = controllerObj.addReadUnit(datatype='HFReader', - path=path, - startDate='2013/01/1', - endDate='2015/05/13', - startTime='00:00:00', - endTime='23:59:59', - online=0, - #set=1426485881, - delay=10, - walk=1, - timezone=-5*3600) - - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -# opObj12 = procUnitConfObj0.addOperation(name='selectChannels',optype='self') -# opObj12.addParameter(name='channelList', value='0', format='intList') - -opObj12 = procUnitConfObj0.addOperation(name='setRadarFrequency') -opObj12.addParameter(name='frequency', value='3.64e6', format='float') - -opObj12 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -opObj12.addParameter(name='n', value='4', format='int') - -# opObj11 = procUnitConfObj0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='10', format='int') -# opObj11.addParameter(name='wintitle', value='Voltage', format='str') -# opObj11.addParameter(name='ymin', value='-1e-8', format='float') -# opObj11.addParameter(name='ymax', value='1e-8', format='float') -# # -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId()) -procUnitConfObj1.addParameter(name='nFFTPoints', value='25', format='int') -procUnitConfObj1.addParameter(name='nProfiles', value='25', format='int') -procUnitConfObj1.addParameter(name='pairsList', value='(0,1)', format='pairsList') - - -opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='6', format='float') - -#opObj11 = procUnitConfObj1.addOperation(name='SpectraWriter', optype='other') -#opObj11.addParameter(name='path', value='/home/alex/Downloads/pdata_hf') -#opObj11.addParameter(name='blocksPerFile', value='1', format='int') -# -# -opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='2001', format='int') -opObj11.addParameter(name='wintitle', value='HF_Jicamarca_Spc', format='str') -#opObj11.addParameter(name='channelList', value='0', format='intlist') -opObj11.addParameter(name='zmin', value='-120', format='float') -opObj11.addParameter(name='zmax', value='-70', format='float') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='figfile', value=figfile_spectra_name, format='str') -# opObj11.addParameter(name='wr_period', value='5', format='int') -#opObj11.addParameter(name='ftp_wei', value='0', format='int') -#opObj11.addParameter(name='exp_code', value='20', format='int') -#opObj11.addParameter(name='sub_exp_code', value='0', format='int') -#opObj11.addParameter(name='plot_pos', value='0', format='int') - -# figfile_power_name="jro_power_image"+freq2+date+ext_img -# print figfile_power_name -opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='3002', format='int') -opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -#opObj11.addParameter(name='channelList', value='0', format='intlist') -opObj11.addParameter(name='xmin', value='0', format='float') -opObj11.addParameter(name='xmax', value='24', format='float') -opObj11.addParameter(name='zmin', value='-110', format='float') -opObj11.addParameter(name='zmax', value='-50', format='float') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -#opObj11.addParameter(name='figfile', value=figfile_power_name, format='str') -#opObj11.addParameter(name='wr_period', value='5', format='int') - - -#opObj11 = procUnitConfObj1.addOperation(name='PowerProfile', optype='other') -#opObj11.addParameter(name='id', value='2004', format='int') -#opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -#opObj11.addParameter(name='channelList', value='0', format='intlist') -#opObj11.addParameter(name='save', value='1', format='bool') -#opObj11.addParameter(name='figpath', value=figpath, format='str') -#opObj11.addParameter(name='xmin', value='10', format='int') -#opObj11.addParameter(name='xmax', value='40', format='int') - -# figfile_phase_name="jro_phase_image"+freq1+date+ext_img -# print figfile_phase_name -opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -opObj11.addParameter(name='showprofile', value='1', format='int') -opObj11.addParameter(name='xmin', value='0', format='float') -opObj11.addParameter(name='xmax', value='24', format='float') -#opObj11.addParameter(name='channelList', value='0', format='intlist') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value=figpath, format='str') - # opObj11.addParameter(name='figfile', value=figfile_phase_name, format='str') - # opObj11.addParameter(name='wr_period', value='5', format='int') - -#opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='other') -#opObj11.addParameter(name='id', value='6005', format='int') -#opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -#opObj11.addParameter(name='zmin', value='-110', format='float') -#opObj11.addParameter(name='zmax', value='-50', format='float') -#opObj11.addParameter(name='xmin', value='0', format='float') -#opObj11.addParameter(name='xmax', value='24', format='float') -#opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') -#opObj11.addParameter(name='save', value='1', format='bool') -#opObj11.addParameter(name='figpath', value=figpath, format='str') - - - -#xmin = 0 -#xmax = 24 - -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -#opObj21 = procUnitConfObj2.addOperation(name='MomentsPlot', optype='other') -#opObj21.addParameter(name='id', value='3', format='int') -#opObj21.addParameter(name='wintitle', value='Moments Plot', format='str') -#opObj21.addParameter(name='save', value='1', format='bool') -#opObj21.addParameter(name='figpath', value=pathFigure, format='str') -#opObj21.addParameter(name='zmin', value='5', format='int') -#opObj21.addParameter(name='zmax', value='90', format='int') - -opObj21 = procUnitConfObj2.addOperation(name='ParametersPlot', optype='other') -opObj21.addParameter(name='id', value='1', format='int') -opObj21.addParameter(name='wintitle', value='Radial Velocity Plot0', format='str') -opObj21.addParameter(name='channelList', value='0', format='intlist') -opObj21.addParameter(name='save', value='1', format='bool') -opObj21.addParameter(name='figpath', value=figpath, format='str') -opObj21.addParameter(name='SNR', value='1', format='bool') -opObj21.addParameter(name='SNRmin', value='-10', format='int') -opObj21.addParameter(name='SNRmax', value='50', format='int') -opObj21.addParameter(name='SNRthresh', value='0', format='float') -opObj21.addParameter(name='xmin', value=0, format='float') -opObj21.addParameter(name='xmax', value=24, format='float') -#opObj21.addParameter(name='parameterIndex', value=, format='int') - - -opObj21 = procUnitConfObj2.addOperation(name='ParametersPlot', optype='other') -opObj21.addParameter(name='id', value='2', format='int') -opObj21.addParameter(name='wintitle', value='Radial Velocity Plot1', format='str') -opObj21.addParameter(name='channelList', value='1', format='intlist') -opObj21.addParameter(name='save', value='1', format='bool') -opObj21.addParameter(name='figpath', value=figpath, format='str') -opObj21.addParameter(name='SNR', value='1', format='bool') -opObj21.addParameter(name='SNRmin', value='-20', format='int') -opObj21.addParameter(name='SNRmax', value='50', format='int') -opObj21.addParameter(name='SNRthresh', value='0', format='float') -opObj21.addParameter(name='xmin', value=0, format='float') -opObj21.addParameter(name='xmax', value=24, format='float') - - -# -# opObj23 = procUnitConfObj2.addOperation(name='EWDriftsPlot', optype='other') -# opObj23.addParameter(name='id', value='4', format='int') -# opObj23.addParameter(name='wintitle', value='EW Drifts', format='str') -# opObj23.addParameter(name='save', value='1', format='bool') -# opObj23.addParameter(name='figpath', value = pathFigure, format='str') -# opObj23.addParameter(name='zminZonal', value='-150', format='int') -# opObj23.addParameter(name='zmaxZonal', value='150', format='int') -# opObj23.addParameter(name='zminVertical', value='-30', format='float') -# opObj23.addParameter(name='zmaxVertical', value='30', format='float') -# opObj23.addParameter(name='SNR_1', value='1', format='bool') -# opObj23.addParameter(name='SNRmax', value='5', format='int') -# # opObj23.addParameter(name='SNRthresh', value='-50', format='float') -# opObj23.addParameter(name='xmin', value=xmin, format='float') -# opObj23.addParameter(name='xmax', value=xmax, format='float') - - -#opObj11 = procUnitConfObj1.addOperation(name='SendByFTP', optype='other') -#opObj11.addParameter(name='ext', value='*.jpeg', format='str') -#opObj11.addParameter(name='localfolder', value='/home/alex/Pictures/ftp', format='str') -#opObj11.addParameter(name='remotefolder', value='/home/wmaster/web2/data/JRO/HFT/2015/03/11/figures/', format='str') -#opObj11.addParameter(name='server', value='181.177.232.125', format='str') -#opObj11.addParameter(name='username', value='wmaster', format='str') -#opObj11.addParameter(name='password', value='mst2010vhf', format='str') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() - -#timeit.timeit('controllerObj.run()', number=2) - -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/hf_write_pdata.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/hf_write_pdata.py.svn-base deleted file mode 100644 index ea7631b..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/hf_write_pdata.py.svn-base +++ /dev/null @@ -1,237 +0,0 @@ -import os, sys -#import timeit -import datetime - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -#--------------------------------------- -freq1="_2.72MHz_" -freq2="_3.64MHz_" - -date="2015-03-12_N" -ext_img=".jpeg" - - -#--------------------------------------- - - - -desc = "HF_EXAMPLE" -filename = "hf_test.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -#-----------------------PATH------------------------------# -#path='/media/APOLLO/HF_rawdata/d2015026/0/cspec' -#path='/media/APOLLO/HF_rawdata/cspec' -#path="/media/APOLLO/HF_rawdata/d2015059/sp01_f0" #f0=2.72e6 -#path="/media/APOLLO/HF_rawdata/d2015059/sp01_f1" #f0=3.64e6 -#path='/media/APOLLO/HF_rawdata/test' -path='/media/APOLLO/HF_rawdata/HFT_miercoles/sp01_f0' -#---------------------------------------------------------# - -#---------------------PATH-FIGURE------------------------# -#figpath='/home/alex/Pictures/hf2_16/last_data' -figpath='/home/alex/Pictures/ftp' -pathFigure='/home/alex/Pictures/hf2_16/last_data' -#path='/home/alex/Downloads/ICA_LAST_TEST' -#---------------------------------------------------------# -readUnitConfObj = controllerObj.addReadUnit(datatype='HFReader', - path=path, - startDate='2013/01/1', - endDate='2015/05/13', - startTime='00:00:00', - endTime='23:59:59', - online=0, - #set=850, - delay=10, - walk=1, - timezone=-5*3600) - - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -# opObj12 = procUnitConfObj0.addOperation(name='selectChannels',optype='self') -# opObj12.addParameter(name='channelList', value='0', format='intList') - -opObj12 = procUnitConfObj0.addOperation(name='setRadarFrequency') -opObj12.addParameter(name='frequency', value='3.64e6', format='float') - -opObj12 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -opObj12.addParameter(name='n', value='4', format='int') - -# opObj11 = procUnitConfObj0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='10', format='int') -# opObj11.addParameter(name='wintitle', value='Voltage', format='str') -# opObj11.addParameter(name='ymin', value='-1e-8', format='float') -# opObj11.addParameter(name='ymax', value='1e-8', format='float') -# # -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId()) -procUnitConfObj1.addParameter(name='nFFTPoints', value='25', format='int') -procUnitConfObj1.addParameter(name='nProfiles', value='25', format='int') -procUnitConfObj1.addParameter(name='pairsList', value='(0,1)', format='pairsList') - - -opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='6', format='float') - -opObj11 = procUnitConfObj1.addOperation(name='SpectraWriter', optype='other') -opObj11.addParameter(name='path', value='/home/alex/Downloads/pdata_hf') -opObj11.addParameter(name='blocksPerFile', value='1', format='int') -# -# -# # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -# # opObj11.addParameter(name='id', value='2001', format='int') -# # opObj11.addParameter(name='wintitle', value='HF_Jicamarca_Spc', format='str') -# # #opObj11.addParameter(name='channelList', value='0', format='intlist') -# # opObj11.addParameter(name='zmin', value='-120', format='float') -# # opObj11.addParameter(name='zmax', value='-70', format='float') -# # opObj11.addParameter(name='save', value='1', format='int') -# # opObj11.addParameter(name='figpath', value=figpath, format='str') -# # # opObj11.addParameter(name='figfile', value=figfile_spectra_name, format='str') -# # # opObj11.addParameter(name='wr_period', value='5', format='int') -# # #opObj11.addParameter(name='ftp_wei', value='0', format='int') -# # #opObj11.addParameter(name='exp_code', value='20', format='int') -# # #opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# # #opObj11.addParameter(name='plot_pos', value='0', format='int') -# # -# # figfile_power_name="jro_power_image"+freq2+date+ext_img -# # print figfile_power_name -# opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='3002', format='int') -# opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='channelList', value='0', format='intlist') -# opObj11.addParameter(name='xmin', value='0', format='float') -# opObj11.addParameter(name='xmax', value='24', format='float') -# opObj11.addParameter(name='zmin', value='-110', format='float') -# opObj11.addParameter(name='zmax', value='-50', format='float') -# opObj11.addParameter(name='save', value='1', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# #opObj11.addParameter(name='figfile', value=figfile_power_name, format='str') -# #opObj11.addParameter(name='wr_period', value='5', format='int') -# -# -# #opObj11 = procUnitConfObj1.addOperation(name='PowerProfile', optype='other') -# #opObj11.addParameter(name='id', value='2004', format='int') -# #opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -# ##opObj11.addParameter(name='channelList', value='0', format='intlist') -# #opObj11.addParameter(name='save', value='1', format='bool') -# #opObj11.addParameter(name='figpath', value=figpath, format='str') -# ##opObj11.addParameter(name='xmin', value='10', format='int') -# ##opObj11.addParameter(name='xmax', value='40', format='int') -# -# # figfile_phase_name="jro_phase_image"+freq1+date+ext_img -# # print figfile_phase_name -# opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -# opObj11.addParameter(name='showprofile', value='1', format='int') -# opObj11.addParameter(name='xmin', value='0', format='float') -# opObj11.addParameter(name='xmax', value='24', format='float') -# #opObj11.addParameter(name='channelList', value='0', format='intlist') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# # # opObj11.addParameter(name='figfile', value=figfile_phase_name, format='str') -# # # opObj11.addParameter(name='wr_period', value='5', format='int') -# -# # opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='other') -# # opObj11.addParameter(name='id', value='6005', format='int') -# # opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -# # opObj11.addParameter(name='zmin', value='-110', format='float') -# # opObj11.addParameter(name='zmax', value='-50', format='float') -# # #opObj11.addParameter(name='xmin', value='0', format='float') -# # #opObj11.addParameter(name='xmax', value='24', format='float') -# # #opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') -# # opObj11.addParameter(name='save', value='1', format='bool') -# # opObj11.addParameter(name='figpath', value=figpath, format='str') -# -# -# -# # xmin = 0 -# # xmax = 24 -# #------------------------------------------------------------------ -# # -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# # opObj21 = procUnitConfObj2.addOperation(name='MomentsPlot', optype='other') -# # opObj21.addParameter(name='id', value='3', format='int') -# # opObj21.addParameter(name='wintitle', value='Moments Plot', format='str') -# # opObj21.addParameter(name='save', value='1', format='bool') -# # opObj21.addParameter(name='figpath', value=pathFigure, format='str') -# #opObj21.addParameter(name='zmin', value='5', format='int') -# #opObj21.addParameter(name='zmax', value='90', format='int') -# -# opObj21 = procUnitConfObj2.addOperation(name='ParametersPlot', optype='other') -# opObj21.addParameter(name='id', value='1', format='int') -# opObj21.addParameter(name='wintitle', value='Radial Velocity Plot0', format='str') -# opObj21.addParameter(name='channelList', value='0', format='intlist') -# opObj21.addParameter(name='save', value='1', format='bool') -# opObj21.addParameter(name='figpath', value=figpath, format='str') -# opObj21.addParameter(name='SNR', value='1', format='bool') -# opObj21.addParameter(name='SNRmin', value='-10', format='int') -# opObj21.addParameter(name='SNRmax', value='50', format='int') -# opObj21.addParameter(name='SNRthresh', value='0', format='float') -# opObj21.addParameter(name='xmin', value=0, format='float') -# opObj21.addParameter(name='xmax', value=24, format='float') -# #opObj21.addParameter(name='parameterIndex', value=, format='int') -# -# -# opObj21 = procUnitConfObj2.addOperation(name='ParametersPlot', optype='other') -# opObj21.addParameter(name='id', value='2', format='int') -# opObj21.addParameter(name='wintitle', value='Radial Velocity Plot1', format='str') -# opObj21.addParameter(name='channelList', value='1', format='intlist') -# opObj21.addParameter(name='save', value='1', format='bool') -# opObj21.addParameter(name='figpath', value=figpath, format='str') -# opObj21.addParameter(name='SNR', value='1', format='bool') -# opObj21.addParameter(name='SNRmin', value='-20', format='int') -# opObj21.addParameter(name='SNRmax', value='50', format='int') -# opObj21.addParameter(name='SNRthresh', value='0', format='float') -# opObj21.addParameter(name='xmin', value=0, format='float') -# opObj21.addParameter(name='xmax', value=24, format='float') -# -# -# -# # opObj23 = procUnitConfObj2.addOperation(name='EWDriftsPlot', optype='other') -# # opObj23.addParameter(name='id', value='4', format='int') -# # opObj23.addParameter(name='wintitle', value='EW Drifts', format='str') -# # opObj23.addParameter(name='save', value='1', format='bool') -# # opObj23.addParameter(name='figpath', value = pathFigure, format='str') -# # opObj23.addParameter(name='zminZonal', value='-150', format='int') -# # opObj23.addParameter(name='zmaxZonal', value='150', format='int') -# # opObj23.addParameter(name='zminVertical', value='-30', format='float') -# # opObj23.addParameter(name='zmaxVertical', value='30', format='float') -# # opObj23.addParameter(name='SNR_1', value='1', format='bool') -# # opObj23.addParameter(name='SNRmax', value='5', format='int') -# # # opObj23.addParameter(name='SNRthresh', value='-50', format='float') -# # opObj23.addParameter(name='xmin', value=xmin, format='float') -# # opObj23.addParameter(name='xmax', value=xmax, format='float') -# -# -# opObj11 = procUnitConfObj1.addOperation(name='SendByFTP', optype='other') -# opObj11.addParameter(name='ext', value='*.jpeg', format='str') -# opObj11.addParameter(name='localfolder', value='/home/alex/Pictures/ftp', format='str') -# opObj11.addParameter(name='remotefolder', value='/home/wmaster/web2/data/JRO/HFT/2015/03/11/figures/', format='str') -# opObj11.addParameter(name='server', value='181.177.232.125', format='str') -# opObj11.addParameter(name='username', value='wmaster', format='str') -# opObj11.addParameter(name='password', value='mst2010vhf', format='str') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() - -#timeit.timeit('controllerObj.run()', number=2) - -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/jacktotalrunner.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/jacktotalrunner.py.svn-base deleted file mode 100644 index 8dd6afa..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/jacktotalrunner.py.svn-base +++ /dev/null @@ -1,143 +0,0 @@ -import os, sys -from pytz import timezone -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) - -print path -sys.path.insert(0, path) # Para usar las librerias del eclipse. - -from schainpy.controller import Project - -# from __main__ import time -#path = os.path.split(os.getcwd())[0] -#sys.path.append(path) -# import scipy.io as sio -# import pprint -# import numpy -# import time -# import os -# import h5py -# import re -# import tables -# -# from model.data.jrodata import * -# from model.proc.jroproc_base import ProcessingUnit, Operation -# from model.io.jroIO_base import * - - -# controllerObj = Project() - -# controllerObj.setup(id = '191', name='test01', description=desc) - - -#from controller import * - -desc = "DBS Experiment Test" -filename = "DBStest.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -#path = 'F:\CIRI Data\processed' -#path='/media/4B514E8903EBC487/CIRI Data/processed' -#path='/home/ciri/ciri_online' -#offline program -#path='/home/ciri/.gvfs/SFTP for radar on 192.168.1.161/media/dataswap/huancayo/20150701/processed' -#online program -path='/home/ciri/.gvfs/SFTP for radar on 192.168.1.161/media/dataswap/huancayo/processed' -#pathFigure = 'C:\Users\jdk5273\Documents\LiClipseWorkspace' -pathFigure='/home/ciri/Pictures/ciri' -xmin = '0' -xmax = '24' -startTime = '00:00:00' -remotefolder = "/home/wmaster/graficos" - -readUnitConfObj = controllerObj.addReadUnit(datatype='matoffReader', - path=path, - startDate='2015/05/30', - endDate='2015/05/30', - startTime=startTime, - endTime='23:59:59', - online=1, - delay=5, - walk=0) - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=readUnitConfObj.getId()) - -# opObj14 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -# opObj14.addParameter(name='id', value='1', format='int') -# opObj14.addParameter(name='wintitle', value='Con interf', format='str') -# opObj14.addParameter(name='save', value='0', format='bool') -# opObj14.addParameter(name='figpath', value=pathFigure, format='str') - -opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='60', format='int') - -opObj14 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -opObj14.addParameter(name='id', value='2', format='int') -opObj14.addParameter(name='wintitle', value='Con interf', format='str') -opObj14.addParameter(name='save', value='1', format='bool') -opObj14.addParameter(name='figpath', value=pathFigure, format='str') -opObj14.addParameter(name='zmin', value='-30', format='int') -opObj14.addParameter(name='zmax', value='0', format='int') -opObj14.addParameter(name='exp_code', value='29', format='int') -opObj14.addParameter(name='wr_period', value='1', format='int') -opObj14.addParameter(name='save', value='1', format='int') - -opObj14.addParameter(name='ftp', value='1', format='int') - -opObj14 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='other') -opObj14.addParameter(name='id', value='4', format='int') -opObj14.addParameter(name='wintitle', value='Con interf', format='str') -opObj14.addParameter(name='phase_cmap', value='jet', format='str') -opObj14.addParameter(name='save', value='1', format='bool') -opObj14.addParameter(name='figpath', value=pathFigure, format='str') -opObj14.addParameter(name='zmin', value='-30', format='int') -opObj14.addParameter(name='zmax', value='0', format='int') -opObj14.addParameter(name='exp_code', value='29', format='int') -opObj14.addParameter(name='wr_period', value='1', format='int') -opObj14.addParameter(name='save', value='1', format='int') - -opObj14.addParameter(name='ftp', value='1', format='int') - -opObj12 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj12.addParameter(name='id', value='3', format='int') -opObj12.addParameter(name='wintitle', value='RTI Plot', format='str') -opObj12.addParameter(name='save', value='1', format='bool') -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='-30', format='int') -opObj12.addParameter(name='zmax', value='0', format='int') -opObj12.addParameter(name='exp_code', value='29', format='int') -opObj12.addParameter(name='wr_period', value='1', format='int') -opObj12.addParameter(name='save', value='1', format='int') - -opObj12.addParameter(name='ftp', value='1', format='int') - -# -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value=5, format='int') -procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - - - - -#-------------------------------------------------------------------------------------------------- -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - - diff --git a/schainpy/scripts/scripts_v/.svn/text-base/jasmet30_16april.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/jasmet30_16april.py.svn-base deleted file mode 100644 index 9ea3acd..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/jasmet30_16april.py.svn-base +++ /dev/null @@ -1,77 +0,0 @@ -""" -Se debe verficar que el disco de datos se encuentra montado en el sistema -""" -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "Meteor Experiment Test" -filename = "meteor20130812.xml" - -controllerObj = Project() -controllerObj.setup(id = '191', name='meteor_test01', description=desc) - -path = '/home/dsuarez/.gvfs/data on 10.10.20.13/Jasmet50' - - -readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage', - path=path, - startDate='2014/04/16', - endDate='2014/04/16', - startTime='00:00:00', - endTime='23:59:59', - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) - - -opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - - -opObj11 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='2', format='int') - -opObj11 = procUnitConfObj0.addOperation(name='VoltageWriter', optype='other') -opObj11.addParameter(name='path', value='/home/jasmet/jasmet30_abril') -opObj11.addParameter(name='blocksPerFile', value='100', format='int') -opObj11.addParameter(name='profilesPerBlock', value='200', format='int') - - -""" -########################################### BEACON ########################################## -""" - -procUnitConfObjBeacon = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId()) -procUnitConfObjBeacon.addParameter(name='nProfiles', value='200', format='int') -procUnitConfObjBeacon.addParameter(name='nFFTPoints', value='200', format='int') -procUnitConfObjBeacon.addParameter(name='pairsList', value='(2,0),(2,1),(2,3),(2,4)', format='pairsList') - -opObj11 = procUnitConfObjBeacon.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='4', format='int') - -opObj11 = procUnitConfObjBeacon.addOperation(name='getBeaconSignal') - -opObj11 = procUnitConfObjBeacon.addOperation(name='BeaconPhase', optype='other') -opObj11.addParameter(name='id', value='301', format='int') -opObj11.addParameter(name='wintitle', value='Beacon Phase', format='str') -opObj11.addParameter(name='xmin', value='0', format='float') -opObj11.addParameter(name='xmax', value='24', format='float') -opObj11.addParameter(name='ymin', value='-180', format='float') -opObj11.addParameter(name='ymax', value='180', format='float') -opObj11.addParameter(name='figpath', value='/home/jasmet/jasmet30_phase', format='str') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() diff --git a/schainpy/scripts/scripts_v/.svn/text-base/jasmet50_16april.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/jasmet50_16april.py.svn-base deleted file mode 100644 index 92d85c4..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/jasmet50_16april.py.svn-base +++ /dev/null @@ -1,79 +0,0 @@ -""" -Se debe verficar que el disco de datos se encuentra montado en el sistema -""" -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "Meteor Experiment Test" -filename = "meteor20130812.xml" - -controllerObj = Project() -controllerObj.setup(id = '191', name='meteor_test01', description=desc) - -path = '/home/dsuarez/.gvfs/data on 10.10.20.13/Jasmet50' - - -readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage', - path=path, - startDate='2014/04/16', - endDate='2014/04/16', - startTime='00:00:00', - endTime='23:59:59', - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObj0.addOperation(name='setRadarFrequency') -opObj11.addParameter(name='frequency', value='30.15e6', format='float') - -opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - - -opObj11 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='2', format='int') - -opObj11 = procUnitConfObj0.addOperation(name='VoltageWriter', optype='other') -opObj11.addParameter(name='path', value='/media/datos/jasmet50_abril') -opObj11.addParameter(name='blocksPerFile', value='100', format='int') -opObj11.addParameter(name='profilesPerBlock', value='200', format='int') - - -""" -########################################### BEACON ########################################## -""" - -procUnitConfObjBeacon = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId()) -procUnitConfObjBeacon.addParameter(name='nProfiles', value='200', format='int') -procUnitConfObjBeacon.addParameter(name='nFFTPoints', value='200', format='int') -procUnitConfObjBeacon.addParameter(name='pairsList', value='(2,0),(2,1),(2,3),(2,4)', format='pairsList') - -opObj11 = procUnitConfObjBeacon.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='4', format='int') - -opObj11 = procUnitConfObjBeacon.addOperation(name='getBeaconSignal') - -opObj11 = procUnitConfObjBeacon.addOperation(name='BeaconPhase', optype='other') -opObj11.addParameter(name='id', value='301', format='int') -opObj11.addParameter(name='wintitle', value='Beacon Phase', format='str') -opObj11.addParameter(name='xmin', value='0', format='float') -opObj11.addParameter(name='xmax', value='24', format='float') -opObj11.addParameter(name='ymin', value='-180', format='float') -opObj11.addParameter(name='ymax', value='180', format='float') -opObj11.addParameter(name='figpath', value='/media/datos/jasmet50_phase', format='str') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() diff --git a/schainpy/scripts/scripts_v/.svn/text-base/mst_isr_eej_blocks.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/mst_isr_eej_blocks.py.svn-base deleted file mode 100644 index f495ad9..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/mst_isr_eej_blocks.py.svn-base +++ /dev/null @@ -1,225 +0,0 @@ -import os, sys -#import timeit - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "MST-ISR-EEJ Experiment Test" -filename = "mst_isr_eej_blocks.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -path = '/Volumes/HD-PXU2/mst_isr_eej' - -figpath = '/Users/dsuarez/Pictures/mst_isr_eej/' - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2014/05/01', - endDate='2014/05/30', - startTime='00:00:00', - endTime='23:59:59', - online=0, - delay=10, - walk=0, - getblock=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') -# ################ EEJ #################################### -procUnitConfObjEEJ = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObjEEJ.addOperation(name='ProfileSelector', optype='other') -opObj11.addParameter(name='profileRangeList', value='120,183', format='intlist') -opObj11.addParameter(name='byblock', value='1', format='bool') - -opObj11 = procUnitConfObjEEJ.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value='1,-1', format='floatlist') -opObj11.addParameter(name='nCode', value='2', format='int') -opObj11.addParameter(name='nBaud', value='1', format='int') -opObj11.addParameter(name='mode', value='3', format='int') -opObj11.addParameter(name='times', value='32', format='int') - -# opObj11 = procUnitConfObjEEJ.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -procUnitConfObjEEJSpecta = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjEEJ.getId()) -procUnitConfObjEEJSpecta.addParameter(name='nFFTPoints', value='64', format='int') -procUnitConfObjEEJSpecta.addParameter(name='nProfiles', value='64', format='int') - -opObj11 = procUnitConfObjEEJSpecta.addOperation(name='IncohInt', optype='other') -#opObj11.addParameter(name='timeInterval', value='10', format='float') -opObj11.addParameter(name='n', value='36', format='float') - -opObj11 = procUnitConfObjEEJSpecta.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='100', format='int') -opObj11.addParameter(name='wintitle', value='EEJ', format='str') -# opObj11.addParameter(name='zmin', value='20', format='int') -# opObj11.addParameter(name='zmax', value='60', format='int')# opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='wr_period', value='5', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='22', format='int') -# opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - - -opObj11 = procUnitConfObjEEJSpecta.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='101', format='int') -opObj11.addParameter(name='wintitle', value='EEJ', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='24', format='int') -# opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='wr_period', value='5', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='22', format='int') -# opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - -# opObj11 = procUnitConfObjEEJSpecta.addOperation(name='SendByFTP', optype='other') -# opObj11.addParameter(name='ext', value='*.png', format='str') -# opObj11.addParameter(name='localfolder', value=figpath, format='str') -# opObj11.addParameter(name='remotefolder', value='/home/wmaster/graficos', format='str') -# opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# opObj11.addParameter(name='username', value='wmaster', format='str') -# opObj11.addParameter(name='password', value='mst2010vhf', format='str') -# opObj11.addParameter(name='period', value='5', format='int') - - -################ MST #################################### -procUnitConfObjMST = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObjMST.addOperation(name='ProfileSelector', optype='other') -profileIndex = '0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119' -#profileIndex = '0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19' -opObj11.addParameter(name='profileList', value=profileIndex, format='intlist') -opObj11.addParameter(name='byblock', value='1', format='bool') - -opObj11 = procUnitConfObjMST.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='mode',value='3',format='int') -opObj11.addParameter(name='times',value='10',format='int') - -opObj11 = procUnitConfObjMST.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='20', format='int') -opObj11.addParameter(name='byblock', value='1', format='bool') - -procUnitConfObjMSTSpectra = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjMST.getId()) -procUnitConfObjMSTSpectra.addParameter(name='nFFTPoints', value='64', format='int') -procUnitConfObjMSTSpectra.addParameter(name='nProfiles', value='64', format='int') - -opObj11 = procUnitConfObjMSTSpectra.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='2', format='float') - -opObj11 = procUnitConfObjMSTSpectra.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='200', format='int') -opObj11.addParameter(name='wintitle', value='MST', format='str') -# # opObj11.addParameter(name='zmin', value='35', format='int') -# # opObj11.addParameter(name='zmax', value='60', format='int') -# # opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='wr_period', value='5', format='int') -# # opObj11.addParameter(name='ftp', value='1', format='int') -# # opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# # opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -# # opObj11.addParameter(name='username', value='wmaster', format='str') -# # opObj11.addParameter(name='password', value='mst2010vhf', format='str') -# # opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='19', format='int') -# # opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# # opObj11.addParameter(name='plot_pos', value='0', format='int') -# # -opObj11 = procUnitConfObjMSTSpectra.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='201', format='int') -opObj11.addParameter(name='wintitle', value='MST', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -# # opObj11.addParameter(name='xmin', value='0', format='int') -# # opObj11.addParameter(name='xmax', value='24', format='int') -# # opObj11.addParameter(name='zmin', value='35', format='int') -# # opObj11.addParameter(name='zmax', value='60', format='int') -# # opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='wr_period', value='5', format='int') -# # opObj11.addParameter(name='ftp', value='1', format='int') -# # opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# # opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -# # opObj11.addParameter(name='username', value='wmaster', format='str') -# # opObj11.addParameter(name='password', value='mst2010vhf', format='str') -# # opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='19', format='int') -# # opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# # opObj11.addParameter(name='plot_pos', value='0', format='int') - -# ################ ISR #################################### -procUnitConfObjISR = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObjISR.addOperation(name='ProfileSelector', optype='other') -# profileIndex = '20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99' -# opObj11.addParameter(name='profileList', value=profileIndex, format='intlist') -opObj11.addParameter(name='profileRangeList', value='20,99', format='intlist') -opObj11.addParameter(name='byblock', value='1', format='bool') - -# opObj11 = procUnitConfObjISR.addOperation(name='ProfileConcat', optype='other') -# opObj11.addParameter(name='m', value='5', format='int') - -opObj11 = procUnitConfObjISR.addOperation(name='Reshaper', optype='other') #Esta Operacion opera sobre bloques y reemplaza el ProfileConcat que opera sobre perfiles -opObj11.addParameter(name='shape', value='4,16,6750', format='intlist') # shape = (nchannels, nprofiles, nhieghts) - -opObj11 = procUnitConfObjISR.addOperation(name='filterByHeights') -opObj11.addParameter(name='window', value='20', format='int') -opObj11.addParameter(name='axis', value='2', format='int') - -barker3x1 = '1,1,-1,-1,-1,1' -#barker3x5 = '1,1,1,1,1, 1,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 = procUnitConfObjISR.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=barker3x1, format='floatlist') -opObj11.addParameter(name='nCode', value='2', format='int') -#opObj11.addParameter(name='nBaud', value='15', format='int') -opObj11.addParameter(name='nBaud', value='3', format='int') -opObj11.addParameter(name='mode', value='3', format='int') -opObj11.addParameter(name='times', value='8', format='int') -opObj11.addParameter(name='osamp', value='5', format='int') - - -procUnitConfObjISRSpectra = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjISR.getId()) -procUnitConfObjISRSpectra.addParameter(name='nFFTPoints', value='16', format='int') -procUnitConfObjISRSpectra.addParameter(name='nProfiles', value='16', format='int') - -opObj11 = procUnitConfObjISRSpectra.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='36', format='float') - -opObj11 = procUnitConfObjISRSpectra.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='300', format='int') -opObj11.addParameter(name='wintitle', value='ISR', format='str') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='wr_period', value='5', format='int') -opObj11.addParameter(name='exp_code', value='20', format='int') - -opObj11 = procUnitConfObjISRSpectra.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='301', format='int') -opObj11.addParameter(name='wintitle', value='ISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='wr_period', value='5', format='int') -opObj11.addParameter(name='exp_code', value='20', format='int') - - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() - -#timeit.timeit('controllerObj.run()', number=2) - -controllerObj.run() -#print fib(5) \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/mst_isr_eej_processing.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/mst_isr_eej_processing.py.svn-base deleted file mode 100644 index af0fb15..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/mst_isr_eej_processing.py.svn-base +++ /dev/null @@ -1,271 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "EWDrifts Experiment Test" -filename = "mst_isr_eej.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -path='/remote/ewdrifts/RAW_EXP/EW_DRIFT_FARADAY/EW_Drift' - -path1 = '/media/New Volume/DATA/MST_ISR' - -path2 = '/media/DATA/DATA/RAW_EXP/MST-EEJ' - -path = path1 + ',' + path2 - -path = '/home/dsuarez/.gvfs/data on 10.10.20.13/MST_ISR_EEJ' -gpath = '/media/datos/pictures/mstisr_mayo2014' - -path = '/Volumes/New Volume/mst_isr_eej' -gpath = '/Users/dsuarez/Pictures/poster' - -readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage', - path=path, - startDate='2014/05/15', - endDate='2014/05/15', - startTime='08:00:00', - endTime='16:00:00', - delay=3, - set=0, - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -######################################################### -################ MST #################################### -######################################################### - -# procUnitConfObjMST = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) -# -# opObj11 = procUnitConfObjMST.addOperation(name='ProfileSelector', optype='other') -# profileIndex = '0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119' -# -# opObj11.addParameter(name='profileList', value=profileIndex, format='intlist') -# -# opObj11 = procUnitConfObjMST.addOperation(name='Decoder', optype='other') -# -# opObj11 = procUnitConfObjMST.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='20', format='int') -# -# procUnitConfObjMSTSpectra = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjMST.getId()) -# procUnitConfObjMSTSpectra.addParameter(name='nFFTPoints', value='64', format='int') -# procUnitConfObjMSTSpectra.addParameter(name='nProfiles', value='64', format='int') -# -# opObj11 = procUnitConfObjMSTSpectra.addOperation(name='IncohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='float') - -# opObj11 = procUnitConfObjMSTSpectra.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value='/media/datos/mst2014') -# opObj11.addParameter(name='blocksPerFile', value='10', format='int') - - -# opObj11 = procUnitConfObjMSTSpectra.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='1000', format='int') -# opObj11.addParameter(name='wintitle', value='MST', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='24', format='int') -# opObj11.addParameter(name='ymin', value='120', format='int') -# opObj11.addParameter(name='ymax', value='190', format='int') -# opObj11.addParameter(name='zmin', value='20', format='int') -# opObj11.addParameter(name='zmax', value='50', format='int') - - -# opObj11 = procUnitConfObjMSTSpectra.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='101', format='int') -# opObj11.addParameter(name='wintitle', value='MST', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='channelList', value='3', format='intlist') -# #opObj11.addParameter(name='timerange', value='300', format='float') -# opObj11.addParameter(name='xmin', value='8', format='float') -# opObj11.addParameter(name='xmax', value='16', format='float') -# opObj11.addParameter(name='ymin', value='120', format='float') -# opObj11.addParameter(name='ymax', value='190', format='float') -# opObj11.addParameter(name='zmin', value='20', format='float') -# opObj11.addParameter(name='zmax', value='45', format='float') -# opObj11.addParameter(name='save', value='1', format='int') -# opObj11.addParameter(name='figfile', value='rti_mst.pdf', format='str') -# opObj11.addParameter(name='figpath', value='/Users/dsuarez/Pictures/poster', format='str') - - -# opObj11 = procUnitConfObjMSTSpectra.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='1001', format='int') -# opObj11.addParameter(name='wintitle', value='MST', format='str') -# opObj11.addParameter(name='ymin', value='120', format='int') -# opObj11.addParameter(name='ymax', value='190', format='int') -# opObj11.addParameter(name='zmin', value='20', format='int') -# opObj11.addParameter(name='zmax', value='45', format='int') - -# opObj11.addParameter(name='save', value='1', format='int') -# opObj11.addParameter(name='figpath', value=gpath, format='str') -# opObj11.addParameter(name='wr_period', value='5', format='int') -# opObj11.addParameter(name='ftp', value='1', format='int') -# opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -# opObj11.addParameter(name='username', value='wmaster', format='str') -# opObj11.addParameter(name='password', value='mst2010vhf', format='str') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='exp_code', value='19', format='int') -# opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - - -######################################################## -############### ISR #################################### -######################################################## - -procUnitConfObjISR = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObjISR.addOperation(name='ProfileSelector', optype='other') - -profileIndex = '20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99' - -opObj11.addParameter(name='profileList', value=profileIndex, format='intlist') - -opObj11 = procUnitConfObjISR.addOperation(name='ProfileConcat', optype='other') -opObj11.addParameter(name='m', value='5', format='int') - -opObj11 = procUnitConfObjISR.addOperation(name='filterByHeights') -opObj11.addParameter(name='window', value='20', format='int') - -barker3x1 = '1,1,-1,-1,-1,1' -barker3x5 = '1,1,1,1,1, 1,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 = procUnitConfObjISR.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=barker3x5, format='floatlist') -opObj11.addParameter(name='nCode', value='2', format='int') -opObj11.addParameter(name='nBaud', value='15', format='int') - - -procUnitConfObjISRSpectra = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjISR.getId()) -procUnitConfObjISRSpectra.addParameter(name='nFFTPoints', value='16', format='int') -procUnitConfObjISRSpectra.addParameter(name='nProfiles', value='16', format='int') - -opObj11 = procUnitConfObjISRSpectra.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='36', format='float') - -# opObj11 = procUnitConfObjISRSpectra.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value='/media/datos/isr2014') -# opObj11.addParameter(name='blocksPerFile', value='120', format='int') - - -opObj11 = procUnitConfObjISRSpectra.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='101', format='int') -opObj11.addParameter(name='wintitle', value='ISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='channelList', value='3', format='intlist') -#opObj11.addParameter(name='timerange', value='300', format='float') -opObj11.addParameter(name='xmin', value='8', format='float') -opObj11.addParameter(name='xmax', value='16', format='float') -# opObj11.addParameter(name='ymin', value='120', format='float') -# opObj11.addParameter(name='ymax', value='190', format='float') -opObj11.addParameter(name='zmin', value='20', format='float') -opObj11.addParameter(name='zmax', value='55', format='float') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figfile', value='rti_mst_isr.pdf', format='str') -opObj11.addParameter(name='figpath', value='/Users/dsuarez/Pictures/poster', format='str') - - -# opObj11 = procUnitConfObjISRSpectra.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='2000', format='int') -# opObj11.addParameter(name='wintitle', value='ISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='24', format='int') -# opObj11.addParameter(name='zmin', value='30', format='int') -# opObj11.addParameter(name='zmax', value='70', format='int') -# -# opObj11 = procUnitConfObjISRSpectra.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='2001', format='int') -# opObj11.addParameter(name='wintitle', value='ISR', format='str') -# opObj11.addParameter(name='zmin', value='20', format='int') -# opObj11.addParameter(name='zmax', value='60', format='int') -# -# opObj11.addParameter(name='save', value='1', format='int') -# opObj11.addParameter(name='figpath', value=gpath, format='str') -# opObj11.addParameter(name='wr_period', value='5', format='int') -# opObj11.addParameter(name='ftp', value='1', format='int') -# opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -# opObj11.addParameter(name='username', value='wmaster', format='str') -# opObj11.addParameter(name='password', value='mst2010vhf', format='str') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='exp_code', value='20', format='int') -# opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - -# -# ######################################################### -# ################ EEJ #################################### -# ######################################################### -# ######################################################### -# -# procUnitConfObjEEJ = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) -# -# opObj11 = procUnitConfObjEEJ.addOperation(name='ProfileSelector', optype='other') -# opObj11.addParameter(name='profileRangeList', value='120,183', format='intlist') -# -# opObj11 = procUnitConfObjEEJ.addOperation(name='Decoder', optype='other') -# opObj11.addParameter(name='code', value='1,-1', format='floatlist') -# opObj11.addParameter(name='nCode', value='2', format='int') -# opObj11.addParameter(name='nBaud', value='1', format='int') -# -# procUnitConfObjEEJSpecta = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjEEJ.getId()) -# procUnitConfObjEEJSpecta.addParameter(name='nFFTPoints', value='64', format='int') -# procUnitConfObjEEJSpecta.addParameter(name='nProfiles', value='64', format='int') -# -# opObj11 = procUnitConfObjEEJSpecta.addOperation(name='IncohInt', optype='other') -# opObj11.addParameter(name='n', value='36', format='float') -# -# # opObj11 = procUnitConfObjEEJSpecta.addOperation(name='SpectraWriter', optype='other') -# # opObj11.addParameter(name='path', value='/media/datos/eej2014') -# # opObj11.addParameter(name='blocksPerFile', value='10', format='int') -# -# -# opObj11 = procUnitConfObjEEJSpecta.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='3000', format='int') -# opObj11.addParameter(name='wintitle', value='EEJ', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='24', format='int') -# opObj11.addParameter(name='zmin', value='20', format='int') -# opObj11.addParameter(name='zmax', value='50', format='int') -# -# opObj11 = procUnitConfObjEEJSpecta.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='3001', format='int') -# opObj11.addParameter(name='wintitle', value='EEJ', format='str') -# opObj11.addParameter(name='zmin', value='20', format='int') -# opObj11.addParameter(name='zmax', value='50', format='int') -# opObj11.addParameter(name='save', value='1', format='int') -# opObj11.addParameter(name='figpath', value=gpath, format='str') -# opObj11.addParameter(name='wr_period', value='5', format='int') -# opObj11.addParameter(name='ftp', value='1', format='int') -# opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -# opObj11.addParameter(name='username', value='wmaster', format='str') -# opObj11.addParameter(name='password', value='mst2010vhf', format='str') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='exp_code', value='22', format='int') -# opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() diff --git a/schainpy/scripts/scripts_v/.svn/text-base/plot_eej.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/plot_eej.py.svn-base deleted file mode 100644 index 47ae5b5..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/plot_eej.py.svn-base +++ /dev/null @@ -1,91 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "EWDrifts+Imaging+Faraday Experiments" -filename = "eej_plots.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -path = '/media/DATA/eej2014' -figpath = '/home/operaciones/Pictures/eej_mayo2014' - -readUnitConfObj = controllerObj.addReadUnit(datatype='Spectra', - path=path, - startDate='2014/01/08', - endDate='2014/01/08', - startTime='10:00:00', - endTime='14:59:59', - delay=10, - online=1, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='100', format='int') -opObj11.addParameter(name='wintitle', value='EEJ', format='str') -opObj11.addParameter(name='zmin', value='15', format='int') -opObj11.addParameter(name='zmax', value='50', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='wr_period', value='3', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -opObj11.addParameter(name='username', value='wmaster', format='str') -opObj11.addParameter(name='password', value='mst2010vhf', format='str') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='22', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') -# -# -# -opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='101', format='int') -opObj11.addParameter(name='wintitle', value='EEJ', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value='0', format='int') -opObj11.addParameter(name='xmax', value='24', format='int') -opObj11.addParameter(name='zmin', value='20', format='int') -opObj11.addParameter(name='zmax', value='50', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -opObj11.addParameter(name='username', value='wmaster', format='str') -opObj11.addParameter(name='password', value='mst2010vhf', format='str') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='22', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='105', format='int') -# opObj11.addParameter(name='wintitle', value='EEJ', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='timerange', value='300', format='int') -# opObj11.addParameter(name='zmin', value='15', format='int') -# opObj11.addParameter(name='zmax', value='30', format='int') -# opObj11.addParameter(name='save', value='1', format='int') -# opObj11.addParameter(name='figpath', value='/home/operaciones/Pictures/eej_mayo2014', format='str') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/plot_isr.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/plot_isr.py.svn-base deleted file mode 100644 index bba05f9..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/plot_isr.py.svn-base +++ /dev/null @@ -1,79 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "EWDrifts+Imaging+Faraday Experiments" -filename = "isr_plots.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -path = '/media/DATA/isr2014' -figpath = '/home/operaciones/Pictures/isr_mayo2014' -readUnitConfObj = controllerObj.addReadUnit(datatype='Spectra', - path=path, - startDate='2014/01/08', - endDate='2014/01/08', - startTime='10:00:00', - endTime='14:59:59', - delay=40, - online=1, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='200', format='int') -opObj11.addParameter(name='wintitle', value='ISR', format='str') -opObj11.addParameter(name='zmin', value='30', format='int') -opObj11.addParameter(name='zmax', value='70', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='wr_period', value='3', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -opObj11.addParameter(name='username', value='wmaster', format='str') -opObj11.addParameter(name='password', value='mst2010vhf', format='str') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='20', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - -opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='201', format='int') -opObj11.addParameter(name='wintitle', value='ISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value='0', format='int') -opObj11.addParameter(name='xmax', value='24', format='int') -opObj11.addParameter(name='zmin', value='30', format='int') -opObj11.addParameter(name='zmax', value='70', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -opObj11.addParameter(name='username', value='wmaster', format='str') -opObj11.addParameter(name='password', value='mst2010vhf', format='str') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='20', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/plot_mst.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/plot_mst.py.svn-base deleted file mode 100644 index 72ab023..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/plot_mst.py.svn-base +++ /dev/null @@ -1,88 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "EWDrifts+Imaging+Faraday Experiments" -filename = "mst_plots.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -path = '/media/DATA/isr2014' -figpath = '/home/operaciones/Pictures/isr_mayo2014' -readUnitConfObj = controllerObj.addReadUnit(datatype='Spectra', - path=path, - startDate='2014/01/08', - endDate='2014/01/08', - startTime='10:00:00', - endTime='14:59:59', - delay=20, - online=1, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObjMSTSpectra = controllerObj.addProcUnit(datatype='Spectra', inputId=readUnitConfObj.getId()) - - - - -opObj11 = procUnitConfObjMSTSpectra.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='215', format='int') -opObj11.addParameter(name='wintitle', value='MST', format='str') -opObj11.addParameter(name='ymin', value='120', format='int') -opObj11.addParameter(name='ymax', value='190', format='int') -opObj11.addParameter(name='zmin', value='20', format='int') -opObj11.addParameter(name='zmax', value='50', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value='/home/dsuarez/Pictures/mst_mayo2014', format='str') -opObj11.addParameter(name='wr_period', value='1', format='int') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -opObj11.addParameter(name='username', value='wmaster', format='str') -opObj11.addParameter(name='password', value='mst2010vhf', format='str') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='19', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - -opObj11 = procUnitConfObjMSTSpectra.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='301', format='int') -opObj11.addParameter(name='wintitle', value='ISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value='0', format='int') -opObj11.addParameter(name='xmax', value='24', format='int') -opObj11.addParameter(name='ymin', value='120', format='int') -opObj11.addParameter(name='ymax', value='190', format='int') -opObj11.addParameter(name='zmin', value='20', format='int') -opObj11.addParameter(name='zmax', value='50', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value='/home/dsuarez/Pictures/mst_mayo2014', format='str') -opObj11.addParameter(name='wr_period', value='5', format='int') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -opObj11.addParameter(name='username', value='wmaster', format='str') -opObj11.addParameter(name='password', value='mst2010vhf', format='str') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='19', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/sousy.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/sousy.py.svn-base deleted file mode 100644 index 829b456..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/sousy.py.svn-base +++ /dev/null @@ -1,103 +0,0 @@ - - - - - -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "Sousy_test" -filename = "sousy_processing.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='Test_sousy', description=desc) - -#path = '/media/data/data/vientos/57.2063km/echoes/NCO_Woodman' -#path2= '/media/' -#path2='/media/New Volume/LowTroposphere' -#path1='/media/New Volume/LT_shortpulse' -#path = path1 + ',' + path2 -path='G:\\LowTroposphere' - -path = '/media/signalchain/FVillanuevaR/LowTroposphere' -wr_path = '/media/signalchain/datos/sousy' -figures_path = '/home/signalchain/Pictures/sousy' - -readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage', - path=path, - startDate='2014/07/08', - endDate='2014/07/08', - startTime='10:00:00', - endTime='17:59:59', - delay=0, - set=0, - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') -######################################################### -################ SOUSY################################### -######################################################### -# -procUnitConfObjSousy = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) -# -# codigo64='1,1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1,1,1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,1,0,1,1,1,0,0,0,1,0,'+\ -# '1,1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1' -opObj11 = procUnitConfObjSousy.addOperation(name='setRadarFrequency') -opObj11.addParameter(name='frequency', value='53.5e6', format='float') - - - -opObj11 = procUnitConfObjSousy.addOperation(name='filterByHeights') -opObj11.addParameter(name='window', value='2', format='int') - -codigo='1,-1' -opObj11 = procUnitConfObjSousy.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=codigo, format='floatlist') -opObj11.addParameter(name='nCode', value='2', format='int') -opObj11.addParameter(name='nBaud', value='1', format='int') - -opObj11 = procUnitConfObjSousy.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='2048', format='int') - -procUnitConfObjSousySpectra = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjSousy.getId()) -procUnitConfObjSousySpectra.addParameter(name='nFFTPoints', value='64', format='int') -procUnitConfObjSousySpectra.addParameter(name='nProfiles', value='64', format='int') - -opObj13 = procUnitConfObjSousySpectra.addOperation(name='removeDC') -opObj13.addParameter(name='mode', value='2', format='int') - -opObj11 = procUnitConfObjSousySpectra.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='1', format='float') -# -# opObj11 = procUnitConfObjSousySpectra.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='101', format='int') -# opObj11.addParameter(name='wintitle', value='Sousy_RTIPlot', format='str') -# opObj11.addParameter(name='zmin', value='30', format='int') -# opObj11.addParameter(name='zmax', value='100', format='int') -# opObj11.addParameter(name='ymin', value='0', format='int') -# opObj11.addParameter(name='ymax', value='10', format='int') -# opObj11.addParameter(name='xmin', value='10', format='float') -# opObj11.addParameter(name='xmax', value='18', format='float') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='save', value='1', format='int') -# #opObj11.addParameter(name='figfile', value='rti0_sousy.png', format='str') -# opObj11.addParameter(name='figpath', value=figures_path, format='str') - -opObj11 = procUnitConfObjSousySpectra.addOperation(name='SpectraWriter', optype='other') -opObj11.addParameter(name='path', value=wr_path) -opObj11.addParameter(name='blocksPerFile', value='100', format='int') - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/testRawData.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/testRawData.py.svn-base deleted file mode 100644 index 2a2280a..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/testRawData.py.svn-base +++ /dev/null @@ -1,108 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -if __name__ == '__main__': - - desc = "Segundo Test" - filename = "schain.xml" - - controllerObj = Project() - - controllerObj.setup(id = '191', name='test01', description=desc) - - readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path='/Volumes/SOUSY/', - startDate='2014/10/28', - endDate='2014/10/28', - startTime='15:40:00', - endTime='16:20:00', - online=0, - walk=1) - - opObj00 = readUnitConfObj.addOperation(name='printNumberOfBlock') - - procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', - inputId=readUnitConfObj.getId()) - -# opObj10 = procUnitConfObj0.addOperation(name='Synchronize', optype='external') - - opObj10 = procUnitConfObj0.addOperation(name='selectHeights') - opObj10.addParameter(name='minHei', value='0', format='float') - opObj10.addParameter(name='maxHei', value='8', format='float') - - opObj10 = procUnitConfObj0.addOperation(name='filterByHeights') - opObj10.addParameter(name='window', value='2', format='float') - - opObj10 = procUnitConfObj0.addOperation(name='Decoder', optype='external') - opObj10.addParameter(name='code', value='1,-1', format='intlist') - opObj10.addParameter(name='nCode', value='2', format='float') - opObj10.addParameter(name='nBaud', value='1', format='float') - - - opObj10 = procUnitConfObj0.addOperation(name='CohInt', optype='external') - opObj10.addParameter(name='n', value='1296', format='float') - - procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', - inputId=procUnitConfObj0.getId()) - - #Creating a processing object with its parameters - #schainpy.model.proc.jroproc_spectra.SpectraProc.run() - #If you need to add more parameters can use the "addParameter method" - procUnitConfObj1.addParameter(name='nFFTPoints', value='128', format='int') - - opObj10 = procUnitConfObj1.addOperation(name='IncohInt', optype='external') - opObj10.addParameter(name='n', value='2', format='float') - - #Using internal methods - #schainpy.model.proc.jroproc_spectra.SpectraProc.selectChannels() -# opObj10 = procUnitConfObj1.addOperation(name='selectChannels') -# opObj10.addParameter(name='channelList', value='0,1', format='intlist') - - #Using internal methods - #schainpy.model.proc.jroproc_spectra.SpectraProc.selectHeights() -# opObj10 = procUnitConfObj1.addOperation(name='selectHeights') -# opObj10.addParameter(name='minHei', value='90', format='float') -# opObj10.addParameter(name='maxHei', value='180', format='float') - - #Using external methods (new modules) -# #schainpy.model.proc.jroproc_spectra.IncohInt.setup() -# opObj12 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') -# opObj12.addParameter(name='n', value='1', format='int') - - #Using external methods (new modules) - #schainpy.model.graphics.jroplot_spectra.SpectraPlot.setup() - opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external') - opObj11.addParameter(name='id', value='11', format='int') - opObj11.addParameter(name='wintitle', value='SpectraPlot', format='str') - opObj11.addParameter(name='zmin', value='-60', format='int') - opObj11.addParameter(name='zmax', value='10', format='int') - opObj11.addParameter(name='save', value='1', format='int') - - #Using external methods (new modules) - #schainpy.model.graphics.jroplot_spectra.RTIPlot.setup() - opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') - opObj11.addParameter(name='id', value='30', format='int') - opObj11.addParameter(name='wintitle', value='RTI', format='str') - opObj11.addParameter(name='zmin', value='-60', format='int') - opObj11.addParameter(name='zmax', value='-10', format='int') - opObj11.addParameter(name='showprofile', value='1', format='int') -# opObj11.addParameter(name='timerange', value=str(5*60*60*60), format='int') - opObj11.addParameter(name='xmin', value='14', format='float') - opObj11.addParameter(name='xmax', value='23.9', format='float') - opObj11.addParameter(name='save', value='1', format='int') - - print "Escribiendo el archivo XML" - - controllerObj.writeXml(filename) - - print "Leyendo el archivo XML" - controllerObj.readXml(filename) - #controllerObj.printattr() - - controllerObj.createObjects() - controllerObj.connectObjects() - controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/test_eej_blocks.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/test_eej_blocks.py.svn-base deleted file mode 100644 index 9a86f82..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/test_eej_blocks.py.svn-base +++ /dev/null @@ -1,111 +0,0 @@ -import os, sys -#import timeit -import datetime - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * -dt1 = datetime.datetime.now() -desc = "MST-ISR-EEJ Experiment Test" -filename = "eej_blocks.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -path = '/media/signalchain/HD-PXU2/mst_isr_eej' - -figpath = '/home/signalchain/Pictures/mst_isr_eej/eej' - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2014/05/01', - endDate='2014/05/30', - startTime='00:00:00', - endTime='23:59:59', - online=1, - delay=10, - walk=0, - getblock=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') -# ################ EEJ #################################### -procUnitConfObjEEJ = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObjEEJ.addOperation(name='ProfileSelector', optype='other') -opObj11.addParameter(name='profileRangeList', value='120,183', format='intlist') -opObj11.addParameter(name='byblock', value='1', format='bool') - -opObj11 = procUnitConfObjEEJ.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value='1,-1', format='floatlist') -opObj11.addParameter(name='nCode', value='2', format='int') -opObj11.addParameter(name='nBaud', value='1', format='int') -opObj11.addParameter(name='mode', value='3', format='int') -opObj11.addParameter(name='times', value='32', format='int') - -# opObj11 = procUnitConfObjEEJ.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -procUnitConfObjEEJSpecta = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjEEJ.getId()) -procUnitConfObjEEJSpecta.addParameter(name='nFFTPoints', value='64', format='int') -procUnitConfObjEEJSpecta.addParameter(name='nProfiles', value='64', format='int') - -opObj11 = procUnitConfObjEEJSpecta.addOperation(name='IncohInt', optype='other') -#opObj11.addParameter(name='timeInterval', value='10', format='float') -opObj11.addParameter(name='n', value='36', format='float') - -opObj11 = procUnitConfObjEEJSpecta.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='100', format='int') -opObj11.addParameter(name='wintitle', value='EEJ', format='str') -# opObj11.addParameter(name='zmin', value='20', format='int') -# opObj11.addParameter(name='zmax', value='60', format='int')# opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='wr_period', value='5', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='22', format='int') -# opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - - -opObj11 = procUnitConfObjEEJSpecta.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='101', format='int') -opObj11.addParameter(name='wintitle', value='EEJ', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='24', format='int') -# opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='wr_period', value='5', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='22', format='int') -# opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - -opObj11 = procUnitConfObjEEJSpecta.addOperation(name='SendByFTP', optype='other') -opObj11.addParameter(name='ext', value='*.png', format='str') -opObj11.addParameter(name='localfolder', value=figpath, format='str') -opObj11.addParameter(name='remotefolder', value='/home/wmaster/graficos', format='str') -opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -opObj11.addParameter(name='username', value='wmaster', format='str') -opObj11.addParameter(name='password', value='mst2010vhf', format='str') -opObj11.addParameter(name='period', value='5', format='int') - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() - -#timeit.timeit('controllerObj.run()', number=2) - -controllerObj.run() -#print fib(5) - -dt2 = datetime.datetime.now() -print "=======================" -print dt2-dt1 -print "=======================" \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/.svn/text-base/test_isr_blocks.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/test_isr_blocks.py.svn-base deleted file mode 100644 index e341ba5..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/test_isr_blocks.py.svn-base +++ /dev/null @@ -1,115 +0,0 @@ -import os, sys -#import timeit -import datetime - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * -dt1 = datetime.datetime.now() -desc = "MST-ISR-EEJ Experiment Test" -filename = "isr_blocks.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -path = '/media/signalchain/HD-PXU2/mst_isr_eej' - -figpath = '/home/signalchain/Pictures/mst_isr_eej/isr' - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2014/05/01', - endDate='2014/05/30', - startTime='00:00:00', - endTime='23:59:59', - online=1, - delay=10, - walk=0, - getblock=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObjISR = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObjISR.addOperation(name='ProfileSelector', optype='other') -# profileIndex = '20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99' -# opObj11.addParameter(name='profileList', value=profileIndex, format='intlist') -opObj11.addParameter(name='profileRangeList', value='20,99', format='intlist') -opObj11.addParameter(name='byblock', value='1', format='bool') - -# opObj11 = procUnitConfObjISR.addOperation(name='ProfileConcat', optype='other') -# opObj11.addParameter(name='m', value='5', format='int') - -opObj11 = procUnitConfObjISR.addOperation(name='Reshaper', optype='other') #Esta Operacion opera sobre bloques y reemplaza el ProfileConcat que opera sobre perfiles -opObj11.addParameter(name='shape', value='4,16,6750', format='intlist') # shape = (nchannels, nprofiles, nhieghts) - -opObj11 = procUnitConfObjISR.addOperation(name='filterByHeights') -opObj11.addParameter(name='window', value='20', format='int') -opObj11.addParameter(name='axis', value='2', format='int') - -barker3x1 = '1,1,-1,-1,-1,1' -#barker3x5 = '1,1,1,1,1, 1,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 = procUnitConfObjISR.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=barker3x1, format='floatlist') -opObj11.addParameter(name='nCode', value='2', format='int') -#opObj11.addParameter(name='nBaud', value='15', format='int') -opObj11.addParameter(name='nBaud', value='3', format='int') -opObj11.addParameter(name='mode', value='3', format='int') -opObj11.addParameter(name='times', value='8', format='int') -opObj11.addParameter(name='osamp', value='5', format='int') - - -procUnitConfObjISRSpectra = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjISR.getId()) -procUnitConfObjISRSpectra.addParameter(name='nFFTPoints', value='16', format='int') -procUnitConfObjISRSpectra.addParameter(name='nProfiles', value='16', format='int') - -opObj11 = procUnitConfObjISRSpectra.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='36', format='float') - -opObj11 = procUnitConfObjISRSpectra.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='300', format='int') -opObj11.addParameter(name='wintitle', value='ISR', format='str') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='wr_period', value='5', format='int') -opObj11.addParameter(name='exp_code', value='20', format='int') - -opObj11 = procUnitConfObjISRSpectra.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='301', format='int') -opObj11.addParameter(name='wintitle', value='ISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='20', format='int') - - -opObj11 = procUnitConfObjISRSpectra.addOperation(name='SendByFTP', optype='other') -opObj11.addParameter(name='ext', value='*.png', format='str') -opObj11.addParameter(name='localfolder', value=figpath, format='str') -opObj11.addParameter(name='remotefolder', value='/home/wmaster/graficos', format='str') -opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -opObj11.addParameter(name='username', value='wmaster', format='str') -opObj11.addParameter(name='password', value='mst2010vhf', format='str') -opObj11.addParameter(name='period', value='5', format='int') - - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() - -#timeit.timeit('controllerObj.run()', number=2) - -controllerObj.run() -#print fib(5) - -dt2 = datetime.datetime.now() -print "=======================" -print dt2-dt1 -print "=======================" diff --git a/schainpy/scripts/scripts_v/.svn/text-base/test_mst_blocks.py.svn-base b/schainpy/scripts/scripts_v/.svn/text-base/test_mst_blocks.py.svn-base deleted file mode 100644 index 4801eb6..0000000 --- a/schainpy/scripts/scripts_v/.svn/text-base/test_mst_blocks.py.svn-base +++ /dev/null @@ -1,119 +0,0 @@ -import os, sys -#import timeit -import datetime - -path = os.path.split(os.getcwd())[0] -path = os.path.split(path)[0] - -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "MST-ISR-EEJ Experiment Test" -filename = "mst_blocks.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -#path = '/home/operaciones/mst_data/MST_ISR_EEJ/' -path ='/home/operaciones/mst_data' - -figpath = '/home/operaciones/Pictures/mst_isr_eej/mst' - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2014/05/01', - endDate='2014/05/30', - startTime='00:00:00', - endTime='23:59:59', - online=1, - delay=10, - walk=1, - getblock=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObjMST = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObjMST.addOperation(name='ProfileSelector', optype='other') -profileIndex = '0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119' -#profileIndex = '0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19' -opObj11.addParameter(name='profileList', value=profileIndex, format='intlist') -opObj11.addParameter(name='byblock', value='1', format='bool') - -opObj11 = procUnitConfObjMST.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='mode',value='3',format='int') -opObj11.addParameter(name='times',value='10',format='int') - -opObj11 = procUnitConfObjMST.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='20', format='int') -opObj11.addParameter(name='byblock', value='1', format='bool') - -procUnitConfObjMSTSpectra = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjMST.getId()) -procUnitConfObjMSTSpectra.addParameter(name='nFFTPoints', value='64', format='int') -procUnitConfObjMSTSpectra.addParameter(name='nProfiles', value='64', format='int') - -opObj11 = procUnitConfObjMSTSpectra.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='2', format='float') - -opObj11 = procUnitConfObjMSTSpectra.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='401', format='int') -opObj11.addParameter(name='wintitle', value='MST', format='str') -opObj11.addParameter(name='zmin', value='20', format='int') -opObj11.addParameter(name='zmax', value='40', format='int') -# # opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='wr_period', value='5', format='int') -# # opObj11.addParameter(name='ftp', value='1', format='int') -# # opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# # opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -# # opObj11.addParameter(name='username', value='wmaster', format='str') -# # opObj11.addParameter(name='password', value='mst2010vhf', format='str') -# # opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='19', format='int') -# # opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# # opObj11.addParameter(name='plot_pos', value='0', format='int') -# # -opObj11 = procUnitConfObjMSTSpectra.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='402', format='int') -opObj11.addParameter(name='wintitle', value='MST', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value='0', format='int') -opObj11.addParameter(name='xmax', value='24', format='int') -opObj11.addParameter(name='zmin', value='20', format='int') -opObj11.addParameter(name='zmax', value='40', format='int') -# # opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='wr_period', value='2', format='int') -# # opObj11.addParameter(name='ftp', value='1', format='int') -# # opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# # opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -# # opObj11.addParameter(name='username', value='wmaster', format='str') -# # opObj11.addParameter(name='password', value='mst2010vhf', format='str') -# # opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='19', format='int') -# # opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# # opObj11.addParameter(name='plot_pos', value='0', format='int') - -opObj11 = procUnitConfObjMSTSpectra.addOperation(name='SendByFTP', optype='other') -opObj11.addParameter(name='ext', value='*.png', format='str') -opObj11.addParameter(name='localfolder', value=figpath, format='str') -opObj11.addParameter(name='remotefolder', value='/home/wmaster/graficos', format='str') -opObj11.addParameter(name='server', value='10.10.120.125', format='str') -opObj11.addParameter(name='username', value='wmaster', format='str') -opObj11.addParameter(name='password', value='mst2010vhf', format='str') -opObj11.addParameter(name='period', value='2', format='int') - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() - -#timeit.timeit('controllerObj.run()', number=2) - -controllerObj.run() -#print fib(5) diff --git a/schainpy/scripts/scripts_v/150km_January_longPulse.py b/schainpy/scripts/scripts_v/150km_January_longPulse.py deleted file mode 100644 index 9a27226..0000000 --- a/schainpy/scripts/scripts_v/150km_January_longPulse.py +++ /dev/null @@ -1,185 +0,0 @@ -import os, sys -import numpy -path = os.path.split(os.getcwd())[0] -path = os.path.split(path)[0] - -sys.path.append(path) - -from schainpy.controller import Project - -desc = "150 km Jicamarca January 2015" -filename = "150km_jicamarca.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -#path = '/home/operaciones/150km_jicamarca_january/RAW_EXP/2015_ISR' -path = '/media/DATOS/2015_ISR' -#path = '/media/New Volume2/DATA/RAW_EXP/2015_ISR' - -figpath = '/home/operaciones/Pictures/150km_jicamarca_january' - -remotefolder = "/home/wmaster/graficos" - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2015/01/13', - endDate='2015/01/30', - startTime='07:55:00', - endTime='23:59:59', - online=0, - delay=10, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -a=[] -for i in range(85): - if i>20: - a.append(i) -for i in range(170): - if i>105: - a.append(i) -for i in range(255): - if i>190: - a.append(i) -for i in range(340): - if 339>i>275: - a.append(i) - if i==339: - a.append(i) - -b= str(a) -profileIndex = b[1:][:-1] - -opObj11 = procUnitConfObj0.addOperation(name='ProfileSelector', optype='other') -#profileIndex = '0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19' -opObj11.addParameter(name='profileList', value=profileIndex, format='intlist') - - -# opObj11 = procUnitConfObj0.addOperation(name='ProfileSelector', optype='other') -# opObj11.addParameter(name='profileRangeList', value='21,84', format='intlist') - - -binary28="1,1,-1,1,1,-1,1,-1,-1,1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,-1,1,1,1,1,-1,-1,-1" - - -CODEB=numpy.array([1,1,-1,1,1,-1,1,-1,-1,1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,-1,1,1,1,1,-1,-1,-1]) -x= numpy.array([ CODEB,CODEB,-CODEB,-CODEB]) -code= ",".join(map(str,x.flatten())) - -opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='intlist') -opObj11.addParameter(name='nCode', value='4', format='int') -opObj11.addParameter(name='nBaud', value='28', format='int') - -opObj11 = procUnitConfObj0.addOperation(name='deFlip') -opObj11.addParameter(name='channelList', value='1,3,5,7', format='intlist') - -# opObj10 = procUnitConfObj0.addOperation(name='selectHeights') -# opObj10.addParameter(name='minHei', value='50', format='float') -# opObj10.addParameter(name='maxHei', value='150', format='float') - -# opObj11 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='4', format='float') - - -# opObj11 = procUnitConfObj0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='10', format='int') -# opObj11.addParameter(name='wintitle', value='Voltage', format='str') -# opObj11.addParameter(name='zmin', value='40', format='int') -# opObj11.addParameter(name='zmax', value='90', format='int') - -#opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId()) -procUnitConfObj1.addParameter(name='nFFTPoints', value='64', format='int') -procUnitConfObj1.addParameter(name='nProfiles', value='64', format='int') - -#procUnitConfObj1.addParameter(name='pairsList', value='(3,7),(2,6)', format='pairsList') -procUnitConfObj1.addParameter(name='pairsList', value='(1,0),(3,2),(5,4),(7,6)', format='pairsList') - -opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='timeInterval', value='60', format='float') - -# opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='2001', format='int') -# opObj11.addParameter(name='wintitle', value='150km_Jicamarca', format='str') -# #opObj11.addParameter(name='channelList', value='0,1,2,3,45', format='intlist') -# # opObj11.addParameter(name='zmin', value='0', format='int') -# # opObj11.addParameter(name='zmax', value='60', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') - -opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='other') -opObj11.addParameter(name='id', value='2005', format='int') -opObj11.addParameter(name='wintitle', value='CrossSpectraPlot_LongPulse', format='str') -opObj11.addParameter(name='phase_cmap', value='jet', format='str') -opObj11.addParameter(name='zmin', value='20', format='int') -opObj11.addParameter(name='zmax', value='80', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='exp_code', value='13', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath) -opObj11.addParameter(name='ftp', value='1', format='int') - - - - - -opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -opObj11.addParameter(name='id', value='101', format='int') -opObj11.addParameter(name='wintitle', value='Coherence', format='str') -opObj11.addParameter(name='phase_cmap', value='jet', format='str') - -opObj11.addParameter(name='xmin', value='0', format='int') -opObj11.addParameter(name='xmax', value='24', format='int') -opObj11.addParameter(name='exp_code', value='13', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath) -opObj11.addParameter(name='ftp', value='1', format='int') - - - - - - - -# opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='3002', format='int') -# opObj11.addParameter(name='wintitle', value='150km_Jicamarca_LongPulse', format='str') -# # opObj11.addParameter(name='xmin', value='20.5', format='float') -# # opObj11.addParameter(name='xmax', value='24', format='float') -# opObj11.addParameter(name='zmin', value='20', format='int') -# opObj11.addParameter(name='zmax', value='80', format='int') -# #opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') -# #opObj11.addParameter(name='channelList', value='0,1,2,3,4,5,6,7', format='intlist') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') - -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value=60, format='int') -procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() - -#timeit.timeit('controllerObj.run()', number=2) - -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/150km_January_shortPulse.py b/schainpy/scripts/scripts_v/150km_January_shortPulse.py deleted file mode 100644 index f82449e..0000000 --- a/schainpy/scripts/scripts_v/150km_January_shortPulse.py +++ /dev/null @@ -1,152 +0,0 @@ -import os, sys -import numpy -path = os.path.split(os.getcwd())[0] -path = os.path.split(path)[0] - -sys.path.append(path) - -from schainpy.controller import Project - -desc = "150 km Jicamarca January 2015" -filename = "150km_jicamarca.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -#path = '/home/operaciones/150km_jicamarca_january/RAW_EXP/2015_ISR' -path = '/media/DATOS/2015_ISR' -#path = '/media/New Volume2/DATA/RAW_EXP/2015_ISR' - -figpath = '/home/operaciones/Pictures/150km_jicamarca_january' - -remotefolder = "/home/wmaster/graficos" - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2015/01/14', - endDate='2015/01/30', - startTime='07:40:00', - endTime='23:59:59', - online=0, - delay=10, - walk=1, - nTxs=4) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObj0.addOperation(name='ProfileSelector', optype='other') -opObj11.addParameter(name='rangeList', value='(1,80),(341,420),(681,760),(1021,1100)', format='multiList') - -# opObj11 = procUnitConfObj0.addOperation(name='filterByHeights') -# opObj11.addParameter(name='window', value='1', format='int') -# opObj11.addParameter(name='axis', value='2', format='int') - -cod7barker="1,1,1,-1,-1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,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=cod7barker, format='floatlist') -opObj11.addParameter(name='nCode', value='4', format='int') -opObj11.addParameter(name='nBaud', value='7', format='int') - -opObj11 = procUnitConfObj0.addOperation(name='deFlip') -opObj11.addParameter(name='channelList', value='1,3,5,7', format='intlist') - -# cod7barker="1,1,1,-1,-1,1,-1" -# opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') -# opObj11.addParameter(name='code', value=cod7barker, format='intlist') -# opObj11.addParameter(name='nCode', value='1', format='int') -# opObj11.addParameter(name='nBaud', value='7', format='int') - -# opObj11 = procUnitConfObj0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='10', format='int') -# opObj11.addParameter(name='wintitle', value='Voltage', format='str') -# opObj11.addParameter(name='zmin', value='40', format='int') -# opObj11.addParameter(name='zmax', value='90', format='int') - -#opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId()) -procUnitConfObj1.addParameter(name='nFFTPoints', value='80', format='int') -procUnitConfObj1.addParameter(name='nProfiles', value='80', format='int') -#procUnitConfObj1.addParameter(name='pairsList', value='(3,7),(2,6)', format='pairsList') -procUnitConfObj1.addParameter(name='pairsList', value='(1,0),(3,2),(5,4),(7,6)', format='pairsList') - -# -opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='timeInterval', value='60', format='float') -# -# opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='2004', format='int') -# opObj11.addParameter(name='wintitle', value='150km_Jicamarca_ShortPulse', format='str') -# #opObj11.addParameter(name='channelList', value='0,1,2,3,45', format='intlist') -# opObj11.addParameter(name='zmin', value='15', format='int') -# opObj11.addParameter(name='zmax', value='45', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') - -opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='other') -opObj11.addParameter(name='id', value='2006', format='int') -opObj11.addParameter(name='wintitle', value='CrossSpectraPlot_ShortPulse', format='str') -opObj11.addParameter(name='coherence_cmap', value='jet', format='str') -opObj11.addParameter(name='phase_cmap', value='jet', format='str') -# opObj11.addParameter(name='ymin', value='0', format='int') -# opObj11.addParameter(name='ymax', value='105', format='int') -opObj11.addParameter(name='zmin', value='15', format='int') -opObj11.addParameter(name='zmax', value='45', format='int') -opObj11.addParameter(name='exp_code', value='14', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath) -opObj11.addParameter(name='ftp', value='1', format='int') - -# -opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -opObj11.addParameter(name='id', value='102', format='int') -opObj11.addParameter(name='wintitle', value='Coherence', format='str') -opObj11.addParameter(name='phase_cmap', value='jet', format='str') -opObj11.addParameter(name='xmin', value='0', format='int') -opObj11.addParameter(name='xmax', value='24', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='14', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath) -opObj11.addParameter(name='ftp', value='1', format='int') - - -# opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='3005', format='int') -# opObj11.addParameter(name='wintitle', value='150km_Jicamarca_ShortPulse', format='str') -# # opObj11.addParameter(name='xmin', value='20.5', format='float') -# # opObj11.addParameter(name='xmax', value='24', format='float') -# opObj11.addParameter(name='zmin', value='15', format='int') -# opObj11.addParameter(name='zmax', value='45', format='int') -# #opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') -# #opObj11.addParameter(name='channelList', value='0,1,2,3,4,5,6,7', format='intlist') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') - -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value=60, format='int') -procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() - -#timeit.timeit('controllerObj.run()', number=2) - -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/150km_january_1.py b/schainpy/scripts/scripts_v/150km_january_1.py deleted file mode 100644 index 99680bf..0000000 --- a/schainpy/scripts/scripts_v/150km_january_1.py +++ /dev/null @@ -1,119 +0,0 @@ -import os, sys -#import timeit -import datetime - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "150 km Jicamarca January 2015" -filename = "150km_jicamarca.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -path = '/home/operaciones/150km_jicamarca_january/RAW_EXP/2015_ISR' - -figpath = '/home/operaciones/Pictures/150km_jicamarca_january' - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2015/01/13', - endDate='2015/01/30', - startTime='07:55:00', - endTime='23:59:59', - online=1, - delay=10, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObj0.addOperation(name='ProfileSelector', optype='other') -opObj11.addParameter(name='profileRangeList', value='21,84', format='intlist') - - -binary28="1,1,-1,1,1,-1,1,-1,-1,1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,-1,1,1,1,1,-1,-1,-1" - -#cod7barker="1,1,1,-1,-1,1,-1" -#cod7barkerneg="-1,-1,-1,1,1,-1,1" -CODEB=numpy.array([1,1,1,-1,-1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,1,-1,1,-1,-1,-1,1,1,-1,1]) -x= numpy.array([ CODEB,CODEB,-CODEB,-CODEB]) -code= ",".join(map(str,x.flatten())) - -opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='intlist') -opObj11.addParameter(name='nCode', value='4', format='int') -opObj11.addParameter(name='nBaud', value='28', format='int') - -# opObj11 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='4', format='float') - - -# opObj11 = procUnitConfObj0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='10', format='int') -# opObj11.addParameter(name='wintitle', value='Voltage', format='str') - - - -# opObj11.addParameter(name='zmin', value='40', format='int') -# opObj11.addParameter(name='zmax', value='90', format='int') - -#opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId()) -procUnitConfObj1.addParameter(name='nFFTPoints', value='64', format='int') -procUnitConfObj1.addParameter(name='nProfiles', value='64', format='int') - -#procUnitConfObj1.addParameter(name='pairsList', value='(0,1),(2,3),(4,5),(6,7)', format='pairsList') - -opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='timeInterval', value='10', format='float') - -opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='2001', format='int') -opObj11.addParameter(name='wintitle', value='150km_Jicamarca', format='str') -#opObj11.addParameter(name='channelList', value='0,1,2,3,45', format='intlist') -# opObj11.addParameter(name='zmin', value='0', format='int') -# opObj11.addParameter(name='zmax', value='60', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='exp_code', value='13', format='int') - - - -# opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='2005', format='int') -# opObj11.addParameter(name='wintitle', value='CrossSpectraPlot_ShortPulse', format='str') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') - -# -opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='3002', format='int') -opObj11.addParameter(name='wintitle', value='150km_Jicamarca', format='str') -# opObj11.addParameter(name='xmin', value='20.5', format='float') -# opObj11.addParameter(name='xmax', value='24', format='float') -# opObj11.addParameter(name='zmin', value='15', format='int') -# opObj11.addParameter(name='zmax', value='45', format='int') -#opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') -#opObj11.addParameter(name='channelList', value='0,1,2,3,4,5,6,7', format='intlist') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='exp_code', value='13', format='int') - - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() - -#timeit.timeit('controllerObj.run()', number=2) - -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/150km_january_3.py b/schainpy/scripts/scripts_v/150km_january_3.py deleted file mode 100644 index fe56f3e..0000000 --- a/schainpy/scripts/scripts_v/150km_january_3.py +++ /dev/null @@ -1,128 +0,0 @@ -import os, sys -#import timeit -import datetime - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "150 km Jicamarca January 2015" -filename = "150km_jicamarca.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -path = './' - -figpath = '/Users/miguel/tmp' - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2015/01/14', - endDate='2015/01/14', - startTime='08:30:00', - endTime='09:30:59', - online=1, - delay=10, - walk=1, - nTxs = 4) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObj0.addOperation(name='ProfileSelector', optype='other') -opObj11.addParameter(name='rangeList', value='(1,80),(341,420),(681,760),(1021,1100)', format='multiList') - - -cod7barker="1,1,1,-1,-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=cod7barker, format='floatlist') -opObj11.addParameter(name='nCode', value='4', format='int') -opObj11.addParameter(name='nBaud', value='7', format='int') -# -opObj11 = procUnitConfObj0.addOperation(name='deFlip') -opObj11.addParameter(name='channelList', value='1,3,5,7', format='intlist') - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId()) -procUnitConfObj1.addParameter(name='nFFTPoints', value='80', format='int') -procUnitConfObj1.addParameter(name='nProfiles', value='80', format='int') -procUnitConfObj1.addParameter(name='pairsList', value='(1,0),(3,2),(5,4),(7,6)', format='pairsList') -# -# # -opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='timeInterval', value='60', format='float') -# -# opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='2004', format='int') -# opObj11.addParameter(name='wintitle', value='150km_Jicamarca_ShortPulse', format='str') -# #opObj11.addParameter(name='channelList', value='0,1,2,3,45', format='intlist') -# opObj11.addParameter(name='zmin', value='15', format='int') -# opObj11.addParameter(name='zmax', value='45', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') - -# -opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='other') -opObj11.addParameter(name='id', value='2006', format='int') -opObj11.addParameter(name='wintitle', value='CrossSpectraPlot_ShortPulse', format='str') -opObj11.addParameter(name='ymin', value='0', format='int') -opObj11.addParameter(name='ymax', value='105', format='int') -opObj11.addParameter(name='phase_cmap', value='jet', format='str') -opObj11.addParameter(name='zmin', value='15', format='int') -opObj11.addParameter(name='zmax', value='45', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='exp_code', value='13', format='int') -# -# -opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -opObj11.addParameter(name='id', value='102', format='int') -opObj11.addParameter(name='wintitle', value='Coherence', format='str') -opObj11.addParameter(name='phase_cmap', value='jet', format='str') -opObj11.addParameter(name='xmin', value='8.5', format='float') -opObj11.addParameter(name='xmax', value='9.5', format='float') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='save', value=1, format='bool') -opObj11.addParameter(name='pairsList', value='(1,0),(3,2)', format='pairsList') - -# opObj11.addParameter(name='wr_period', value='2', format='int') - -# opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -# opObj11.addParameter(name='id', value='103', format='int') -# opObj11.addParameter(name='wintitle', value='Coherence', format='str') -# opObj11.addParameter(name='phase_cmap', value='jet', format='str') -# opObj11.addParameter(name='xmin', value='8.5', format='float') -# opObj11.addParameter(name='xmax', value='9.5', format='float') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='save', value=1, format='bool') -# opObj11.addParameter(name='pairsList', value='(5,4),(7,6)', format='pairsList') - -# opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='3005', format='int') -# opObj11.addParameter(name='wintitle', value='150km_Jicamarca_ShortPulse', format='str') -# # opObj11.addParameter(name='xmin', value='20.5', format='float') -# # opObj11.addParameter(name='xmax', value='24', format='float') -# opObj11.addParameter(name='zmin', value='15', format='int') -# opObj11.addParameter(name='zmax', value='45', format='int') -#opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') -#opObj11.addParameter(name='channelList', value='0,1,2,3,4,5,6,7', format='intlist') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') - - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() - -#timeit.timeit('controllerObj.run()', number=2) - -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/150km_jicamarca.xml b/schainpy/scripts/scripts_v/150km_jicamarca.xml deleted file mode 100644 index cceca18..0000000 --- a/schainpy/scripts/scripts_v/150km_jicamarca.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/2017_09_amisr_winds_proc_offline.py b/schainpy/scripts/scripts_v/2017_09_amisr_winds_proc_offline.py deleted file mode 100644 index 12ef3e8..0000000 --- a/schainpy/scripts/scripts_v/2017_09_amisr_winds_proc_offline.py +++ /dev/null @@ -1,228 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='eej_proc', description=desc) - - -# path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -# path = '/mnt/data_amisr' -# path = '/media/soporte/E9F4-F053/AMISR/Data/winds' -path = '/mnt/data_amisr' -path = '/media/soporte/DATA/AMISR/WINDS' - -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF' -figpath = '/home/soporte/Data/winds' -figpath = '/home/soporte/Data/winds/newproc' -remotefolder = "/home/wmaster/graficos" -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/winds/plots' - -xmin = '00' -xmax = '24' -dbmin = '50' #'60'#'55' #'40' #noise esf eej -dbmax = '80' #'70' #'55' - -ippFactor = '5' - -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' -nCode = '1' -nBaud = '28' - - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2015/11/09',#'2015/11/12', #'2014/10/07', - endDate='2015/11/09',#'2015/11/12' #'2014/10/07', - startTime='00:00:00',#'07:00:00', - endTime='23:59:59',#'15:00:00', - walk=0, -# code = code, -# nCode = nCode, -# nBaud = nBaud, - timezone='lt', - online=0) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - -opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='8', format='int') - - -opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -opObj12.addParameter(name='minHei', value='0', format='float') -opObj12.addParameter(name='maxHei', value='10', format='float') - - - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=64, format='int') -procUnitConfObjSpectraBeam0.addParameter(name='ippFactor', value=ippFactor, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='64', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - -# # #RemoveDc -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') -# -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='5', format='float') -opObj11.addParameter(name='maxHei', value='9', format='float') - - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='Winds AMISR', format='str') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='channelList', value='2', format='intlist') - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='Winds AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='channelList', value='2', format='intlist') -# -# -# #Noise -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=dbmin, format='int') -opObj11.addParameter(name='ymax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -#For saving Pdata (doesn't work with amisr data yet!) -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='100', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved - -# opObj22.addParameter(name='azimuth', value='0,-90,0,90,180', format='floatlist') -# opObj22.addParameter(name='elevation', value='75.6,75.6,90,75.60,75.6', format='floatlist') - -# #Parameters Process -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# opObj22 = procUnitConfObj2.addOperation(name='WindProfiler', optype='other') -# opObj22.addParameter(name='technique', value='DBS', format='str') -# opObj22.addParameter(name='correctAzimuth', value='51.06', format='float') -# opObj22.addParameter(name='correctFactor', value='-1', format='float') -# opObj22.addParameter(name='azimuth', value='0,-90,0,90,180', format='floatlist') -# opObj22.addParameter(name='elevation', value='75.6,75.6,90,75.60,75.60', format='floatlist') -# -# #WindProfilerPlot -# opObj23 = procUnitConfObj2.addOperation(name='WindProfilerPlot', optype='other') -# opObj23.addParameter(name='id', value='4', format='int') -# opObj23.addParameter(name='wintitle', value='Wind Profiler', format='str') -# opObj23.addParameter(name='save', value='1', format='bool') -# opObj23.addParameter(name='figpath', value = figpath, format='str') -# opObj23.addParameter(name='zmin', value='-20', format='int') -# opObj23.addParameter(name='zmax', value='20', format='int') -# opObj23.addParameter(name='zmin_ver', value='-100', format='float') -# opObj23.addParameter(name='zmax_ver', value='100', format='float') -# opObj23.addParameter(name='SNRmin', value='-20', format='int') -# opObj23.addParameter(name='SNRmax', value='30', format='int') -# opObj23.addParameter(name='SNRthresh', value='-50', format='float') -# opObj23.addParameter(name='xmin', value=xmin, format='float') -# opObj23.addParameter(name='xmax', value=xmax, format='float') -# opObj23.addParameter(name='ftp', value='1', format='int') -# opObj23.addParameter(name='wr_period', value='2', format='int') -# opObj23.addParameter(name='exp_code', value='21', format='int') -# opObj23.addParameter(name='sub_exp_code', value='3', format='int') -# opObj23.addParameter(name='ftp_wei', value='0', format='int') -# opObj23.addParameter(name='plot_pos', value='0', format='int') -# -# #--------------------------------------------------------------------------------------------- -# -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=60, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -# #----------------------------------------------------------------------------------------------- - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/EWDrifts_estimation01.py b/schainpy/scripts/scripts_v/EWDrifts_estimation01.py deleted file mode 100644 index dbb9449..0000000 --- a/schainpy/scripts/scripts_v/EWDrifts_estimation01.py +++ /dev/null @@ -1,140 +0,0 @@ -# DIAS 19 Y 20 FEB 2014 -# Comprobacion de Resultados DBS con SA - -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "DBS Experiment Test" -filename = "DBStest.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -#Experimentos - -path = '/host/Jicamarca/EW_Drifts/d2012248' -pathFigure = '/home/propietario/workspace/Graficos/drifts' - - -path = "/home/soporte/Data/drifts" -pathFigure = '/home/soporte/workspace/Graficos/drifts/prueba' -pathFile = '/home/soporte/Data/drifts/HDF5' - -xmin = 0 -xmax = 24 -#------------------------------------------------------------------------------------------------ -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2012/09/06', - endDate='2012/09/06', - startTime='00:00:00', - endTime='23:59:59', - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -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='3', format='int') - -opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') -# opObj11.addParameter(name='code', value='1,-1', format='floatlist') -# opObj11.addParameter(name='nCode', value='2', format='int') -# opObj11.addParameter(name='nBaud', value='1', format='int') - -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='(0,1),(2,3)', format='pairsList')#,(2,3) - -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='200.0', format='float') -opObj11.addParameter(name='maxHei', value='600.0', format='float') - -opObj11 = procUnitConfObj1.addOperation(name='selectChannels') -opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') - -opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') -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='1', format='int') -# # opObj14.addParameter(name='wintitle', value='Con interf', format='str') -# opObj14.addParameter(name='save', value='1', format='bool') -# opObj14.addParameter(name='figpath', value=pathFigure, format='str') -# # opObj14.addParameter(name='zmin', value='5', format='int') -# opObj14.addParameter(name='zmax', value='30', format='int') -# -# opObj12 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -# opObj12.addParameter(name='id', value='2', format='int') -# opObj12.addParameter(name='wintitle', value='RTI Plot', format='str') -# opObj12.addParameter(name='save', value='1', format='bool') -# 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='5', format='int') -# opObj12.addParameter(name='zmax', value='30', format='int') - -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) -opObj20 = procUnitConfObj2.addOperation(name='SpectralFitting') -opObj20.addParameter(name='path', value='/home/soporte/workspace/RemoteSystemsTempFiles', format='str') -opObj20.addParameter(name='file', value='modelSpectralFitting', format='str') -opObj20.addParameter(name='groupList', value='(0,1),(2,3)',format='multiList') - -opObj11 = procUnitConfObj2.addOperation(name='SpectralFittingPlot', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -opObj11.addParameter(name='wintitle', value='DopplerPlot', format='str') -opObj11.addParameter(name='cutHeight', value='350', format='int') -opObj11.addParameter(name='fit', value='1', format='int')#1--True/include fit -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = pathFigure, format='str') - -opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -opObj12.addParameter(name='path', value=pathFile) -opObj12.addParameter(name='blocksPerFile', value='3', format='int') - -opObj11 = procUnitConfObj2.addOperation(name='EWDriftsEstimation', optype='other') -opObj11.addParameter(name='zenith', value='-3.80208,3.10658', format='floatlist') -opObj11.addParameter(name='zenithCorrection', value='0.183201', format='float') - -opObj23 = procUnitConfObj2.addOperation(name='EWDriftsPlot', optype='other') -opObj23.addParameter(name='id', value='4', format='int') -opObj23.addParameter(name='wintitle', value='EW Drifts', format='str') -opObj23.addParameter(name='save', value='1', format='bool') -opObj23.addParameter(name='figpath', value = pathFigure, format='str') -opObj23.addParameter(name='zminZonal', value='-150', format='int') -opObj23.addParameter(name='zmaxZonal', value='150', format='int') -opObj23.addParameter(name='zminVertical', value='-30', format='float') -opObj23.addParameter(name='zmaxVertical', value='30', format='float') -opObj23.addParameter(name='SNR_1', value='1', format='bool') -opObj23.addParameter(name='SNRmax', value='5', format='int') -# opObj23.addParameter(name='SNRthresh', value='-50', format='float') -opObj23.addParameter(name='xmin', value=xmin, format='float') -opObj23.addParameter(name='xmax', value=xmax, format='float') -#-------------------------------------------------------------------------------------------------- -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/EWDrifts_estimation02.py b/schainpy/scripts/scripts_v/EWDrifts_estimation02.py deleted file mode 100644 index 8980f9d..0000000 --- a/schainpy/scripts/scripts_v/EWDrifts_estimation02.py +++ /dev/null @@ -1,65 +0,0 @@ -# DIAS 19 Y 20 FEB 2014 -# Comprobacion de Resultados DBS con SA - -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "DBS Experiment Test" -filename = "DBStest.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -#Experimentos - -path = "/home/soporte/Data/drifts/HDF5" -pathFigure = '/home/soporte/workspace/Graficos/drifts/prueba' -pathFile = '/home/soporte/Data/drifts/HDF5' - -xmin = 0 -xmax = 24 -#------------------------------------------------------------------------------------------------ -readUnitConfObj = controllerObj.addReadUnit(datatype='HDF5Reader', - path=path, - startDate='2012/09/06', - endDate='2012/09/06', - startTime='00:00:00', - endTime='23:59:59', - timezone='lt', - walk=1) - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=readUnitConfObj.getId()) -#-------------------------------------------------------------------------------------------------- - -opObj11 = procUnitConfObj0.addOperation(name='EWDriftsEstimation', optype='other') -opObj11.addParameter(name='zenith', value='-3.80208,3.10658', format='floatlist') -opObj11.addParameter(name='zenithCorrection', value='0.183201', format='float') - -opObj23 = procUnitConfObj0.addOperation(name='EWDriftsPlot', optype='other') -opObj23.addParameter(name='id', value='4', format='int') -opObj23.addParameter(name='wintitle', value='EW Drifts', format='str') -opObj23.addParameter(name='save', value='1', format='bool') -opObj23.addParameter(name='figpath', value = pathFigure, format='str') -opObj23.addParameter(name='zminZonal', value='-150', format='int') -opObj23.addParameter(name='zmaxZonal', value='150', format='int') -opObj23.addParameter(name='zminVertical', value='-30', format='float') -opObj23.addParameter(name='zmaxVertical', value='30', format='float') -opObj23.addParameter(name='SNR_1', value='1', format='bool') -opObj23.addParameter(name='SNRmax', value='5', format='int') -# opObj23.addParameter(name='SNRthresh', value='-50', format='float') -opObj23.addParameter(name='xmin', value=xmin, format='float') -opObj23.addParameter(name='xmax', value=xmax, format='float') -#-------------------------------------------------------------------------------------------------- -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/Meteor_JASMET30MHz.py b/schainpy/scripts/scripts_v/Meteor_JASMET30MHz.py deleted file mode 100644 index 86d00ce..0000000 --- a/schainpy/scripts/scripts_v/Meteor_JASMET30MHz.py +++ /dev/null @@ -1,188 +0,0 @@ -# DIAS 19 Y 20 FEB 2014 -# Comprobacion de Resultados DBS con SA - -import os, sys - -path = os.path.split(os.getcwd())[0] -path = os.path.split(path)[0] - -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "JASMET Experiment Test" -filename = "JASMETtest.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -#Experimentos - -#2014051 20 Feb 2014 -# path = '/home/soporte/Data/JASMET/JASMET_30/2014106' -# pathFigure = '/home/soporte/workspace/Graficos/JASMET/prueba1' - -remotefolder = "/home/wmaster/graficos" -path = '/media/joscanoa/84A65E64A65E5730/soporte/Data/JASMET/JASMET_30/' - -pathfile1 = os.path.join(os.environ['HOME'],'Pictures/JASMET30/meteor') -pathfile2 = os.path.join(os.environ['HOME'],'Pictures/JASMET30/wind') -pathfile3 = os.path.join(os.environ['HOME'],'Pictures/JASMET30/phase') - -pathfig = os.path.join(os.environ['HOME'],'Pictures/JASMET30/graph') - -startTime = '00:00:00' -endTime = '23:59:59' -xmin ='17.0' -xmax = '34.0' - -#------------------------------------------------------------------------------------------------ -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2014/04/15', - endDate='2014/04/16', - startTime=startTime, - endTime=endTime, - online=0, - delay=5, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - - -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj00 = procUnitConfObj0.addOperation(name='selectChannels') -opObj00.addParameter(name='channelList', value='0, 1, 2, 3, 4', format='intlist') - -opObj01 = procUnitConfObj0.addOperation(name='setRadarFrequency') -# opObj01.addParameter(name='frequency', value='30.e6', format='float') -opObj01.addParameter(name='frequency', value='50.e6', format='float') - -#opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj0.getId()) -procUnitConfObj1.addParameter(name='nSeconds', value='100', format='int') - -opObj10 = procUnitConfObj1.addOperation(name='MeteorDetection') -# opObj10.addParameter(name='predefinedPhaseShifts', value='-89.5, 41.5, 0.0, -138.0, -85.5', format='floatlist') -opObj10.addParameter(name='predefinedPhaseShifts', value='0, 0, 0, 0, 0', format='floatlist') -opObj10.addParameter(name='cohDetection', value='0', format='bool') -opObj10.addParameter(name='noise_multiple', value='4', format='int') -opObj10.addParameter(name='SNRThresh', value='5', format='float') -opObj10.addParameter(name='phaseThresh', value='20', format='float') -opObj10.addParameter(name='azimuth', value='45', format='float') -opObj10.addParameter(name='hmin', value='68', format='float') -opObj10.addParameter(name='hmax', value='112', format='float') -opObj10.addParameter(name='saveAll', value='1', format='bool') - -opObj12 = procUnitConfObj1.addOperation(name='HDF5Writer', optype='other') -opObj12.addParameter(name='path', value=pathfile1) -opObj12.addParameter(name='blocksPerFile', value='1000', format='int') -opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList,paramInterval',format='list') -opObj12.addParameter(name='dataList',value='data_param',format='list') -opObj12.addParameter(name='mode',value='0',format='int') -#Tiene que ser de 3 dimensiones, append en lugar de aumentar una dimension - -opObj13 = procUnitConfObj1.addOperation(name='SkyMapPlot', optype='other') -opObj13.addParameter(name='id', value='1', format='int') -opObj13.addParameter(name='wintitle', value='Sky Map', format='str') -opObj13.addParameter(name='save', value='1', format='bool') -opObj13.addParameter(name='figpath', value=pathfig, format='str') -opObj13.addParameter(name='ftp', value='1', format='int') -opObj13.addParameter(name='exp_code', value='15', format='int') -opObj13.addParameter(name='sub_exp_code', value='1', format='int') - - -#-------------------------------------------------------------------------------------------------- -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) - -opObj22 = procUnitConfObj2.addOperation(name='WindProfiler', optype='other') -opObj22.addParameter(name='technique', value='Meteors', format='str') -opObj22.addParameter(name='nHours', value='0.25', format='float') -opObj22.addParameter(name='SNRThresh', value='12.0', format='float') - -opObj23 = procUnitConfObj2.addOperation(name='WindProfilerPlot', optype='other') -opObj23.addParameter(name='id', value='2', format='int') -opObj23.addParameter(name='wintitle', value='Wind Profiler', format='str') -opObj23.addParameter(name='save', value='1', format='bool') -opObj23.addParameter(name='figpath', value = pathfig, format='str') -opObj23.addParameter(name='zmin', value='-120', format='int') -opObj23.addParameter(name='zmax', value='120', format='int') -# opObj12.addParameter(name='zmin_ver', value='-0.8', format='float') -# opObj12.addParameter(name='zmax_ver', value='0.8', format='float') -# opObj23.addParameter(name='SNRmin', value='-10', format='int') -# opObj23.addParameter(name='SNRmax', value='60', format='int') -# opObj23.addParameter(name='SNRthresh', value='0', format='float') -opObj23.addParameter(name='xmin', value=xmin, format='float') -opObj23.addParameter(name='xmax', value=xmax, format='float') -opObj23.addParameter(name='ftp', value='1', format='int') -opObj23.addParameter(name='exp_code', value='15', format='int') -opObj23.addParameter(name='sub_exp_code', value='1', format='int') - -opObj24 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -opObj24.addParameter(name='path', value=pathfile2) -opObj24.addParameter(name='blocksPerFile', value='1000', format='int') -opObj24.addParameter(name='metadataList',value='type,inputUnit,outputInterval',format='list') -opObj24.addParameter(name='dataList',value='data_output,utctime',format='list') - -#-------------------------------------------------------------------------------------------------- -procUnitConfObj3 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) - - -opObj31 = procUnitConfObj3.addOperation(name='PhaseCalibration', optype='other') -opObj31.addParameter(name='nHours', value='0.25', format='float') -opObj31.addParameter(name='distances', value='-15, -15, 12, 12', format='intlist') -# opObj31.addParameter(name='distances', value='-25, -25, 20, 20', format='intlist') -opObj31.addParameter(name='pairs', value='(0,3),(1,2)', format='pairslist') -opObj31.addParameter(name='hmin', value='68', format='float') -opObj31.addParameter(name='hmax', value='112', format='float') - -opObj32 = procUnitConfObj3.addOperation(name='PhasePlot', optype='other') -opObj32.addParameter(name='id', value='201', format='int') -opObj32.addParameter(name='wintitle', value='PhaseCalibration', format='str') -# opObj32.addParameter(name='timerange', value='300', format='int') -opObj32.addParameter(name='xmin', value=xmin, format='float') -opObj32.addParameter(name='xmax', value=xmax, format='float') -# opObj32.addParameter(name='xmin', value='19', format='float') -# opObj32.addParameter(name='xmax', value='20', format='float') -opObj32.addParameter(name='ymin', value='-180', format='float') -opObj32.addParameter(name='ymax', value='180', format='float') -opObj32.addParameter(name='figpath', value=pathfig, format='str') -opObj32.addParameter(name='ftp', value='1', format='int') -opObj32.addParameter(name='exp_code', value='15', format='int') -opObj32.addParameter(name='sub_exp_code', value='1', format='int') - -opObj33 = procUnitConfObj3.addOperation(name='HDF5Writer', optype='other') -opObj33.addParameter(name='path', value=pathfile3) -opObj33.addParameter(name='blocksPerFile', value='1000', format='int') -opObj33.addParameter(name='metadataList',value='type,inputUnit,outputInterval',format='list') -opObj33.addParameter(name='dataList',value='data_output,utctime',format='list') -# opObj25.addParameter(name='mode',value='1,0,0',format='intlist') - -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj4 = controllerObj.addProcUnit(name='SendToServer') -procUnitConfObj4.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -procUnitConfObj4.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj4.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj4.addParameter(name='localfolder', value=pathfig, format='str') -procUnitConfObj4.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj4.addParameter(name='ext', value='.png', format='str') -procUnitConfObj4.addParameter(name='period', value=20, format='int') -procUnitConfObj4.addParameter(name='protocol', value='ftp', format='str') - -#-------------------------------------------------------------------------------------------------- - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/Meteor_JASMET30Mhz_Beacon.py b/schainpy/scripts/scripts_v/Meteor_JASMET30Mhz_Beacon.py deleted file mode 100644 index a56aa48..0000000 --- a/schainpy/scripts/scripts_v/Meteor_JASMET30Mhz_Beacon.py +++ /dev/null @@ -1,81 +0,0 @@ -""" -Se debe verficar que el disco de datos se encuentra montado en el sistema -""" -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "Meteor Experiment Test" -filename = "meteor20130812.xml" - -controllerObj = Project() -controllerObj.setup(id = '191', name='meteor_test01', description=desc) - -path = '/home/dsuarez/.gvfs/data on 10.10.20.13/Jasmet50' -pathFigure = '/home/jasmet/jasmet30_phase' -path = '/home/soporte/Data/JASMET/JASMET_30/2014106' -pathFigure = '/home/soporte/workspace/Graficos/JASMET/prueba1' - - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2014/04/15', - endDate='2014/04/15', - startTime='20:00:00', - endTime='23:59:59', - online=0, - walk=0) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - - -# opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') -# -# -# opObj11 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -# opObj11 = procUnitConfObj0.addOperation(name='VoltageWriter', optype='other') -# opObj11.addParameter(name='path', value='/home/jasmet/jasmet30_abril') -# opObj11.addParameter(name='blocksPerFile', value='100', format='int') -# opObj11.addParameter(name='profilesPerBlock', value='200', format='int') - - -""" -########################################### BEACON ########################################## -""" - -procUnitConfObjBeacon = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId()) -procUnitConfObjBeacon.addParameter(name='nProfiles', value='200', format='int') -procUnitConfObjBeacon.addParameter(name='nFFTPoints', value='200', format='int') -procUnitConfObjBeacon.addParameter(name='pairsList', value='(2,0),(2,1),(2,3),(2,4)', format='pairsList') - -opObj11 = procUnitConfObjBeacon.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='4', format='int') - -opObj11 = procUnitConfObjBeacon.addOperation(name='getBeaconSignal') - -opObj11 = procUnitConfObjBeacon.addOperation(name='BeaconPhase', optype='other') -opObj11.addParameter(name='id', value='201', format='int') -opObj11.addParameter(name='wintitle', value='Beacon Phase', format='str') -opObj11.addParameter(name='timerange', value='300', format='int') -opObj11.addParameter(name='xmin', value='20', format='float') -opObj11.addParameter(name='xmax', value='22', format='float') -opObj11.addParameter(name='ymin', value='-180', format='float') -opObj11.addParameter(name='ymax', value='180', format='float') -opObj11.addParameter(name='figpath', value=pathFigure, format='str') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() diff --git a/schainpy/scripts/scripts_v/Meteor_JASMET50MHz_Winds.py b/schainpy/scripts/scripts_v/Meteor_JASMET50MHz_Winds.py deleted file mode 100644 index 6dc9ffc..0000000 --- a/schainpy/scripts/scripts_v/Meteor_JASMET50MHz_Winds.py +++ /dev/null @@ -1,105 +0,0 @@ -# DIAS 19 Y 20 FEB 2014 -# Comprobacion de Resultados DBS con SA - -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "JASMET Experiment Test" -filename = "JASMETtest.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -#Experimentos - -#2014051 20 Feb 2014 -path = '/home/soporte/Data/JASMET/JASMET_50/2014106' -pathFigure = '/home/soporte/workspace/Graficos/JASMET' - -startTime = '00:00:00' -endTime = '23:59:59' -xmin ='19.0' -xmax = '33.0' - - -#------------------------------------------------------------------------------------------------ -readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage', - path=path, - startDate='2014/04/15', - endDate='2014/04/16', - startTime=startTime, - endTime=endTime, - online=0, - delay=5, - walk=0) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - - -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) - -opObj00 = procUnitConfObj0.addOperation(name='selectChannels') -opObj00.addParameter(name='channelList', value='0, 1, 2, 3, 4', format='intlist') - -opObj01 = procUnitConfObj0.addOperation(name='setRadarFrequency') -opObj01.addParameter(name='frequency', value='50.e6', format='float') - -#opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='Parameters', inputId=procUnitConfObj0.getId()) -procUnitConfObj1.addParameter(name='nSeconds', value='100', format='int') - -opObj10 = procUnitConfObj1.addOperation(name='DetectMeteors') -opObj10.addParameter(name='predefinedPhaseShifts', value='-17.0, -139.0, 0.0, 48.0, -130.0', format='floatlist') -opObj10.addParameter(name='cohDetection', value='0', format='bool') -opObj10.addParameter(name='noise_multiple', value='4', format='int') -opObj10.addParameter(name='SNRThresh', value='5', format='float') -opObj10.addParameter(name='phaseThresh', value='20', format='float') -opObj10.addParameter(name='azimuth', value='45', format='float') -opObj10.addParameter(name='hmin', value='68', format='float') -opObj10.addParameter(name='hmax', value='112', format='float') -opObj10.addParameter(name='savefile', value='1', format='bool') -opObj10.addParameter(name='filename', value=filehdf5, format='str') - -opObj13 = procUnitConfObj1.addOperation(name='SkyMapPlot', optype='other') -opObj13.addParameter(name='id', value='1', format='int') -opObj13.addParameter(name='wintitle', value='Sky Map', format='str') -opObj13.addParameter(name='save', value='1', format='bool') -opObj13.addParameter(name='figpath', value=pathFigure, format='str') - -opObj11 = procUnitConfObj1.addOperation(name='WindProfiler', optype='other') -opObj11.addParameter(name='technique', value='Meteors', format='str') -opObj11.addParameter(name='nHours', value='1.0', format='float') - -opObj12 = procUnitConfObj1.addOperation(name='WindProfilerPlot', optype='other') -opObj12.addParameter(name='id', value='2', format='int') -opObj12.addParameter(name='wintitle', value='Wind Profiler', format='str') -opObj12.addParameter(name='save', value='1', format='bool') -opObj12.addParameter(name='figpath', value = pathFigure, format='str') -opObj12.addParameter(name='zmin', value='-120', format='int') -opObj12.addParameter(name='zmax', value='120', format='int') -# opObj12.addParameter(name='zmin_ver', value='-0.8', format='float') -# opObj12.addParameter(name='zmax_ver', value='0.8', format='float') -# opObj23.addParameter(name='SNRmin', value='-10', format='int') -# opObj23.addParameter(name='SNRmax', value='60', format='int') -# opObj23.addParameter(name='SNRthresh', value='0', format='float') -opObj12.addParameter(name='xmin', value=xmin, format='float') -opObj12.addParameter(name='xmax', value=xmax, format='float') - -#-------------------------------------------------------------------------------------------------- -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/Meteor_JASMET50Mhz_Beacon.py b/schainpy/scripts/scripts_v/Meteor_JASMET50Mhz_Beacon.py deleted file mode 100644 index b2b59ac..0000000 --- a/schainpy/scripts/scripts_v/Meteor_JASMET50Mhz_Beacon.py +++ /dev/null @@ -1,78 +0,0 @@ -""" -Se debe verficar que el disco de datos se encuentra montado en el sistema -""" -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "Meteor Experiment Test" -filename = "meteor20130812.xml" - -controllerObj = Project() -controllerObj.setup(id = '191', name='meteor_test01', description=desc) - -path = '/home/dsuarez/.gvfs/data on 10.10.20.13/Jasmet50' - - -readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage', - path=path, - startDate='2014/04/15', - endDate='2014/04/15', - startTime='17:00:00', - endTime='23:59:59', - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) - - -opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - - -opObj11 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='2', format='int') - -opObj11 = procUnitConfObj0.addOperation(name='VoltageWriter', optype='other') -opObj11.addParameter(name='path', value='/media/datos/jasmet50_abril') -opObj11.addParameter(name='blocksPerFile', value='100', format='int') -opObj11.addParameter(name='profilesPerBlock', value='200', format='int') - - -""" -########################################### BEACON ########################################## -""" - -procUnitConfObjBeacon = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId()) -procUnitConfObjBeacon.addParameter(name='nProfiles', value='200', format='int') -procUnitConfObjBeacon.addParameter(name='nFFTPoints', value='200', format='int') -procUnitConfObjBeacon.addParameter(name='pairsList', value='(2,0),(2,1),(2,3),(2,4)', format='pairsList') - -opObj11 = procUnitConfObjBeacon.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='4', format='int') - -opObj11 = procUnitConfObjBeacon.addOperation(name='getBeaconSignal') - -opObj11 = procUnitConfObjBeacon.addOperation(name='BeaconPhase', optype='other') -opObj11.addParameter(name='id', value='201', format='int') -opObj11.addParameter(name='wintitle', value='Beacon Phase', format='str') -opObj11.addParameter(name='timerange', value='300', format='int') -opObj11.addParameter(name='xmin', value='0', format='float') -opObj11.addParameter(name='xmax', value='24', format='float') -opObj11.addParameter(name='ymin', value='-180', format='float') -opObj11.addParameter(name='ymax', value='180', format='float') -opObj11.addParameter(name='figpath', value='/media/datos/jasmet50_phase', format='str') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() diff --git a/schainpy/scripts/scripts_v/Meteor_JASMET_PreProc.py b/schainpy/scripts/scripts_v/Meteor_JASMET_PreProc.py deleted file mode 100644 index 4b5d668..0000000 --- a/schainpy/scripts/scripts_v/Meteor_JASMET_PreProc.py +++ /dev/null @@ -1,56 +0,0 @@ -""" -Se debe verficar que el disco de datos se encuentra montado en el sistema -""" -import os, sys - -path = os.path.split(os.getcwd())[0] -path = os.path.split(path)[0] - -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "Meteor Experiment Test" -filename = "meteor20130812.xml" - -controllerObj = Project() -controllerObj.setup(id = '191', name='meteor_test01', description=desc) - -path = '/home/dsuarez/.gvfs/data on 10.10.20.13/Jasmet50' - - -readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage', - path=path, - startDate='2014/04/16', - endDate='2014/04/16', - startTime='00:00:00', - endTime='23:59:59', - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) - - -opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - - -opObj11 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='2', format='int') - -opObj11 = procUnitConfObj0.addOperation(name='VoltageWriter', optype='other') -opObj11.addParameter(name='path', value='/home/jasmet/jasmet30_abril') -opObj11.addParameter(name='blocksPerFile', value='100', format='int') -opObj11.addParameter(name='profilesPerBlock', value='200', format='int') - - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() diff --git a/schainpy/scripts/scripts_v/WindProfiler_DBS01.py b/schainpy/scripts/scripts_v/WindProfiler_DBS01.py deleted file mode 100644 index fcd3b44..0000000 --- a/schainpy/scripts/scripts_v/WindProfiler_DBS01.py +++ /dev/null @@ -1,169 +0,0 @@ -# DIAS 19 Y 20 FEB 2014 -# Comprobacion de Resultados DBS con SA - -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "DBS Experiment Test" -filename = "DBStest.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -#Experimentos - -#2014050 19 Feb 2014 -# path = '/home/soporte/Documents/MST_Data/DBS/d2014050' -# pathFigure = '/home/soporte/workspace/Graficos/DBS/d2014050p/' -# xmin = '15.5' -# xmax = '23.99999999' -# startTime = '17:25:00' -# filehdf5 = "DBS_2014050.hdf5" - -#2014051 20 Feb 2014 -path = '/home/soporte/Data/MST/DBS/d2014051' -pathFigure = '/home/soporte/workspace/Graficos/DBS/prueba1/' -xmin = '0' -xmax = '7.5' -startTime = '00:00:00' -filehdf5 = "DBS_2014051.hdf5" - - - -#------------------------------------------------------------------------------------------------ -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2014/01/31', - endDate='2014/03/31', - startTime=startTime, - endTime='23:59:59', - online=0, - delay=5, - walk=0) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - - -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - -opObj11 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='256', format='int') -# opObj11.addParameter(name='n', value='16', format='int') - -opObj11 = procUnitConfObj0.addOperation(name='selectHeightsByIndex') -opObj11.addParameter(name='minIndex', value='10', format='float') -opObj11.addParameter(name='maxIndex', value='60', format='float') - -#--------------------------------------------------------------------------------------------------- - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId()) -procUnitConfObj1.addParameter(name='nFFTPoints', value='64', format='int') -procUnitConfObj1.addParameter(name='nProfiles', value='64', format='int') -# procUnitConfObj1.addParameter(name='ippFactor', value='2', format='int') -procUnitConfObj1.addParameter(name='pairsList', value='(0,0),(0,1),(2,1)', format='pairsList') - -opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='5', format='int') - -opObj14 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -opObj14.addParameter(name='id', value='1', format='int') -opObj14.addParameter(name='wintitle', value='Con interf', format='str') -opObj14.addParameter(name='save', value='1', format='bool') -opObj14.addParameter(name='figpath', value=pathFigure, format='str') -opObj14.addParameter(name='zmin', value='5', format='int') -opObj14.addParameter(name='zmax', value='90', format='int') - -opObj12 = procUnitConfObj1.addOperation(name='removeInterference') -opObj13 = procUnitConfObj1.addOperation(name='removeDC') -opObj13.addParameter(name='mode', value='1', format='int') - -opObj12 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj12.addParameter(name='id', value='2', format='int') -opObj12.addParameter(name='wintitle', value='RTI Plot', format='str') -opObj12.addParameter(name='save', value='1', format='bool') -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='5', format='int') -opObj12.addParameter(name='zmax', value='90', format='int') - -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -opObj21 = procUnitConfObj2.addOperation(name='MomentsPlot', optype='other') -opObj21.addParameter(name='id', value='3', format='int') -opObj21.addParameter(name='wintitle', value='Moments Plot', format='str') -opObj21.addParameter(name='save', value='1', format='bool') -opObj21.addParameter(name='figpath', value=pathFigure, format='str') -opObj21.addParameter(name='zmin', value='5', format='int') -opObj21.addParameter(name='zmax', value='90', format='int') - -opObj21 = procUnitConfObj2.addOperation(name='ParametersPlot', optype='other') -opObj21.addParameter(name='id', value='5', format='int') -opObj21.addParameter(name='wintitle', value='Radial Velocity Plot', format='str') -opObj21.addParameter(name='save', value='1', format='bool') -opObj21.addParameter(name='figpath', value=pathFigure, format='str') -opObj21.addParameter(name='SNRmin', value='-10', format='int') -opObj21.addParameter(name='SNRmax', value='60', format='int') -opObj21.addParameter(name='SNRthresh', value='0', format='float') -opObj21.addParameter(name='xmin', value=xmin, format='float') -opObj21.addParameter(name='xmax', value=xmax, format='float') - -opObj21 = procUnitConfObj2.addOperation(name='ParametersPlot', optype='other') -opObj21.addParameter(name='id', value='6', format='int') -opObj21.addParameter(name='wintitle', value='Spectral width Plot', format='str') -opObj21.addParameter(name='save', value='1', format='bool') -opObj21.addParameter(name='figpath', value=pathFigure, format='str') -opObj21.addParameter(name='SNRmin', value='-10', format='int') -opObj21.addParameter(name='SNRmax', value='60', format='int') -opObj21.addParameter(name='SNRthresh', value='0', format='float') -opObj21.addParameter(name='xmin', value=xmin, format='float') -opObj21.addParameter(name='xmax', value=xmax, format='float') -opObj21.addParameter(name='zmin', value=0, format='float') -opObj21.addParameter(name='paramIndex', value=2, format='int') -opObj21.addParameter(name='onlyPositive', value=1, format='bool') - -opObj22 = procUnitConfObj2.addOperation(name='WindProfiler', optype='other') -opObj22.addParameter(name='technique', value='DBS', format='str') -opObj22.addParameter(name='correctAzimuth', value='51.06', format='float') -opObj22.addParameter(name='correctFactor', value='-1', format='float') -opObj22.addParameter(name='dirCosx', value='0.041016, 0, -0.054688', format='floatlist') -opObj22.addParameter(name='dirCosy', value='-0.041016, 0.025391, -0.023438', format='floatlist') -# opObj22.addParameter(name='horizontalOnly', value='1', format='bool') -# opObj22.addParameter(name='channelList', value='1,2', format='intlist') - -opObj23 = procUnitConfObj2.addOperation(name='WindProfilerPlot', optype='other') -opObj23.addParameter(name='id', value='4', format='int') -opObj23.addParameter(name='wintitle', value='Wind Profiler', format='str') -opObj23.addParameter(name='save', value='1', format='bool') -opObj23.addParameter(name='figpath', value = pathFigure, format='str') -opObj23.addParameter(name='zmin', value='-10', format='int') -opObj23.addParameter(name='zmax', value='10', format='int') -opObj23.addParameter(name='zmin_ver', value='-80', format='float') -opObj23.addParameter(name='zmax_ver', value='80', format='float') -opObj23.addParameter(name='SNRmin', value='-10', format='int') -opObj23.addParameter(name='SNRmax', value='60', format='int') -opObj23.addParameter(name='SNRthresh', value='0', format='float') -opObj23.addParameter(name='xmin', value=xmin, format='float') -opObj23.addParameter(name='xmax', value=xmax, format='float') - -#-------------------------------------------------------------------------------------------------- -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/WindProfiler_SA01.py b/schainpy/scripts/scripts_v/WindProfiler_SA01.py deleted file mode 100644 index 8d0a8c6..0000000 --- a/schainpy/scripts/scripts_v/WindProfiler_SA01.py +++ /dev/null @@ -1,139 +0,0 @@ -# DIAS 19 Y 20 FEB 2014 -# Comprobacion de Resultados DBS con SA - -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "SA Experiment Test" -filename = "SA2014050.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -#Experimentos - -#2014050 19 Feb 2014 -path = '/home/soporte/Data/MST/SA/d2014050' -pathFigure = '/home/soporte/workspace/Graficos/SA/prueba1/' -xmin = '15.5' -xmax = '24' -startTime = '15:30:00' -filehdf5 = "SA_2014050.hdf5" - -#2014051 20 Feb 2014 -# path = '/home/soporte/Data/MST/SA/d2014051' -# pathFigure = '/home/soporte/workspace/Graficos/SA/new/' -# xmin = '0.0' -# xmax = '8.0' -# startTime = '00:00:00' -# filehdf5 = "SA_2014051.hdf5" - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2014/01/01', - endDate='2014/03/31', - startTime=startTime, - endTime='23:59:59', - online=0, - delay=5, - walk=0) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - - -#-------------------------------------------------------------------------------------------------- - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - -opObj11 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='600', format='int') -# opObj11.addParameter(name='n', value='10', format='int') - -opObj11 = procUnitConfObj0.addOperation(name='selectHeightsByIndex') -opObj11.addParameter(name='minIndex', value='10', format='float') -opObj11.addParameter(name='maxIndex', value='60', format='float') -#--------------------------------------------------------------------------------------------------- -procUnitConfObj1 = controllerObj.addProcUnit(datatype='CorrelationProc', inputId=procUnitConfObj0.getId()) -# procUnitConfObj1.addParameter(name='pairsList', value='(0,0),(1,1),(2,2),(3,3),(1,0),(2,3)', format='pairsList') -procUnitConfObj1.addParameter(name='pairsList', value='(0,0),(1,1),(2,2),(3,3),(0,3),(0,2),(1,3),(1,2),(0,1),(2,3)', format='pairsList') -procUnitConfObj1.addParameter(name='fullT', value='1', format='bool') -procUnitConfObj1.addParameter(name='removeDC', value='1', format='bool') -#procUnitConfObj1.addParameter(name='lagT', value='0,1,2,3', format='intlist') - -opObj12 = procUnitConfObj1.addOperation(name='CorrelationPlot', optype='other') -opObj12.addParameter(name='id', value='1', format='int') -opObj12.addParameter(name='wintitle', value='CrossCorrelation Plot', format='str') -opObj12.addParameter(name='save', value='1', format='bool') -opObj12.addParameter(name='zmin', value='0', format='int') -opObj12.addParameter(name='zmax', value='1', format='int') -opObj12.addParameter(name='figpath', value = pathFigure, format='str') - -opObj12 = procUnitConfObj1.addOperation(name='removeNoise') -opObj12.addParameter(name='mode', value='2', format='int') -opObj12 = procUnitConfObj1.addOperation(name='calculateNormFactor') - -opObj12 = procUnitConfObj1.addOperation(name='CorrelationPlot', optype='other') -opObj12.addParameter(name='id', value='2', format='int') -opObj12.addParameter(name='wintitle', value='CrossCorrelation Plot', format='str') -opObj12.addParameter(name='save', value='1', format='bool') -opObj12.addParameter(name='zmin', value='0', format='int') -opObj12.addParameter(name='zmax', value='1', format='int') -opObj12.addParameter(name='figpath', value = pathFigure, format='str') - -#--------------------------------------------------------------------------------------------------- -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetLags') - -opObj21 = procUnitConfObj2.addOperation(name='WindProfiler', optype='other') -opObj21.addParameter(name='technique', value='SA', format='str') -# opObj21.addParameter(name='correctFactor', value='-1', format='float') -opObj21.addParameter(name='positionX', value='36,0,36,0', format='floatlist') -opObj21.addParameter(name='positionY', value='36,0,0,36', format='floatlist') -opObj21.addParameter(name='azimuth', value='51.06', format='float') -opObj21.addParameter(name='crosspairsList', value='(0,3),(0,2),(1,3),(1,2),(0,1),(2,3)', format='pairsList')#COrregir -# -opObj22 = procUnitConfObj2.addOperation(name='WindProfilerPlot', optype='other') -opObj22.addParameter(name='id', value='4', format='int') -opObj22.addParameter(name='wintitle', value='Wind Profiler', format='str') -opObj22.addParameter(name='save', value='1', format='bool') -opObj22.addParameter(name='figpath', value = pathFigure, format='str') -opObj22.addParameter(name='zmin', value='-15', format='int') -opObj22.addParameter(name='zmax', value='15', format='int') -opObj22.addParameter(name='zmin_ver', value='-80', format='float') -opObj22.addParameter(name='zmax_ver', value='80', format='float') -opObj22.addParameter(name='SNRmin', value='-20', format='int') -opObj22.addParameter(name='SNRmax', value='40', format='int') -opObj22.addParameter(name='SNRthresh', value='-3.5', format='float') -opObj22.addParameter(name='xmin', value=xmin, format='float') -opObj22.addParameter(name='xmax', value=xmax, format='float') -# #----------------------------------------------------------------------------------- -# -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId()) -# procUnitConfObj2.addParameter(name='nFFTPoints', value='128', format='int') -# procUnitConfObj2.addParameter(name='nProfiles', value='128', format='int') -# procUnitConfObj2.addParameter(name='pairsList', value='(0,0),(0,1),(2,1)', format='pairsList') -# -# opObj22 = procUnitConfObj2.addOperation(name='SpectraPlot', optype='other') -# opObj22.addParameter(name='id', value='5', format='int') -# opObj22.addParameter(name='wintitle', value='Spectra Plot', format='str') -# opObj22.addParameter(name='save', value='1', format='bool') -# opObj22.addParameter(name='figpath', value = pathFigure, format='str') - -#----------------------------------------------------------------------------------- - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/__init__.py b/schainpy/scripts/scripts_v/__init__.py deleted file mode 100644 index 8feaeca..0000000 --- a/schainpy/scripts/scripts_v/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -''' -Created on Jul 2, 2014 - -@author: roj-idl71 -''' diff --git a/schainpy/scripts/scripts_v/amisr_EEJ.py b/schainpy/scripts/scripts_v/amisr_EEJ.py deleted file mode 100644 index 3358429..0000000 --- a/schainpy/scripts/scripts_v/amisr_EEJ.py +++ /dev/null @@ -1,127 +0,0 @@ -import os, sys - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/noise/eej') - -xmin = '8' -xmax = '10' -dbmin = '60'#'55' #'40' #noise esf eej -dbmax = '70'#'70' #'55' - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2015/09/03',#'2015/08/14', #'2014/10/07', - endDate='2015/09/03',#'2015/08/14', #'2014/10/07', - startTime='08:00:00',#'07:00:00', - endTime='10:00:00',#'15:00:00', - walk=0, - timezone='lt', - all=0, - online=0) - -#AMISR Processing Unit -procUnitAMISRBeam0 = controllerObj.addProcUnit(datatype='AMISRProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitAMISRBeam0.addOperation(name='PrintInfo', optype='other') - -#Reshaper -opObj11 = procUnitAMISRBeam0.addOperation(name='ProfileToChannels', optype='other') - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=procUnitAMISRBeam0.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -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' -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value='1', format='int') -opObj11.addParameter(name='nBaud', value='28', format='int') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -#opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -#opObj11.addParameter(name='timeInterval', value='10', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') -procUnitConfObjSpectraBeam0.addParameter(name='nProfiles', value=16, format='int') - -#opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -# opObj11.addParameter(name='n', value='90', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - -#RemoveDc -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') - -#RTIPlot -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') - - - -#----------------------------------------------------------------------------------------------- - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_Ivan_proc_online.py b/schainpy/scripts/scripts_v/amisr_Ivan_proc_online.py deleted file mode 100644 index 7dec629..0000000 --- a/schainpy/scripts/scripts_v/amisr_Ivan_proc_online.py +++ /dev/null @@ -1,225 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='eej_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -path = '/mnt/data_amisr' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/EEJ' -figpath = '/home/soporte/Data/Pruebas' -remotefolder = "/home/wmaster/graficos" - -xmin = '07' -xmax = '18' -#xmin = '00' -#xmax = '33' -ymin ='30' -ymax ='300' -dbmin = '45' #'60'#'55' #'40' #noise esf eej -dbmax = '60' #'70' #'55' - -dbmin = '60' -dbmax = '80' -show = '1' - -code = '1,1,-1' -nCode = '1' -nBaud = '3' - - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate=today, #'2014/10/07', - endDate=today, #'2014/10/07', - #startDate='2015/12/16', - #endDate='2015/12/17', - startTime='07:01:30',#'07:00:00', - endTime='17:55:00',#'15:00:00', - #startTime='00:00:30',#'07:00:00', - #endTime='23:59:59',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=1) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dic 3, 15:40h - - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - - -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') -opObj11.addParameter(name='osamp', value=10, format='int') - - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value='32', format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='50', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') - - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -opObj11.addParameter(name='ymin', value=ymin, format='int') -opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='0', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='3', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=ymin, format='int') -opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='3', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #send to server -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# #procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -# #procUnitConfObj2.addParameter(name='server', value='181.177.232.125', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value='0', format='int') -# #procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -# procUnitConfObj2.addParameter(name='protocol', value='ssh', format='str') - - -# #Noise -#title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='0', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# opObj11.addParameter(name='show', value = show, format='bool') - - -# #For saving Pdata (doesn't work with amisr data yet!) -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='10', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved -# -# -# # procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# # procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# # procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# # procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# # procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# # procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# # procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# # procUnitConfObj2.addParameter(name='period', value=5, format='int') -# # procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -# #----------------------------------------------------------------------------------------------- -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=figpath+'/plots') -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_Jenipher_proc_online.py b/schainpy/scripts/scripts_v/amisr_Jenipher_proc_online.py deleted file mode 100644 index 3b43ea4..0000000 --- a/schainpy/scripts/scripts_v/amisr_Jenipher_proc_online.py +++ /dev/null @@ -1,224 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='eej_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -path = '/mnt/data_amisr' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/EEJ' -figpath = '/home/soporte/Data/Pruebas' -remotefolder = "/home/wmaster/graficos" - -xmin = '07' -xmax = '18' -#xmin = '00' -#xmax = '33' -ymin ='30' -ymax ='300' -dbmin = '45' #'60'#'55' #'40' #noise esf eej -dbmax = '65' #'70' #'55' - -dbmin = '65' -dbmax = '95' -show = '1' - -code = '1,1,1,1,1,-1,-1,1,1,-1,1,-1,1' -nCode = '1' -nBaud = '13' - - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate=today, #'2014/10/07', - endDate=today, #'2014/10/07', - #startDate='2015/12/16', - #endDate='2015/12/17', - startTime='07:01:30',#'07:00:00', - endTime='17:55:00',#'15:00:00', - #startTime='00:00:30',#'07:00:00', - #endTime='23:59:59',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=1) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='440e6', format='float') #changed on Dic 3, 15:40h - - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - - -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') - - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value='50', format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='50', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') - - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -opObj11.addParameter(name='ymin', value=ymin, format='int') -opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='0', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='3', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=ymin, format='int') -opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='3', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #send to server -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# #procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -# #procUnitConfObj2.addParameter(name='server', value='181.177.232.125', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value='0', format='int') -# #procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -# procUnitConfObj2.addParameter(name='protocol', value='ssh', format='str') - - -# #Noise -#title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='0', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# opObj11.addParameter(name='show', value = show, format='bool') - - -# #For saving Pdata (doesn't work with amisr data yet!) -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='10', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved -# -# -# # procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# # procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# # procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# # procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# # procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# # procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# # procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# # procUnitConfObj2.addParameter(name='period', value=5, format='int') -# # procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -# #----------------------------------------------------------------------------------------------- -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=figpath+'/plots') -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_claire_eej_proc_online.py b/schainpy/scripts/scripts_v/amisr_claire_eej_proc_online.py deleted file mode 100644 index 1f87a6a..0000000 --- a/schainpy/scripts/scripts_v/amisr_claire_eej_proc_online.py +++ /dev/null @@ -1,146 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='eej_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -path = '/mnt/data_amisr' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/EEJ' -figpath = '/home/soporte/Data/EEJclaire' -remotefolder = "/home/wmaster/graficos" - -xmin = '07' -xmax = '18' -#xmin = '00' -#xmax = '33' -ymin ='0' -ymax ='180' -dbmin = '10'#'45' #'60'#'55' #'40' #noise esf eej -dbmax = '30'#'65' #'70' #'55' - -show = '1' - - -code = '1' -nCode = '1' -nBaud = '1' -nosamp = '10' # oversample - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate=today, #'2014/10/07', - endDate=today, #'2014/10/07', - #startDate='2015/12/16', - #endDate='2015/12/17', - startTime='07:01:30',#'07:00:00', - endTime='17:55:00',#'15:00:00', - #startTime='00:00:30',#'07:00:00', - #endTime='23:59:59',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=1) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dic 3, 15:40h - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') -opObj11.addParameter(name='osamp', value=nosamp, format='int') - - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='150', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') - - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='EEJ AMISRclaire', format='str') -# opObj11.addParameter(name='ymin', value=ymin, format='int') -# opObj11.addParameter(name='ymax', value=ymax, format='int') -# opObj11.addParameter(name='zmin', value=dbmin, format='int') -# opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='0', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') - - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='EEJ AMISRclaire', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=ymin, format='int') -# opObj11.addParameter(name='ymax', value=ymax, format='int') -# opObj11.addParameter(name='zmin', value=dbmin, format='int') -# opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') - - - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_clairenoise.py b/schainpy/scripts/scripts_v/amisr_clairenoise.py deleted file mode 100644 index 10feee2..0000000 --- a/schainpy/scripts/scripts_v/amisr_clairenoise.py +++ /dev/null @@ -1,207 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='eej_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -path = '/mnt/uhf/DATA/RUIDO_UHF_100KHZ/NOCHE' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/EEJ' -figpath = '/home/soporte/Data/UHF' -remotefolder = "/home/wmaster/graficos" - -xmin = '00' -xmax = '24' -#xmin = '00' -#xmax = '33' -ymin ='0' -ymax ='187.5' - -dbmin = '20' -dbmax = '30' -show = '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' -nCode = '1' -nBaud = '28' - - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate=today, #'2014/10/07', - endDate=today, #'2014/10/07', - #startDate='2015/12/16', - #endDate='2015/12/17', - startTime='00:00:00',#'07:00:00', - endTime='23:59:59',#'15:00:00', - #startTime='00:00:30',#'07:00:00', - #endTime='23:59:59',#'15:00:00', - walk=1, - online=1) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dic 3, 15:40h - - -opObj12 = procUnitConfObjBeam0.addOperation(name='CohInt',optype='external') -opObj12.addParameter(name='n', value='4', format='float') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value='1024', format='int') - - - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='50', format='float') -opObj11.addParameter(name='maxHei', value='180', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') - - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='Spectra Noise Claire', format='str') -#opObj11.addParameter(name='ymin', value=ymin, format='int') -#opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='0', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='3', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='RTI Noise Claire', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -#opObj11.addParameter(name='ymin', value=ymin, format='int') -#opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='3', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #send to server -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -#procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -#procUnitConfObj2.addParameter(name='server', value='181.177.232.125', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value='300', format='int') -#procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -procUnitConfObj2.addParameter(name='protocol', value='ssh', format='str') - - -# #Noise -#title0 = 'RTI AMISR Beam 0' delay = 5 -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -opObj11.addParameter(name='wintitle', value='Noise Claire', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=dbmin, format='int') -opObj11.addParameter(name='ymax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') - - -# #For saving Pdata (doesn't work with amisr data yet!) -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='10', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved -# -# -# # procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# # procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# # procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# # procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# # procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# # procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# # procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# # procUnitConfObj2.addParameter(name='period', value=5, format='int') -# # procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -# #----------------------------------------------------------------------------------------------- -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=figpath+'/plots') -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_clairenoise_off.py b/schainpy/scripts/scripts_v/amisr_clairenoise_off.py deleted file mode 100644 index ab0b029..0000000 --- a/schainpy/scripts/scripts_v/amisr_clairenoise_off.py +++ /dev/null @@ -1,207 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='eej_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -path = '/mnt/uhf/DATA/RUIDO_UHF_100KHZ/NOCHE' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/EEJ' -figpath = '/home/soporte/Data/UHF' -remotefolder = "/home/wmaster/graficos" - -xmin = '00' -xmax = '24' -#xmin = '00' -#xmax = '33' -ymin ='0' -ymax ='187.5' - -dbmin = '20' -dbmax = '30' -show = '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' -nCode = '1' -nBaud = '28' - - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - #startDate=today, #'2014/10/07', - #endDate=today, #'2014/10/07', - startDate='2017/06/12', - endDate='2017/06/12', - startTime='00:00:00',#'07:00:00', - endTime='23:59:59',#'15:00:00', - #startTime='00:00:30',#'07:00:00', - #endTime='23:59:59',#'15:00:00', - walk=1, - online=0) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dic 3, 15:40h - - -opObj12 = procUnitConfObjBeam0.addOperation(name='CohInt',optype='external') -opObj12.addParameter(name='n', value='4', format='float') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=1024, format='int') - - - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='50', format='float') -opObj11.addParameter(name='maxHei', value='180', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') - - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='Spectra Noise Claire', format='str') -#opObj11.addParameter(name='ymin', value=ymin, format='int') -#opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='0', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='3', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='RTI Noise Claire', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -#opObj11.addParameter(name='ymin', value=ymin, format='int') -#opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='3', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #send to server -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -#procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -#procUnitConfObj2.addParameter(name='server', value='181.177.232.125', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value='300', format='int') -#procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -procUnitConfObj2.addParameter(name='protocol', value='ssh', format='str') - - -# #Noise -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -opObj11.addParameter(name='wintitle', value='Noise Claire', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=dbmin, format='int') -opObj11.addParameter(name='ymax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') - - -# #For saving Pdata (doesn't work with amisr data yet!) -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='10', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved -# -# -# # procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# # procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# # procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# # procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# # procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# # procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# # procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# # procUnitConfObj2.addParameter(name='period', value=5, format='int') -# # procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -# #----------------------------------------------------------------------------------------------- -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=figpath+'/plots') -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_eej_proc.py b/schainpy/scripts/scripts_v/amisr_eej_proc.py deleted file mode 100644 index 0f48998..0000000 --- a/schainpy/scripts/scripts_v/amisr_eej_proc.py +++ /dev/null @@ -1,183 +0,0 @@ - - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -# path = os.path.split(os.getcwd())[0] -# path = os.path.split(path)[0] -# -# sys.path.append(path) - - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='eej_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -path = '/mnt/data_amisr' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -figpath = '/home/soporte/Data/EEJ' - -xmin = '00' -xmax = '24' -dbmin = '45' #'60'#'55' #'40' #noise esf eej -dbmax = '65' #'70' #'55' - -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' -nCode = '1' -nBaud = '28' - - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate=today, #'2014/10/07', - endDate=today, #'2014/10/07', - startTime='07:01:30',#'07:00:00', - endTime='17:55:00',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=1) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -#Noise--> no code - -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='121', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='150', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - -# #procUnitConfObjSpectraBeam0.addParameter(name='pairsList', value='(0,0),(1,1),(2,2),(3,3),(4,4)', \ -# # format='pairsList') -# -# # procUnitConfObjSpectraBeam0.addParameter(name='pairsList', value='(0,0)', \ -# # format='pairsList') -# # -# # #RemoveDc -# # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') -# -# #Noise Estimation -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -# opObj11.addParameter(name='minHei', value='100', format='float') -# opObj11.addParameter(name='maxHei', value='280', format='float') -# #opObj11.addParameter(name='minHei', value='15', format='float') -# #opObj11.addParameter(name='maxHei', value='20', format='float') -# # -# #SpectraPlot -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='1', format='int') -# opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') -# #opObj11.addParameter(name='zmin', value='38', format='int') -# opObj11.addParameter(name='zmin', value=dbmin, format='int') -# opObj11.addParameter(name='zmax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# # -# # # #RTIPlot -# # # #title0 = 'RTI AMISR Beam 0' -# # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -# # opObj11.addParameter(name='id', value='2', format='int') -# # # opObj11.addParameter(name='wintitle', value=title0, format='str') -# # opObj11.addParameter(name='showprofile', value='0', format='int') -# # opObj11.addParameter(name='xmin', value=xmin, format='float') -# # opObj11.addParameter(name='xmax', value=xmax, format='float') -# # opObj11.addParameter(name='zmin', value=dbmin, format='int') -# # opObj11.addParameter(name='zmax', value=dbmax, format='int') -# # opObj11.addParameter(name='save', value='1', format='bool') -# # opObj11.addParameter(name='figpath', value = figpath, format='str') -# # # -# # # -# # #Noise -# #title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# # opObj11.addParameter(name='wintitle', value=title0, format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') - - -#For saving Pdata (doesn't work with amisr data yet!) -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -opObj11.addParameter(name='path', value=figpath) -opObj11.addParameter(name='blocksPerFile', value='10', format='int') -opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved - - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=5, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_eej_proc_offline.py b/schainpy/scripts/scripts_v/amisr_eej_proc_offline.py deleted file mode 100755 index 1576aac..0000000 --- a/schainpy/scripts/scripts_v/amisr_eej_proc_offline.py +++ /dev/null @@ -1,193 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='eej_proc', description=desc) - - -# path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -# path = '/mnt/data_amisr' -path = '/home/soporte/dataAMISR/20191216.001' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/EEJ' -figpath = '/home/soporte/Data/EEJ' - -xmin = '07' -xmax = '18' -dbmin = '45' #'60'#'55' #'40' #noise esf eej -dbmax = '65' #'70' #'55' -show = '0' - -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' -nCode = '1' -nBaud = '28' - - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2019/12/16', #'2019/12/16', - endDate='2019/12/16', #'2014/10/07', - startTime='07:01:30',#'07:00:00', - endTime='18:00:00',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=0) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dic 3, 15:40h -#opObj10.addParameter(name='frequency', value='430e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -#Noise--> no code - -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='121', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='150', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - -# #procUnitConfObjSpectraBeam0.addParameter(name='pairsList', value='(0,0),(1,1),(2,2),(3,3),(4,4)', \ -# # format='pairsList') -# -# # procUnitConfObjSpectraBeam0.addParameter(name='pairsList', value='(0,0)', \ -# # format='pairsList') -# # -# # #RemoveDc -# # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') -# -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') -# # -# #SpectraPlot -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='1', format='int') -# opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') -# #opObj11.addParameter(name='zmin', value='38', format='int') -# opObj11.addParameter(name='zmin', value=dbmin, format='int') -# opObj11.addParameter(name='zmax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# # -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath+'/plots', format='str') -opObj11.addParameter(name='show', value = show, format='bool') - -# # # -# # # -# #Noise -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=dbmin, format='int') -opObj11.addParameter(name='ymax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath+'/plots', format='str') -opObj11.addParameter(name='show', value = show, format='bool') - - - -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -opObj11.addParameter(name='path', value=figpath) -opObj11.addParameter(name='blocksPerFile', value='10', format='int') -opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved - - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=5, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- -##################### -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=figpath+'/param') -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm diff --git a/schainpy/scripts/scripts_v/amisr_eej_proc_offline_pdata_moments.py b/schainpy/scripts/scripts_v/amisr_eej_proc_offline_pdata_moments.py deleted file mode 100644 index b3c542e..0000000 --- a/schainpy/scripts/scripts_v/amisr_eej_proc_offline_pdata_moments.py +++ /dev/null @@ -1,217 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='eej_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -path = '/mnt/data_amisr' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/EEJ' -figpath = '/home/soporte/Data/EEJ' - - - - -dpath= '/media/soporte/DATA/AMISR/JULIA/proc/EEJ' - - - -#path='/media/soporte/New Volume1/AMISR/JULIA/EEJ' -#path = '/media/soporte/DATA/AMISR/JULIA/EEJ' -#path = '/media/soporte/data/AMISR/EEJ' -#path = '/mnt/data_amisr/EEJ' - - -#path = '/media/soporte/data/AMS/EEJ' (2017/03/14) - -path = '/mnt/data_hddamisr/EEJ' -path = '/mnt/data_amisr/EEJ' -figpath = '/media/soporte/DATA/AMISR/JULIA/plot/EEJ' -pdatapath = '/media/soporte/DATA/AMISR/JULIA/pdata/EEJ' -procpath = '/media/soporte/DATA/AMISR/JULIA/param/EEJ' - -xmin = '07' -xmax = '18' -ymin = '0' -dbmin = '45' #'60'#'55' #'40' #noise esf eej -dbmax = '65' #'70' #'55' -show = '0' - -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' -nCode = '1' -nBaud = '28' - - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2017/05/22',#'2016/04/09', #'2014/10/07', - endDate='2017/05/27',#'2016/04/15', #'2014/10/07', - startTime='00:00:00',#'07:00:00', - endTime='23:59:59',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=0) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dic 3, 15:40h -#opObj10.addParameter(name='frequency', value='430e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -#Noise--> no code - -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='121', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='300', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - -# #procUnitConfObjSpectraBeam0.addParameter(name='pairsList', value='(0,0),(1,1),(2,2),(3,3),(4,4)', \ -# # format='pairsList') -# -# # procUnitConfObjSpectraBeam0.addParameter(name='pairsList', value='(0,0)', \ -# # format='pairsList') -# # -# # #RemoveDc -# # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') -# -#Noise Estimation -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -# opObj11.addParameter(name='minHei', value='100', format='float') -# opObj11.addParameter(name='maxHei', value='280', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') -# # -# #SpectraPlot -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='1', format='int') -# opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') -# #opObj11.addParameter(name='zmin', value='38', format='int') -# opObj11.addParameter(name='zmin', value=dbmin, format='int') -# opObj11.addParameter(name='zmax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# # -# # #RTIPlot -# # #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=ymin, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') - -# # # -# # # -# #Noise -#title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# # opObj11.addParameter(name='wintitle', value=title0, format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# opObj11.addParameter(name='show', value = show, format='bool') - - - -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -opObj11.addParameter(name='path', value=pdatapath) -opObj11.addParameter(name='blocksPerFile', value='10', format='int') -opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved - - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=5, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -opObj12.addParameter(name='path', value=procpath) -opObj12.addParameter(name='blocksPerFile', value='10', format='int') -opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -opObj12.addParameter(name='mode',value='1',format='int') - - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_eej_proc_online.py b/schainpy/scripts/scripts_v/amisr_eej_proc_online.py deleted file mode 100644 index b54d08b..0000000 --- a/schainpy/scripts/scripts_v/amisr_eej_proc_online.py +++ /dev/null @@ -1,224 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='eej_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -path = '/mnt/data_amisr' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/EEJ' -figpath = '/home/soporte/Data/EEJ' -remotefolder = "/home/wmaster/graficos" - -xmin = '07' -xmax = '18' -#xmin = '00' -#xmax = '33' -ymin ='30' -ymax ='300' -dbmin = '45' #'60'#'55' #'40' #noise esf eej -dbmax = '65' #'70' #'55' - -dbmin = '45' -dbmax = '65' -show = '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' -nCode = '1' -nBaud = '28' - - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate=today, #'2014/10/07', - endDate=today, #'2014/10/07', - #startDate='2015/12/16', - #endDate='2015/12/17', - startTime='07:01:30',#'07:00:00', - endTime='17:55:00',#'15:00:00', - #startTime='00:00:30',#'07:00:00', - #endTime='23:59:59',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=1) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dic 3, 15:40h -opObj10.addParameter(name='frequency', value='430e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - - -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') - - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='150', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') - - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -opObj11.addParameter(name='ymin', value=ymin, format='int') -opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='0', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='3', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=ymin, format='int') -opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='3', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #send to server -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -#procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -#procUnitConfObj2.addParameter(name='server', value='181.177.232.125', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value='300', format='int') -#procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -procUnitConfObj2.addParameter(name='protocol', value='ssh', format='str') - - -# #Noise -#title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='0', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# opObj11.addParameter(name='show', value = show, format='bool') - - -# #For saving Pdata (doesn't work with amisr data yet!) -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='10', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved -# -# -# # procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# # procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# # procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# # procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# # procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# # procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# # procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# # procUnitConfObj2.addParameter(name='period', value=5, format='int') -# # procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -# #----------------------------------------------------------------------------------------------- -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=figpath+'/plots') -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_eej_proc_plot.py b/schainpy/scripts/scripts_v/amisr_eej_proc_plot.py deleted file mode 100755 index c1a9e22..0000000 --- a/schainpy/scripts/scripts_v/amisr_eej_proc_plot.py +++ /dev/null @@ -1,187 +0,0 @@ -# /usr/bin/python -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='eej_proc_plot', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/noise_Pall' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -figpath = '/home/soporte/Data/EEJ' -remotefolder = "/home/wmaster/graficos" - -path = figpath -pathfile1 = figpath -xmin = '07' -xmax = '18' -ymin ='30' -ymax ='300' -dbmin = '45' #'60'#'55' #'40' #noise esf eej -dbmax = '65' #'70' #'55' - -today = time.strftime("%Y/%m/%d") - -readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader', - path=path, - startDate=today, - endDate=today, - startTime='07:00:00', - endTime='18:00:00', - delay=150, - set=0, - online=1, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -######################## IMAGING ############################################# - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObj1.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - - -opObj11 = procUnitConfObj1.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') - - - -#Spectra Plot -opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1002', format='int') -opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='ymin', value=ymin, format='int') -opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath+'/plots', format='str') - -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -# opObj11.addParameter(name='exp_code', value='31', format='int') -# opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=figpath+'/plots', format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=60, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - - - -#RTI plot -opObj12 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj12.addParameter(name='id', value='2015', format='int') -opObj12.addParameter(name='wintitle', value='EEJ AMISR', format='str') -opObj12.addParameter(name='xmin', value=xmin, format='float') -opObj12.addParameter(name='xmax', value=xmax, format='float') -opObj12.addParameter(name='zmin', value=dbmin, format='int') -opObj12.addParameter(name='zmax', value=dbmax, format='int') -opObj12.addParameter(name='ymin', value=ymin, format='int') -opObj12.addParameter(name='ymax', value=ymax, format='int') - #opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') -opObj12.addParameter(name='showprofile', value='0', format='int') -opObj12.addParameter(name='save', value='1', format='int') -opObj12.addParameter(name='figpath', value=figpath+'/plots', format='str') - -opObj12.addParameter(name='ftp', value='1', format='int') -opObj12.addParameter(name='wr_period', value='2', format='int') -opObj12.addParameter(name='exp_code', value='21', format='int') -opObj12.addParameter(name='sub_exp_code', value='3', format='int') -# opObj12.addParameter(name='exp_code', value='31', format='int') -# opObj12.addParameter(name='sub_exp_code', value='0', format='int') -opObj12.addParameter(name='ftp_wei', value='0', format='int') -opObj12.addParameter(name='plot_pos', value='0', format='int') - - - - -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -#procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=figpath+'/plots', format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value=60, format='int') -procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - - - -#Noise -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObj1.addOperation(name='Noise', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=dbmin, format='int') -opObj11.addParameter(name='ymax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath+'/plots', format='str') - -# opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -# opObj11.addParameter(name='id', value='3001', format='int') -# opObj11.addParameter(name='wintitle', value='Imaging', format='str') -# opObj11.addParameter(name='xmin', value='20.5', format='float') -# opObj11.addParameter(name='xmax', value='24', format='float') -# opObj11.addParameter(name='figpath', value='/home/signalchain/Pictures/imaging', format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') - -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -opObj12.addParameter(name='path', value=pathfile1+'/plots') -opObj12.addParameter(name='blocksPerFile', value='10', format='int') -opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -opObj12.addParameter(name='mode',value='1',format='int') - -#opObj11 = procUnitConfObj1.addOperation(name='SendByFTP', optype='other') -#opObj11.addParameter(name='ext', value='*.png', format='str') -#opObj11.addParameter(name='localfolder', value='/media/DATA/imaging', format='str') -#opObj11.addParameter(name='remotefolder', value='/home/wmaster/graficos', format='str') -#opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -#opObj11.addParameter(name='server', value='10.10.120.125', format='str') -#opObj11.addParameter(name='username', value='wmaster', format='str') -#opObj11.addParameter(name='password', value='mst2010vhf', format='str') -#opObj11.addParameter(name='period', value='5', format='int') - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - diff --git a/schainpy/scripts/scripts_v/amisr_eej_proc_plot.py~ b/schainpy/scripts/scripts_v/amisr_eej_proc_plot.py~ deleted file mode 100755 index c68a9a4..0000000 --- a/schainpy/scripts/scripts_v/amisr_eej_proc_plot.py~ +++ /dev/null @@ -1,147 +0,0 @@ -#!/usr/bin/python -import os, sys - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/noise_Pall' -#path = '/media/soporte/AMISR_104' -figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -path = figpath -pathfile1 = figpath -xmin = '07' -xmax = '18' -dbmin = '45' #'60'#'55' #'40' #noise esf eej -dbmax = '65' #'70' #'55' - -readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader', - path=path, - startDate='2015/08/16', - endDate='2015/08/16', - startTime='00:00:00', - endTime='23:59:59', - delay=0, - set=0, - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -######################## IMAGING ############################################# - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObj1.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - - -opObj11 = procUnitConfObj1.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') - - -opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1002', format='int') -opObj11.addParameter(name='wintitle', value='Noise AMISR', format='str') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -#opObj11.addParameter(name='exp_code', value='13', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath+'/plots', format='str') -#opObj11.addParameter(name='wr_period', value='5', format='int') -#opObj11.addParameter(name='ftp', value='1', format='int') -#opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -#opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -#opObj11.addParameter(name='username', value='wmaster', format='str') -#opObj11.addParameter(name='password', value='mst2010vhf', format='str') -#opObj11.addParameter(name='ftp_wei', value='0', format='int') -#opObj11.addParameter(name='sub_exp_code', value='0', format='int') -#opObj11.addParameter(name='plot_pos', value='0', format='int') - -# opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='2015', format='int') -# opObj11.addParameter(name='wintitle', value='Noise AMISR', format='str') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='zmin', value=dbmin, format='int') -# opObj11.addParameter(name='zmax', value=dbmax, format='int') -# #opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# #opObj11.addParameter(name='exp_code', value='13', format='int') -# opObj11.addParameter(name='save', value='1', format='int') -# opObj11.addParameter(name='figpath', value=figpath+'/plots', format='str') -# #opObj11.addParameter(name='wr_period', value='5', format='int') -#opObj11.addParameter(name='ftp', value='1', format='int') -#opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -#opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -#opObj11.addParameter(name='username', value='wmaster', format='str') -#opObj11.addParameter(name='password', value='mst2010vhf', format='str') -#opObj11.addParameter(name='ftp_wei', value='0', format='int') -#opObj11.addParameter(name='sub_exp_code', value='0', format='int') -#opObj11.addParameter(name='plot_pos', value='0', format='int') - -#Noise -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObj1.addOperation(name='Noise', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=dbmin, format='int') -opObj11.addParameter(name='ymax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath+'/plots', format='str') - - -# opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -# opObj11.addParameter(name='id', value='3001', format='int') -# opObj11.addParameter(name='wintitle', value='Imaging', format='str') -# opObj11.addParameter(name='xmin', value='20.5', format='float') -# opObj11.addParameter(name='xmax', value='24', format='float') -# opObj11.addParameter(name='figpath', value='/home/signalchain/Pictures/imaging', format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') - -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -opObj12.addParameter(name='path', value=pathfile1+'/plots') -opObj12.addParameter(name='blocksPerFile', value='10', format='int') -opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -opObj12.addParameter(name='mode',value='1',format='int') - -#opObj11 = procUnitConfObj1.addOperation(name='SendByFTP', optype='other') -#opObj11.addParameter(name='ext', value='*.png', format='str') -#opObj11.addParameter(name='localfolder', value='/media/DATA/imaging', format='str') -#opObj11.addParameter(name='remotefolder', value='/home/wmaster/graficos', format='str') -#opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -#opObj11.addParameter(name='server', value='10.10.120.125', format='str') -#opObj11.addParameter(name='username', value='wmaster', format='str') -#opObj11.addParameter(name='password', value='mst2010vhf', format='str') -#opObj11.addParameter(name='period', value='5', format='int') - -print "Escribiendo el archivo XML" -controllerObj.writeXml(path +'/'+filename) -print "Leyendo el archivo XML" -controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - diff --git a/schainpy/scripts/scripts_v/amisr_eej_proc_plot_offline.py b/schainpy/scripts/scripts_v/amisr_eej_proc_plot_offline.py deleted file mode 100644 index 315f8fa..0000000 --- a/schainpy/scripts/scripts_v/amisr_eej_proc_plot_offline.py +++ /dev/null @@ -1,197 +0,0 @@ -# /usr/bin/python -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='eej_proc_plot', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/noise_Pall' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/EEJ' -remotefolder = "/home/wmaster/graficos" - -path = '/media/soporte/DATA/AMISR/JULIA/pdata/EEJ/' -figpath = '/media/soporte/DATA/AMISR/JULIA/plot/EEJ' - - - -# path = figpath -# pathfile1 = figpath -xmin = '07' -xmax = '18' -dbmin = '45' #'60'#'55' #'40' #noise esf eej -dbmax = '65' #'70' #'55' -ymin = '0' -# ymax = '300' -show = '1' - -today = time.strftime("%Y/%m/%d") - -readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader', - path=path, - startDate='2017/02/23',#'2016/04/01', - endDate='2017/03/04',#2017/03/14 '2016/04/30', - startTime='07:00:00', - endTime='17:59:59', - delay=0, - set=0, - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -######################## IMAGING ############################################# - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObj1.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - -# opObj10 = procUnitConfObj1.addOperation(name='selectChannelsByIndex') -# opObj10.addParameter(name='channelIndexList', value='2', format='intlist') - - -opObj11 = procUnitConfObj1.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') - - - -#Spectra Plot -# opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='2015', format='int') -# opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -# opObj11.addParameter(name='zmin', value=dbmin, format='int') -# opObj11.addParameter(name='zmax', value=dbmax, format='int') -# # opObj11.addParameter(name='ymin', value=ymin, format='int') -# # opObj11.addParameter(name='ymax', value=ymax, format='int') -# opObj11.addParameter(name='save', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') - -# opObj11.addParameter(name='ftp', value='1', format='int') -# opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='3', format='int') -# # opObj11.addParameter(name='exp_code', value='31', format='int') -# # opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=figpath+'/plots', format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=60, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - - - -#RTI plot -opObj12 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj12.addParameter(name='id', value='2015', format='int') -opObj12.addParameter(name='wintitle', value='EEJ AMISR', format='str') -opObj12.addParameter(name='xmin', value=xmin, format='float') -opObj12.addParameter(name='xmax', value=xmax, format='float') -opObj12.addParameter(name='ymin', value=ymin, format='float') -# opObj12.addParameter(name='ymax', value=ymax, format='float') -opObj12.addParameter(name='zmin', value=dbmin, format='int') -opObj12.addParameter(name='zmax', value=dbmax, format='int') - #opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') -opObj12.addParameter(name='showprofile', value='0', format='int') -opObj12.addParameter(name='save', value='1', format='int') -opObj12.addParameter(name='figpath', value=figpath, format='str') -opObj12.addParameter(name='show', value = show, format='bool') - -# opObj12.addParameter(name='ftp', value='1', format='int') -# opObj12.addParameter(name='wr_period', value='2', format='int') -# opObj12.addParameter(name='exp_code', value='21', format='int') -# opObj12.addParameter(name='sub_exp_code', value='3', format='int') -# # opObj12.addParameter(name='exp_code', value='31', format='int') -# # opObj12.addParameter(name='sub_exp_code', value='0', format='int') -# opObj12.addParameter(name='ftp_wei', value='0', format='int') -# opObj12.addParameter(name='plot_pos', value='0', format='int') - - - - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# #procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=figpath+'/plots', format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=60, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - - - -#Noise -#title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObj1.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath+'/plots', format='str') - -# opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -# opObj11.addParameter(name='id', value='3001', format='int') -# opObj11.addParameter(name='wintitle', value='Imaging', format='str') -# opObj11.addParameter(name='xmin', value='20.5', format='float') -# opObj11.addParameter(name='xmax', value='24', format='float') -# opObj11.addParameter(name='figpath', value='/home/signalchain/Pictures/imaging', format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') -# -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=pathfile1+'/plots') -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - -#opObj11 = procUnitConfObj1.addOperation(name='SendByFTP', optype='other') -#opObj11.addParameter(name='ext', value='*.png', format='str') -#opObj11.addParameter(name='localfolder', value='/media/DATA/imaging', format='str') -#opObj11.addParameter(name='remotefolder', value='/home/wmaster/graficos', format='str') -#opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -#opObj11.addParameter(name='server', value='10.10.120.125', format='str') -#opObj11.addParameter(name='username', value='wmaster', format='str') -#opObj11.addParameter(name='password', value='mst2010vhf', format='str') -#opObj11.addParameter(name='period', value='5', format='int') - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - diff --git a/schainpy/scripts/scripts_v/amisr_esf6beam_proc_online.py b/schainpy/scripts/scripts_v/amisr_esf6beam_proc_online.py deleted file mode 100644 index e023cbf..0000000 --- a/schainpy/scripts/scripts_v/amisr_esf6beam_proc_online.py +++ /dev/null @@ -1,220 +0,0 @@ -import os, sys -import time -import datetime - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='esf_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/ESF' -path = '/mnt/data_amisr' - -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF' -figpath = '/home/soporte/Data/ESF6beams' -remotefolder = "/home/wmaster/graficos" - -xmin = '00' -xmax = '24' -dbmin = '60' #'60'#'55' #'40' #noise esf eej -dbmax = '75' #'70' #'55' -show = '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' -nCode = '1' -nBaud = '28' -nosamp = '2' # oversample - -str = datetime.date.today() -str1 = str + datetime.timedelta(days=1) -today = str.strftime("%Y/%m/%d") -tomorrow = str1.strftime("%Y/%m/%d") - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2016/02/03',#today, #'2014/10/07', - endDate='2016/02/06', #tomorrow, #'2014/10/07', - startTime='00:00:30',#'07:00:00', - endTime='23:59:59',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=1) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dec 3, 15:40h -opObj10.addParameter(name='frequency', value='430e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -#Noise--> no code - -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') -opObj11.addParameter(name='osamp', value=nosamp, format='int') - - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='121', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=32, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='60', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - -# # #RemoveDc -# # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -#opObj11.addParameter(name='zmin', value='38', format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='4', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='4', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - -# #send to server -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -#procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value='300', format='int') -procUnitConfObj2.addParameter(name='protocol', value='ssh', format='str') - -# # # -# #Noise -#title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# opObj11.addParameter(name='show', value = show, format='bool') - - -#Generate *.pdata from AMISR data -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='10', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved -# -# #generate moments -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=figpath+'/plots') -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=5, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_esfEWDrift_proc_plot_offline.py b/schainpy/scripts/scripts_v/amisr_esfEWDrift_proc_plot_offline.py deleted file mode 100644 index bf6cbf9..0000000 --- a/schainpy/scripts/scripts_v/amisr_esfEWDrift_proc_plot_offline.py +++ /dev/null @@ -1,179 +0,0 @@ -# /usr/bin/python -import os, sys -import time, datetime - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='esf_proc_plot', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/ESF' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') -figpath = '/home/soporte/Data/ESF' -figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF' - -remotefolder = "/home/wmaster/graficos" - -path = figpath -pathfile1 = figpath -xmin = '18' -xmax = '31' -dbmin = '60' #'60'#'55' #'40' #noise esf eej -dbmax = '75' #'70' #'55' - -str = datetime.date.today() -str1 = str + datetime.timedelta(days=1) -today = str.strftime("%Y/%m/%d") -tomorrow = str1.strftime("%Y/%m/%d") - -path = '/media/soporte/DATA/AMISR/JULIA/pdata/ESF10beams/' -figpath = '/media/soporte/DATA/AMISR/JULIA/plot/ESF10beams' -procpath = '/media/soporte/DATA/AMISR/JULIA/param/ESF10beams' - - -readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader', - path=path, - startDate='2017/05/26', - endDate='2017/05/27', - startTime='18:01:00', - endTime='06:59:00', - delay=0, - #set=0, - online=0, - walk=1 - ) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -######################## IMAGING ############################################# - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObj1.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - - -opObj11 = procUnitConfObj1.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='650', format='float') -opObj11.addParameter(name='maxHei', value='800', format='float') - - -# opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='1002', format='int') -# opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -# opObj11.addParameter(name='zmin', value=dbmin, format='int') -# opObj11.addParameter(name='zmax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='int') -# opObj11.addParameter(name='figpath', value=figpath+'/plots', format='str') -# -# -# opObj11.addParameter(name='ftp', value='1', format='int') -# opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='4', format='int') -# # opObj11.addParameter(name='exp_code', value='31', format='int') -# # opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=figpath+'/plots', format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=60, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - - - -#RTI Plot -opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2016', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') - -# opObj11.addParameter(name='ftp', value='1', format='int') -# opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='4', format='int') -# # opObj11.addParameter(name='exp_code', value='31', format='int') -# # opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=figpath+'/plots', format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=60, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - - - -#Noise -# #title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObj1.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath+'/plots', format='str') - - -# opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -# opObj11.addParameter(name='id', value='3001', format='int') -# opObj11.addParameter(name='wintitle', value='Imaging', format='str') -# opObj11.addParameter(name='xmin', value='20.5', format='float') -# opObj11.addParameter(name='xmax', value='24', format='float') -# opObj11.addParameter(name='figpath', value='/home/signalchain/Pictures/imaging', format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') -# -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# # -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=procpath) -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(path +'/'+filename) -print "Leyendo el archivo XML" -controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - diff --git a/schainpy/scripts/scripts_v/amisr_esfEwDrift_proc_allday_offline.py b/schainpy/scripts/scripts_v/amisr_esfEwDrift_proc_allday_offline.py deleted file mode 100644 index ccdbcf2..0000000 --- a/schainpy/scripts/scripts_v/amisr_esfEwDrift_proc_allday_offline.py +++ /dev/null @@ -1,234 +0,0 @@ -import os, sys -import time -import datetime - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='esf_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/ESF' -path = '/mnt/data_amisr' - -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF' -figpath = '/home/soporte/Data/ESF/EWDrift' -remotefolder = "/home/wmaster/graficos" - -xmin = '16' -xmax = '33' -dbmin = '60' #'60'#'55' #'40' #noise esf eej -dbmax = '75' #'70' #'55' -show = '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' -nCode = '1' -nBaud = '28' -nosamp = '2' # oversample - -str = datetime.date.today() -str1 = str + datetime.timedelta(days=1) -today = str.strftime("%Y/%m/%d") -tomorrow = str1.strftime("%Y/%m/%d") - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2017/08/02', #'2014/10/07', - endDate='2017/08/03', - startTime='16:00:00',#'07:00:00', - endTime='08:59:59',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=0) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dec 3, 15:40h -#opObj10.addParameter(name='frequency', value='430e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -#Noise--> no code - -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') -opObj11.addParameter(name='osamp', value=nosamp, format='int') - - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='121', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='60', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - -# # #RemoveDc -# # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') - -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='selectChannels') -# opObj11.addParameter(name='channelList', value='0,2,4,6,8', format='intlist') - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -#opObj11.addParameter(name='zmin', value='38', format='int') -opObj11.addParameter(name='ymin', value='0', format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='4', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='1', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='ymin', value='0', format='int') - -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='4', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='1', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - -# # #send to server -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# #procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value='300', format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - -# # # -# #Noise -#title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# opObj11.addParameter(name='show', value = show, format='bool') - - -#Generate *.pdata from AMISR data -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='10', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved -# -# #generate moments -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=figpath+'/plots') -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=5, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_esfEwDrift_proc_allday_online.py b/schainpy/scripts/scripts_v/amisr_esfEwDrift_proc_allday_online.py deleted file mode 100644 index 1641534..0000000 --- a/schainpy/scripts/scripts_v/amisr_esfEwDrift_proc_allday_online.py +++ /dev/null @@ -1,234 +0,0 @@ -import os, sys -import time -import datetime - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='esf_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/ESF' -path = '/mnt/data_amisr' - -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF' -figpath = '/home/soporte/Data/ESF' -remotefolder = "/home/wmaster/graficos" - -xmin = '16' -xmax = '33' -dbmin = '60' #'60'#'55' #'40' #noise esf eej -dbmax = '75' #'70' #'55' -show = '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' -nCode = '1' -nBaud = '28' -nosamp = '2' # oversample - -str = datetime.date.today() -str1 = str + datetime.timedelta(days=1) -today = str.strftime("%Y/%m/%d") -tomorrow = str1.strftime("%Y/%m/%d") - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2017/08/02', #'2014/10/07', - endDate='2017/08/03', - startTime='16:00:00',#'07:00:00', - endTime='09:00:00',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=1) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dec 3, 15:40h -#opObj10.addParameter(name='frequency', value='430e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -#Noise--> no code - -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') -opObj11.addParameter(name='osamp', value=nosamp, format='int') - - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='121', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='60', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - -# # #RemoveDc -# # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') - -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='selectChannels') -opObj11.addParameter(name='channelList', value='0,2,4,6,8', format='intlist') - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -#opObj11.addParameter(name='zmin', value='38', format='int') -opObj11.addParameter(name='ymin', value='0', format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='0', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='4', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='1', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='ymin', value='0', format='int') - -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='4', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='1', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - -# #send to server -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -#procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value='300', format='int') -procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - -# # # -# #Noise -#title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# opObj11.addParameter(name='show', value = show, format='bool') - - -#Generate *.pdata from AMISR data -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='10', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved -# -# #generate moments -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=figpath+'/plots') -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=5, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_esfEwDrift_proc_offline.py b/schainpy/scripts/scripts_v/amisr_esfEwDrift_proc_offline.py deleted file mode 100644 index fd44ca4..0000000 --- a/schainpy/scripts/scripts_v/amisr_esfEwDrift_proc_offline.py +++ /dev/null @@ -1,233 +0,0 @@ -import os, sys -import time -import datetime - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='esf_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/ESF' -path = '/mnt/data_amisr' - -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF' -figpath = '/home/soporte/Data/ESF' -remotefolder = "/home/wmaster/graficos" - -xmin = '18' -xmax = '32' -dbmin = '60' #'60'#'55' #'40' #noise esf eej -dbmax = '75' #'70' #'55' -show = '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' -nCode = '1' -nBaud = '28' -nosamp = '2' # oversample - -str = datetime.date.today() -str1 = str + datetime.timedelta(days=1) -str2 = str - datetime.timedelta(days=1) -today = str.strftime("%Y/%m/%d") -tomorrow = str1.strftime("%Y/%m/%d") -yesterday = str2.strftime("%Y/%m/%d") - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate=yesterday,#'2016/07/12', - endDate=yesterday,#'2016/07/13', - startTime='00:00:00',#'07:00:00', - endTime='23:59:59',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=0) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dec 3, 15:40h -#opObj10.addParameter(name='frequency', value='430e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -#Noise--> no code - -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') -opObj11.addParameter(name='osamp', value=nosamp, format='int') - - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='121', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='60', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - -# # #RemoveDc -# # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') - -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='selectChannels') -opObj11.addParameter(name='channelList', value='0,2,4,6,8', format='intlist') - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -#opObj11.addParameter(name='zmin', value='38', format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='4', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='1', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='4', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='1', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - -# #send to server -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -#procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value='300', format='int') -procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - -# # # -# #Noise -#title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# opObj11.addParameter(name='show', value = show, format='bool') - - -#Generate *.pdata from AMISR data -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='10', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved -# -# #generate moments -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=figpath+'/plots') -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=5, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_esfEwDrift_proc_offline_pdata_moments.py b/schainpy/scripts/scripts_v/amisr_esfEwDrift_proc_offline_pdata_moments.py deleted file mode 100644 index e47bbcf..0000000 --- a/schainpy/scripts/scripts_v/amisr_esfEwDrift_proc_offline_pdata_moments.py +++ /dev/null @@ -1,258 +0,0 @@ -import os, sys -import time -import datetime - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='esf_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/ESF' -path = '/mnt/data_amisr' - -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF' -figpath = '/home/soporte/Data/ESF' -remotefolder = "/home/wmaster/graficos" - -path='/media/soporte/data_karim/AMISR/JULIA/ESF10beams' -figpath = '/media/soporte/DATA/AMISR/JULIA/plot/ESF10beams' -pdatapath = '/media/soporte/DATA/AMISR/JULIA/pdata/ESF10beams' -procpath = '/media/soporte/DATA/AMISR/JULIA/param/ESF10beams' - - -path='/media/soporte/Seagate Backup Plus Drive/AMISR/JULIA/' -figpath = '/media/soporte/DATA/AMISR/JULIA/plot/ESF10beams' -pdatapath = '/media/soporte/DATA/AMISR/JULIA/pdata/ESF10beams' -procpath = '/media/soporte/DATA/AMISR/JULIA/param/ESF10beams' - - -#path='/mnt/data_amisr/' -#path = '/media/soporte/New Volume/AMISR/JULIA/ESF10Beams/' -#path = '/media/soporte/data/AMISR/ESFDrift/' -#path = '/mnt/data_amisr/ESF10beams/' - -#path = '/media/soporte/data/AMS/ESF10beams/' (2017/03/14 - 2017/03/15) - -path = '/mnt/data_hddamisr/ESF10Beams' -path='/mnt/data_amisr/ESF10beams' -figpath = '/media/soporte/DATA/AMISR/JULIA/plot/ESF10beams' -pdatapath = '/media/soporte/DATA/AMISR/JULIA/pdata/ESF10beams' -procpath = '/media/soporte/DATA/AMISR/JULIA/param/ESF10beams' - -xmin = '18' -xmax = '31' -dbmin = '60' #'60'#'55' #'40' #noise esf eej -dbmax = '75' #'70' #'55' -show = '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' -nCode = '1' -nBaud = '28' -nosamp = '2' # oversample - -str = datetime.date.today() -str1 = str + datetime.timedelta(days=1) -str2 = str - datetime.timedelta(days=1) -today = str.strftime("%Y/%m/%d") -tomorrow = str1.strftime("%Y/%m/%d") -yesterday = str2.strftime("%Y/%m/%d") - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2017/05/26', - endDate='2017/05/27', - startTime='18:01:00',#'07:00:00', - endTime='06:59:00',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=0) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dec 3, 15:40h -#opObj10.addParameter(name='frequency', value='430e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -#Noise--> no code - -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') -opObj11.addParameter(name='osamp', value=nosamp, format='int') - - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='121', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='60', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - -# # #RemoveDc -# # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') - -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='selectChannels') -# opObj11.addParameter(name='channelList', value='0,2,4,6,8', format='intlist') - -#SpectraPlot -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='1', format='int') -# opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -# #opObj11.addParameter(name='zmin', value='38', format='int') -# opObj11.addParameter(name='zmin', value=dbmin, format='int') -# opObj11.addParameter(name='zmax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# opObj11.addParameter(name='ftp', value='1', format='int') -# opObj11.addParameter(name='wr_period', value='2', format='int') -# # opObj11.addParameter(name='exp_code', value='21', format='int') -# # opObj11.addParameter(name='sub_exp_code', value='4', format='int') -# # opObj11.addParameter(name='ftp_wei', value='0', format='int') -# # opObj11.addParameter(name='plot_pos', value='0', format='int') -# opObj11.addParameter(name='exp_code', value='1', format='int') -# opObj11.addParameter(name='sub_exp_code', value='1', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - - - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='4', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='1', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - -# # #send to server -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# #procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value='300', format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - -# # # -# #Noise -#title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# opObj11.addParameter(name='show', value = show, format='bool') - - -#Generate *.pdata from AMISR data -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -opObj11.addParameter(name='path', value=pdatapath) -opObj11.addParameter(name='blocksPerFile', value='10', format='int') -opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved - -# #generate moments -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -opObj12.addParameter(name='path', value=procpath) -opObj12.addParameter(name='blocksPerFile', value='10', format='int') -opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -opObj12.addParameter(name='mode',value='1',format='int') - - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=5, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_esfEwDrift_proc_online.py b/schainpy/scripts/scripts_v/amisr_esfEwDrift_proc_online.py deleted file mode 100644 index 352c377..0000000 --- a/schainpy/scripts/scripts_v/amisr_esfEwDrift_proc_online.py +++ /dev/null @@ -1,232 +0,0 @@ -import os, sys -import time -import datetime - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='esf_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/ESF' -path = '/mnt/data_amisr' - -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF' -figpath = '/home/soporte/Data/ESF' -remotefolder = "/home/wmaster/graficos" - -xmin = '00' -xmax = '24' -dbmin = '60' #'60'#'55' #'40' #noise esf eej -dbmax = '75' #'70' #'55' -show = '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' -nCode = '1' -nBaud = '28' -nosamp = '2' # oversample - -str = datetime.date.today() -str1 = str + datetime.timedelta(days=1) -today = str.strftime("%Y/%m/%d") -tomorrow = str1.strftime("%Y/%m/%d") - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate=today, #'2014/10/07', - endDate=tomorrow, - startTime='18:01:00',#'07:00:00', - endTime='06:59:59',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=1) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dec 3, 15:40h -#opObj10.addParameter(name='frequency', value='430e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -#Noise--> no code - -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') -opObj11.addParameter(name='osamp', value=nosamp, format='int') - - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='121', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='60', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - -# # #RemoveDc -# # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') - -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='selectChannels') -opObj11.addParameter(name='channelList', value='0,2,4,6,8', format='intlist') - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -#opObj11.addParameter(name='zmin', value='38', format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='0', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='4', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='1', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='4', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='1', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - -# #send to server -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -#procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -#procUnitConfObj2.addParameter(name='server', value='181.177.232.125', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value='300', format='int') -procUnitConfObj2.addParameter(name='protocol', value='ssh', format='str') - -# # # -# #Noise -#title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# opObj11.addParameter(name='show', value = show, format='bool') - - -#Generate *.pdata from AMISR data -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='10', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved -# -# #generate moments -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=figpath+'/plots') -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=5, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_esf_proc.py b/schainpy/scripts/scripts_v/amisr_esf_proc.py deleted file mode 100644 index 6fbe0ea..0000000 --- a/schainpy/scripts/scripts_v/amisr_esf_proc.py +++ /dev/null @@ -1,180 +0,0 @@ -import os, sys -import time -import datetime - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='esf_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -path = '/media/soporte/E9F4-F053/AMISR/Data/ESF' -path = '/mnt/data_amisr' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') -figpath = '/home/soporte/Data/ESF' - -xmin = '00' -xmax = '24' -dbmin = '50' #'60'#'55' #'40' #noise esf eej -dbmax = '65' #'70' #'55' - -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' -nCode = '1' -nBaud = '28' -nosamp = '2' # oversample - -str = datetime.date.today() -str1 = str + datetime.timedelta(days=1) -today = str.strftime("%Y/%m/%d") -tomorrow = str1.strftime("%Y/%m/%d") - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate=today, #'2014/10/07', - endDate=tomorrow, #'2014/10/07', - startTime='18:01:30',#'07:00:00', - endTime='06:55:00',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=1) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -#Noise--> no code - -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') -opObj11.addParameter(name='osamp', value=nosamp, format='int') - - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='121', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=32, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='60', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - -# #procUnitConfObjSpectraBeam0.addParameter(name='pairsList', value='(0,0),(1,1),(2,2),(3,3),(4,4)', \ -# # format='pairsList') -# -# # procUnitConfObjSpectraBeam0.addParameter(name='pairsList', value='(0,0)', \ -# # format='pairsList') -# # -# # #RemoveDc -# # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') -# -# #Noise Estimation -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -# opObj11.addParameter(name='minHei', value='100', format='float') -# opObj11.addParameter(name='maxHei', value='280', format='float') -# #opObj11.addParameter(name='minHei', value='15', format='float') -# #opObj11.addParameter(name='maxHei', value='20', format='float') -# # -# #SpectraPlot -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='1', format='int') -# opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') -# #opObj11.addParameter(name='zmin', value='38', format='int') -# opObj11.addParameter(name='zmin', value=dbmin, format='int') -# opObj11.addParameter(name='zmax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# # -# # # #RTIPlot -# # # #title0 = 'RTI AMISR Beam 0' -# # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -# # opObj11.addParameter(name='id', value='2', format='int') -# # # opObj11.addParameter(name='wintitle', value=title0, format='str') -# # opObj11.addParameter(name='showprofile', value='0', format='int') -# # opObj11.addParameter(name='xmin', value=xmin, format='float') -# # opObj11.addParameter(name='xmax', value=xmax, format='float') -# # opObj11.addParameter(name='zmin', value=dbmin, format='int') -# # opObj11.addParameter(name='zmax', value=dbmax, format='int') -# # opObj11.addParameter(name='save', value='1', format='bool') -# # opObj11.addParameter(name='figpath', value = figpath, format='str') -# # # -# # # -# # #Noise -# #title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# # opObj11.addParameter(name='wintitle', value=title0, format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') - - -#For saving Pdata (doesn't work with amisr data yet!) -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -opObj11.addParameter(name='path', value=figpath) -opObj11.addParameter(name='blocksPerFile', value='10', format='int') -opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved - - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=5, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_esf_proc_offline.py b/schainpy/scripts/scripts_v/amisr_esf_proc_offline.py deleted file mode 100644 index 4dc09c2..0000000 --- a/schainpy/scripts/scripts_v/amisr_esf_proc_offline.py +++ /dev/null @@ -1,217 +0,0 @@ -import os, sys -import time -#import datetime - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -def main(): - desc = "AMISR Experiment" - - filename = "amisr_reader.xml" - - controllerObj = Project() - - controllerObj.setup(id = '10', name='esf_proc', description=desc) - - - #path = os.path.join(os.environ['HOME'],'amisr') - # path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' - # path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' - # path = '/media/soporte/E9F4-F053/AMISR/Data/ESF' - #path = '/mnt/data_amisr' - - #path = '/media/soporte/AMISR_104' - #figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') - #figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF' - figpath = '/home/soporte/Data/ESF' - remotefolder = "/home/wmaster/graficos" - - xmin = '18' - xmax = '31' - dbmin = '60' #'60'#'55' #'40' #noise esf eej - dbmax = '75' #'70' #'55' - show = '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' - nCode = '1' - nBaud = '28' - nosamp = '2' # oversample - - # str = datetime.date.today() - # str1 = str + datetime.timedelta(days=1) - # str2 = str - datetime.timedelta(days=1) - # today = str.strftime("%Y/%m/%d") - # tomorrow = str1.strftime("%Y/%m/%d") - # yesterday = str2.strftime("%Y/%m/%d") - path1= '/home/soporte/dataAMISR_test/' - path2='/home/soporte/Documentos/AMISR_datos_ejemplo/ESF/d2016014/' - - readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path1, - startDate="2019/12/15",#yesterday, #'2014/10/07', - endDate="2019/12/17", #'2014/10/07', - startTime='18:00:00',#'07:00:00', - endTime='07:00:00',#'15:00:00', - walk=1, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=0) - - #AMISR Processing Unit - - #Voltage Processing Unit - procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') - #chaned on Dec 3, 15:40h - #opObj10.addParameter(name='frequency', value='430e6', format='float') - - # opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') - # opObj12.addParameter(name='minHei', value='0', format='float') - - # 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' - # code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' - #Noise--> no code - - opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='external') - opObj11.addParameter(name='code', value=code, format='floatlist') - opObj11.addParameter(name='nCode', value=nCode, format='int') - opObj11.addParameter(name='nBaud', value=nBaud, format='int') - opObj11.addParameter(name='osamp', value=nosamp, format='int') - - - # opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') - # opObj12.addParameter(name='minHei', value='50', format='float') - # opObj12.addParameter(name='maxHei', value='150', format='float') - #Coherent Integration - # opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') - # opObj11.addParameter(name='n', value='2', format='int') - - # opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other') - # opObj11.addParameter(name='id', value='121', format='int') - - #Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints - procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) - procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') - procUnitConfObjSpectraBeam0.addParameter(name='frequency', value='445e6', format='float') - procUnitConfObjSpectraBeam0.addParameter(name='nProfiles', value='128', format='int') - procUnitConfObjSpectraBeam0.addParameter(name='pairsList', value='(0, 1), (2, 3)', format='pairslist') - # - #####opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') - #####opObj11.addParameter(name='n', value='60', format='int') - # #opObj11.addParameter(name='timeInterval', value='30', format='float') - - - # # #RemoveDc - # # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - - # #Noise Estimation - # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise', optype='other') - # opObj11.addParameter(name='minHei', value='650', format='float') - # opObj11.addParameter(name='maxHei', value='800', format='float') - # #opObj11.addParameter(name='minHei', value='15', format='float') - # #opObj11.addParameter(name='maxHei', value='20', format='float') - - # #SpectraPlot - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='external') - opObj11.addParameter(name='id', value='1', format='int') - opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') - #opObj11.addParameter(name='zmin', value='38', format='int') - opObj11.addParameter(name='zmin', value=dbmin, format='int') - opObj11.addParameter(name='zmax', value=dbmax, format='int') - opObj11.addParameter(name='save', value='1', format='bool') - opObj11.addParameter(name='figpath', value = figpath, format='str') - - - #RTIPlot - #title0 = 'RTI AMISR Beam 0' - # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='external') - # opObj11.addParameter(name='id', value='2', format='int') - # opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') - # opObj11.addParameter(name='showprofile', value='1', format='int') - # opObj11.addParameter(name='xmin', value=xmin, format='float') - # opObj11.addParameter(name='xmax', value=xmax, format='float') - # opObj11.addParameter(name='zmin', value=dbmin, format='int') - # opObj11.addParameter(name='zmax', value=dbmax, format='int') - # opObj11.addParameter(name='save', value='1', format='bool') - # opObj11.addParameter(name='figpath', value = figpath+'/plots', format='str') - # opObj11.addParameter(name='show', value = show, format='bool') - - op7 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='external') - op7.addParameter(name='id', value='20', format='int') - op7.addParameter(name='wintitle', value='RTI', format='str') - op7.addParameter(name='xmin', value='0', format='float') - op7.addParameter(name='xmax', value='24', format='float') - op7.addParameter(name='zmin', value='12', format='int') - op7.addParameter(name='zmax', value='32', format='int') - op7.addParameter(name='showprofile', value='1', format='int') - op7.addParameter(name='show', value = show, format='bool') - op7.addParameter(name='timerange', value=str(24*60*60), format='int') - op7.addParameter(name='save', value='1', format='bool') - op7.addParameter(name='figpath', value = figpath+'/plots', format='str') - - #op7.addParameter(name='timerange', value=str(24*60*60), format='int') - # # - # # - # #Noise - #title0 = 'RTI AMISR Beam 0' - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='external') - opObj11.addParameter(name='id', value='3', format='int') - opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') - opObj11.addParameter(name='showprofile', value='0', format='int') - opObj11.addParameter(name='xmin', value=xmin, format='float') - opObj11.addParameter(name='xmax', value=xmax, format='float') - opObj11.addParameter(name='ymin', value=dbmin, format='int') - opObj11.addParameter(name='ymax', value=dbmax, format='int') - opObj11.addParameter(name='save', value='1', format='bool') - opObj11.addParameter(name='figpath', value = figpath+'/plots', format='str') - opObj11.addParameter(name='show', value = show, format='bool') - - - #Generate *.pdata from AMISR data - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='external') - opObj11.addParameter(name='path', value=figpath) - opObj11.addParameter(name='blocksPerFile', value='10', format='int') - opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved - - #generate moments - # procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) - # opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - # - # opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') - # opObj12.addParameter(name='path', value=figpath+'/param') - # opObj12.addParameter(name='blocksPerFile', value='10', format='int') - # opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') - # opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') - # opObj12.addParameter(name='mode',value='1',format='int') - - - # procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') - # procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') - # procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') - # procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') - # procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') - # procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') - # procUnitConfObj2.addParameter(name='ext', value='.png', format='str') - # procUnitConfObj2.addParameter(name='period', value=5, format='int') - # procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - #----------------------------------------------------------------------------------------------- - - controllerObj.start() - # print ("Escribiendo el archivo XML") - # controllerObj.writeXml(filename) - # print ("Leyendo el archivo XML") - # controllerObj.readXml(filename) - - -#21 3 pm -if __name__ == '__main__': - import time - start_time = time.time() - main() - print("--- %s seconds ---" % (time.time() - start_time)) diff --git a/schainpy/scripts/scripts_v/amisr_esf_proc_offline_pdata_moments.py b/schainpy/scripts/scripts_v/amisr_esf_proc_offline_pdata_moments.py deleted file mode 100644 index 2eb7fa0..0000000 --- a/schainpy/scripts/scripts_v/amisr_esf_proc_offline_pdata_moments.py +++ /dev/null @@ -1,226 +0,0 @@ - -import os, sys -import time -import datetime - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='esf_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/ESF' -path = '/mnt/data_amisr' - -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF' -figpath = '/home/soporte/Data/ESF' -remotefolder = "/home/wmaster/graficos" - -path = '/media/soporte/New Volume/AMISR/JULIA/ESF' -figpath = '/media/soporte/New Volume/AMISR/JULIA/plots/ESF' -pdatapath = '/media/soporte/New Volume/AMISR/JULIA/pdata/ESF' -procpath = '/media/soporte/New Volume/AMISR/JULIA/param/ESF' - - -path='/media/soporte/New Volume/AMISR/JULIA/ESF' -figpath = '/media/soporte/DATA/AMISR/JULIA/plot/ESF' -pdatapath = '/media/soporte/DATA/AMISR/JULIA/pdata/ESF' -procpath = '/media/soporte/DATA/AMISR/JULIA/param/ESF' - -path='/media/soporte/DATA/AMISR/JULIA/ESF' -figpath = '/media/soporte/DATA/AMISR/JULIA/plot/ESF' -pdatapath = '/media/soporte/DATA/AMISR/JULIA/pdata/ESF' -procpath = '/media/soporte/DATA/AMISR/JULIA/param/ESF' - -path='/media/soporte/data_karim/AMISR/JULIA/ESF' -figpath = '/media/soporte/DATA/AMISR/JULIA/plot/ESF' -pdatapath = '/media/soporte/DATA/AMISR/JULIA/pdata/ESF' -procpath = '/media/soporte/DATA/AMISR/JULIA/param/ESF' - -xmin = '18' -xmax = '31' -# xmin = '0' -# xmax = '24' -ymin ='0' -dbmin = '60' #'60'#'55' #'40' #noise esf eej -dbmax = '75' #'70' #'55' -show = '0' - -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' -nCode = '1' -nBaud = '28' -nosamp = '2' # oversample - -str = datetime.date.today() -str1 = str + datetime.timedelta(days=1) -str2 = str - datetime.timedelta(days=1) -today = str.strftime("%Y/%m/%d") -tomorrow = str1.strftime("%Y/%m/%d") -yesterday = str2.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2016/06/27',#yesterday, #'2014/10/07', - endDate='2016/07/31',#today, #'2014/10/07', - startTime='18:00:00',#'07:00:00', - endTime='06:59:59',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=0) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') #chaned on Dec 3, 15:40h -#opObj10.addParameter(name='frequency', value='435e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -#Noise--> no code - -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') -opObj11.addParameter(name='osamp', value=nosamp, format='int') - - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='121', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=32, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeInterference') - -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='60', format='int')# time interval 1 min -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - -# # #RemoveDc -# # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -# #Noise Estimation -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -# opObj11.addParameter(name='minHei', value='650', format='float') -# opObj11.addParameter(name='maxHei', value='800', format='float') -# #opObj11.addParameter(name='minHei', value='15', format='float') -# #opObj11.addParameter(name='maxHei', value='20', format='float') -# -# # #SpectraPlot -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='1', format='int') -# opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') -# #opObj11.addParameter(name='zmin', value='38', format='int') -# opObj11.addParameter(name='zmin', value=dbmin, format='int') -# opObj11.addParameter(name='zmax', value=dbmax, format='int') -# opObj11.addParameter(name='ymin', value=ymin, format='int') -# opObj11.addParameter(name='save', value='0', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# -# -# # #RTIPlot -# # #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=ymin, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') -# # # -# # # -# #Noise -#title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# opObj11.addParameter(name='show', value = show, format='bool') - - -#Generate *.pdata from AMISR data -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -opObj11.addParameter(name='path', value=pdatapath) -opObj11.addParameter(name='blocksPerFile', value='10', format='int') -opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved - -# #generate moments -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -opObj12.addParameter(name='path', value=procpath) -opObj12.addParameter(name='blocksPerFile', value='10', format='int') -opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -opObj12.addParameter(name='mode',value='1',format='int') - - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=5, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_esf_proc_online.py b/schainpy/scripts/scripts_v/amisr_esf_proc_online.py deleted file mode 100644 index 255f331..0000000 --- a/schainpy/scripts/scripts_v/amisr_esf_proc_online.py +++ /dev/null @@ -1,228 +0,0 @@ -import os, sys -import time -import datetime - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='esf_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/ESF' -path = '/mnt/data_amisr' - -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF' -figpath = '/home/soporte/Data/ESF' -remotefolder = "/home/wmaster/graficos" - -xmin = '18' -xmax = '31' -dbmin = '60' #'60'#'55' #'40' #noise esf eej -dbmax = '75' #'70' #'55' -show = '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' -nCode = '1' -nBaud = '28' -nosamp = '2' # oversample - -str = datetime.date.today() -str1 = str + datetime.timedelta(days=1) -today = str.strftime("%Y/%m/%d") -tomorrow = str1.strftime("%Y/%m/%d") - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate=today, #'2014/10/07', - endDate=tomorrow, #'2014/10/07', - startTime='18:01:30',#'07:00:00', - endTime='07:00:00',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=1) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dec 3, 15:40h -#opObj10.addParameter(name='frequency', value='430e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -#Noise--> no code - -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value=nCode, format='int') -opObj11.addParameter(name='nBaud', value=nBaud, format='int') -opObj11.addParameter(name='osamp', value=nosamp, format='int') - - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='121', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=32, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='60', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - -# # #RemoveDc -# # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -#opObj11.addParameter(name='zmin', value='38', format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='0', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='4', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='1', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='4', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') -opObj11.addParameter(name='exp_code', value='1', format='int') -opObj11.addParameter(name='sub_exp_code', value='1', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - -# #send to server -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -#procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value='300', format='int') -procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - -# # # -# #Noise -#title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# opObj11.addParameter(name='show', value = show, format='bool') - - -#Generate *.pdata from AMISR data -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='10', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved -# -# #generate moments -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=figpath+'/plots') -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=5, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_esf_proc_plot.py b/schainpy/scripts/scripts_v/amisr_esf_proc_plot.py deleted file mode 100755 index 294c9e2..0000000 --- a/schainpy/scripts/scripts_v/amisr_esf_proc_plot.py +++ /dev/null @@ -1,157 +0,0 @@ -# /usr/bin/python -import os, sys -import time, datetime - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='esf_proc_plot', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/ESF' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') -figpath = '/home/soporte/Data/ESF' -remotefolder = "/home/wmaster/graficos" - -path = figpath -pathfile1 = figpath -xmin = '18' -xmax = '31' -dbmin = '60' #'60'#'55' #'40' #noise esf eej -dbmax = '75' #'70' #'55' - -str = datetime.date.today() -str1 = str + datetime.timedelta(days=1) -str2 = str - datetime.timedelta(days=1) -today = str.strftime("%Y/%m/%d") -tomorrow = str1.strftime("%Y/%m/%d") -yesterday = str2.strftime("%Y/%m/%d") - -readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader', - path=path, - startDate=today, - endDate=tomorrow, - startTime='18:00:00', - endTime='07:00:00', - delay=150, - #set=0, - online=1, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -######################## IMAGING ############################################# - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObj1.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - - -opObj11 = procUnitConfObj1.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='650', format='float') -opObj11.addParameter(name='maxHei', value='800', format='float') - - -opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1002', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath+'/plots', format='str') - - -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='4', format='int') -# opObj11.addParameter(name='exp_code', value='31', format='int') -# opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - - - -#RTI Plot -opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2015', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath+'/plots', format='str') - -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='4', format='int') -# opObj11.addParameter(name='exp_code', value='31', format='int') -# opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=figpath+'/plots', format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value=60, format='int') -procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - - - -#Noise -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObj1.addOperation(name='Noise', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=dbmin, format='int') -opObj11.addParameter(name='ymax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath+'/plots', format='str') - - - -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -opObj12.addParameter(name='path', value=pathfile1+'/plots') -opObj12.addParameter(name='blocksPerFile', value='10', format='int') -opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -opObj12.addParameter(name='mode',value='1',format='int') - - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(path +'/'+filename) -print "Leyendo el archivo XML" -controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - diff --git a/schainpy/scripts/scripts_v/amisr_esf_proc_plot.py.save b/schainpy/scripts/scripts_v/amisr_esf_proc_plot.py.save deleted file mode 100755 index 8d7b94b..0000000 --- a/schainpy/scripts/scripts_v/amisr_esf_proc_plot.py.save +++ /dev/null @@ -1,148 +0,0 @@ -# /usr/bin/python -import os, sys - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='esf_proc_plot', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/ESF' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') -figpath = '/home/soporte/Data/ESF' -path = figpath -pathfile1 = figpath -xmin = '18' -xmax = '25' -dbmin = '60' #'60'#'55' #'40' #noise esf eej -dbmax = '75' #'70' #'55' - -readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader', - path=path, - startDate='2015/10/05', - endDate='2015/10/06', - startTime='18:00:00', - endTime='07:00:00', - delay=60, - set=0, - online=1, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -######################## IMAGING ############################################# - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObj1.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - - -opObj11 = procUnitConfObj1.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') - - -opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1002', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -#opObj11.addParameter(name='exp_code', value='13', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath+'/plots', format='str') -#opObj11.addParameter(name='wr_period', value='5', format='int') -#opObj11.addParameter(name='ftp', value='1', format='int') -#opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -#opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -#opObj11.addParameter(name='username', value='wmaster', format='str') -#opObj11.addParameter(name='password', value='mst2010vhf', format='str') -#opObj11.addParameter(name='ftp_wei', value='0', format='int') -#opObj11.addParameter(name='sub_exp_code', value='0', format='int') -#opObj11.addParameter(name='plot_pos', value='0', format='int') - -opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2015', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -#opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') -opObj11.addParameter(name='showprofile', value='0', format='int') - #opObj11.addParameter(name='exp_code', value='13', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath+'/plots', format='str') - #opObj11.addParameter(name='wr_period', value='5', format='int') -# opObj11.addParameter(name='ftp', value='1', format='int') -# opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -# opObj11.addParameter(name='username', value='wmaster', format='str') -# opObj11.addParameter(name='password', value='mst2010vhf', format='str') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - -#Noise -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObj1.addOperation(name='Noise', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=dbmin, format='int') -opObj11.addParameter(name='ymax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath+'/plots', format='str') - - -# opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -# opObj11.addParameter(name='id', value='3001', format='int') -# opObj11.addParameter(name='wintitle', value='Imaging', format='str') -# opObj11.addParameter(name='xmin', value='20.5', format='float') -# opObj11.addParameter(name='xmax', value='24', format='float') -# opObj11.addParameter(name='figpath', value='/home/signalchain/Pictures/imaging', format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') - -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -opObj12.addParameter(name='path', value=pathfile1+'/plots') -opObj12.addParameter(name='blocksPerFile', value='10', format='int') -opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -opObj12.addParameter(name='mode',value='1',format='int') - -#opObj11 = procUnitConfObj1.addOperation(name='SendByFTP', optype='other') -#opObj11.addParameter(name='ext', value='*.png', format='str') -#opObj11.addParameter(name='localfolder', value='/media/DATA/imaging', format='str') -#opObj11.addParameter(name='remotefolder', value='/home/wmaster/graficos', format='str') -#opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -#opObj11.addParameter(name='server', value='10.10.120.125', format='str') -#opObj11.addParameter(name='username', value='wmaster', format='str') -#opObj11.addParameter(name='password', value='mst2010vhf', format='str') -#opObj11.addParameter(name='period', value='5', format='int') - -print "Escribiendo el archivo XML" -controllerObj.writeXml(path +'/'+filename) -print "Leyendo el archivo XML" -controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - diff --git a/schainpy/scripts/scripts_v/amisr_esf_proc_plot_offline.py b/schainpy/scripts/scripts_v/amisr_esf_proc_plot_offline.py deleted file mode 100644 index d2f7907..0000000 --- a/schainpy/scripts/scripts_v/amisr_esf_proc_plot_offline.py +++ /dev/null @@ -1,178 +0,0 @@ -# /usr/bin/python -import os, sys -import time, datetime - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='esf_proc_plot', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/ESF' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') -figpath = '/home/soporte/Data/ESF' -figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF' - -remotefolder = "/home/wmaster/graficos" - -path = figpath -pathfile1 = figpath -xmin = '18' -xmax = '31' -dbmin = '60' #'60'#'55' #'40' #noise esf eej -dbmax = '75' #'70' #'55' - -str = datetime.date.today() -str1 = str + datetime.timedelta(days=1) -today = str.strftime("%Y/%m/%d") -tomorrow = str1.strftime("%Y/%m/%d") - -path = '/media/soporte/DATA/AMISR/JULIA/pdata/ESF/' -figpath = '/media/soporte/DATA/AMISR/JULIA/plot/ESF' -procpath = '/media/soporte/DATA/AMISR/JULIA/param/ESF' - -readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader', - path=path, - startDate='2016/06/01', - endDate='2016/06/30', - startTime='18:00:00', - endTime='07:00:00', - delay=0, - #set=0, - online=0, - walk=1 - ) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -######################## IMAGING ############################################# - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObj1.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - - -opObj11 = procUnitConfObj1.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='650', format='float') -opObj11.addParameter(name='maxHei', value='800', format='float') - - -# opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='1002', format='int') -# opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -# opObj11.addParameter(name='zmin', value=dbmin, format='int') -# opObj11.addParameter(name='zmax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='int') -# opObj11.addParameter(name='figpath', value=figpath+'/plots', format='str') -# -# -# opObj11.addParameter(name='ftp', value='1', format='int') -# opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='4', format='int') -# # opObj11.addParameter(name='exp_code', value='31', format='int') -# # opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=figpath+'/plots', format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=60, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - - - -#RTI Plot -opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2016', format='int') -opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') - -# opObj11.addParameter(name='ftp', value='1', format='int') -# opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='4', format='int') -# # opObj11.addParameter(name='exp_code', value='31', format='int') -# # opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=figpath+'/plots', format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=60, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - - - -#Noise -# #title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObj1.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath+'/plots', format='str') - - -# opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -# opObj11.addParameter(name='id', value='3001', format='int') -# opObj11.addParameter(name='wintitle', value='Imaging', format='str') -# opObj11.addParameter(name='xmin', value='20.5', format='float') -# opObj11.addParameter(name='xmax', value='24', format='float') -# opObj11.addParameter(name='figpath', value='/home/signalchain/Pictures/imaging', format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') -# -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# # -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=procpath) -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(path +'/'+filename) -print "Leyendo el archivo XML" -controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - diff --git a/schainpy/scripts/scripts_v/amisr_gyro_proc_offline.py b/schainpy/scripts/scripts_v/amisr_gyro_proc_offline.py deleted file mode 100644 index 79d644f..0000000 --- a/schainpy/scripts/scripts_v/amisr_gyro_proc_offline.py +++ /dev/null @@ -1,217 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='gyro_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -path = '/mnt/data_amisr' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/EEJ' -figpath = '/home/soporte/Data/Gyro/NoTx' -remotefolder = "/home/wmaster/graficos" - -xmin = '00' -xmax = '24' -#xmin = '00' -#xmax = '33' -ymin ='0' -ymax ='1500' -dbmin = '45' #'60'#'55' #'40' #noise esf eej -dbmax = '65' #'70' #'55' - -dbmin = '55' -dbmax = '75' -show = '0' - -# #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' -# 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' -# nCode = '1' -# nBaud = '26' -# nosamp = '3' # oversample - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2016/01/19', - endDate='2016/01/19', - #startDate='2015/12/16', - #endDate='2015/12/17', -# startTime='07:01:30',#'07:00:00', -# endTime='17:55:00',#'15:00:00', - startTime='00:00:30',#'07:00:00', - endTime='23:59:59',#'15:00:00', - walk=0, -# code = code, -# nCode = nCode, -# nBaud = nBaud, - timezone='lt', - online=0) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -#opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dic 3, 15:40h -opObj10.addParameter(name='frequency', value='430e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -# opObj11.addParameter(name='code', value=code, format='floatlist') -# opObj11.addParameter(name='nCode', value=nCode, format='int') -# opObj11.addParameter(name='nBaud', value=nBaud, format='int') -# opObj11.addParameter(name='osamp', value=nosamp, format='int') - - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=32, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -#opObj11.addParameter(name='n', value='600', format='int') -opObj11.addParameter(name='timeInterval', value='60', format='float') - - - -# #Noise Estimation -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -# opObj11.addParameter(name='minHei', value='100', format='float') -# opObj11.addParameter(name='maxHei', value='280', format='float') -# #opObj11.addParameter(name='minHei', value='15', format='float') -# #opObj11.addParameter(name='maxHei', value='20', format='float') - - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -opObj11.addParameter(name='ymin', value=ymin, format='int') -opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='show',value=show,format='bool') -# opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='3', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=ymin, format='int') -opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') -# opObj11.addParameter(name='ftp', value='1', format='int') -# opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='3', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #send to server -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# #procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value='300', format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ssh', format='str') - - -# #Noise -#title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='0', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# opObj11.addParameter(name='show', value = show, format='bool') - - -# #For saving Pdata (doesn't work with amisr data yet!) -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='10', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved -# -# -# # procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# # procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# # procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# # procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# # procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# # procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# # procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# # procUnitConfObj2.addParameter(name='period', value=5, format='int') -# # procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -# #----------------------------------------------------------------------------------------------- -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=figpath+'/plots') -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_gyro_proc_offline.py.save b/schainpy/scripts/scripts_v/amisr_gyro_proc_offline.py.save deleted file mode 100644 index 77e9670..0000000 --- a/schainpy/scripts/scripts_v/amisr_gyro_proc_offline.py.save +++ /dev/null @@ -1,216 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='gyro_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -path = '/mnt/data_amisr' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/EEJ' -figpath = '/home/soporte/Data/Gyro/january12/Coded' -remotefolder = "/home/wmaster/graficos" - -xmin = '00' -xmax = '24' -#xmin = '00' -#xmax = '33' -ymin ='0' -ymax ='1500' -dbmin = '45' #'60'#'55' #'40' #noise esf eej -dbmax = '65' #'70' #'55' - -dbmin = '55' -dbmax = '75' -show = '0' - -# #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' -# 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' -# nCode = '1' -# nBaud = '26' -# nosamp = '3' # oversample - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2016/01/19', - endDate='2016/01/19', - #startDate='2015/12/16', - #endDate='2015/12/17', -# startTime='07:01:30',#'07:00:00', -# endTime='17:55:00',#'15:00:00', - startTime='00:00:30',#'07:00:00', - endTime='23:59:59',#'15:00:00', - walk=0, -# code = code, -# nCode = nCode, -# nBaud = nBaud, - timezone='lt', - online=0) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='4e6', format='float') #changed on Dic 3, 15:40h -#opObj10.addParameter(name='frequency', value='430e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -# opObj11.addParameter(name='code', value=code, format='floatlist') -# opObj11.addParameter(name='nCode', value=nCode, format='int') -# opObj11.addParameter(name='nBaud', value=nBaud, format='int') -# opObj11.addParameter(name='osamp', value=nosamp, format='int') - - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=32, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -#opObj11.addParameter(name='n', value='600', format='int') -opObj11.addParameter(name='timeInterval', value='60', format='float') - - - -# #Noise Estimation -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -# opObj11.addParameter(name='minHei', value='100', format='float') -# opObj11.addParameter(name='maxHei', value='280', format='float') -# #opObj11.addParameter(name='minHei', value='15', format='float') -# #opObj11.addParameter(name='maxHei', value='20', format='float') - - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -opObj11.addParameter(name='ymin', value=ymin, format='int') -opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -# opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='3', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=ymin, format='int') -opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') -# opObj11.addParameter(name='ftp', value='1', format='int') -# opObj11.addParameter(name='wr_period', value='2', format='int') -# opObj11.addParameter(name='exp_code', value='21', format='int') -# opObj11.addParameter(name='sub_exp_code', value='3', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #send to server -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# #procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value='300', format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ssh', format='str') - - -# #Noise -#title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='0', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# opObj11.addParameter(name='show', value = show, format='bool') - - -# #For saving Pdata (doesn't work with amisr data yet!) -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='10', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved -# -# -# # procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# # procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# # procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# # procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# # procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# # procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# # procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# # procUnitConfObj2.addParameter(name='period', value=5, format='int') -# # procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -# #----------------------------------------------------------------------------------------------- -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=figpath+'/plots') -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_gyro_proc_online.py b/schainpy/scripts/scripts_v/amisr_gyro_proc_online.py deleted file mode 100644 index 7d8b605..0000000 --- a/schainpy/scripts/scripts_v/amisr_gyro_proc_online.py +++ /dev/null @@ -1,223 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='gyro_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -path = '/mnt/data_amisr' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/EEJ' -figpath = '/home/soporte/Data/Gyro' -remotefolder = "/home/wmaster/graficos" - -xmin = '00' -xmax = '24' -#xmin = '00' -#xmax = '33' -ymin ='0' -ymax ='2500' -dbmin = '45' #'60'#'55' #'40' #noise esf eej -dbmax = '65' #'70' #'55' - -dbmin = '55' -dbmax = '70' -show = '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' #code used on 11 January 2016 - -# 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' #GyroCoded -# nCode = '1' -# nBaud = '26' -# nosamp = '3' # oversample - -# 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' -# nCode = '1' -# nBaud = '26' -# nosamp = '3' # oversample - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2016/01/19', - endDate='2016/01/19', #'2014/10/07', - #startDate='2015/12/16', - #endDate='2015/12/17', -# startTime='07:01:30',#'07:00:00', -# endTime='17:55:00',#'15:00:00', - startTime='00:40:30',#'07:00:00', - endTime='23:59:59',#'15:00:00', - walk=0, -# code = code, -# nCode = nCode, -# nBaud = nBaud, - timezone='lt', - online=1) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='430e6', format='float') #changed on Dic 3, 15:40h -#opObj10.addParameter(name='frequency', value='430e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -# opObj11.addParameter(name='code', value=code, format='floatlist') -# opObj11.addParameter(name='nCode', value=nCode, format='int') -# opObj11.addParameter(name='nBaud', value=nBaud, format='int') -# opObj11.addParameter(name='osamp', value=nosamp, format='int') - - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=32, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -#opObj11.addParameter(name='n', value='600', format='int') -opObj11.addParameter(name='timeInterval', value='60', format='float') - - - -# #Noise Estimation -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -# opObj11.addParameter(name='minHei', value='100', format='float') -# opObj11.addParameter(name='maxHei', value='280', format='float') -# #opObj11.addParameter(name='minHei', value='15', format='float') -# #opObj11.addParameter(name='maxHei', value='20', format='float') - - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -opObj11.addParameter(name='ymin', value=ymin, format='int') -opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=ymin, format='int') -opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #send to server -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# #procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value='300', format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ssh', format='str') - - -# #Noise -#title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='0', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# opObj11.addParameter(name='show', value = show, format='bool') - - -# #For saving Pdata (doesn't work with amisr data yet!) -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='10', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved -# -# -# # procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# # procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# # procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# # procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# # procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# # procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# # procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# # procUnitConfObj2.addParameter(name='period', value=5, format='int') -# # procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -# #----------------------------------------------------------------------------------------------- -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=figpath+'/plots') -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_noise.py b/schainpy/scripts/scripts_v/amisr_noise.py deleted file mode 100644 index ea4923c..0000000 --- a/schainpy/scripts/scripts_v/amisr_noise.py +++ /dev/null @@ -1,152 +0,0 @@ -import os, sys - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -path = '/media/soporte/E9F4-F053/AMISR/Data/winds' -#path = '/media/soporte/AMISR_104' -figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/noise/winds') - -xmin = '09' -xmax = '18' -dbmin = '55' #'60'#'55' #'40' #noise esf eej -dbmax = '75' #'70' #'55' - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2014/10/28', #'2014/10/07', - endDate='2014/10/28', #'2014/10/07', - startTime='09:00:00',#'07:00:00', - endTime='18:00:00',#'15:00:00', - walk=0, - timezone='lt', - all=0, - online=0) - -#AMISR Processing Unit -procUnitAMISRBeam0 = controllerObj.addProcUnit(datatype='AMISRProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitAMISRBeam0.addOperation(name='PrintInfo', optype='other') - -#Reshaper -opObj11 = procUnitAMISRBeam0.addOperation(name='ProfileToChannels', optype='other') - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=procUnitAMISRBeam0.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -#Noise--> no code -#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' -#opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -#opObj11.addParameter(name='code', value=code, format='floatlist') -#opObj11.addParameter(name='nCode', value='1', format='int') -#opObj11.addParameter(name='nBaud', value='28', format='int') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -#opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -#opObj11.addParameter(name='timeInterval', value='10', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') -procUnitConfObjSpectraBeam0.addParameter(name='nProfiles', value=16, format='int') - -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -# opObj11.addParameter(name='n', value='90', format='int') -opObj11.addParameter(name='timeInterval', value='30', format='float') - -#RemoveDc -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') -opObj11.addParameter(name='minHei', value='15', format='float') -opObj11.addParameter(name='maxHei', value='20', format='float') - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') -#opObj11.addParameter(name='zmin', value='38', format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') - -#RTIPlot -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') - - -#Noise -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=dbmin, format='int') -opObj11.addParameter(name='ymax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') - - -#For saving Pdata (doesn't work with amisr data yet!) -#opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -#opObj11.addParameter(name='path', value=figpath) -#opObj11.addParameter(name='blocksPerFile', value='10', format='int') - - - -#----------------------------------------------------------------------------------------------- - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_noise2.py b/schainpy/scripts/scripts_v/amisr_noise2.py deleted file mode 100644 index 83477a4..0000000 --- a/schainpy/scripts/scripts_v/amisr_noise2.py +++ /dev/null @@ -1,146 +0,0 @@ -import os, sys - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -#path = '/media/soporte/AMISR_104' -figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/eej') - -xmin = '07' -xmax = '18' -dbmin = '45' #'60'#'55' #'40' #noise esf eej -dbmax = '65' #'70' #'55' - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2015/08/16', #'2014/10/07', - endDate='2015/08/16', #'2014/10/07', - startTime='07:00:00',#'07:00:00', - endTime='18:00:00',#'15:00:00', - walk=0, - timezone='lt', - online=0) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -#Noise--> no code -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' -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value='1', format='int') -opObj11.addParameter(name='nBaud', value='28', format='int') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='121', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='150', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') -# -# #RemoveDc -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') -# -# #SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') -#opObj11.addParameter(name='zmin', value='38', format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -# -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -# -# -#Noise -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=dbmin, format='int') -opObj11.addParameter(name='ymax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') - - -#For saving Pdata (doesn't work with amisr data yet!) -#opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -#opObj11.addParameter(name='path', value=figpath) -#opObj11.addParameter(name='blocksPerFile', value='10', format='int') - - - -#----------------------------------------------------------------------------------------------- - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_noise_proc.py b/schainpy/scripts/scripts_v/amisr_noise_proc.py deleted file mode 100644 index 8dbe421..0000000 --- a/schainpy/scripts/scripts_v/amisr_noise_proc.py +++ /dev/null @@ -1,163 +0,0 @@ -import os, sys - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/noise_Pall' -path = '/mnt/data_amisr' -#path = '/home/soporte/Data' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc') -figpath = '/home/soporte/Data/noise/raw_offline' - -xmin = '00' -xmax = '24' -dbmin = '30' #'60'#'55' #'40' #noise esf eej -dbmax = '60' #'70' #'55' - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2015/10/01', #'2014/10/07', - endDate='2015/12/31', #'2014/10/07', - startTime='00:00:00',#'07:00:00', - endTime='23:59:59',#'15:00:00', - walk=0, - timezone='lt', - online=0) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - -# 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' -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -#Noise--> no code -# 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' -# opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -# opObj11.addParameter(name='code', value=code, format='floatlist') -# opObj11.addParameter(name='nCode', value='1', format='int') -# opObj11.addParameter(name='nBaud', value='28', format='int') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='50', format='float') -# opObj12.addParameter(name='maxHei', value='150', format='float') -#Coherent Integration -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='121', format='int') - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='30', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - -#procUnitConfObjSpectraBeam0.addParameter(name='pairsList', value='(0,0),(1,1),(2,2),(3,3),(4,4)', \ - # format='pairsList') - -# procUnitConfObjSpectraBeam0.addParameter(name='pairsList', value='(0,0)', \ -# format='pairsList') -# -# #RemoveDc -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') -# -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') -#opObj11.addParameter(name='zmin', value='38', format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -# -# # #RTIPlot -# # #title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='2', format='int') -# # opObj11.addParameter(name='wintitle', value=title0, format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='zmin', value=dbmin, format='int') -# opObj11.addParameter(name='zmax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# # -# # -# #Noise -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=dbmin, format='int') -opObj11.addParameter(name='ymax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') - - -#For saving Pdata (doesn't work with amisr data yet!) -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -opObj11.addParameter(name='path', value=figpath) -opObj11.addParameter(name='blocksPerFile', value='10', format='int') - - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=5, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_noise_proc_plot.py b/schainpy/scripts/scripts_v/amisr_noise_proc_plot.py deleted file mode 100644 index c780796..0000000 --- a/schainpy/scripts/scripts_v/amisr_noise_proc_plot.py +++ /dev/null @@ -1,135 +0,0 @@ -import os, sys - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/noise_Pall' -#path = '/media/soporte/AMISR_104' -figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc') -figpath = '/home/soporte/Data/noise' -path = figpath -xmin = '00' -xmax = '24' -dbmin = '30' #'60'#'55' #'40' #noise esf eej -dbmax = '60' #'70' #'55' - -readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader', - path=path, - startDate='2015/09/01', - endDate='2015/10/30', - startTime='00:00:00', - endTime='23:59:59', - delay=0, - set=0, - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -######################## IMAGING ############################################# - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=readUnitConfObj.getId()) - -#Noise Estimation -opObj11 = procUnitConfObj1.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='280', format='float') -#opObj11.addParameter(name='minHei', value='15', format='float') -#opObj11.addParameter(name='maxHei', value='20', format='float') - -opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1002', format='int') -opObj11.addParameter(name='wintitle', value='Noise AMISR', format='str') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -#opObj11.addParameter(name='exp_code', value='13', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath+'/offline', format='str') -#opObj11.addParameter(name='wr_period', value='5', format='int') -#opObj11.addParameter(name='ftp', value='1', format='int') -#opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -#opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -#opObj11.addParameter(name='username', value='wmaster', format='str') -#opObj11.addParameter(name='password', value='mst2010vhf', format='str') -#opObj11.addParameter(name='ftp_wei', value='0', format='int') -#opObj11.addParameter(name='sub_exp_code', value='0', format='int') -#opObj11.addParameter(name='plot_pos', value='0', format='int') - -# opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='2015', format='int') -# opObj11.addParameter(name='wintitle', value='Noise AMISR', format='str') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='zmin', value=dbmin, format='int') -# opObj11.addParameter(name='zmax', value=dbmax, format='int') -# #opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# #opObj11.addParameter(name='exp_code', value='13', format='int') -# opObj11.addParameter(name='save', value='1', format='int') -# opObj11.addParameter(name='figpath', value=figpath+'/plots', format='str') -# #opObj11.addParameter(name='wr_period', value='5', format='int') -#opObj11.addParameter(name='ftp', value='1', format='int') -#opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -#opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -#opObj11.addParameter(name='username', value='wmaster', format='str') -#opObj11.addParameter(name='password', value='mst2010vhf', format='str') -#opObj11.addParameter(name='ftp_wei', value='0', format='int') -#opObj11.addParameter(name='sub_exp_code', value='0', format='int') -#opObj11.addParameter(name='plot_pos', value='0', format='int') - -#Noise -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObj1.addOperation(name='Noise', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=dbmin, format='int') -opObj11.addParameter(name='ymax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath+'/offline', format='str') - - -# opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -# opObj11.addParameter(name='id', value='3001', format='int') -# opObj11.addParameter(name='wintitle', value='Imaging', format='str') -# opObj11.addParameter(name='xmin', value='20.5', format='float') -# opObj11.addParameter(name='xmax', value='24', format='float') -# opObj11.addParameter(name='figpath', value='/home/signalchain/Pictures/imaging', format='str') -# opObj11.addParameter(name='exp_code', value='13', format='int') - -#opObj11 = procUnitConfObj1.addOperation(name='SendByFTP', optype='other') -#opObj11.addParameter(name='ext', value='*.png', format='str') -#opObj11.addParameter(name='localfolder', value='/media/DATA/imaging', format='str') -#opObj11.addParameter(name='remotefolder', value='/home/wmaster/graficos', format='str') -#opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -#opObj11.addParameter(name='server', value='10.10.120.125', format='str') -#opObj11.addParameter(name='username', value='wmaster', format='str') -#opObj11.addParameter(name='password', value='mst2010vhf', format='str') -#opObj11.addParameter(name='period', value='5', format='int') - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - diff --git a/schainpy/scripts/scripts_v/amisr_proc.py b/schainpy/scripts/scripts_v/amisr_proc.py deleted file mode 100644 index 5839c7a..0000000 --- a/schainpy/scripts/scripts_v/amisr_proc.py +++ /dev/null @@ -1,92 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -path = os.path.join(os.environ['HOME'],'Development/amisr/data') -path = '/media/administrator/KINGSTON/amisr' -figpath = os.path.join(os.environ['HOME'],'Pictures/amisr') - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2014/10/21', - endDate='2014/10/21', - startTime='00:00:00', - endTime='23:59:59', - walk=1, - timezone='lt') - -#AMISR Processing Unit -procUnitAMISRBeam0 = controllerObj.addProcUnit(datatype='AMISRProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitAMISRBeam0.addOperation(name='PrintInfo', optype='other') - -#Reshaper -opObj11 = procUnitAMISRBeam0.addOperation(name='ProfileToChannels', optype='other') - - -#Beam Selector -#opObj11 = procUnitAMISRBeam0.addOperation(name='BeamSelector', optype='other') -#opObj11.addParameter(name='beam', value='0', format='int') - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=procUnitAMISRBeam0.getId()) -#Coherent Integration -opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='8', format='int') -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=32, format='int') -procUnitConfObjSpectraBeam0.addParameter(name='nProfiles', value=32, format='int') -#RemoveDc -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='5', format='float') -opObj11.addParameter(name='maxHei', value='20', format='float') - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='100', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') -opObj11.addParameter(name='zmin', value='30', format='int') -opObj11.addParameter(name='zmax', value='80', format='int') - -#RTIPlot -#title0 = 'RTI AMISR Beam 0' -#opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -#opObj11.addParameter(name='id', value='200', format='int') -#opObj11.addParameter(name='wintitle', value=title0, format='str') -#opObj11.addParameter(name='showprofile', value='0', format='int') -##Setting RTI time using xmin,xmax -#opObj11.addParameter(name='xmin', value='15', format='int') -#opObj11.addParameter(name='xmax', value='23', format='int') -#Setting dB range with zmin, zmax -#opObj11.addParameter(name='zmin', value='45', format='int') -#opObj11.addParameter(name='zmax', value='70', format='int') -#Save RTI -#figfile0 = 'amisr_rti_beam0.png' -#opObj11.addParameter(name='figpath', value=figpath, format='str') -#opObj11.addParameter(name='figfile', value=figfile0, format='str') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() diff --git a/schainpy/scripts/scripts_v/amisr_reader.py b/schainpy/scripts/scripts_v/amisr_reader.py deleted file mode 100644 index 3a547ba..0000000 --- a/schainpy/scripts/scripts_v/amisr_reader.py +++ /dev/null @@ -1,39 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -path = os.path.join(os.environ['HOME'],'Documents/amisr') #'/home/signalchain/Documents/amisr' - -figpath = os.path.join(os.environ['HOME'],'Pictures/amisr') - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2014/08/18', - endDate='2014/08/18', - startTime='00:00:00', - endTime='23:59:59', - walk=1) - -procUnitAMISR = controllerObj.addProcUnit(datatype='AMISRProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitAMISR.addOperation(name='PrintInfo', optype='other') - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() diff --git a/schainpy/scripts/scripts_v/amisr_reader.xml b/schainpy/scripts/scripts_v/amisr_reader.xml deleted file mode 100644 index d7e08c3..0000000 --- a/schainpy/scripts/scripts_v/amisr_reader.xml +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/amisr_reader_exp.py b/schainpy/scripts/scripts_v/amisr_reader_exp.py deleted file mode 100644 index 02b3033..0000000 --- a/schainpy/scripts/scripts_v/amisr_reader_exp.py +++ /dev/null @@ -1,47 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "AMISR Experiment Test" -filename = "amisr.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -path = '/home/administrator/Documents/amisr' - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISR', - path=path, - startDate='2014/08/18', - endDate='2014/08/18', - startTime='00:00:00', - endTime='23:59:59', - walk=1) - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObj0.addOperation(name='Scope', optype='other') -opObj11.addParameter(name='id', value='101', format='int') -opObj11.addParameter(name='wintitle', value='AMISR', format='str') -opObj11.addParameter(name='type', value='iq', format='str') - -opObj11 = procUnitConfObjBeam1.addOperation(name='ProfileSelector', optype='other') -opObj11.addParameter(name='profileRangeList', value='0,81', format='intlist') - -opObj11 = procUnitConfObj0.addOperation(name='PowerProfile', optype='other') -opObj11.addParameter(name='id', value='102', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Power Profile', format='str') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() diff --git a/schainpy/scripts/scripts_v/amisr_reader_exp_ex2.py b/schainpy/scripts/scripts_v/amisr_reader_exp_ex2.py deleted file mode 100644 index 666fd0a..0000000 --- a/schainpy/scripts/scripts_v/amisr_reader_exp_ex2.py +++ /dev/null @@ -1,404 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "AMISR Experiment Test" -filename = "amisr.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -path = '/home/administrator/Documents/amisr_bug' -path = '/media/administrator/New Volume/amisr' -#path = '/media/administrator/Toshiba/data' -figpath = '/home/administrator/Pictures/amisr' - -figfile0 = 'amisr_rti_beam0.png' -figfile1 = 'amisr_rti_beam1.png' -figfile2 = 'amisr_rti_beam2.png' -figfile3 = 'amisr_rti_beam3.png' -figfile4 = 'amisr_rti_beam4.png' -figfile5 = 'amisr_rti_beam5.png' -figfile6 = 'amisr_rti_beam6.png' - -title0 = 'RTI AMISR Beam 0' -title1 = 'RTI AMISR Beam 1' -title2 = 'RTI AMISR Beam 2' -title3 = 'RTI AMISR Beam 3' -title4 = 'RTI AMISR Beam 4' -title5 = 'RTI AMISR Beam 5' -title6 = 'RTI AMISR Beam 6' - -profileStrSelBeam0 = '0,101' -profileStrSelBeam1 = '614,741' -profileStrSelBeam2 = '358,485' -profileStrSelBeam3 = '742,869' -profileStrSelBeam4 = '230,357' -profileStrSelBeam5 = '486,613' -profileStrSelBeam6 = '102,229' - -nProfiles = '32' -nFFTPoints = '32' - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISR', - path=path, - startDate='2014/08/18', - endDate='2014/08/18', - startTime='00:00:00', - endTime='23:59:59', - walk=1) - - - -# procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) -# opObj11 = procUnitConfObjBeam0.addOperation(name='ProfileSelector', optype='other') -# opObj11.addParameter(name='profileRangeList', value=profileStrSelBeam0, format='intlist') - -# procUnitConfObjBeam1 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) -# procUnitConfObjBeam2 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) -# procUnitConfObjBeam3 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) -# procUnitConfObjBeam4 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) -# procUnitConfObjBeam5 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) -# procUnitConfObjBeam6 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) - -# procUnitAMISR = controllerObj.addProcUnit(datatype='AMISR', inputId=readUnitConfObj.getId()) -# opObj11 = procUnitAMISR.addOperation(name='BeamSelector', optype='other') -# opObj11.addParameter(name='beam', value='1', format='int') -# -# procUnitConfObjBeam1 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitAMISRBeam0.getId()) -# -# opObj11 = procUnitConfObjBeam1.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='128', format='int') -# -# -# procUnitConfObjSpectraBeam1 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjBeam1.getId()) -# procUnitConfObjSpectraBeam1.addParameter(name='nFFTPoints', value='32', format='int') -# procUnitConfObjSpectraBeam1.addParameter(name='nProfiles', value='32', format='int') -# -# opObj11 = procUnitConfObjSpectraBeam1.addOperation(name='getNoise') -# opObj11.addParameter(name='minHei', value='100', format='float') -# opObj11.addParameter(name='maxHei', value='450', format='float') -# -# opObj11 = procUnitConfObjSpectraBeam1.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='100', format='int') -# opObj11.addParameter(name='wintitle', value='SpectraPlot', format='str') - - - - - - - -# ############################# Beam0 ############################# -procUnitAMISRBeam0 = controllerObj.addProcUnit(datatype='AMISR', inputId=readUnitConfObj.getId()) - -#opObj11 = procUnitAMISRBeam0.addOperation(name='PrintInfo', optype='other') - - -opObj11 = procUnitAMISRBeam0.addOperation(name='BeamSelector', optype='other') -opObj11.addParameter(name='beam', value='0', format='int') - -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitAMISRBeam0.getId()) - -opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='128', format='int') - -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=nFFTPoints, format='int') -procUnitConfObjSpectraBeam0.addParameter(name='nProfiles', value=nProfiles, format='int') - -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='450', format='float') - -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='100', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') - - - - -# procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) -# opObj11 = procUnitConfObjBeam0.addOperation(name='ProfileSelector', optype='other') -# opObj11.addParameter(name='profileRangeList', value=profileStrSelBeam0, format='intlist') -# -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='102', format='int') -# -# procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjBeam0.getId()) -# procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value='32', format='int') -# procUnitConfObjSpectraBeam0.addParameter(name='nProfiles', value='32', format='int') -# -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -# opObj11.addParameter(name='minHei', value='100', format='float') -# opObj11.addParameter(name='maxHei', value='450', format='float') -# -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='100', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='18', format='int') -# opObj11.addParameter(name='zmin', value='45', format='int') -# opObj11.addParameter(name='zmax', value='70', format='int') -# #opObj11.addParameter(name='timerange', value='7200', format='int') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='figfile', value=figfile0, format='str') -# -# -# -# -# -# # - -# ############################# Beam1 ############################# -procUnitAMISRBeam1 = controllerObj.addProcUnit(datatype='AMISR', inputId=readUnitConfObj.getId()) - -#opObj11 = procUnitAMISRBeam1.addOperation(name='PrintInfo', optype='other') - - -opObj11 = procUnitAMISRBeam1.addOperation(name='BeamSelector', optype='other') -opObj11.addParameter(name='beam', value='1', format='int') - -procUnitConfObjBeam1 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitAMISRBeam1.getId()) - -opObj11 = procUnitConfObjBeam1.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='128', format='int') - -procUnitConfObjSpectraBeam1 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjBeam1.getId()) -procUnitConfObjSpectraBeam1.addParameter(name='nFFTPoints', value=nFFTPoints, format='int') -procUnitConfObjSpectraBeam1.addParameter(name='nProfiles', value=nProfiles, format='int') - -opObj11 = procUnitConfObjSpectraBeam1.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='450', format='float') - -opObj11 = procUnitConfObjSpectraBeam1.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='101', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 1', format='str') - -# -# opObj11 = procUnitConfObjSpectraBeam1.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='201', format='int') -# opObj11.addParameter(name='wintitle', value=title1, format='str') -# #opObj11.addParameter(name='timerange', value='36000', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='18', format='int') -# opObj11.addParameter(name='zmin', value='45', format='int') -# opObj11.addParameter(name='zmax', value='70', format='int') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='figfile', value=figfile1, format='str') -# # -# # -# # -# # -# # -# ############################## Beam2 ############################# -procUnitAMISRBeam2 = controllerObj.addProcUnit(datatype='AMISR', inputId=readUnitConfObj.getId()) -opObj11 = procUnitAMISRBeam2.addOperation(name='BeamSelector', optype='other') -opObj11.addParameter(name='beam', value='2', format='int') - -procUnitConfObjBeam2 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitAMISRBeam2.getId()) - -opObj11 = procUnitConfObjBeam2.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='128', format='int') - - -procUnitConfObjSpectraBeam2 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjBeam2.getId()) -procUnitConfObjSpectraBeam2.addParameter(name='nFFTPoints', value=nFFTPoints, format='int') -procUnitConfObjSpectraBeam2.addParameter(name='nProfiles', value=nProfiles, format='int') - -opObj11 = procUnitConfObjSpectraBeam2.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='450', format='float') - -opObj11 = procUnitConfObjSpectraBeam2.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='102', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 2', format='str') - -# -# opObj11 = procUnitConfObjSpectraBeam2.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='202', format='int') -# opObj11.addParameter(name='wintitle', value=title2, format='str') -# #opObj11.addParameter(name='timerange', value='18000', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='18', format='int') -# opObj11.addParameter(name='zmin', value='45', format='int') -# opObj11.addParameter(name='zmax', value='70', format='int') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='figfile', value=figfile2, format='str') -# -# -# -# -# -# -# ############################## Beam3 ############################# -procUnitAMISRBeam3 = controllerObj.addProcUnit(datatype='AMISR', inputId=readUnitConfObj.getId()) -opObj11 = procUnitAMISRBeam3.addOperation(name='BeamSelector', optype='other') -opObj11.addParameter(name='beam', value='3', format='int') - -procUnitConfObjBeam3 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitAMISRBeam3.getId()) - -opObj11 = procUnitConfObjBeam3.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='128', format='int') - - -procUnitConfObjSpectraBeam3 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjBeam3.getId()) -procUnitConfObjSpectraBeam3.addParameter(name='nFFTPoints', value=nFFTPoints, format='int') -procUnitConfObjSpectraBeam3.addParameter(name='nProfiles', value=nProfiles, format='int') - -opObj11 = procUnitConfObjSpectraBeam3.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='450', format='float') - -opObj11 = procUnitConfObjSpectraBeam3.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='103', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 3', format='str') - -# -# opObj11 = procUnitConfObjSpectraBeam3.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='203', format='int') -# opObj11.addParameter(name='wintitle', value=title3, format='str') -# #opObj11.addParameter(name='timerange', value='18000', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='18', format='int') -# opObj11.addParameter(name='zmin', value='45', format='int') -# opObj11.addParameter(name='zmax', value='70', format='int') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='figfile', value=figfile3, format='str') -# # # -# # # -# # # -# # # -# # # -# # # -# ############################## Beam4 ############################# -procUnitAMISRBeam4 = controllerObj.addProcUnit(datatype='AMISR', inputId=readUnitConfObj.getId()) -opObj11 = procUnitAMISRBeam4.addOperation(name='BeamSelector', optype='other') -opObj11.addParameter(name='beam', value='4', format='int') - -procUnitConfObjBeam4 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitAMISRBeam4.getId()) - -opObj11 = procUnitConfObjBeam4.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='128', format='int') - - -procUnitConfObjSpectraBeam4 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjBeam4.getId()) -procUnitConfObjSpectraBeam4.addParameter(name='nFFTPoints', value=nFFTPoints, format='int') -procUnitConfObjSpectraBeam4.addParameter(name='nProfiles', value=nProfiles, format='int') - -opObj11 = procUnitConfObjSpectraBeam4.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='450', format='float') - -opObj11 = procUnitConfObjSpectraBeam4.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='104', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 4', format='str') - -# opObj11 = procUnitConfObjSpectraBeam4.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='204', format='int') -# opObj11.addParameter(name='wintitle', value=title4, format='str') -# #opObj11.addParameter(name='timerange', value='18000', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='18', format='int') -# opObj11.addParameter(name='zmin', value='45', format='int') -# opObj11.addParameter(name='zmax', value='70', format='int') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='figfile', value=figfile4, format='str') -# # # # -# # # # -# # # # -# # # # -# # # # -# ############################## Beam5 ############################# -procUnitAMISRBeam5 = controllerObj.addProcUnit(datatype='AMISR', inputId=readUnitConfObj.getId()) -opObj11 = procUnitAMISRBeam5.addOperation(name='BeamSelector', optype='other') -opObj11.addParameter(name='beam', value='5', format='int') - -procUnitConfObjBeam5 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitAMISRBeam5.getId()) - -opObj11 = procUnitConfObjBeam5.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='128', format='int') - -procUnitConfObjSpectraBeam5 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjBeam5.getId()) -procUnitConfObjSpectraBeam5.addParameter(name='nFFTPoints', value=nFFTPoints, format='int') -procUnitConfObjSpectraBeam5.addParameter(name='nProfiles', value=nProfiles, format='int') - -opObj11 = procUnitConfObjSpectraBeam5.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='450', format='float') - -opObj11 = procUnitConfObjSpectraBeam5.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='105', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 5', format='str') - -# opObj11 = procUnitConfObjSpectraBeam5.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='205', format='int') -# opObj11.addParameter(name='wintitle', value=title5, format='str') -# #opObj11.addParameter(name='timerange', value='18000', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='18', format='int') -# opObj11.addParameter(name='zmin', value='45', format='int') -# opObj11.addParameter(name='zmax', value='70', format='int') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='figfile', value=figfile5, format='str') -# # # -# # # # -# # # # -# # # # -# # # # -# ############################## Beam6 ############################# -procUnitAMISRBeam6 = controllerObj.addProcUnit(datatype='AMISR', inputId=readUnitConfObj.getId()) -opObj11 = procUnitAMISRBeam6.addOperation(name='BeamSelector', optype='other') -opObj11.addParameter(name='beam', value='6', format='int') - -procUnitConfObjBeam6 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitAMISRBeam6.getId()) - -opObj11 = procUnitConfObjBeam6.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='128', format='int') - - -procUnitConfObjSpectraBeam6 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjBeam6.getId()) -procUnitConfObjSpectraBeam6.addParameter(name='nFFTPoints', value=nFFTPoints, format='int') -procUnitConfObjSpectraBeam6.addParameter(name='nProfiles', value=nProfiles, format='int') - -opObj11 = procUnitConfObjSpectraBeam6.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='100', format='float') -opObj11.addParameter(name='maxHei', value='450', format='float') - -opObj11 = procUnitConfObjSpectraBeam6.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='106', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 6', format='str') -# -# opObj11 = procUnitConfObjSpectraBeam6.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='206', format='int') -# opObj11.addParameter(name='wintitle', value=title6, format='str') -# #opObj11.addParameter(name='timerange', value='18000', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='18', format='int') -# opObj11.addParameter(name='zmin', value='45', format='int') -# opObj11.addParameter(name='zmax', value='70', format='int') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='figfile', value=figfile6, format='str') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() diff --git a/schainpy/scripts/scripts_v/amisr_spreadF.py b/schainpy/scripts/scripts_v/amisr_spreadF.py deleted file mode 100644 index 56a6712..0000000 --- a/schainpy/scripts/scripts_v/amisr_spreadF.py +++ /dev/null @@ -1,119 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/spreadF/filt2') - -xmin = '18' -xmax = '31' - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2014/10/06', - endDate='2014/10/07', - startTime='18:00:00', - endTime='07:00:00', - walk=0, - timezone='lt', - all=0, - online=0) - -#AMISR Processing Unit -procUnitAMISRBeam0 = controllerObj.addProcUnit(datatype='AMISRProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitAMISRBeam0.addOperation(name='PrintInfo', optype='other') - -#Reshaper -opObj11 = procUnitAMISRBeam0.addOperation(name='ProfileToChannels', optype='other') - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=procUnitAMISRBeam0.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - -opObj11 = procUnitConfObjBeam0.addOperation(name='filterByHeights') -opObj11.addParameter(name='window', value='2', format='int') - -# code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' -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' -opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=code, format='floatlist') -opObj11.addParameter(name='nCode', value='1', format='int') -opObj11.addParameter(name='nBaud', value='28', format='int') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') -# opObj12.addParameter(name='maxHei', value='10', format='float') -#Coherent Integration -# opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='timeInterval', value='30', format='int') -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=64, format='int') -procUnitConfObjSpectraBeam0.addParameter(name='nProfiles', value=64, format='int') - -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='timeInterval', value='30', format='float') -# opObj11.addParameter(name='n', value='64', format='int') - -#RemoveDc -#opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='200', format='float') -opObj11.addParameter(name='maxHei', value='700', format='float') - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') -opObj11.addParameter(name='zmin', value='54', format='int') -opObj11.addParameter(name='zmax', value='70', format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') - -#RTIPlot -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value='54', format='int') -opObj11.addParameter(name='zmax', value='70', format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') - - - -#----------------------------------------------------------------------------------------------- - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_valley_proc_online.py b/schainpy/scripts/scripts_v/amisr_valley_proc_online.py deleted file mode 100644 index 3aa9439..0000000 --- a/schainpy/scripts/scripts_v/amisr_valley_proc_online.py +++ /dev/null @@ -1,224 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='gyro_proc', description=desc) - - -path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -path = '/mnt/data_amisr' -path = '/media/soporte/OPERACIONES-USUARIOS/AMISR_Valley' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/EEJ' -figpath = '/home/soporte/Data/Valley' -remotefolder = "/home/wmaster/graficos" - -xmin = '00' -xmax = '24' -#xmin = '00' -#xmax = '33' -ymin ='0' -ymax ='800' #'750' -dbmin = '45' #'60'#'55' #'40' #noise esf eej -dbmax = '65' #'70' #'55' - -dbmin = '40' -dbmax = '55' -show = '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' #code used on 11 January 2016 - -# 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' #GyroCoded -# nCode = '1' -# nBaud = '26' -# nosamp = '3' # oversample - -# 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' -# nCode = '1' -# nBaud = '26' -# nosamp = '3' # oversample - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2016/01/14', - endDate='2016/01/14', #'2014/10/07', - #startDate='2015/12/16', - #endDate='2015/12/17', -# startTime='07:01:30',#'07:00:00', -# endTime='17:55:00',#'15:00:00', - startTime='00:00:00',#'07:00:00', - endTime='23:59:59',#'15:00:00', - walk=0, -# code = code, -# nCode = nCode, -# nBaud = nBaud, - timezone='lt', - online=0) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='430e6', format='float') #changed on Dic 3, 15:40h -#opObj10.addParameter(name='frequency', value='430e6', format='float') - -# opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -# opObj12.addParameter(name='minHei', value='0', format='float') - - -# opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') -# opObj11.addParameter(name='code', value=code, format='floatlist') -# opObj11.addParameter(name='nCode', value=nCode, format='int') -# opObj11.addParameter(name='nBaud', value=nBaud, format='int') -# opObj11.addParameter(name='osamp', value=nosamp, format='int') - - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value='89', format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -#opObj11.addParameter(name='n', value='600', format='int') -opObj11.addParameter(name='timeInterval', value='60', format='float') - - - -# #Noise Estimation -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -# opObj11.addParameter(name='minHei', value='100', format='float') -# opObj11.addParameter(name='maxHei', value='280', format='float') -# #opObj11.addParameter(name='minHei', value='15', format='float') -# #opObj11.addParameter(name='maxHei', value='20', format='float') - - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='Valley AMISR', format='str') -opObj11.addParameter(name='ymin', value=ymin, format='int') -opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='GyroLP AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=ymin, format='int') -opObj11.addParameter(name='ymax', value=ymax, format='int') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='show', value = show, format='bool') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# # #send to server -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# #procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value='300', format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ssh', format='str') - - -# #Noise -#title0 = 'RTI AMISR Beam 0' -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='EEJ AMISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='ymin', value=dbmin, format='int') -# opObj11.addParameter(name='ymax', value=dbmax, format='int') -# opObj11.addParameter(name='save', value='0', format='bool') -# opObj11.addParameter(name='figpath', value = figpath, format='str') -# opObj11.addParameter(name='show', value = show, format='bool') - - -# #For saving Pdata (doesn't work with amisr data yet!) -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='10', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved -# -# -# # procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# # procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# # procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# # procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# # procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# # procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# # procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# # procUnitConfObj2.addParameter(name='period', value=5, format='int') -# # procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -# #----------------------------------------------------------------------------------------------- -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') -# opObj12.addParameter(name='path', value=figpath+'/plots') -# opObj12.addParameter(name='blocksPerFile', value='10', format='int') -# opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') -# opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') -# opObj12.addParameter(name='mode',value='1',format='int') - - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_windEstimation.py b/schainpy/scripts/scripts_v/amisr_windEstimation.py deleted file mode 100644 index 38103bf..0000000 --- a/schainpy/scripts/scripts_v/amisr_windEstimation.py +++ /dev/null @@ -1,155 +0,0 @@ -import os, sys - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -path = os.path.join(os.environ['HOME'],'Development/amisr/data') -path = '/home/soporte/Data/AMISR' -path = '/media/soporte/E9F4-F053/AMISR/Data/' -figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/winds') - -pathFigure = figpath #'/home/operaciones/Documents/AMISR_windprofiler/20141023' -xmin = '8.0' -xmax = '12.0' - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2014/10/23', - endDate='2014/10/23', - startTime='00:00:00', - endTime='23:59:59', - walk=1, - timezone='lt') - -#AMISR Processing Unit -procUnitAMISRBeam0 = controllerObj.addProcUnit(datatype='AMISRProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitAMISRBeam0.addOperation(name='PrintInfo', optype='other') - -#Reshaper -opObj11 = procUnitAMISRBeam0.addOperation(name='ProfileToChannels', optype='other') - - -#Beam Selector -#opObj11 = procUnitAMISRBeam0.addOperation(name='BeamSelector', optype='other') -#opObj11.addParameter(name='beam', value='0', format='int') - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=procUnitAMISRBeam0.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - -opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -opObj12.addParameter(name='minHei', value='0', format='float') -opObj12.addParameter(name='maxHei', value='10', format='float') -#Coherent Integration -#opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') -#opObj11.addParameter(name='n', value='8', format='int') -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=32, format='int') -procUnitConfObjSpectraBeam0.addParameter(name='nProfiles', value=32, format='int') - -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='16', format='int') - -#RemoveDc -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='5', format='float') -opObj11.addParameter(name='maxHei', value='20', format='float') - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='100', format='int') -opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str') -opObj11.addParameter(name='zmin', value='30', format='int') -opObj11.addParameter(name='zmax', value='80', format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = pathFigure, format='str') -#RTIPlot -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='200', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value='30', format='int') -opObj11.addParameter(name='zmax', value='80', format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = pathFigure, format='str') -#opObj23.addParameter(name='save', value='1', format='bool') -#opObj23.addParameter(name='figpath', value = pathFigure, format='str') - -# Save RTI -# figfile0 = 'amisr_rti_beam0.png' -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='figfile', value=figfile0, format='str') - -#----------------------------------------------------------------------------------------------- -#Parameters Process -#procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0 .getId()) -#opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -#opObj21 = procUnitConfObj2.addOperation(name='MomentsPlot', optype='other') -#opObj21.addParameter(name='id', value='3', format='int') -#opObj21.addParameter(name='wintitle', value='Moments Plot', format='str') -#opObj21.addParameter(name='save', value='1', format='bool') -#opObj21.addParameter(name='figpath', value=pathFigure, format='str') -#opObj21.addParameter(name='zmin', value='30', format='int') -#opObj21.addParameter(name='zmax', value='80', format='int') - -#opObj22 = procUnitConfObj2.addOperation(name='WindProfiler', optype='other') -#opObj22.addParameter(name='technique', value='DBS', format='str') -#opObj22.addParameter(name='correctAzimuth', value='51.06', format='float') -#opObj22.addParameter(name='correctFactor', value='-1', format='float') -#opObj22.addParameter(name='azimuth', value='0,-90,0,90,180', format='floatlist') -##opObj22.addParameter(name='elevation', value='74.53,75.90.0,75.60,75.60', format='floatlist') -#opObj22.addParameter(name='elevation', value='74.53,75.90,75.60,75.60', format='floatlist') -## opObj22.addParameter(name='horizontalOnly', value='1', format='bool') -## opObj22.addParameter(name='channelList', value='1,2', format='intlist') - -#WindProfilerPlot -#opObj23 = procUnitConfObj2.addOperation(name='WindProfilerPlot', optype='other') -#opObj23.addParameter(name='id', value='4', format='int') -#opObj23.addParameter(name='wintitle', value='Wind Profiler', format='str') -#opObj23.addParameter(name='save', value='1', format='bool') -#opObj23.addParameter(name='figpath', value = pathFigure, format='str') -#opObj23.addParameter(name='zmin', value='-20', format='int') -#opObj23.addParameter(name='zmax', value='20', format='int') -#opObj23.addParameter(name='zmin_ver', value='-100', format='float') -#opObj23.addParameter(name='zmax_ver', value='100', format='float') -#opObj23.addParameter(name='SNRmin', value='-20', format='int') -#opObj23.addParameter(name='SNRmax', value='30', format='int') -#opObj23.addParameter(name='SNRthresh', value='-50', format='float') -#opObj23.addParameter(name='xmin', value=xmin, format='float') -#opObj23.addParameter(name='xmax', value=xmax, format='float') - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_winds_proc_offline.py b/schainpy/scripts/scripts_v/amisr_winds_proc_offline.py deleted file mode 100644 index 9f55242..0000000 --- a/schainpy/scripts/scripts_v/amisr_winds_proc_offline.py +++ /dev/null @@ -1,222 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='eej_proc', description=desc) - - -# path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -# path = '/mnt/data_amisr' -# path = '/media/soporte/E9F4-F053/AMISR/Data/winds' -path = '/mnt/data_amisr' - -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF' -figpath = '/home/soporte/Data/winds' -remotefolder = "/home/wmaster/graficos" -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/winds/plots' - -xmin = '08' -xmax = '18' -dbmin = '50' #'60'#'55' #'40' #noise esf eej -dbmax = '80' #'70' #'55' - -ippFactor = '5' - -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' -nCode = '1' -nBaud = '28' - - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2015/11/12', #'2014/10/07', - endDate='2015/11/12', #'2014/10/07', - startTime='00:00:00',#'07:00:00', - endTime='23:59:59',#'15:00:00', - walk=0, -# code = code, -# nCode = nCode, -# nBaud = nBaud, - timezone='lt', - online=1) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - - - -opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -opObj12.addParameter(name='minHei', value='0', format='float') -opObj12.addParameter(name='maxHei', value='10', format='float') - - - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=64, format='int') -procUnitConfObjSpectraBeam0.addParameter(name='ippFactor', value=ippFactor, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='64', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - -# # #RemoveDc -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') -# -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='5', format='float') -opObj11.addParameter(name='maxHei', value='9', format='float') - - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='Winds AMISR', format='str') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='Winds AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') -# -# -# #Noise -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=dbmin, format='int') -opObj11.addParameter(name='ymax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -#For saving Pdata (doesn't work with amisr data yet!) -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='100', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved - -# opObj22.addParameter(name='azimuth', value='0,-90,0,90,180', format='floatlist') -# opObj22.addParameter(name='elevation', value='75.6,75.6,90,75.60,75.6', format='floatlist') - -#Parameters Process -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -opObj22 = procUnitConfObj2.addOperation(name='WindProfiler', optype='other') -opObj22.addParameter(name='technique', value='DBS', format='str') -opObj22.addParameter(name='correctAzimuth', value='51.06', format='float') -opObj22.addParameter(name='correctFactor', value='-1', format='float') -opObj22.addParameter(name='azimuth', value='0,-90,0,90,180', format='floatlist') -opObj22.addParameter(name='elevation', value='75.6,75.6,90,75.60,75.60', format='floatlist') - -#WindProfilerPlot -opObj23 = procUnitConfObj2.addOperation(name='WindProfilerPlot', optype='other') -opObj23.addParameter(name='id', value='4', format='int') -opObj23.addParameter(name='wintitle', value='Wind Profiler', format='str') -opObj23.addParameter(name='save', value='1', format='bool') -opObj23.addParameter(name='figpath', value = figpath, format='str') -opObj23.addParameter(name='zmin', value='-20', format='int') -opObj23.addParameter(name='zmax', value='20', format='int') -opObj23.addParameter(name='zmin_ver', value='-100', format='float') -opObj23.addParameter(name='zmax_ver', value='100', format='float') -opObj23.addParameter(name='SNRmin', value='-20', format='int') -opObj23.addParameter(name='SNRmax', value='30', format='int') -opObj23.addParameter(name='SNRthresh', value='-50', format='float') -opObj23.addParameter(name='xmin', value=xmin, format='float') -opObj23.addParameter(name='xmax', value=xmax, format='float') -opObj23.addParameter(name='ftp', value='1', format='int') -opObj23.addParameter(name='wr_period', value='2', format='int') -opObj23.addParameter(name='exp_code', value='21', format='int') -opObj23.addParameter(name='sub_exp_code', value='3', format='int') -opObj23.addParameter(name='ftp_wei', value='0', format='int') -opObj23.addParameter(name='plot_pos', value='0', format='int') - -#--------------------------------------------------------------------------------------------- - -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value=60, format='int') -procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_winds_proc_offline.py~ b/schainpy/scripts/scripts_v/amisr_winds_proc_offline.py~ deleted file mode 100644 index 9e04bdf..0000000 --- a/schainpy/scripts/scripts_v/amisr_winds_proc_offline.py~ +++ /dev/null @@ -1,222 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='eej_proc', description=desc) - - -# path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -# path = '/mnt/data_amisr' -# path = '/media/soporte/E9F4-F053/AMISR/Data/winds' -path = '/mnt/data_amisr' - -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF' -figpath = '/home/soporte/Data/winds' -remotefolder = "/home/wmaster/graficos" -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -#figpath = '/media/soporte/E9F4-F053/AMISR/Data/winds/plots' - -xmin = '08' -xmax = '18' -dbmin = '50' #'60'#'55' #'40' #noise esf eej -dbmax = '80' #'70' #'55' - -ippFactor = '5' - -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' -nCode = '1' -nBaud = '28' - - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2015/11/10', #'2014/10/07', - endDate='2015/11/10', #'2014/10/07', - startTime='00:00:00',#'07:00:00', - endTime='23:59:59',#'15:00:00', - walk=0, -# code = code, -# nCode = nCode, -# nBaud = nBaud, - timezone='lt', - online=1) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - - - -opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -opObj12.addParameter(name='minHei', value='0', format='float') -opObj12.addParameter(name='maxHei', value='10', format='float') - - - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=64, format='int') -procUnitConfObjSpectraBeam0.addParameter(name='ippFactor', value=ippFactor, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='64', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - -# # #RemoveDc -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') -# -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='5', format='float') -opObj11.addParameter(name='maxHei', value='9', format='float') - - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='Winds AMISR', format='str') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='Winds AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') -# -# -# #Noise -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=dbmin, format='int') -opObj11.addParameter(name='ymax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -#For saving Pdata (doesn't work with amisr data yet!) -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='100', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved - -# opObj22.addParameter(name='azimuth', value='0,-90,0,90,180', format='floatlist') -# opObj22.addParameter(name='elevation', value='75.6,75.6,90,75.60,75.6', format='floatlist') - -#Parameters Process -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -opObj22 = procUnitConfObj2.addOperation(name='WindProfiler', optype='other') -opObj22.addParameter(name='technique', value='DBS', format='str') -opObj22.addParameter(name='correctAzimuth', value='51.06', format='float') -opObj22.addParameter(name='correctFactor', value='-1', format='float') -opObj22.addParameter(name='azimuth', value='0,-90,0,90,180', format='floatlist') -opObj22.addParameter(name='elevation', value='75.6,75.6,90,75.60,75.60', format='floatlist') - -#WindProfilerPlot -opObj23 = procUnitConfObj2.addOperation(name='WindProfilerPlot', optype='other') -opObj23.addParameter(name='id', value='4', format='int') -opObj23.addParameter(name='wintitle', value='Wind Profiler', format='str') -opObj23.addParameter(name='save', value='1', format='bool') -opObj23.addParameter(name='figpath', value = figpath, format='str') -opObj23.addParameter(name='zmin', value='-20', format='int') -opObj23.addParameter(name='zmax', value='20', format='int') -opObj23.addParameter(name='zmin_ver', value='-100', format='float') -opObj23.addParameter(name='zmax_ver', value='100', format='float') -opObj23.addParameter(name='SNRmin', value='-20', format='int') -opObj23.addParameter(name='SNRmax', value='30', format='int') -opObj23.addParameter(name='SNRthresh', value='-50', format='float') -opObj23.addParameter(name='xmin', value=xmin, format='float') -opObj23.addParameter(name='xmax', value=xmax, format='float') -opObj23.addParameter(name='ftp', value='1', format='int') -opObj23.addParameter(name='wr_period', value='2', format='int') -opObj23.addParameter(name='exp_code', value='21', format='int') -opObj23.addParameter(name='sub_exp_code', value='3', format='int') -opObj23.addParameter(name='ftp_wei', value='0', format='int') -opObj23.addParameter(name='plot_pos', value='0', format='int') - -#--------------------------------------------------------------------------------------------- - -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value=60, format='int') -procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/amisr_winds_proc_online.py b/schainpy/scripts/scripts_v/amisr_winds_proc_online.py deleted file mode 100644 index 4a67b51..0000000 --- a/schainpy/scripts/scripts_v/amisr_winds_proc_online.py +++ /dev/null @@ -1,176 +0,0 @@ -#! /usr/bin/python -#! /usr/bin/env python - -import os, sys -import time - -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "AMISR Experiment" - -filename = "amisr_reader.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='eej_proc', description=desc) - - -# path = os.path.join(os.environ['HOME'],'amisr') -# path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' -# path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' -# path = '/media/soporte/E9F4-F053/AMISR/Data/EEJ' -# path = '/mnt/data_amisr' -# path = '/media/soporte/E9F4-F053/AMISR/Data/winds' -path = '/mnt/data_amisr' -#path = '/media/soporte/AMISR_104' -#figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/eej') -figpath = '/home/soporte/Data/winds/plots' -remotefolder = "/home/wmaster/graficos" - -xmin = '08' -xmax = '18' -dbmin = '50' #'60'#'55' #'40' #noise esf eej -dbmax = '80' #'70' #'55' - -#to consider that each real IPP is actually original_IPP * nchannels -ippFactor = '5' - -# 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' -# nCode = '1' -# nBaud = '28' - - -today = time.strftime("%Y/%m/%d") - - -readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate='2016/10/28', #'2014/10/07', - endDate='2014/10/28', #'2014/10/07', - startTime='00:00:00',#'07:00:00', - endTime='23:59:59',#'15:00:00', - walk=0, -# code = code, -# nCode = nCode, -# nBaud = nBaud, - timezone='lt', - online=1) - -#AMISR Processing Unit - -#Voltage Processing Unit -procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') -opObj10.addParameter(name='frequency', value='445e6', format='float') - - - -opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') -opObj12.addParameter(name='minHei', value='0', format='float') -opObj12.addParameter(name='maxHei', value='10', format='float') - - - -#Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints -procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) -procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=32, format='int') -procUnitConfObjSpectraBeam0.addParameter(name='ippFactor', value=ippFactor, format='int') -# -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='16', format='int') -#opObj11.addParameter(name='timeInterval', value='30', format='float') - - -# # #RemoveDc -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') -# -#Noise Estimation -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') -opObj11.addParameter(name='minHei', value='5', format='float') -opObj11.addParameter(name='maxHei', value='9', format='float') - - -#SpectraPlot -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1', format='int') -opObj11.addParameter(name='wintitle', value='Winds AMISR', format='str') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# #RTIPlot -# #title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2', format='int') -opObj11.addParameter(name='wintitle', value='Winds AMISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='zmin', value=dbmin, format='int') -opObj11.addParameter(name='zmax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='wr_period', value='2', format='int') -opObj11.addParameter(name='exp_code', value='21', format='int') -opObj11.addParameter(name='sub_exp_code', value='3', format='int') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') -# -# -# #Noise -#title0 = 'RTI AMISR Beam 0' -opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value=title0, format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value=xmin, format='float') -opObj11.addParameter(name='xmax', value=xmax, format='float') -opObj11.addParameter(name='ymin', value=dbmin, format='int') -opObj11.addParameter(name='ymax', value=dbmax, format='int') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value = figpath, format='str') - - -#For saving Pdata (doesn't work with amisr data yet!) -# opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value=figpath) -# opObj11.addParameter(name='blocksPerFile', value='100', format='int') -# opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved - - -# procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -# procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -# procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -# procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -# procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -# procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -# procUnitConfObj2.addParameter(name='period', value=5, format='int') -# procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') -#----------------------------------------------------------------------------------------------- - - -# print "Escribiendo el archivo XML" -# controllerObj.writeXml(path +'/'+filename) -# print "Leyendo el archivo XML" -# controllerObj.readXml(path +'/'+filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - -#21 3 pm - - diff --git a/schainpy/scripts/scripts_v/beacon_phase.py b/schainpy/scripts/scripts_v/beacon_phase.py deleted file mode 100644 index 9f9d784..0000000 --- a/schainpy/scripts/scripts_v/beacon_phase.py +++ /dev/null @@ -1,56 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "Meteor Experiment Test" -filename = "jasmet20140415.xml" - -controllerObj = Project() -controllerObj.setup(id = '191', name='meteor_test01', description=desc) - -path = '/home/dsuarez/.gvfs/data on 10.10.20.13/Jasmet50/d2014104' - - -readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage', - path=path, - startDate='2013/08/21', - endDate='2013/08/21', - startTime='00:00:00', - endTime='23:59:59', - online=0, - walk=0) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) - -procUnitConfObjBeacon = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId()) -procUnitConfObjBeacon.addParameter(name='nProfiles', value='200', format='int') -procUnitConfObjBeacon.addParameter(name='nFFTPoints', value='200', format='int') -procUnitConfObjBeacon.addParameter(name='pairsList', value='(0,5),(1,5),(2,5),(3,5),(4,5)', format='pairsList') - -opObj11 = procUnitConfObjBeacon.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='4', format='int') - -opObj11 = procUnitConfObjBeacon.addOperation(name='getBeaconSignal') - -opObj11 = procUnitConfObjBeacon.addOperation(name='BeaconPhase', optype='other') -opObj11.addParameter(name='id', value='301', format='int') -opObj11.addParameter(name='wintitle', value='Beacon Phase', format='str') -opObj11.addParameter(name='timerange', value='300', format='int') -opObj11.addParameter(name='ymin', value='-180', format='float') -opObj11.addParameter(name='ymax', value='180', format='float') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value='/home/dsuarez/Pictures/beacon_abril', format='str') - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/hf_plot_pdata.py b/schainpy/scripts/scripts_v/hf_plot_pdata.py deleted file mode 100644 index b61e3a4..0000000 --- a/schainpy/scripts/scripts_v/hf_plot_pdata.py +++ /dev/null @@ -1,197 +0,0 @@ -import os, sys -#import timeit -import datetime - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "HF_EXAMPLE" -filename = "hf_test.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -#path='/media/APOLLO/HF_rawdata/d2015026/0/cspec' -#path='/media/APOLLO/HF_rawdata/cspec' -#path='/media/APOLLO/bistatico' -#path='/home/alex/Downloads/pdata_hf/sousy' -path='/home/alex/Downloads/pdata_hf' -#path='/media/APOLLO/bistatico' - - - -#path="/media/APOLLO/HF_rawdata/d2015059/sp01_f0" #f0=2.72e6 -#path="/media/APOLLO/HF_rawdata/d2015059/sp01_f1" #f0=3.64e6 -#path='/media/APOLLO/HF_rawdata/test' -#figpath='/home/alex/Pictures/hf2_16/last_data' -figpath='/home/alex/Pictures/pdata_plot' -pathFigure='/home/alex/Pictures/hf2_16/last_data' -#path='/home/alex/Downloads/ICA_LAST_TEST' - -readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader', - path=path, - startDate='2015/01/12', - endDate='2015/05/13', - startTime='00:00:00', - endTime='23:59:59', - online=0, - #set=1426485881, - delay=10, - walk=1 - #timezone=-5*3600 - ) - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='1000', format='int') -opObj11.addParameter(name='wintitle', value='HF_Jicamarca_Spc', format='str') -#opObj11.addParameter(name='channelList', value='0', format='intlist') -opObj11.addParameter(name='zmin', value='-120', format='float') -opObj11.addParameter(name='zmax', value='-70', format='float') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='figfile', value=figfile_spectra_name, format='str') -# opObj11.addParameter(name='wr_period', value='5', format='int') -#opObj11.addParameter(name='ftp_wei', value='0', format='int') -#opObj11.addParameter(name='exp_code', value='20', format='int') -#opObj11.addParameter(name='sub_exp_code', value='0', format='int') -#opObj11.addParameter(name='plot_pos', value='0', format='int') - - - -# # figfile_power_name="jro_power_image"+freq2+date+ext_img -# # print figfile_power_name -opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='2000', format='int') -opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -#opObj11.addParameter(name='channelList', value='0', format='intlist') -opObj11.addParameter(name='xmin', value='0', format='float') -opObj11.addParameter(name='xmax', value='24', format='float') -opObj11.addParameter(name='zmin', value='-110', format='float') -opObj11.addParameter(name='zmax', value='-50', format='float') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -#opObj11.addParameter(name='figfile', value=figfile_power_name, format='str') -#opObj11.addParameter(name='wr_period', value='5', format='int') - -# -# opObj11 = procUnitConfObj1.addOperation(name='PowerProfile', optype='other') -# opObj11.addParameter(name='id', value='2004', format='int') -# opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -# #opObj11.addParameter(name='channelList', value='0', format='intlist') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# #opObj11.addParameter(name='xmin', value='10', format='int') -# #opObj11.addParameter(name='xmax', value='40', format='int') -# -# # figfile_phase_name="jro_phase_image"+freq1+date+ext_img -# # print figfile_phase_name -opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -opObj11.addParameter(name='id', value='3000', format='int') -opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -opObj11.addParameter(name='showprofile', value='1', format='int') -opObj11.addParameter(name='xmin', value='0', format='float') -opObj11.addParameter(name='xmax', value='24', format='float') -#opObj11.addParameter(name='channelList', value='0', format='intlist') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value=figpath, format='str') - # opObj11.addParameter(name='figfile', value=figfile_phase_name, format='str') - # opObj11.addParameter(name='wr_period', value='5', format='int') - -# opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='6005', format='int') -# opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -# opObj11.addParameter(name='zmin', value='-110', format='float') -# opObj11.addParameter(name='zmax', value='-50', format='float') -# #opObj11.addParameter(name='xmin', value='0', format='float') -# #opObj11.addParameter(name='xmax', value='24', format='float') -# #opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# -# -# -# xmin = 0 -# xmax = 24 -# -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -# opObj21 = procUnitConfObj2.addOperation(name='MomentsPlot', optype='other') -# opObj21.addParameter(name='id', value='3', format='int') -# opObj21.addParameter(name='wintitle', value='Moments Plot', format='str') -# opObj21.addParameter(name='save', value='1', format='bool') -# opObj21.addParameter(name='figpath', value=pathFigure, format='str') -# opObj21.addParameter(name='zmin', value='5', format='int') -# opObj21.addParameter(name='zmax', value='90', format='int') -# -opObj21 = procUnitConfObj2.addOperation(name='ParametersPlot', optype='other') -opObj21.addParameter(name='id', value='4000', format='int') -opObj21.addParameter(name='wintitle', value='Radial Velocity Plot0', format='str') -opObj21.addParameter(name='channelList', value='0', format='intlist') -opObj21.addParameter(name='save', value='1', format='bool') -opObj21.addParameter(name='figpath', value=figpath, format='str') -opObj21.addParameter(name='SNR', value='1', format='bool') -opObj21.addParameter(name='SNRmin', value='-10', format='int') -opObj21.addParameter(name='SNRmax', value='50', format='int') -opObj21.addParameter(name='SNRthresh', value='0', format='float') -opObj21.addParameter(name='xmin', value=0, format='float') -opObj21.addParameter(name='xmax', value=24, format='float') -#opObj21.addParameter(name='parameterIndex', value=, format='int') - -# -opObj21 = procUnitConfObj2.addOperation(name='ParametersPlot', optype='other') -opObj21.addParameter(name='id', value='5000', format='int') -opObj21.addParameter(name='wintitle', value='Radial Velocity Plot1', format='str') -opObj21.addParameter(name='channelList', value='1', format='intlist') -opObj21.addParameter(name='save', value='1', format='bool') -opObj21.addParameter(name='figpath', value=figpath, format='str') -opObj21.addParameter(name='SNR', value='1', format='bool') -opObj21.addParameter(name='SNRmin', value='-20', format='int') -opObj21.addParameter(name='SNRmax', value='50', format='int') -opObj21.addParameter(name='SNRthresh', value='0', format='float') -opObj21.addParameter(name='xmin', value=0, format='float') -opObj21.addParameter(name='xmax', value=24, format='float') - -# -# -# opObj23 = procUnitConfObj2.addOperation(name='EWDriftsPlot', optype='other') -# opObj23.addParameter(name='id', value='4', format='int') -# opObj23.addParameter(name='wintitle', value='EW Drifts', format='str') -# opObj23.addParameter(name='save', value='1', format='bool') -# opObj23.addParameter(name='figpath', value = pathFigure, format='str') -# opObj23.addParameter(name='zminZonal', value='-150', format='int') -# opObj23.addParameter(name='zmaxZonal', value='150', format='int') -# opObj23.addParameter(name='zminVertical', value='-30', format='float') -# opObj23.addParameter(name='zmaxVertical', value='30', format='float') -# opObj23.addParameter(name='SNR_1', value='1', format='bool') -# opObj23.addParameter(name='SNRmax', value='5', format='int') -# # opObj23.addParameter(name='SNRthresh', value='-50', format='float') -# opObj23.addParameter(name='xmin', value=xmin, format='float') -# opObj23.addParameter(name='xmax', value=xmax, format='float') -# -# -# # opObj11 = procUnitConf.Obj1.addOperation(name='SendByFTP', optype='other') -# # opObj11.addParameter(name='ext', value='*.jpeg', format='str') -# # opObj11.addParameter(name='localfolder', value='/home/alex/Pictures/ftp', format='str') -# # opObj11.addParameter(name='remotefolder', value='/home/wmaster/web2/data/JRO/HFT/2015/03/11/figures/', format='str') -# # opObj11.addParameter(name='server', value='181.177.232.125', format='str') -# # opObj11.addParameter(name='username', value='wmaster', format='str') -# # opObj11.addParameter(name='password', value='mst2010vhf', format='str') -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() - -#timeit.timeit('controllerObj.run()', number=2) - -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/hf_test.py b/schainpy/scripts/scripts_v/hf_test.py deleted file mode 100644 index 0aff4c7..0000000 --- a/schainpy/scripts/scripts_v/hf_test.py +++ /dev/null @@ -1,236 +0,0 @@ -import os, sys -#import timeit -import datetime - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -#--------------------------------------- -freq1="_2.72MHz_" -freq2="_3.64MHz_" - -date="2015-03-12_N" -ext_img=".jpeg" - - -#--------------------------------------- - - - -desc = "HF_EXAMPLE" -filename = "hf_test.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -#-----------------------PATH------------------------------# -#path='/media/APOLLO/HF_rawdata/d2015026/0/cspec' -#path='/media/APOLLO/HF_rawdata/cspec' -#path="/media/APOLLO/HF_rawdata/d2015059/sp01_f0" #f0=2.72e6 -#path="/media/APOLLO/HF_rawdata/d2015059/sp01_f1" #f0=3.64e6 -#path='/media/APOLLO/HF_rawdata/test' -path='/media/APOLLO/HF_rawdata/HFT_miercoles/sp01_f0' -#---------------------------------------------------------# - -#---------------------PATH-FIGURE------------------------# -#figpath='/home/alex/Pictures/hf2_16/last_data' -figpath='/home/alex/Pictures/ftp' -pathFigure='/home/alex/Pictures/hf2_16/last_data' -#path='/home/alex/Downloads/ICA_LAST_TEST' -#---------------------------------------------------------# -readUnitConfObj = controllerObj.addReadUnit(datatype='HFReader', - path=path, - startDate='2013/01/1', - endDate='2015/05/13', - startTime='00:00:00', - endTime='23:59:59', - online=0, - #set=1426485881, - delay=10, - walk=1, - timezone=-5*3600) - - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -# opObj12 = procUnitConfObj0.addOperation(name='selectChannels',optype='self') -# opObj12.addParameter(name='channelList', value='0', format='intList') - -opObj12 = procUnitConfObj0.addOperation(name='setRadarFrequency') -opObj12.addParameter(name='frequency', value='3.64e6', format='float') - -opObj12 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -opObj12.addParameter(name='n', value='4', format='int') - -# opObj11 = procUnitConfObj0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='10', format='int') -# opObj11.addParameter(name='wintitle', value='Voltage', format='str') -# opObj11.addParameter(name='ymin', value='-1e-8', format='float') -# opObj11.addParameter(name='ymax', value='1e-8', format='float') -# # -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId()) -procUnitConfObj1.addParameter(name='nFFTPoints', value='25', format='int') -procUnitConfObj1.addParameter(name='nProfiles', value='25', format='int') -procUnitConfObj1.addParameter(name='pairsList', value='(0,1)', format='pairsList') - - -opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='6', format='float') - -#opObj11 = procUnitConfObj1.addOperation(name='SpectraWriter', optype='other') -#opObj11.addParameter(name='path', value='/home/alex/Downloads/pdata_hf') -#opObj11.addParameter(name='blocksPerFile', value='1', format='int') -# -# -opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='2001', format='int') -opObj11.addParameter(name='wintitle', value='HF_Jicamarca_Spc', format='str') -#opObj11.addParameter(name='channelList', value='0', format='intlist') -opObj11.addParameter(name='zmin', value='-120', format='float') -opObj11.addParameter(name='zmax', value='-70', format='float') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -# opObj11.addParameter(name='figfile', value=figfile_spectra_name, format='str') -# opObj11.addParameter(name='wr_period', value='5', format='int') -#opObj11.addParameter(name='ftp_wei', value='0', format='int') -#opObj11.addParameter(name='exp_code', value='20', format='int') -#opObj11.addParameter(name='sub_exp_code', value='0', format='int') -#opObj11.addParameter(name='plot_pos', value='0', format='int') - -# figfile_power_name="jro_power_image"+freq2+date+ext_img -# print figfile_power_name -opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='3002', format='int') -opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -#opObj11.addParameter(name='channelList', value='0', format='intlist') -opObj11.addParameter(name='xmin', value='0', format='float') -opObj11.addParameter(name='xmax', value='24', format='float') -opObj11.addParameter(name='zmin', value='-110', format='float') -opObj11.addParameter(name='zmax', value='-50', format='float') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -#opObj11.addParameter(name='figfile', value=figfile_power_name, format='str') -#opObj11.addParameter(name='wr_period', value='5', format='int') - - -#opObj11 = procUnitConfObj1.addOperation(name='PowerProfile', optype='other') -#opObj11.addParameter(name='id', value='2004', format='int') -#opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -#opObj11.addParameter(name='channelList', value='0', format='intlist') -#opObj11.addParameter(name='save', value='1', format='bool') -#opObj11.addParameter(name='figpath', value=figpath, format='str') -#opObj11.addParameter(name='xmin', value='10', format='int') -#opObj11.addParameter(name='xmax', value='40', format='int') - -# figfile_phase_name="jro_phase_image"+freq1+date+ext_img -# print figfile_phase_name -opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -opObj11.addParameter(name='id', value='3', format='int') -opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -opObj11.addParameter(name='showprofile', value='1', format='int') -opObj11.addParameter(name='xmin', value='0', format='float') -opObj11.addParameter(name='xmax', value='24', format='float') -#opObj11.addParameter(name='channelList', value='0', format='intlist') -opObj11.addParameter(name='save', value='1', format='bool') -opObj11.addParameter(name='figpath', value=figpath, format='str') - # opObj11.addParameter(name='figfile', value=figfile_phase_name, format='str') - # opObj11.addParameter(name='wr_period', value='5', format='int') - -#opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='other') -#opObj11.addParameter(name='id', value='6005', format='int') -#opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -#opObj11.addParameter(name='zmin', value='-110', format='float') -#opObj11.addParameter(name='zmax', value='-50', format='float') -#opObj11.addParameter(name='xmin', value='0', format='float') -#opObj11.addParameter(name='xmax', value='24', format='float') -#opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') -#opObj11.addParameter(name='save', value='1', format='bool') -#opObj11.addParameter(name='figpath', value=figpath, format='str') - - - -#xmin = 0 -#xmax = 24 - -procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) -opObj20 = procUnitConfObj2.addOperation(name='GetMoments') - -#opObj21 = procUnitConfObj2.addOperation(name='MomentsPlot', optype='other') -#opObj21.addParameter(name='id', value='3', format='int') -#opObj21.addParameter(name='wintitle', value='Moments Plot', format='str') -#opObj21.addParameter(name='save', value='1', format='bool') -#opObj21.addParameter(name='figpath', value=pathFigure, format='str') -#opObj21.addParameter(name='zmin', value='5', format='int') -#opObj21.addParameter(name='zmax', value='90', format='int') - -opObj21 = procUnitConfObj2.addOperation(name='ParametersPlot', optype='other') -opObj21.addParameter(name='id', value='1', format='int') -opObj21.addParameter(name='wintitle', value='Radial Velocity Plot0', format='str') -opObj21.addParameter(name='channelList', value='0', format='intlist') -opObj21.addParameter(name='save', value='1', format='bool') -opObj21.addParameter(name='figpath', value=figpath, format='str') -opObj21.addParameter(name='SNR', value='1', format='bool') -opObj21.addParameter(name='SNRmin', value='-10', format='int') -opObj21.addParameter(name='SNRmax', value='50', format='int') -opObj21.addParameter(name='SNRthresh', value='0', format='float') -opObj21.addParameter(name='xmin', value=0, format='float') -opObj21.addParameter(name='xmax', value=24, format='float') -#opObj21.addParameter(name='parameterIndex', value=, format='int') - - -opObj21 = procUnitConfObj2.addOperation(name='ParametersPlot', optype='other') -opObj21.addParameter(name='id', value='2', format='int') -opObj21.addParameter(name='wintitle', value='Radial Velocity Plot1', format='str') -opObj21.addParameter(name='channelList', value='1', format='intlist') -opObj21.addParameter(name='save', value='1', format='bool') -opObj21.addParameter(name='figpath', value=figpath, format='str') -opObj21.addParameter(name='SNR', value='1', format='bool') -opObj21.addParameter(name='SNRmin', value='-20', format='int') -opObj21.addParameter(name='SNRmax', value='50', format='int') -opObj21.addParameter(name='SNRthresh', value='0', format='float') -opObj21.addParameter(name='xmin', value=0, format='float') -opObj21.addParameter(name='xmax', value=24, format='float') - - -# -# opObj23 = procUnitConfObj2.addOperation(name='EWDriftsPlot', optype='other') -# opObj23.addParameter(name='id', value='4', format='int') -# opObj23.addParameter(name='wintitle', value='EW Drifts', format='str') -# opObj23.addParameter(name='save', value='1', format='bool') -# opObj23.addParameter(name='figpath', value = pathFigure, format='str') -# opObj23.addParameter(name='zminZonal', value='-150', format='int') -# opObj23.addParameter(name='zmaxZonal', value='150', format='int') -# opObj23.addParameter(name='zminVertical', value='-30', format='float') -# opObj23.addParameter(name='zmaxVertical', value='30', format='float') -# opObj23.addParameter(name='SNR_1', value='1', format='bool') -# opObj23.addParameter(name='SNRmax', value='5', format='int') -# # opObj23.addParameter(name='SNRthresh', value='-50', format='float') -# opObj23.addParameter(name='xmin', value=xmin, format='float') -# opObj23.addParameter(name='xmax', value=xmax, format='float') - - -#opObj11 = procUnitConfObj1.addOperation(name='SendByFTP', optype='other') -#opObj11.addParameter(name='ext', value='*.jpeg', format='str') -#opObj11.addParameter(name='localfolder', value='/home/alex/Pictures/ftp', format='str') -#opObj11.addParameter(name='remotefolder', value='/home/wmaster/web2/data/JRO/HFT/2015/03/11/figures/', format='str') -#opObj11.addParameter(name='server', value='181.177.232.125', format='str') -#opObj11.addParameter(name='username', value='wmaster', format='str') -#opObj11.addParameter(name='password', value='mst2010vhf', format='str') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() - -#timeit.timeit('controllerObj.run()', number=2) - -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/hf_write_pdata.py b/schainpy/scripts/scripts_v/hf_write_pdata.py deleted file mode 100644 index ea7631b..0000000 --- a/schainpy/scripts/scripts_v/hf_write_pdata.py +++ /dev/null @@ -1,237 +0,0 @@ -import os, sys -#import timeit -import datetime - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -#--------------------------------------- -freq1="_2.72MHz_" -freq2="_3.64MHz_" - -date="2015-03-12_N" -ext_img=".jpeg" - - -#--------------------------------------- - - - -desc = "HF_EXAMPLE" -filename = "hf_test.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -#-----------------------PATH------------------------------# -#path='/media/APOLLO/HF_rawdata/d2015026/0/cspec' -#path='/media/APOLLO/HF_rawdata/cspec' -#path="/media/APOLLO/HF_rawdata/d2015059/sp01_f0" #f0=2.72e6 -#path="/media/APOLLO/HF_rawdata/d2015059/sp01_f1" #f0=3.64e6 -#path='/media/APOLLO/HF_rawdata/test' -path='/media/APOLLO/HF_rawdata/HFT_miercoles/sp01_f0' -#---------------------------------------------------------# - -#---------------------PATH-FIGURE------------------------# -#figpath='/home/alex/Pictures/hf2_16/last_data' -figpath='/home/alex/Pictures/ftp' -pathFigure='/home/alex/Pictures/hf2_16/last_data' -#path='/home/alex/Downloads/ICA_LAST_TEST' -#---------------------------------------------------------# -readUnitConfObj = controllerObj.addReadUnit(datatype='HFReader', - path=path, - startDate='2013/01/1', - endDate='2015/05/13', - startTime='00:00:00', - endTime='23:59:59', - online=0, - #set=850, - delay=10, - walk=1, - timezone=-5*3600) - - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -# opObj12 = procUnitConfObj0.addOperation(name='selectChannels',optype='self') -# opObj12.addParameter(name='channelList', value='0', format='intList') - -opObj12 = procUnitConfObj0.addOperation(name='setRadarFrequency') -opObj12.addParameter(name='frequency', value='3.64e6', format='float') - -opObj12 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -opObj12.addParameter(name='n', value='4', format='int') - -# opObj11 = procUnitConfObj0.addOperation(name='Scope', optype='other') -# opObj11.addParameter(name='id', value='10', format='int') -# opObj11.addParameter(name='wintitle', value='Voltage', format='str') -# opObj11.addParameter(name='ymin', value='-1e-8', format='float') -# opObj11.addParameter(name='ymax', value='1e-8', format='float') -# # -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId()) -procUnitConfObj1.addParameter(name='nFFTPoints', value='25', format='int') -procUnitConfObj1.addParameter(name='nProfiles', value='25', format='int') -procUnitConfObj1.addParameter(name='pairsList', value='(0,1)', format='pairsList') - - -opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='6', format='float') - -opObj11 = procUnitConfObj1.addOperation(name='SpectraWriter', optype='other') -opObj11.addParameter(name='path', value='/home/alex/Downloads/pdata_hf') -opObj11.addParameter(name='blocksPerFile', value='1', format='int') -# -# -# # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -# # opObj11.addParameter(name='id', value='2001', format='int') -# # opObj11.addParameter(name='wintitle', value='HF_Jicamarca_Spc', format='str') -# # #opObj11.addParameter(name='channelList', value='0', format='intlist') -# # opObj11.addParameter(name='zmin', value='-120', format='float') -# # opObj11.addParameter(name='zmax', value='-70', format='float') -# # opObj11.addParameter(name='save', value='1', format='int') -# # opObj11.addParameter(name='figpath', value=figpath, format='str') -# # # opObj11.addParameter(name='figfile', value=figfile_spectra_name, format='str') -# # # opObj11.addParameter(name='wr_period', value='5', format='int') -# # #opObj11.addParameter(name='ftp_wei', value='0', format='int') -# # #opObj11.addParameter(name='exp_code', value='20', format='int') -# # #opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# # #opObj11.addParameter(name='plot_pos', value='0', format='int') -# # -# # figfile_power_name="jro_power_image"+freq2+date+ext_img -# # print figfile_power_name -# opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='3002', format='int') -# opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='channelList', value='0', format='intlist') -# opObj11.addParameter(name='xmin', value='0', format='float') -# opObj11.addParameter(name='xmax', value='24', format='float') -# opObj11.addParameter(name='zmin', value='-110', format='float') -# opObj11.addParameter(name='zmax', value='-50', format='float') -# opObj11.addParameter(name='save', value='1', format='int') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# #opObj11.addParameter(name='figfile', value=figfile_power_name, format='str') -# #opObj11.addParameter(name='wr_period', value='5', format='int') -# -# -# #opObj11 = procUnitConfObj1.addOperation(name='PowerProfile', optype='other') -# #opObj11.addParameter(name='id', value='2004', format='int') -# #opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -# ##opObj11.addParameter(name='channelList', value='0', format='intlist') -# #opObj11.addParameter(name='save', value='1', format='bool') -# #opObj11.addParameter(name='figpath', value=figpath, format='str') -# ##opObj11.addParameter(name='xmin', value='10', format='int') -# ##opObj11.addParameter(name='xmax', value='40', format='int') -# -# # figfile_phase_name="jro_phase_image"+freq1+date+ext_img -# # print figfile_phase_name -# opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -# opObj11.addParameter(name='showprofile', value='1', format='int') -# opObj11.addParameter(name='xmin', value='0', format='float') -# opObj11.addParameter(name='xmax', value='24', format='float') -# #opObj11.addParameter(name='channelList', value='0', format='intlist') -# opObj11.addParameter(name='save', value='1', format='bool') -# opObj11.addParameter(name='figpath', value=figpath, format='str') -# # # opObj11.addParameter(name='figfile', value=figfile_phase_name, format='str') -# # # opObj11.addParameter(name='wr_period', value='5', format='int') -# -# # opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='other') -# # opObj11.addParameter(name='id', value='6005', format='int') -# # opObj11.addParameter(name='wintitle', value='HF_Jicamarca', format='str') -# # opObj11.addParameter(name='zmin', value='-110', format='float') -# # opObj11.addParameter(name='zmax', value='-50', format='float') -# # #opObj11.addParameter(name='xmin', value='0', format='float') -# # #opObj11.addParameter(name='xmax', value='24', format='float') -# # #opObj11.addParameter(name='channelList', value='0,1,2,3', format='intlist') -# # opObj11.addParameter(name='save', value='1', format='bool') -# # opObj11.addParameter(name='figpath', value=figpath, format='str') -# -# -# -# # xmin = 0 -# # xmax = 24 -# #------------------------------------------------------------------ -# # -# procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) -# opObj20 = procUnitConfObj2.addOperation(name='GetMoments') -# -# # opObj21 = procUnitConfObj2.addOperation(name='MomentsPlot', optype='other') -# # opObj21.addParameter(name='id', value='3', format='int') -# # opObj21.addParameter(name='wintitle', value='Moments Plot', format='str') -# # opObj21.addParameter(name='save', value='1', format='bool') -# # opObj21.addParameter(name='figpath', value=pathFigure, format='str') -# #opObj21.addParameter(name='zmin', value='5', format='int') -# #opObj21.addParameter(name='zmax', value='90', format='int') -# -# opObj21 = procUnitConfObj2.addOperation(name='ParametersPlot', optype='other') -# opObj21.addParameter(name='id', value='1', format='int') -# opObj21.addParameter(name='wintitle', value='Radial Velocity Plot0', format='str') -# opObj21.addParameter(name='channelList', value='0', format='intlist') -# opObj21.addParameter(name='save', value='1', format='bool') -# opObj21.addParameter(name='figpath', value=figpath, format='str') -# opObj21.addParameter(name='SNR', value='1', format='bool') -# opObj21.addParameter(name='SNRmin', value='-10', format='int') -# opObj21.addParameter(name='SNRmax', value='50', format='int') -# opObj21.addParameter(name='SNRthresh', value='0', format='float') -# opObj21.addParameter(name='xmin', value=0, format='float') -# opObj21.addParameter(name='xmax', value=24, format='float') -# #opObj21.addParameter(name='parameterIndex', value=, format='int') -# -# -# opObj21 = procUnitConfObj2.addOperation(name='ParametersPlot', optype='other') -# opObj21.addParameter(name='id', value='2', format='int') -# opObj21.addParameter(name='wintitle', value='Radial Velocity Plot1', format='str') -# opObj21.addParameter(name='channelList', value='1', format='intlist') -# opObj21.addParameter(name='save', value='1', format='bool') -# opObj21.addParameter(name='figpath', value=figpath, format='str') -# opObj21.addParameter(name='SNR', value='1', format='bool') -# opObj21.addParameter(name='SNRmin', value='-20', format='int') -# opObj21.addParameter(name='SNRmax', value='50', format='int') -# opObj21.addParameter(name='SNRthresh', value='0', format='float') -# opObj21.addParameter(name='xmin', value=0, format='float') -# opObj21.addParameter(name='xmax', value=24, format='float') -# -# -# -# # opObj23 = procUnitConfObj2.addOperation(name='EWDriftsPlot', optype='other') -# # opObj23.addParameter(name='id', value='4', format='int') -# # opObj23.addParameter(name='wintitle', value='EW Drifts', format='str') -# # opObj23.addParameter(name='save', value='1', format='bool') -# # opObj23.addParameter(name='figpath', value = pathFigure, format='str') -# # opObj23.addParameter(name='zminZonal', value='-150', format='int') -# # opObj23.addParameter(name='zmaxZonal', value='150', format='int') -# # opObj23.addParameter(name='zminVertical', value='-30', format='float') -# # opObj23.addParameter(name='zmaxVertical', value='30', format='float') -# # opObj23.addParameter(name='SNR_1', value='1', format='bool') -# # opObj23.addParameter(name='SNRmax', value='5', format='int') -# # # opObj23.addParameter(name='SNRthresh', value='-50', format='float') -# # opObj23.addParameter(name='xmin', value=xmin, format='float') -# # opObj23.addParameter(name='xmax', value=xmax, format='float') -# -# -# opObj11 = procUnitConfObj1.addOperation(name='SendByFTP', optype='other') -# opObj11.addParameter(name='ext', value='*.jpeg', format='str') -# opObj11.addParameter(name='localfolder', value='/home/alex/Pictures/ftp', format='str') -# opObj11.addParameter(name='remotefolder', value='/home/wmaster/web2/data/JRO/HFT/2015/03/11/figures/', format='str') -# opObj11.addParameter(name='server', value='181.177.232.125', format='str') -# opObj11.addParameter(name='username', value='wmaster', format='str') -# opObj11.addParameter(name='password', value='mst2010vhf', format='str') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() - -#timeit.timeit('controllerObj.run()', number=2) - -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/jacktotalrunner.py b/schainpy/scripts/scripts_v/jacktotalrunner.py deleted file mode 100644 index 8dd6afa..0000000 --- a/schainpy/scripts/scripts_v/jacktotalrunner.py +++ /dev/null @@ -1,143 +0,0 @@ -import os, sys -from pytz import timezone -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) - -print path -sys.path.insert(0, path) # Para usar las librerias del eclipse. - -from schainpy.controller import Project - -# from __main__ import time -#path = os.path.split(os.getcwd())[0] -#sys.path.append(path) -# import scipy.io as sio -# import pprint -# import numpy -# import time -# import os -# import h5py -# import re -# import tables -# -# from model.data.jrodata import * -# from model.proc.jroproc_base import ProcessingUnit, Operation -# from model.io.jroIO_base import * - - -# controllerObj = Project() - -# controllerObj.setup(id = '191', name='test01', description=desc) - - -#from controller import * - -desc = "DBS Experiment Test" -filename = "DBStest.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -#path = 'F:\CIRI Data\processed' -#path='/media/4B514E8903EBC487/CIRI Data/processed' -#path='/home/ciri/ciri_online' -#offline program -#path='/home/ciri/.gvfs/SFTP for radar on 192.168.1.161/media/dataswap/huancayo/20150701/processed' -#online program -path='/home/ciri/.gvfs/SFTP for radar on 192.168.1.161/media/dataswap/huancayo/processed' -#pathFigure = 'C:\Users\jdk5273\Documents\LiClipseWorkspace' -pathFigure='/home/ciri/Pictures/ciri' -xmin = '0' -xmax = '24' -startTime = '00:00:00' -remotefolder = "/home/wmaster/graficos" - -readUnitConfObj = controllerObj.addReadUnit(datatype='matoffReader', - path=path, - startDate='2015/05/30', - endDate='2015/05/30', - startTime=startTime, - endTime='23:59:59', - online=1, - delay=5, - walk=0) - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=readUnitConfObj.getId()) - -# opObj14 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -# opObj14.addParameter(name='id', value='1', format='int') -# opObj14.addParameter(name='wintitle', value='Con interf', format='str') -# opObj14.addParameter(name='save', value='0', format='bool') -# opObj14.addParameter(name='figpath', value=pathFigure, format='str') - -opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='60', format='int') - -opObj14 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -opObj14.addParameter(name='id', value='2', format='int') -opObj14.addParameter(name='wintitle', value='Con interf', format='str') -opObj14.addParameter(name='save', value='1', format='bool') -opObj14.addParameter(name='figpath', value=pathFigure, format='str') -opObj14.addParameter(name='zmin', value='-30', format='int') -opObj14.addParameter(name='zmax', value='0', format='int') -opObj14.addParameter(name='exp_code', value='29', format='int') -opObj14.addParameter(name='wr_period', value='1', format='int') -opObj14.addParameter(name='save', value='1', format='int') - -opObj14.addParameter(name='ftp', value='1', format='int') - -opObj14 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='other') -opObj14.addParameter(name='id', value='4', format='int') -opObj14.addParameter(name='wintitle', value='Con interf', format='str') -opObj14.addParameter(name='phase_cmap', value='jet', format='str') -opObj14.addParameter(name='save', value='1', format='bool') -opObj14.addParameter(name='figpath', value=pathFigure, format='str') -opObj14.addParameter(name='zmin', value='-30', format='int') -opObj14.addParameter(name='zmax', value='0', format='int') -opObj14.addParameter(name='exp_code', value='29', format='int') -opObj14.addParameter(name='wr_period', value='1', format='int') -opObj14.addParameter(name='save', value='1', format='int') - -opObj14.addParameter(name='ftp', value='1', format='int') - -opObj12 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj12.addParameter(name='id', value='3', format='int') -opObj12.addParameter(name='wintitle', value='RTI Plot', format='str') -opObj12.addParameter(name='save', value='1', format='bool') -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='-30', format='int') -opObj12.addParameter(name='zmax', value='0', format='int') -opObj12.addParameter(name='exp_code', value='29', format='int') -opObj12.addParameter(name='wr_period', value='1', format='int') -opObj12.addParameter(name='save', value='1', format='int') - -opObj12.addParameter(name='ftp', value='1', format='int') - -# -procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') -procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') -procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') -procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') -procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') -procUnitConfObj2.addParameter(name='ext', value='.png', format='str') -procUnitConfObj2.addParameter(name='period', value=5, format='int') -procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - - - - -#-------------------------------------------------------------------------------------------------- -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() - - diff --git a/schainpy/scripts/scripts_v/jasmet30_16april.py b/schainpy/scripts/scripts_v/jasmet30_16april.py deleted file mode 100644 index 9ea3acd..0000000 --- a/schainpy/scripts/scripts_v/jasmet30_16april.py +++ /dev/null @@ -1,77 +0,0 @@ -""" -Se debe verficar que el disco de datos se encuentra montado en el sistema -""" -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "Meteor Experiment Test" -filename = "meteor20130812.xml" - -controllerObj = Project() -controllerObj.setup(id = '191', name='meteor_test01', description=desc) - -path = '/home/dsuarez/.gvfs/data on 10.10.20.13/Jasmet50' - - -readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage', - path=path, - startDate='2014/04/16', - endDate='2014/04/16', - startTime='00:00:00', - endTime='23:59:59', - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) - - -opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - - -opObj11 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='2', format='int') - -opObj11 = procUnitConfObj0.addOperation(name='VoltageWriter', optype='other') -opObj11.addParameter(name='path', value='/home/jasmet/jasmet30_abril') -opObj11.addParameter(name='blocksPerFile', value='100', format='int') -opObj11.addParameter(name='profilesPerBlock', value='200', format='int') - - -""" -########################################### BEACON ########################################## -""" - -procUnitConfObjBeacon = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId()) -procUnitConfObjBeacon.addParameter(name='nProfiles', value='200', format='int') -procUnitConfObjBeacon.addParameter(name='nFFTPoints', value='200', format='int') -procUnitConfObjBeacon.addParameter(name='pairsList', value='(2,0),(2,1),(2,3),(2,4)', format='pairsList') - -opObj11 = procUnitConfObjBeacon.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='4', format='int') - -opObj11 = procUnitConfObjBeacon.addOperation(name='getBeaconSignal') - -opObj11 = procUnitConfObjBeacon.addOperation(name='BeaconPhase', optype='other') -opObj11.addParameter(name='id', value='301', format='int') -opObj11.addParameter(name='wintitle', value='Beacon Phase', format='str') -opObj11.addParameter(name='xmin', value='0', format='float') -opObj11.addParameter(name='xmax', value='24', format='float') -opObj11.addParameter(name='ymin', value='-180', format='float') -opObj11.addParameter(name='ymax', value='180', format='float') -opObj11.addParameter(name='figpath', value='/home/jasmet/jasmet30_phase', format='str') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() diff --git a/schainpy/scripts/scripts_v/jasmet50_16april.py b/schainpy/scripts/scripts_v/jasmet50_16april.py deleted file mode 100644 index 92d85c4..0000000 --- a/schainpy/scripts/scripts_v/jasmet50_16april.py +++ /dev/null @@ -1,79 +0,0 @@ -""" -Se debe verficar que el disco de datos se encuentra montado en el sistema -""" -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "Meteor Experiment Test" -filename = "meteor20130812.xml" - -controllerObj = Project() -controllerObj.setup(id = '191', name='meteor_test01', description=desc) - -path = '/home/dsuarez/.gvfs/data on 10.10.20.13/Jasmet50' - - -readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage', - path=path, - startDate='2014/04/16', - endDate='2014/04/16', - startTime='00:00:00', - endTime='23:59:59', - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObj0.addOperation(name='setRadarFrequency') -opObj11.addParameter(name='frequency', value='30.15e6', format='float') - -opObj11 = procUnitConfObj0.addOperation(name='Decoder', optype='other') - - -opObj11 = procUnitConfObj0.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='2', format='int') - -opObj11 = procUnitConfObj0.addOperation(name='VoltageWriter', optype='other') -opObj11.addParameter(name='path', value='/media/datos/jasmet50_abril') -opObj11.addParameter(name='blocksPerFile', value='100', format='int') -opObj11.addParameter(name='profilesPerBlock', value='200', format='int') - - -""" -########################################### BEACON ########################################## -""" - -procUnitConfObjBeacon = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId()) -procUnitConfObjBeacon.addParameter(name='nProfiles', value='200', format='int') -procUnitConfObjBeacon.addParameter(name='nFFTPoints', value='200', format='int') -procUnitConfObjBeacon.addParameter(name='pairsList', value='(2,0),(2,1),(2,3),(2,4)', format='pairsList') - -opObj11 = procUnitConfObjBeacon.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='4', format='int') - -opObj11 = procUnitConfObjBeacon.addOperation(name='getBeaconSignal') - -opObj11 = procUnitConfObjBeacon.addOperation(name='BeaconPhase', optype='other') -opObj11.addParameter(name='id', value='301', format='int') -opObj11.addParameter(name='wintitle', value='Beacon Phase', format='str') -opObj11.addParameter(name='xmin', value='0', format='float') -opObj11.addParameter(name='xmax', value='24', format='float') -opObj11.addParameter(name='ymin', value='-180', format='float') -opObj11.addParameter(name='ymax', value='180', format='float') -opObj11.addParameter(name='figpath', value='/media/datos/jasmet50_phase', format='str') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() diff --git a/schainpy/scripts/scripts_v/mst_isr_eej_blocks.py b/schainpy/scripts/scripts_v/mst_isr_eej_blocks.py deleted file mode 100644 index f495ad9..0000000 --- a/schainpy/scripts/scripts_v/mst_isr_eej_blocks.py +++ /dev/null @@ -1,225 +0,0 @@ -import os, sys -#import timeit - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "MST-ISR-EEJ Experiment Test" -filename = "mst_isr_eej_blocks.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -path = '/Volumes/HD-PXU2/mst_isr_eej' - -figpath = '/Users/dsuarez/Pictures/mst_isr_eej/' - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate='2014/05/01', - endDate='2014/05/30', - startTime='00:00:00', - endTime='23:59:59', - online=0, - delay=10, - walk=0, - getblock=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') -# ################ EEJ #################################### -procUnitConfObjEEJ = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObjEEJ.addOperation(name='ProfileSelector', optype='other') -opObj11.addParameter(name='profileRangeList', value='120,183', format='intlist') -opObj11.addParameter(name='byblock', value='1', format='bool') - -opObj11 = procUnitConfObjEEJ.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value='1,-1', format='floatlist') -opObj11.addParameter(name='nCode', value='2', format='int') -opObj11.addParameter(name='nBaud', value='1', format='int') -opObj11.addParameter(name='mode', value='3', format='int') -opObj11.addParameter(name='times', value='32', format='int') - -# opObj11 = procUnitConfObjEEJ.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='int') - -procUnitConfObjEEJSpecta = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjEEJ.getId()) -procUnitConfObjEEJSpecta.addParameter(name='nFFTPoints', value='64', format='int') -procUnitConfObjEEJSpecta.addParameter(name='nProfiles', value='64', format='int') - -opObj11 = procUnitConfObjEEJSpecta.addOperation(name='IncohInt', optype='other') -#opObj11.addParameter(name='timeInterval', value='10', format='float') -opObj11.addParameter(name='n', value='36', format='float') - -opObj11 = procUnitConfObjEEJSpecta.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='100', format='int') -opObj11.addParameter(name='wintitle', value='EEJ', format='str') -# opObj11.addParameter(name='zmin', value='20', format='int') -# opObj11.addParameter(name='zmax', value='60', format='int')# opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='wr_period', value='5', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='22', format='int') -# opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - - -opObj11 = procUnitConfObjEEJSpecta.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='101', format='int') -opObj11.addParameter(name='wintitle', value='EEJ', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='24', format='int') -# opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='wr_period', value='5', format='int') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='22', format='int') -# opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - -# opObj11 = procUnitConfObjEEJSpecta.addOperation(name='SendByFTP', optype='other') -# opObj11.addParameter(name='ext', value='*.png', format='str') -# opObj11.addParameter(name='localfolder', value=figpath, format='str') -# opObj11.addParameter(name='remotefolder', value='/home/wmaster/graficos', format='str') -# opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# opObj11.addParameter(name='username', value='wmaster', format='str') -# opObj11.addParameter(name='password', value='mst2010vhf', format='str') -# opObj11.addParameter(name='period', value='5', format='int') - - -################ MST #################################### -procUnitConfObjMST = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObjMST.addOperation(name='ProfileSelector', optype='other') -profileIndex = '0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119' -#profileIndex = '0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19' -opObj11.addParameter(name='profileList', value=profileIndex, format='intlist') -opObj11.addParameter(name='byblock', value='1', format='bool') - -opObj11 = procUnitConfObjMST.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='mode',value='3',format='int') -opObj11.addParameter(name='times',value='10',format='int') - -opObj11 = procUnitConfObjMST.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='20', format='int') -opObj11.addParameter(name='byblock', value='1', format='bool') - -procUnitConfObjMSTSpectra = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjMST.getId()) -procUnitConfObjMSTSpectra.addParameter(name='nFFTPoints', value='64', format='int') -procUnitConfObjMSTSpectra.addParameter(name='nProfiles', value='64', format='int') - -opObj11 = procUnitConfObjMSTSpectra.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='2', format='float') - -opObj11 = procUnitConfObjMSTSpectra.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='200', format='int') -opObj11.addParameter(name='wintitle', value='MST', format='str') -# # opObj11.addParameter(name='zmin', value='35', format='int') -# # opObj11.addParameter(name='zmax', value='60', format='int') -# # opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='wr_period', value='5', format='int') -# # opObj11.addParameter(name='ftp', value='1', format='int') -# # opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# # opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -# # opObj11.addParameter(name='username', value='wmaster', format='str') -# # opObj11.addParameter(name='password', value='mst2010vhf', format='str') -# # opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='19', format='int') -# # opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# # opObj11.addParameter(name='plot_pos', value='0', format='int') -# # -opObj11 = procUnitConfObjMSTSpectra.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='201', format='int') -opObj11.addParameter(name='wintitle', value='MST', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -# # opObj11.addParameter(name='xmin', value='0', format='int') -# # opObj11.addParameter(name='xmax', value='24', format='int') -# # opObj11.addParameter(name='zmin', value='35', format='int') -# # opObj11.addParameter(name='zmax', value='60', format='int') -# # opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='wr_period', value='5', format='int') -# # opObj11.addParameter(name='ftp', value='1', format='int') -# # opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# # opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -# # opObj11.addParameter(name='username', value='wmaster', format='str') -# # opObj11.addParameter(name='password', value='mst2010vhf', format='str') -# # opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='19', format='int') -# # opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# # opObj11.addParameter(name='plot_pos', value='0', format='int') - -# ################ ISR #################################### -procUnitConfObjISR = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObjISR.addOperation(name='ProfileSelector', optype='other') -# profileIndex = '20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99' -# opObj11.addParameter(name='profileList', value=profileIndex, format='intlist') -opObj11.addParameter(name='profileRangeList', value='20,99', format='intlist') -opObj11.addParameter(name='byblock', value='1', format='bool') - -# opObj11 = procUnitConfObjISR.addOperation(name='ProfileConcat', optype='other') -# opObj11.addParameter(name='m', value='5', format='int') - -opObj11 = procUnitConfObjISR.addOperation(name='Reshaper', optype='other') #Esta Operacion opera sobre bloques y reemplaza el ProfileConcat que opera sobre perfiles -opObj11.addParameter(name='shape', value='4,16,6750', format='intlist') # shape = (nchannels, nprofiles, nhieghts) - -opObj11 = procUnitConfObjISR.addOperation(name='filterByHeights') -opObj11.addParameter(name='window', value='20', format='int') -opObj11.addParameter(name='axis', value='2', format='int') - -barker3x1 = '1,1,-1,-1,-1,1' -#barker3x5 = '1,1,1,1,1, 1,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 = procUnitConfObjISR.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=barker3x1, format='floatlist') -opObj11.addParameter(name='nCode', value='2', format='int') -#opObj11.addParameter(name='nBaud', value='15', format='int') -opObj11.addParameter(name='nBaud', value='3', format='int') -opObj11.addParameter(name='mode', value='3', format='int') -opObj11.addParameter(name='times', value='8', format='int') -opObj11.addParameter(name='osamp', value='5', format='int') - - -procUnitConfObjISRSpectra = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjISR.getId()) -procUnitConfObjISRSpectra.addParameter(name='nFFTPoints', value='16', format='int') -procUnitConfObjISRSpectra.addParameter(name='nProfiles', value='16', format='int') - -opObj11 = procUnitConfObjISRSpectra.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='36', format='float') - -opObj11 = procUnitConfObjISRSpectra.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='300', format='int') -opObj11.addParameter(name='wintitle', value='ISR', format='str') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='wr_period', value='5', format='int') -opObj11.addParameter(name='exp_code', value='20', format='int') - -opObj11 = procUnitConfObjISRSpectra.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='301', format='int') -opObj11.addParameter(name='wintitle', value='ISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='wr_period', value='5', format='int') -opObj11.addParameter(name='exp_code', value='20', format='int') - - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() - -#timeit.timeit('controllerObj.run()', number=2) - -controllerObj.run() -#print fib(5) \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/mst_isr_eej_processing.py b/schainpy/scripts/scripts_v/mst_isr_eej_processing.py deleted file mode 100644 index af0fb15..0000000 --- a/schainpy/scripts/scripts_v/mst_isr_eej_processing.py +++ /dev/null @@ -1,271 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "EWDrifts Experiment Test" -filename = "mst_isr_eej.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - -path='/remote/ewdrifts/RAW_EXP/EW_DRIFT_FARADAY/EW_Drift' - -path1 = '/media/New Volume/DATA/MST_ISR' - -path2 = '/media/DATA/DATA/RAW_EXP/MST-EEJ' - -path = path1 + ',' + path2 - -path = '/home/dsuarez/.gvfs/data on 10.10.20.13/MST_ISR_EEJ' -gpath = '/media/datos/pictures/mstisr_mayo2014' - -path = '/Volumes/New Volume/mst_isr_eej' -gpath = '/Users/dsuarez/Pictures/poster' - -readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage', - path=path, - startDate='2014/05/15', - endDate='2014/05/15', - startTime='08:00:00', - endTime='16:00:00', - delay=3, - set=0, - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -######################################################### -################ MST #################################### -######################################################### - -# procUnitConfObjMST = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) -# -# opObj11 = procUnitConfObjMST.addOperation(name='ProfileSelector', optype='other') -# profileIndex = '0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119' -# -# opObj11.addParameter(name='profileList', value=profileIndex, format='intlist') -# -# opObj11 = procUnitConfObjMST.addOperation(name='Decoder', optype='other') -# -# opObj11 = procUnitConfObjMST.addOperation(name='CohInt', optype='other') -# opObj11.addParameter(name='n', value='20', format='int') -# -# procUnitConfObjMSTSpectra = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjMST.getId()) -# procUnitConfObjMSTSpectra.addParameter(name='nFFTPoints', value='64', format='int') -# procUnitConfObjMSTSpectra.addParameter(name='nProfiles', value='64', format='int') -# -# opObj11 = procUnitConfObjMSTSpectra.addOperation(name='IncohInt', optype='other') -# opObj11.addParameter(name='n', value='2', format='float') - -# opObj11 = procUnitConfObjMSTSpectra.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value='/media/datos/mst2014') -# opObj11.addParameter(name='blocksPerFile', value='10', format='int') - - -# opObj11 = procUnitConfObjMSTSpectra.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='1000', format='int') -# opObj11.addParameter(name='wintitle', value='MST', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='24', format='int') -# opObj11.addParameter(name='ymin', value='120', format='int') -# opObj11.addParameter(name='ymax', value='190', format='int') -# opObj11.addParameter(name='zmin', value='20', format='int') -# opObj11.addParameter(name='zmax', value='50', format='int') - - -# opObj11 = procUnitConfObjMSTSpectra.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='101', format='int') -# opObj11.addParameter(name='wintitle', value='MST', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='channelList', value='3', format='intlist') -# #opObj11.addParameter(name='timerange', value='300', format='float') -# opObj11.addParameter(name='xmin', value='8', format='float') -# opObj11.addParameter(name='xmax', value='16', format='float') -# opObj11.addParameter(name='ymin', value='120', format='float') -# opObj11.addParameter(name='ymax', value='190', format='float') -# opObj11.addParameter(name='zmin', value='20', format='float') -# opObj11.addParameter(name='zmax', value='45', format='float') -# opObj11.addParameter(name='save', value='1', format='int') -# opObj11.addParameter(name='figfile', value='rti_mst.pdf', format='str') -# opObj11.addParameter(name='figpath', value='/Users/dsuarez/Pictures/poster', format='str') - - -# opObj11 = procUnitConfObjMSTSpectra.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='1001', format='int') -# opObj11.addParameter(name='wintitle', value='MST', format='str') -# opObj11.addParameter(name='ymin', value='120', format='int') -# opObj11.addParameter(name='ymax', value='190', format='int') -# opObj11.addParameter(name='zmin', value='20', format='int') -# opObj11.addParameter(name='zmax', value='45', format='int') - -# opObj11.addParameter(name='save', value='1', format='int') -# opObj11.addParameter(name='figpath', value=gpath, format='str') -# opObj11.addParameter(name='wr_period', value='5', format='int') -# opObj11.addParameter(name='ftp', value='1', format='int') -# opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -# opObj11.addParameter(name='username', value='wmaster', format='str') -# opObj11.addParameter(name='password', value='mst2010vhf', format='str') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='exp_code', value='19', format='int') -# opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - - -######################################################## -############### ISR #################################### -######################################################## - -procUnitConfObjISR = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObjISR.addOperation(name='ProfileSelector', optype='other') - -profileIndex = '20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99' - -opObj11.addParameter(name='profileList', value=profileIndex, format='intlist') - -opObj11 = procUnitConfObjISR.addOperation(name='ProfileConcat', optype='other') -opObj11.addParameter(name='m', value='5', format='int') - -opObj11 = procUnitConfObjISR.addOperation(name='filterByHeights') -opObj11.addParameter(name='window', value='20', format='int') - -barker3x1 = '1,1,-1,-1,-1,1' -barker3x5 = '1,1,1,1,1, 1,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 = procUnitConfObjISR.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=barker3x5, format='floatlist') -opObj11.addParameter(name='nCode', value='2', format='int') -opObj11.addParameter(name='nBaud', value='15', format='int') - - -procUnitConfObjISRSpectra = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjISR.getId()) -procUnitConfObjISRSpectra.addParameter(name='nFFTPoints', value='16', format='int') -procUnitConfObjISRSpectra.addParameter(name='nProfiles', value='16', format='int') - -opObj11 = procUnitConfObjISRSpectra.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='36', format='float') - -# opObj11 = procUnitConfObjISRSpectra.addOperation(name='SpectraWriter', optype='other') -# opObj11.addParameter(name='path', value='/media/datos/isr2014') -# opObj11.addParameter(name='blocksPerFile', value='120', format='int') - - -opObj11 = procUnitConfObjISRSpectra.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='101', format='int') -opObj11.addParameter(name='wintitle', value='ISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='channelList', value='3', format='intlist') -#opObj11.addParameter(name='timerange', value='300', format='float') -opObj11.addParameter(name='xmin', value='8', format='float') -opObj11.addParameter(name='xmax', value='16', format='float') -# opObj11.addParameter(name='ymin', value='120', format='float') -# opObj11.addParameter(name='ymax', value='190', format='float') -opObj11.addParameter(name='zmin', value='20', format='float') -opObj11.addParameter(name='zmax', value='55', format='float') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figfile', value='rti_mst_isr.pdf', format='str') -opObj11.addParameter(name='figpath', value='/Users/dsuarez/Pictures/poster', format='str') - - -# opObj11 = procUnitConfObjISRSpectra.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='2000', format='int') -# opObj11.addParameter(name='wintitle', value='ISR', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='24', format='int') -# opObj11.addParameter(name='zmin', value='30', format='int') -# opObj11.addParameter(name='zmax', value='70', format='int') -# -# opObj11 = procUnitConfObjISRSpectra.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='2001', format='int') -# opObj11.addParameter(name='wintitle', value='ISR', format='str') -# opObj11.addParameter(name='zmin', value='20', format='int') -# opObj11.addParameter(name='zmax', value='60', format='int') -# -# opObj11.addParameter(name='save', value='1', format='int') -# opObj11.addParameter(name='figpath', value=gpath, format='str') -# opObj11.addParameter(name='wr_period', value='5', format='int') -# opObj11.addParameter(name='ftp', value='1', format='int') -# opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -# opObj11.addParameter(name='username', value='wmaster', format='str') -# opObj11.addParameter(name='password', value='mst2010vhf', format='str') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='exp_code', value='20', format='int') -# opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - -# -# ######################################################### -# ################ EEJ #################################### -# ######################################################### -# ######################################################### -# -# procUnitConfObjEEJ = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) -# -# opObj11 = procUnitConfObjEEJ.addOperation(name='ProfileSelector', optype='other') -# opObj11.addParameter(name='profileRangeList', value='120,183', format='intlist') -# -# opObj11 = procUnitConfObjEEJ.addOperation(name='Decoder', optype='other') -# opObj11.addParameter(name='code', value='1,-1', format='floatlist') -# opObj11.addParameter(name='nCode', value='2', format='int') -# opObj11.addParameter(name='nBaud', value='1', format='int') -# -# procUnitConfObjEEJSpecta = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjEEJ.getId()) -# procUnitConfObjEEJSpecta.addParameter(name='nFFTPoints', value='64', format='int') -# procUnitConfObjEEJSpecta.addParameter(name='nProfiles', value='64', format='int') -# -# opObj11 = procUnitConfObjEEJSpecta.addOperation(name='IncohInt', optype='other') -# opObj11.addParameter(name='n', value='36', format='float') -# -# # opObj11 = procUnitConfObjEEJSpecta.addOperation(name='SpectraWriter', optype='other') -# # opObj11.addParameter(name='path', value='/media/datos/eej2014') -# # opObj11.addParameter(name='blocksPerFile', value='10', format='int') -# -# -# opObj11 = procUnitConfObjEEJSpecta.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='3000', format='int') -# opObj11.addParameter(name='wintitle', value='EEJ', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='xmin', value='0', format='int') -# opObj11.addParameter(name='xmax', value='24', format='int') -# opObj11.addParameter(name='zmin', value='20', format='int') -# opObj11.addParameter(name='zmax', value='50', format='int') -# -# opObj11 = procUnitConfObjEEJSpecta.addOperation(name='SpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='3001', format='int') -# opObj11.addParameter(name='wintitle', value='EEJ', format='str') -# opObj11.addParameter(name='zmin', value='20', format='int') -# opObj11.addParameter(name='zmax', value='50', format='int') -# opObj11.addParameter(name='save', value='1', format='int') -# opObj11.addParameter(name='figpath', value=gpath, format='str') -# opObj11.addParameter(name='wr_period', value='5', format='int') -# opObj11.addParameter(name='ftp', value='1', format='int') -# opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -# opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -# opObj11.addParameter(name='username', value='wmaster', format='str') -# opObj11.addParameter(name='password', value='mst2010vhf', format='str') -# opObj11.addParameter(name='ftp_wei', value='0', format='int') -# opObj11.addParameter(name='exp_code', value='22', format='int') -# opObj11.addParameter(name='sub_exp_code', value='0', format='int') -# opObj11.addParameter(name='plot_pos', value='0', format='int') - - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() diff --git a/schainpy/scripts/scripts_v/plot_eej.py b/schainpy/scripts/scripts_v/plot_eej.py deleted file mode 100644 index 47ae5b5..0000000 --- a/schainpy/scripts/scripts_v/plot_eej.py +++ /dev/null @@ -1,91 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "EWDrifts+Imaging+Faraday Experiments" -filename = "eej_plots.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -path = '/media/DATA/eej2014' -figpath = '/home/operaciones/Pictures/eej_mayo2014' - -readUnitConfObj = controllerObj.addReadUnit(datatype='Spectra', - path=path, - startDate='2014/01/08', - endDate='2014/01/08', - startTime='10:00:00', - endTime='14:59:59', - delay=10, - online=1, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='100', format='int') -opObj11.addParameter(name='wintitle', value='EEJ', format='str') -opObj11.addParameter(name='zmin', value='15', format='int') -opObj11.addParameter(name='zmax', value='50', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='wr_period', value='3', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -opObj11.addParameter(name='username', value='wmaster', format='str') -opObj11.addParameter(name='password', value='mst2010vhf', format='str') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='22', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') -# -# -# -opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='101', format='int') -opObj11.addParameter(name='wintitle', value='EEJ', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value='0', format='int') -opObj11.addParameter(name='xmax', value='24', format='int') -opObj11.addParameter(name='zmin', value='20', format='int') -opObj11.addParameter(name='zmax', value='50', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -opObj11.addParameter(name='username', value='wmaster', format='str') -opObj11.addParameter(name='password', value='mst2010vhf', format='str') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='22', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - -# opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='105', format='int') -# opObj11.addParameter(name='wintitle', value='EEJ', format='str') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='timerange', value='300', format='int') -# opObj11.addParameter(name='zmin', value='15', format='int') -# opObj11.addParameter(name='zmax', value='30', format='int') -# opObj11.addParameter(name='save', value='1', format='int') -# opObj11.addParameter(name='figpath', value='/home/operaciones/Pictures/eej_mayo2014', format='str') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/plot_isr.py b/schainpy/scripts/scripts_v/plot_isr.py deleted file mode 100644 index bba05f9..0000000 --- a/schainpy/scripts/scripts_v/plot_isr.py +++ /dev/null @@ -1,79 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "EWDrifts+Imaging+Faraday Experiments" -filename = "isr_plots.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -path = '/media/DATA/isr2014' -figpath = '/home/operaciones/Pictures/isr_mayo2014' -readUnitConfObj = controllerObj.addReadUnit(datatype='Spectra', - path=path, - startDate='2014/01/08', - endDate='2014/01/08', - startTime='10:00:00', - endTime='14:59:59', - delay=40, - online=1, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=readUnitConfObj.getId()) - -opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='200', format='int') -opObj11.addParameter(name='wintitle', value='ISR', format='str') -opObj11.addParameter(name='zmin', value='30', format='int') -opObj11.addParameter(name='zmax', value='70', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='wr_period', value='3', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -opObj11.addParameter(name='username', value='wmaster', format='str') -opObj11.addParameter(name='password', value='mst2010vhf', format='str') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='20', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - -opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='201', format='int') -opObj11.addParameter(name='wintitle', value='ISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value='0', format='int') -opObj11.addParameter(name='xmax', value='24', format='int') -opObj11.addParameter(name='zmin', value='30', format='int') -opObj11.addParameter(name='zmax', value='70', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value=figpath, format='str') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -opObj11.addParameter(name='username', value='wmaster', format='str') -opObj11.addParameter(name='password', value='mst2010vhf', format='str') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='20', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/plot_mst.py b/schainpy/scripts/scripts_v/plot_mst.py deleted file mode 100644 index 72ab023..0000000 --- a/schainpy/scripts/scripts_v/plot_mst.py +++ /dev/null @@ -1,88 +0,0 @@ -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "EWDrifts+Imaging+Faraday Experiments" -filename = "mst_plots.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='test01', description=desc) - - -path = '/media/DATA/isr2014' -figpath = '/home/operaciones/Pictures/isr_mayo2014' -readUnitConfObj = controllerObj.addReadUnit(datatype='Spectra', - path=path, - startDate='2014/01/08', - endDate='2014/01/08', - startTime='10:00:00', - endTime='14:59:59', - delay=20, - online=1, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') - -procUnitConfObjMSTSpectra = controllerObj.addProcUnit(datatype='Spectra', inputId=readUnitConfObj.getId()) - - - - -opObj11 = procUnitConfObjMSTSpectra.addOperation(name='SpectraPlot', optype='other') -opObj11.addParameter(name='id', value='215', format='int') -opObj11.addParameter(name='wintitle', value='MST', format='str') -opObj11.addParameter(name='ymin', value='120', format='int') -opObj11.addParameter(name='ymax', value='190', format='int') -opObj11.addParameter(name='zmin', value='20', format='int') -opObj11.addParameter(name='zmax', value='50', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value='/home/dsuarez/Pictures/mst_mayo2014', format='str') -opObj11.addParameter(name='wr_period', value='1', format='int') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -opObj11.addParameter(name='username', value='wmaster', format='str') -opObj11.addParameter(name='password', value='mst2010vhf', format='str') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='19', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - -opObj11 = procUnitConfObjMSTSpectra.addOperation(name='RTIPlot', optype='other') -opObj11.addParameter(name='id', value='301', format='int') -opObj11.addParameter(name='wintitle', value='ISR', format='str') -opObj11.addParameter(name='showprofile', value='0', format='int') -opObj11.addParameter(name='xmin', value='0', format='int') -opObj11.addParameter(name='xmax', value='24', format='int') -opObj11.addParameter(name='ymin', value='120', format='int') -opObj11.addParameter(name='ymax', value='190', format='int') -opObj11.addParameter(name='zmin', value='20', format='int') -opObj11.addParameter(name='zmax', value='50', format='int') -opObj11.addParameter(name='save', value='1', format='int') -opObj11.addParameter(name='figpath', value='/home/dsuarez/Pictures/mst_mayo2014', format='str') -opObj11.addParameter(name='wr_period', value='5', format='int') -opObj11.addParameter(name='ftp', value='1', format='int') -opObj11.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') -opObj11.addParameter(name='folder', value='/home/wmaster/graficos', format='str') -opObj11.addParameter(name='username', value='wmaster', format='str') -opObj11.addParameter(name='password', value='mst2010vhf', format='str') -opObj11.addParameter(name='ftp_wei', value='0', format='int') -opObj11.addParameter(name='exp_code', value='19', format='int') -opObj11.addParameter(name='sub_exp_code', value='0', format='int') -opObj11.addParameter(name='plot_pos', value='0', format='int') - - - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/sousy.py b/schainpy/scripts/scripts_v/sousy.py deleted file mode 100644 index 829b456..0000000 --- a/schainpy/scripts/scripts_v/sousy.py +++ /dev/null @@ -1,103 +0,0 @@ - - - - - -import os, sys - -path = os.path.split(os.getcwd())[0] -sys.path.append(path) - -from controller import * - -desc = "Sousy_test" -filename = "sousy_processing.xml" - -controllerObj = Project() - -controllerObj.setup(id = '191', name='Test_sousy', description=desc) - -#path = '/media/data/data/vientos/57.2063km/echoes/NCO_Woodman' -#path2= '/media/' -#path2='/media/New Volume/LowTroposphere' -#path1='/media/New Volume/LT_shortpulse' -#path = path1 + ',' + path2 -path='G:\\LowTroposphere' - -path = '/media/signalchain/FVillanuevaR/LowTroposphere' -wr_path = '/media/signalchain/datos/sousy' -figures_path = '/home/signalchain/Pictures/sousy' - -readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage', - path=path, - startDate='2014/07/08', - endDate='2014/07/08', - startTime='10:00:00', - endTime='17:59:59', - delay=0, - set=0, - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') -######################################################### -################ SOUSY################################### -######################################################### -# -procUnitConfObjSousy = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId()) -# -# codigo64='1,1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1,1,1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,1,0,1,1,1,0,0,0,1,0,'+\ -# '1,1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1' -opObj11 = procUnitConfObjSousy.addOperation(name='setRadarFrequency') -opObj11.addParameter(name='frequency', value='53.5e6', format='float') - - - -opObj11 = procUnitConfObjSousy.addOperation(name='filterByHeights') -opObj11.addParameter(name='window', value='2', format='int') - -codigo='1,-1' -opObj11 = procUnitConfObjSousy.addOperation(name='Decoder', optype='other') -opObj11.addParameter(name='code', value=codigo, format='floatlist') -opObj11.addParameter(name='nCode', value='2', format='int') -opObj11.addParameter(name='nBaud', value='1', format='int') - -opObj11 = procUnitConfObjSousy.addOperation(name='CohInt', optype='other') -opObj11.addParameter(name='n', value='2048', format='int') - -procUnitConfObjSousySpectra = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObjSousy.getId()) -procUnitConfObjSousySpectra.addParameter(name='nFFTPoints', value='64', format='int') -procUnitConfObjSousySpectra.addParameter(name='nProfiles', value='64', format='int') - -opObj13 = procUnitConfObjSousySpectra.addOperation(name='removeDC') -opObj13.addParameter(name='mode', value='2', format='int') - -opObj11 = procUnitConfObjSousySpectra.addOperation(name='IncohInt', optype='other') -opObj11.addParameter(name='n', value='1', format='float') -# -# opObj11 = procUnitConfObjSousySpectra.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='101', format='int') -# opObj11.addParameter(name='wintitle', value='Sousy_RTIPlot', format='str') -# opObj11.addParameter(name='zmin', value='30', format='int') -# opObj11.addParameter(name='zmax', value='100', format='int') -# opObj11.addParameter(name='ymin', value='0', format='int') -# opObj11.addParameter(name='ymax', value='10', format='int') -# opObj11.addParameter(name='xmin', value='10', format='float') -# opObj11.addParameter(name='xmax', value='18', format='float') -# opObj11.addParameter(name='showprofile', value='0', format='int') -# opObj11.addParameter(name='save', value='1', format='int') -# #opObj11.addParameter(name='figfile', value='rti0_sousy.png', format='str') -# opObj11.addParameter(name='figpath', value=figures_path, format='str') - -opObj11 = procUnitConfObjSousySpectra.addOperation(name='SpectraWriter', optype='other') -opObj11.addParameter(name='path', value=wr_path) -opObj11.addParameter(name='blocksPerFile', value='100', format='int') - -print "Escribiendo el archivo XML" -controllerObj.writeXml(filename) -print "Leyendo el archivo XML" -controllerObj.readXml(filename) - -controllerObj.createObjects() -controllerObj.connectObjects() -controllerObj.run() \ No newline at end of file diff --git a/schainpy/scripts/scripts_v/test.cprof b/schainpy/scripts/scripts_v/test.cprof deleted file mode 100644 index 1df8675772b04b9aa7c82dacc280dc4dfdd6cbfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 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%0Dp|9UF+=ql;T}r_GGTcb9=GhfJ z#>ta7_4_BHxBV{X$r$e$B*d_??G|A;GulWaeU%^Z%Rl#-%t?utc`@Qq<-%oJI&7_DEOBkMSgAnHhmEmv1l2NgZ2STD|B=2LoE=@~p z82Md1%DY$V*)QtC^C<3b4#n9@=A^DCd2eR~Bxh5Zr5r2fNDZ}fYbHjDA3+dT&l`Ca zX^iRZE-5b|FFd@I-orMLhIJ2fTOo00fcOMu-2|fqm!Vl@MuuC&2Ji+*EHD#bQ>vB6 zf24OH8OG(gtn2S-JQ*}ZQ$eAjUrTT!9dP|WhCKP=Y)-o6o=5wC{q{UB^ldjog#0qP z)|!I2k*dz!IDPZR@tpMNjT4s7T{_9b1!q91M#g19+(_%67`N_#@27Fn#m}#q_m@-2 zkvPqP3_=$QE=DA5btk+wVE$TT(OeUm#bTSuu3c=W@c98jQbQEy{-;yOZO@}>wkE8m zbfpp>SA`FAQC_Ce$0lPZR=GJhu`_8~$_X(ZqIefuOz7PWg7Glt+EJBe?D(-Pl&G`E z8CQM(kos0}Dkq(G@Z}TAn$IKqW~N)=g;JZS)Y2kSJ=hOd!{R=GXoqyHO^oyKn!tI) z3-Od}Wy4=p1`f>IsF5n87ajC=Fv&^#A3yP#FYmh7i%qd5L=+=l*}xTu-6IwfJ(csy zmlDnfp;6><6kHi(BWdu8>O$@j6CBlUH;6n_3rw&OY-Ji`BJ2azK-f$|1rS0JsDo0!mU4fVHeG@q7pw-XSi}_3Xw6oOA-h-Q%ll9 zgcAyX2K-@{F$YygbZ#n6F8s4+RJ6`I`FKHDTqA z&L@qkhLnP(eaKWZGUpJ{aV$bY4+jOX+KFYU)ok%>Ps)3HXN-Vo7Tc9k%n0HJ^C*ll zRPJ&oX(U{CSJ6ddA;x9lfOE_6w8>v7gU#~&Nkdm8_EYqAdyD$Dj9dYb7^MtYX%Sh> z`b%(Z&Q`EkOY-TsK`*h0IPDc-VlimedC_VBK?fpF_%~m`!QPDF^uYYSNEEMCU^G__%65~1MfN1nKP^t)0r zo>6NufdA3cuDh4c{PqS>25$tIiPIY+$y|IKYG>#<)eTT@CpD!`DJ4boz;-Syv3D;sd33X1;@%Iba>YvjvJ|U*XtLqX_Q5+8}{N~yDYfHBg1_`3Wtg} zqv>i&nB)*|XYsq`I3`2cxFH#auoPQB5B|3$k)7L%+q;uOMe?U3wHs7F9Yqi+g6iBG zrblYWVj%*L#X(VA@DNE*jzZ&Ds0c9J88`OZUH5(bXaYe9lR+KrK-HrO>3L= zR}xbcoeD#mE2b)CRb_t61PEDkkTZ|#I2BvuKq-({;nstv{0s06+3^vjyf303Zwwm0 zA2qfsx0Q7L=Ih1o{e~t|yRpV` zDq4#c$K-PCHd`QMvxX|*tdHYTSdrpC#t&jEDTz{U=T?D`M@tA0aTOHfvKzN?BdXkb zJjSREL#+d2AuQhU@sxnmw~!YY=4*-k`+}5NnI0B!$G(svww$pTlglNn+aQ#(MyYCe zu+d`=qc1433cM`}Rz@BK{yzjRWBTTMN#0&5XNkfoe6+TDtEn&ba}wGZ=_s_ppvi)~ zv~Xvt{l}8Vn780Vsn|IIP0Z9nScPRWOryN7V!0H&GVDT<^M*OIs z6s|J~eN%E%-Cfydf({FT9)Ks`1Pg(yfJ2_Bj87%I*mmdG>ErvIz)7E9{f}h_UUan= zkjYG~Cb1CW!ZJwM}{Nhd#c%#4<)oYeKp`!4$T&AE<(Xx$@kq40Kk@3wdW zLquJBX=zIf$*8;~vSzmn^dC*>j~gj>!ifE@dVCE>JFbHepMUGnCy96x4j2s%odoV_a0(<$h zG*B}mgd1u96>kr|>y?u@>ACCXJowemIR>1}+Dl7IpARk5aKNa(;3F^k-ECJqFp87z zJw10%?53F>QX{@7!!^znQX-0^Ru2h3w}=?0=a)JSjbyRh3yUmwm%wd0=Ne&hvIjzWa; zzm;LBlmN&5a>@x?m+Z$$2rZ2i!&;9Y(4IrgAep(Fe~R)ayk!uWC$aR4W_8hOrpZ>wR$J4QCCLMHiw2oY+g5 zYLySzR4XYx7r@s3TrpQIFMB8zlZ+mV{)#eWi+XqFuoo9^v0oryv&5b+u!9CY06_O` zX^GH&KVNsn=v|}8cAMi#YN5NZg!QEjqRqdw3usYI7fcw@Am#*Kz8n;}!M?-zyndpZ z3?dC?H*5)NcEjbEomH#SB5xo1`(IY?UB%H39!c@qLeElVJSQ0qi;>y#y;pBx8<5v_ zA3hR}$^bL!XGn--pk&i=AqT;1gjf&JWZCv?BoXEFNg*NXr@5jh;PB=7ARPx--`C-| z_#tTgc8sz(PBHgqmf#R2+9~>(p{YcqV|T7M6D3~oA*W0>hYq@{2xBbm16J#PLF4CD zuGc@#pdIUYp&D-!k$ial~QTgcqkc;L+hZSiKNb~t!j95g=N}{j`@gr zIeO+QY0vyAGl~&g9n_|8 z--IuqfDDy*PC1ObaZ>kZpMCPqwFi4~XYsH;cG08XLWnms@AZV6nI{h8jLHynK?pa} zOLGUT3^qkMY45kgNByQ4S(Ea+K9u)DTcajk6<4xvxd@N^ufENTMscni82$;uPOLq+wmr z?Oi*ehG)1dRSqg;u>lvUJk?gppfU;o+sX&X_+(1f2Vxc%hBz;vIZM=n5Y%=j9q-=a z--E1DDob^L*(8@X7ek2X9%v#1aTdZ)0a9}_b~7lgLli3cWY9oAo6d(=6qy>L63 z#4I7?XF75WS1spuMR?ppsImrHo~NlhR@jg{$FMWILzkL)xB2-W;c8kHOyy|MkNd)E@8J4pkkn@ zpEiL1(OqDiOZXRfv(*Chdi(ozmHXI(4+Xg$5EMdQ>+P@uP!7n10=9cyHb`prcXu@3 zeumBPmf>dWv9IalXxwiL<=E)kmiE(8QsytB2eRqnOX9mm?!fT5KH?(pgWkQ zC=Jr^I2{zNN0w7-DjG{rtfqR5+N6YYkg0^sK@42ti!zC^SmfMAz+Z#N)rE9idZX=! z8PZRQMHjyIpBdiR2LD;k*xCj$=3lD_S3nH@7fB^^vP2RRM+e-JOsq=zxn8u*`{hlx z;}hIHEy8_TZqc$b+(?JrpS`l|jfA|{pB?nOkB++Bi?_B0^nPEeGu65X3f4MEj+QYV z7`;GchIf}3mDXQR{ovIb-wbooyvKUaJ9ouu4>D4PYPpT7<%#+tB%_14!5Ic~IcY_2 zY0k^D*LV=V)Li%kw(wJPpFJnFFC@I8Sr5V=F+Y$DBUh*W{&%-d-h0C_oU}Oh}n(UrmQM}Z}tjpdZYF%Z3%9P0B@*&HxgnH}mZ<>}vRI98;b zb9+LqMu2M(JO*PQg7*sS5=~hIJ}PD-z|^nYM?$!f`ki;oXQh)@a#HQJ=gjGT)K)k8 zmbhvL1PhB=6joifkXKVkb{*KLq7Fd$(1Fu0 zpH35prkY*EGHu*Stp(F9O|5*B3_5Lu&8?j7aAVmNV97C>h;A+V@cR@gqZ;n3ruOe! zE-vS!v!^!ieQeAoFV37wtux0$hzkWK8|RH$-J)CQ^n&-@%E@z={r(6>c-2w}BqyaU zHJCw4g=NA(RH5gGN8Z?j6wQP?zPyral}aae@s`CUEyV;zbr7Tx zd#UZcn zJK;t;V8W{8b%##iXa~RFQ1kVd&4@g*yx@J_4G>cxA}{kSPA^biZWw7;kS;p{RtE`7 zL_xaPt7W*6j@dfxsvlk%%+Ze9+u39CMKC;)POMtcf|07{hqvJR09NABjL?eQ1&Z)3 zLEKPQ8``lyals(wYtnp^#iU^o1r{tAi1Sa+H6el`a3;i}VlszU&q1V--VRLK{rIAv zX3&oH>QSDDC%qq-S`|SXCyf1PUL3&V79uP2v5cq(F3|ePq+|clvq~Ax!vOwA7h$yX z%s<1Ne@UOIz9%K4ARRCH7m)6Sv{VkXqbQ%fjJvZ@C3i#)hEerSGoLC;(_xjENm*Yq zX+|5#81Ud-H8)gBiwHDqD$q=7)nHLRY9l_-$6o zz)ZyY0&ZpXak^PtV!2jz#t9A8LNd}mt0C1^2Y+bpnR$H%EwSW{i7~_)ok328V9O%D z3^&rhZ<{%`yyqDl?O1=ZR#9lqh{y+69whid^zwHv#Elf}J97R<$Niq89n(AnOBW!- zOf#`GOcaQ^t3)G8ohPb%%QSfin%bI(>q7mHA1lL+R5#_ruK$-=%+Zc_Bqfq?7-?8H z8aL6LIoeSSB#l&G($IU{2bCP{ScY{YsdT%1%%RtYd>AFyF(XFg6`9NABRRshIxC19 zqxyDWycbY+$d}2uY*Z^nBvxogQ%HDg~1VnqiPtrY4NTf}6JkEc=wcn}3R_D1N2U2YOrq*H8ViF77|op&*>vmMM{?4G`z~skbOZ0Gih*(h70Rh( z9Xkd&F5C}rkwt5!sub4>sEtMBJ3FYDD1+U?4>tsr8+Ul9`pnRp4r1r%G2ul(M->*$ z>b@8buKz7ttU+tBVedf+&{9Aw<6m4PCsgx!L6oGTZ#dH@>9 z>GYetR*D6B(4qyZi0%-4_)J02f%TUj%Syp+$)2Nx{um=HW&< zdw1=h_Vn7oNmm{e=LWogiT8?kX9aM401drQm7dY zx2kLzsCCrw|+3vrVF*f+@`lQVj6#$qvyxhDq{j_^-YB z@dV<2fuM7f>cmwYZLBm#za4r8InL{EVC;hOFA#PL`4~KSchxeh*O5j_OnrQ6?KML< zeH9WfQr8Cva9X)9BDtkSsE-vH{4ufk6P^h}5 zdeN+WW22a10(IXXc+IoFv=4L?Fi^vYh;{}cgB2#7E&+!1Kw&h5anm_FEecx}T(N_! z?Pic=o`_-t_oe&`s_5H8AU%n6xNBQ+S&h)bF>We)@acfov+U1jfrkWrMn0WE zHnZh032`ayI1fJ;$R)TsW-QYn&V{iquT8YyX9h{-B>A2aYtvKd(R2#JYwBc$n)}qh z1q}mcJC7ihNon-}k3)-Z*sIa}i=b6nWl7@Vvp)4`T5= zCqQ4kp2fC^n5Ln;p8^5bZTS`j;9(;_N;*610CL_j$ zT(R?qUNm*p)IE7S(VN&}!ZnCD#|c^O;e;U1dM=}Yy8m8=Ju8U}R$4YcvRi>pYpxf> zi6P63LeJ!zqiiw@`FIYa&tj3B9&`qE^H3vwvvyJT%Ml|v+VSLtkf5m8)d8c;Omzk6 zxc3+SYltkP#-!*GBdqA4;B;eS4*mzff+WzDn6Xu8<>f!ndms#yBF^s{DtTQNAhX|4 zJ=R1TR^beHUua~B#+&joX;i`uZHY8jH^ldY`05);C6j=gN3#A#8kNtNbi9n{HR3XX za^Ye!muc4@1dJ*#QymN~hqAntq-(TU!TCOyeyp{mQS&ZIN0H^J`XvqdGz+r5ip=9* z$w|cXjfiw?R{Pv|s$s(a4q4NyEA|97WQ1sADii&Ur$qXifU*yK{u+7+sv1Fo1PtV) z@pa+f1s5Db)Tyu1`;qM>iMeG7p-r!r3@>3gFb*s{FyyDGCxv|Awzcbz3)RKLN-?*A zrvU7PQvEzDZz`y5gzo_sPj{Z0rK@;)S^!sT1lv5Bi=^@ZE`U&jGO{O0BlW!e4-0b^BRbB_uco&`A%~2 z02CkohR)B&(12!>s_!3C-zv`Kq$|F7aA)&Mf%K@q*0Rw$&31CG7RW} zEj39^N2om}WX~Hzc7*9vM zQ90|2v1Y~jX1%`~*5c_@HdlvIw{_poKV~f*x3Gl>JRDus4||Yg^O&9~4O$NltD>IX z(8o*`KZ6)grPil}G~t0kq>;8?(tq6TTf1=BbG4r%w_ma1>K01iSMt%=3C5N

WH*XKFNC9%8>6 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 Sb`&RdKh4VBQ2n_bj)zu8{EWNcqD6-f)r}e{_6N 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 el plot genera +1 en la hora, es decir aparece 18 como máximo - - dbmin = '45' #'60'#'55' #'40' #noise esf eej - dbmax = '65' #'70' #'55' - showSPC = '1' #view plot Spectra - showRTI = '1' #view plot RTI - showNOISE = '0' #view plot NOISE - localtime='1' #para ajustar el horario en las gráficas '0' para dejar en utc - - 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' - nCode = '1' - nBaud = '28' - - nosamp = '1' # oversample for EEJ - - str0 = datetime.date.today() - str1 = str0 + datetime.timedelta(days=1) - str2 = str0 - datetime.timedelta(days=1) - today = str0.strftime("%Y/%m/%d") - tomorrow = str1.strftime("%Y/%m/%d") - yesterday = str2.strftime("%Y/%m/%d") - - #print(today,yesterday,tomorrow) - #path= '/home/soporte/dataAMISR_test/' - #path= '/home/soporte/dataAMISR/' - #path='/home/soporte/Documentos/' # - - readUnitConfObj = controllerObj.addReadUnit(datatype='Spectra', - path=path, - startDate='2019/12/17',#'2021/07/11', - endDate='2019/12/18', - startTime='00:01:30',#'07:00:00', - endTime='07:00:00',#'15:00:00', - walk=1, - timezone='lt', - online=0) - - #AMISR Processing Unit - - - - proc_spectra = controllerObj.addProcUnit(datatype='SpectraProc', inputId=readUnitConfObj.getId()) - proc_spectra.addParameter(name='nFFTPoints', value='16', format='int') - #procUnitConfObj1.addParameter(name='frequency', value='445e6', format='float') #no lo acepta - - - # op1 = proc_spectra.addOperation(name='IncohInt', optype='other') - # op1.addParameter(name='n', value='150', format='int') #300 normal value - - #op2 = proc_spectra.addOperation(name='removeDC') - - op2 = proc_spectra.addOperation(name='CrossSpectraPlot', optype='external') - op2.addParameter(name='id', value='10', format='int') - op2.addParameter(name='save', value=figpath, format='str') - #op2.addParameter(name='zmin', value='10.0', format='float') - #op2.addParameter(name='zmax', value='35.0', format='float') - # # - - op3 = proc_spectra.addOperation(name='SpectraPlot', optype='external') - op3.addParameter(name='id', value='21', format='int') - op3.addParameter(name='xaxis', value='velocity') - #op3.addParameter(name='ymax', value=ymax, format='int') - op3.addParameter(name='showprofile', value='1', format='int') - op3.addParameter(name='wintitle', value='AMISR Beam 0', format='str') - op3.addParameter(name='zmin', value=dbmin, format='int') - op3.addParameter(name='zmax', value=dbmax, format='int') - op3.addParameter(name='save', value=figpath, format='str') - op3.addParameter(name='colormap', value='jet', format='str') - op3.addParameter(name='localtime', value=localtime,format='int') - op3.addParameter(name='show', value = showSPC, format='int') - # - - - # opObj31 = procUnitConfObj1.addOperation(name='selectChannels') - # opObj31.addParameter(name='channelList', value='6,7,8,9', format='intlist') - # - op4 = proc_spectra.addOperation(name='RTIPlot', optype='external') - op4.addParameter(name='id', value='2', format='int') - op4.addParameter(name='localtime', value=localtime,format='int') - op4.addParameter(name='wintitle', value='RTI', format='str') - #op4.addParameter(name='xmin', value=xmin, format='int') - op4.addParameter(name='xmax', value=xmax, format='int') #max value =23 - #op4.addParameter(name='ymin', value=ymin, format='int') - #op4.addParameter(name='ymax', value=ymax, format='int') - op4.addParameter(name='zmin', value=dbmin, format='int') - op4.addParameter(name='zmax', value=dbmax, format='int') - op4.addParameter(name='showprofile', value='1', format='int') - op4.addParameter(name='show', value = showRTI, format='int') # - #op4.addParameter(name='timerange', value=str(24*60*60), format='int')#conflicto datetime - op4.addParameter(name='save', value=figpath+'/plots', format='str') - #op4.addParameter(name='figpath', value = figpath+'/plots', format='str')#no es necesario - op4.addParameter(name='colormap', value='jet', format='str') - op4.addParameter(name='channels', value='2,4', format='intlist') - - # opObj14 = procUnitConfObj1.addOperation(name='NoisePlot', optype='external') - # opObj14.addParameter(name='id', value='3', format='int') - # opObj14.addParameter(name='wintitle', value='title0', format='str') - # opObj14.addParameter(name='showprofile', value='0', format='int') - # opObj14.addParameter(name='xmin', value=xmin, format='int') - # opObj14.addParameter(name='xmax', value=xmax, format='int') - # opObj14.addParameter(name='ymin', value=dbmin, format='int') - # opObj14.addParameter(name='ymax', value=dbmax, format='int') - # opObj14.addParameter(name='save', value=figpath+'/plots', format='str') - # opObj14.addParameter(name='localtime', value=localtime,format='int') - # opObj14.addParameter(name='show', value = showNOISE, format='int') - # # - - # opObj18 = procUnitConfObj1.addOperation(name='PublishData', optype='other') - # opObj18.addParameter(name='zeromq', value=1, format='int') - # opObj18.addParameter(name='server', value='tcp://0.0.0.0:8020/', format='str') - # opObj18.addParameter(name='delay', value=0, format='int') - # # - - # patternX = 'local, remote, ext, period, exp_code, sub_exp_code' - # - # opObj18 = procUnitConfObj1.addOperation(name='SendToFTP', optype='external') - # opObj18.addParameter(name='server', value='localhost', format='str') - # opObj18.addParameter(name='username', value='soporte', format='str') - # opObj18.addParameter(name='password', value='soporte', format='str') - # opObj18.addParameter(name='timeout', value=5, format='int') - # - # #opObj18.addParameter(name='patternx', value=patternX, format='str') - # opObj18.addParameter(name='patternlocalfolder', value=figpath, format='str') - # opObj18.addParameter(name='patternremotefolder', value=remotefolder, format='str') - # opObj18.addParameter(name='patternext', value='.png', format='str') - # opObj18.addParameter(name='patternperiod', value=1, format='int') - # opObj18.addParameter(name='patternprotocol', value='ftp', format='str') - # opObj18.addParameter(name='patternsub_ext', value='amisr', format='str') - - # remotefolder = '/Data/myServer/' - # opObj18 = controllerObj.addProcUnit(name='SendToServer', inputId=procUnitConfObj1.getId()) - # opObj18.addParameter(name='server', value='localhost', format='str') - # opObj18.addParameter(name='username', value='soporte', format='str') - # opObj18.addParameter(name='password', value='soporte', format='str') - # opObj18.addParameter(name='localfolder', value=figpath, format='str') - # opObj18.addParameter(name='remotefolder', value=remotefolder, format='str') - # opObj18.addParameter(name='ext', value='.png', format='str') - # opObj18.addParameter(name='period', value=5, format='int') - # opObj18.addParameter(name='protocol', value='ftp', format='str') - # #----------------------------------------------------------------------------------------------- - ##################### - - - # - # procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId()) - # opObj16 = procUnitConfObj2.addOperation(name='SpectralMoments', optype='other') - # - # - # #Using ParamWriter:::: - # opObj17 = procUnitConfObj2.addOperation(name='ParamWriter', optype='external') - # opObj17.addParameter(name='path', value=figpath+'/param') - # opObj17.addParameter(name='blocksPerFile', value='10', format='int') - # opObj17.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') - # opObj17.addParameter(name='dataList',value='moments,data_SNR,utctime',format='list') - # opObj17.addParameter(name='mode',value='1',format='int') #'0' channels, '1' parameters, '3' table (for meteors) - # - # - - - #print("Escribiendo el archivo XML",controllerObj.writeXml(path +'/'+filename)) - - controllerObj.start() - - #print("Leyendo el archivo XML",controllerObj.readXml(path +'/'+filename)) - -if __name__ == '__main__': - import time - start_time = time.time() - main() - print("--- %s seconds ---" % (time.time() - start_time)) diff --git a/schainpy/scripts/test2.py b/schainpy/scripts/test2.py deleted file mode 100644 index a5afc6b..0000000 --- a/schainpy/scripts/test2.py +++ /dev/null @@ -1,301 +0,0 @@ - -import os, sys -import time -import datetime - -''' - ESF 10 BEAM -''' -path = os.path.dirname(os.getcwd()) -path = os.path.dirname(path) -sys.path.insert(0, path) - -from schainpy.controller import Project - - -def main(): - desc = "AMISR Experiment" - - filename = "amisr_reader.xml" - - controllerObj = Project() - - controllerObj.setup(id = '191', name='amisr_esf_proc', description=desc) - - - #path = os.path.join(os.environ['HOME'],'amisr') - # path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE' - # path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ' - # path = '/media/soporte/E9F4-F053/AMISR/Data/ESF' - #path = '/mnt/data_amisr' - #path= '/home/soporte/dataAMISR/' - path= '/home/soporte/dataAMISR/' - #path='/home/soporte/Documentos/' # - #path = '/media/soporte/AMISR_104' - #outPath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf') - #outPath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF' - outPath = '/home/soporte/Data/OutTest/ESF' - remotefolder = "/home/wmaster/graficos" - #figpath = '/home/soporte/Data/OutTest/EEJ' - - xmin = '18' - xmax = '07' - dbmin = '60' #'60'#'55' #'40' #noise esf eej - dbmax = '75' #'70' #'55' - show = '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' - # # code = '1,1,0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,1,1,0,0,0' - 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' - nCode = '1' - nBaud = '28' - nosamp = '2' # oversample - localtime='1' #para ajustar el horario en las gráficas '0' para dejar en utc - - startDate='2019/03/17' - endDate='2019/12/18' - - # str = datetime.date.today() #ONLINE - # str1 = str + datetime.timedelta(days=1) - # str2 = str - datetime.timedelta(days=1) - #today = str.strftime("%Y/%m/%d") - #tomorrow = str1.strftime("%Y/%m/%d") - #yesterday = str2.strftime("%Y/%m/%d") - - l = startDate.split('/') #adding day of the year to outPath - datelist = datetime.date(int(l[0]),int(l[1]),int(l[2])) - DOY = datelist.timetuple().tm_yday - outPath= outPath+"/ESF"+l[0]+str(DOY) - if os.path.exists(outPath): - print("outPath", outPath) - else : - os.mkdir(outPath) - print("Creating...", outPath) - - - readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', - path=path, - startDate=startDate,#'2016/07/12', - endDate=endDate,#'2016/07/13', - startTime='23:35:00',#'07:00:00', - endTime='06:13:59',#'15:00:00', - walk=0, - code = code, - nCode = nCode, - nBaud = nBaud, - timezone='lt', - online=0) - - #AMISR Processing Unit - - #Voltage Processing Unit - procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') - #opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dec 3, 15:40h - #opObj10.addParameter(name='frequency', value='430e6', format='float') - - # opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') - # opObj12.addParameter(name='minHei', value='0', format='float') - - - #Noise--> no code - - opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') - opObj11.addParameter(name='code', value=code, format='floatlist') - opObj11.addParameter(name='nCode', value=nCode, format='int') - opObj11.addParameter(name='nBaud', value=nBaud, format='int') - opObj11.addParameter(name='osamp', value=nosamp, format='int') - - - # opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') - # opObj12.addParameter(name='minHei', value='50', format='float') - # opObj12.addParameter(name='maxHei', value='200', format='float') - - #Coherent Integration - # opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') - # opObj11.addParameter(name='n', value='2', format='int') - - #it doesn't work scope with Voltage() data - # opObj11 = procUnitConfObjBeam0.addOperation(name='ScopePlot', optype='external') - # opObj11.addParameter(name='id', value='121', format='int') - - #Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints - procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) - procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=16, format='int') - # - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') - opObj11.addParameter(name='n', value='150', format='int')#60 - opObj11.addParameter(name='timeInterval', value='30', format='int') - - - # # #RemoveDc - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') - - ##Noise Estimation - # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise', optype='self') - # opObj11.addParameter(name='minHei', value='100', format='int') - # opObj11.addParameter(name='maxHei', value='280', format='int') - #opObj11.addParameter(name='minHei', value='15', format='int') - #opObj11.addParameter(name='maxHei', value='20', format='int') - - #--- - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='selectChannels') - opObj11.addParameter(name='channelList', value='6,7,8,9', format='intlist') - - #SpectraPlot - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='external') - opObj11.addParameter(name='id', value='1', format='int') - opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') - opObj11.addParameter(name='showprofile', value='1', format='int') - #opObj11.addParameter(name='zmin', value='38', format='int') - opObj11.addParameter(name='zmin', value=dbmin, format='int') - opObj11.addParameter(name='zmax', value=dbmax, format='int') - opObj11.addParameter(name='save', value=outPath+'/plots', format='str') - opObj11.addParameter(name='ftp', value='1', format='int') - opObj11.addParameter(name='wr_period', value='2', format='int') - opObj11.addParameter(name='exp_code', value='21', format='int') - # opObj11.addParameter(name='sub_exp_code', value='4', format='int') - # opObj11.addParameter(name='ftp_wei', value='0', format='int') - # opObj11.addParameter(name='plot_pos', value='0', format='int') - opObj11.addParameter(name='exp_code', value='1', format='int') - opObj11.addParameter(name='sub_exp_code', value='1', format='int') - opObj11.addParameter(name='ftp_wei', value='0', format='int') - opObj11.addParameter(name='plot_pos', value='0', format='int') - #opObj11.addParameter(name='localtime', value=localtime,format='int') - - xrange = int(xmax)-int(xmin) - print(xrange) - #RTIPlot - #title0 = 'RTI AMISR Beam 0' - opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='external') - opObj11.addParameter(name='id', value='2', format='int') - opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') - opObj11.addParameter(name='showprofile', value='0', format='int') - opObj11.addParameter(name='xmin', value=xmin, format='int') - opObj11.addParameter(name='xrange', value=xrange, format='int') - opObj11.addParameter(name='zmin', value=dbmin, format='int') - - opObj11.addParameter(name='zmax', value=dbmax, format='int') - opObj11.addParameter(name='save', value=outPath+'/plots', format='str') - opObj11.addParameter(name='ftp', value='1', format='int') - opObj11.addParameter(name='wr_period', value='2', format='int') - # opObj11.addParameter(name='exp_code', value='21', format='int') - # opObj11.addParameter(name='sub_exp_code', value='4', format='int') - # opObj11.addParameter(name='ftp_wei', value='0', format='int') - # opObj11.addParameter(name='plot_pos', value='0', format='int') - opObj11.addParameter(name='exp_code', value='1', format='int') - opObj11.addParameter(name='sub_exp_code', value='1', format='int') - opObj11.addParameter(name='ftp_wei', value='0', format='int') - opObj11.addParameter(name='plot_pos', value='0', format='int') - #opObj11.addParameter(name='localtime', value=localtime,format='int') - opObj11.addParameter(name='channelList', value='0,1,2,3',format='intlist') - opObj11.addParameter(name='colormap', value='jet', format='str') - #opObj11.addParameter(name='plot_server', value='tcp://0.0.0.0:8080', format='str') - #opObj11.addParameter(name='plot_server', value='localhost', format='str') - - - # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot_', optype='external') - # opObj11.addParameter(name='id', value='3', format='int') - # opObj11.addParameter(name='wintitle', value='ESF AMISR otros canales', format='str') - # opObj11.addParameter(name='showprofile', value='1', format='int') - # opObj11.addParameter(name='xmin', value=xmin, format='int') - # opObj11.addParameter(name='xmax', value=xmax, format='int') - # opObj11.addParameter(name='zmin', value=dbmin, format='int') - # - # opObj11.addParameter(name='zmax', value=dbmax, format='int') - # opObj11.addParameter(name='save', value='1', format='int') - # opObj11.addParameter(name='ftp', value='1', format='int') - # opObj11.addParameter(name='wr_period', value='2', format='int') - # opObj11.addParameter(name='figpath', value=outPath+'/plots2', format='str') - # # opObj11.addParameter(name='exp_code', value='21', format='int') - # # opObj11.addParameter(name='sub_exp_code', value='4', format='int') - # # opObj11.addParameter(name='ftp_wei', value='0', format='int') - # # opObj11.addParameter(name='plot_pos', value='0', format='int') - # opObj11.addParameter(name='exp_code', value='1', format='int') - # opObj11.addParameter(name='sub_exp_code', value='1', format='int') - # opObj11.addParameter(name='ftp_wei', value='0', format='int') - # opObj11.addParameter(name='plot_pos', value='0', format='int') - # #opObj11.addParameter(name='localtime', value=localtime,format='int') - # #opObj11.addParameter(name='channelList', value='8,9',format='intlist') - # #opObj15.addParameter(name='colormap', value='jet', format='str') - - - - # # # - # #Noise - #title0 = 'RTI AMISR Beam 0' - # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='NoisePlot', optype='external') - # opObj11.addParameter(name='id', value='3', format='int') - # opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') - # opObj11.addParameter(name='showprofile', value='0', format='int') - # opObj11.addParameter(name='xmin', value=xmin, format='int') - # #opObj11.addParameter(name='xmax', value=xmax, format='int') - # #opObj11.addParameter(name='ymin', value=dbmin, format='int') - # #opObj11.addParameter(name='ymax', value=dbmax, format='int') - # opObj11.addParameter(name='save', value=outPath+'/plots', format='str') - # #opObj11.addParameter(name='show', value = show, format='bool') - # opObj11.addParameter(name='localtime', value=localtime,format='int') - # - # #Generate *.pdata from AMISR data - # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='external') - # opObj11.addParameter(name='path', value=outPath, format='str') - # opObj11.addParameter(name='blocksPerFile', value='10', format='int') - # - # - # #generate moments - # procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) - # opObj20 = procUnitConfObj2.addOperation(name='SpectralMoments', optype='other') - # - # opObj12 = procUnitConfObj2.addOperation(name='ParamWriter', optype='external') - # opObj12.addParameter(name='path', value=outPath) - # opObj12.addParameter(name='blocksPerFile', value='10', format='int') - # opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') - # opObj12.addParameter(name='dataList',value='moments,data_SNR,utctime',format='list') - # opObj12.addParameter(name='mode',value='1',format='int') - pathF1 = outPath+'/plots/rti' - pathF2 = outPath+'/plots/spc' - ''' PaternX = local, remote, ext, period, exp_code, sub_exp_code - ''' - ftp = procUnitConfObjSpectraBeam0.addOperation(name='SendToFTP', optype='external') - ftp.addParameter(name='server', value='jro-app.igp.gob.pe') - ftp.addParameter(name='username', value='wmaster') - ftp.addParameter(name='password', value='mst2010vhf') - ftp.addParameter(name='pattern1', - value=pathF1+',/home/wmaster/graficos,png,100,17,2', - format='list') - ftp.addParameter(name='pattern2', - value=pathF2+',/home/wmaster/graficos,png,100,17,2', - format='list') - # ftp.addParameter(name='pattern3', - # value='/media/sf_E_DRIVE/plots/winds/wind,/home/wmaster/graficos,png,300,17,2', - # format='list') - # ftp.addParameter(name='pattern4', - # value='/media/sf_E_DRIVE/plots/winds/rain,/home/wmaster/graficos,png,300,17,2', - # format='list') - - # procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer', inputId=procUnitConfObjSpectraBeam0.getId()) - # procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') - # procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') - # procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') - # procUnitConfObj2.addParameter(name='localfolder', value=outPath+'/plots', format='str') - # procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') - # procUnitConfObj2.addParameter(name='ext', value='.png', format='str') - # procUnitConfObj2.addParameter(name='period', value=5, format='int') - # procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') - #----------------------------------------------------------------------------------------------- - - #---- - - - # print "Escribiendo el archivo XML" - #filename="/home/soporte/workspace/schain/schainpy/scripts/joab.xml" - #controllerObj.writeXml(filename) - - controllerObj.start() - # print "Leyendo el archivo XML" - # controllerObj.readXml(filename) - -if __name__ == '__main__': - import time - start_time = time.time() - main() - print("--- %s seconds ---" % (time.time() - start_time)) diff --git a/schainpy/scripts/testDigitalRF.py b/schainpy/scripts/testDigitalRF.py deleted file mode 100644 index 9188ac9..0000000 --- a/schainpy/scripts/testDigitalRF.py +++ /dev/null @@ -1,120 +0,0 @@ -#!/usr/bin/env python -''' -Created on Jul 7, 2014 - -@author: roj-idl71 -''' -import os -import sys - -from schainpy.controller import Project - - -def main(): - - desc = "Testing USRP data reader" - filename = "schain.xml" - figpath = "./" - remotefolder = "/home/wmaster/graficos" - - # this controller object save all user configuration and then execute each module - # with their parameters. - controllerObj = Project() - - controllerObj.setup(id='191', name='test01', description=desc) - - # Creating a reader object with its parameters - # schainpy.model.io.jroIO_usrp.USRPReader.setup() - readUnitConfObj = controllerObj.addReadUnit(datatype='DigitalRF', - path='/home/nanosat/data', - startDate='2000/07/03', - endDate='2017/07/03', - startTime='00:00:00', - endTime='23:59:59', - online=0) - - # procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', - # inputId=readUnitConfObj.getId()) - -# opObj10 = procUnitConfObj0.addOperation(name='selectHeights') -# opObj10.addParameter(name='minHei', value='0', format='float') -# opObj10.addParameter(name='maxHei', value='8', format='float') - -# opObj10 = procUnitConfObj0.addOperation(name='setH0') -# opObj10.addParameter(name='h0', value='5.4', format='float') - -# opObj10 = procUnitConfObj0.addOperation(name='Decoder', optype='external') -# opObj10.addParameter(name='code', value='1,-1', format='intlist') -# opObj10.addParameter(name='nCode', value='2', format='float') -# opObj10.addParameter(name='nBaud', value='1', format='float') - - # opObj10 = procUnitConfObj0.addOperation(name='CohInt', optype='external') - # opObj10.addParameter(name='n', value='128', format='float') - - # opObj11 = procUnitConfObj0.addOperation(name='Scope', optype='external') - # opObj11.addParameter(name='id', value='121', format='int') - # opObj11.addParameter(name='wintitle', value='Scope', format='str') - - # procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', - # inputId=procUnitConfObj0.getId()) - - # #Creating a processing object with its parameters - # #schainpy.model.proc.jroproc_spectra.SpectraProc.run() - # #If you need to add more parameters can use the "addParameter method" - # procUnitConfObj1.addParameter(name='nFFTPoints', value='8', format='int') - # procUnitConfObj1.addParameter(name='pairsList', value='(0,1)', format='pairslist') - -# opObj10 = procUnitConfObj1.addOperation(name='IncohInt', optype='external') -# opObj10.addParameter(name='n', value='2', format='float') -# - # Using internal methods - # schainpy.model.proc.jroproc_spectra.SpectraProc.selectChannels() -# opObj10 = procUnitConfObj1.addOperation(name='selectChannels') -# opObj10.addParameter(name='channelList', value='0,1', format='intlist') - - # Using internal methods - # schainpy.model.proc.jroproc_spectra.SpectraProc.selectHeights() -# opObj10 = procUnitConfObj1.addOperation(name='selectHeights') -# opObj10.addParameter(name='minHei', value='90', format='float') -# opObj10.addParameter(name='maxHei', value='180', format='float') - - # Using external methods (new modules) -# #schainpy.model.proc.jroproc_spectra.IncohInt.setup() -# opObj12 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') -# opObj12.addParameter(name='n', value='1', format='int') - - # Using external methods (new modules) - # schainpy.model.graphics.jroplot_spectra.SpectraPlot.setup() - # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external') - # opObj11.addParameter(name='id', value='11', format='int') - # opObj11.addParameter(name='wintitle', value='SpectraPlot', format='str') -# opObj11.addParameter(name='zmin', value='0', format='int') -# opObj11.addParameter(name='zmax', value='90', format='int') -# opObj11.addParameter(name='save', value='1', format='int') -# opObj11.addParameter(name='xmin', value='-20', format='float') -# opObj11.addParameter(name='xmax', value='20', format='float') - - # Using external methods (new modules) - # schainpy.model.graphics.jroplot_spectra.RTIPlot.setup() -# opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='30', format='int') -# opObj11.addParameter(name='wintitle', value='RTI', format='str') -# # opObj11.addParameter(name='zmin', value='0', format='int') -# # opObj11.addParameter(name='zmax', value='90', format='int') -# opObj11.addParameter(name='showprofile', value='1', format='int') -# opObj11.addParameter(name='timerange', value=str(2*60*60), format='int') -# opObj11.addParameter(name='xmin', value='19.5', format='float') -# opObj11.addParameter(name='xmax', value='20', format='float') - - # opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='other') - # opObj11.addParameter(name='id', value='3', format='int') - # opObj11.addParameter(name='wintitle', value='CrossSpectraPlot', format='str') -# opObj11.addParameter(name='zmin', value='30', format='int') -# opObj11.addParameter(name='zmax', value='120', format='int') -# opObj11.addParameter(name='pairsList', value='(0,1)', format='pairslist') - - controllerObj.start() - - -if __name__ == '__main__': - main() diff --git a/schainpy/scripts/testDigitalRFWriter.py b/schainpy/scripts/testDigitalRFWriter.py deleted file mode 100644 index ee8ed56..0000000 --- a/schainpy/scripts/testDigitalRFWriter.py +++ /dev/null @@ -1,91 +0,0 @@ -import os -import sys -import sys - -from schainpy.controller import Project - -controllerObj = Project() -desc = '' -controllerObj.setup(id='191', name='test01', description=desc) - -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path='/home/nanosat/data/jasmet', - startDate='2010/10/28', - endDate='2017/10/28', - startTime='00:00:00', - endTime='23:59:59', - walk=1, - online=0) - -procUnitConfObj0 = controllerObj.addProcUnit( - datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -# opObj11 = procUnitConfObj0.addOperation(name='Scope', optype='external') -# opObj11.addParameter(name='id', value='121', format='int') -# opObj11.addParameter(name='wintitle', value='Scope', format='str') -# opObj10 = procUnitConfObj0.addOperation(name='DigitalRFWriter', optype='other') -# opObj10.addParameter( -# name='path', value='/home/nanosat/data/digitalrf', format='str') -# opObj10.addParameter( -# name='fileCadence', value='1000000', format='int') -# opObj10.addParameter(name='minHei', value='0', format='float') -# opObj10.addParameter(name='maxHei', value='8', format='float') - -# opObj10 = procUnitConfObj0.addOperation(name='filterByHeights') -# opObj10.addParameter(name='window', value='2', format='float') - -# opObj10 = procUnitConfObj0.addOperation(name='Decoder', optype='external') -# opObj10.addParameter(name='nCode', value='2', format='float') -# opObj10.addParameter(name='nBaud', value='1', format='float') - -# opObj10 = procUnitConfObj0.addOperation(name='CohInt', optype='external') -# opObj10.addParameter(name='n', value='1296', format='float') - -# Creating a processing object with its parameters -# schainpy.model.proc.jroproc_spectra.SpectraProc.run() -# If you need to add more parameters can use the "addParameter method" -# schainpy.model.proc.jroproc_spectra.SpectraProc.run() -# If you need to add more parameters can use the "addParameter method" -# procUnitConfObj1.addParameter(name='nFFTPoints', value='128', format='int') - -# Using internal methods -# schainpy.model.proc.jroproc_spectra.SpectraProc.selectChannels() -# Using internal methods -# schainpy.model.proc.jroproc_spectra.SpectraProc.selectChannels() - -# Using internal methods -# schainpy.model.proc.jroproc_spectra.SpectraProc.selectHeights() -# Using internal methods -# schainpy.model.proc.jroproc_spectra.SpectraProc.selectHeights() -# opObj10 = procUnitConfObj1.addOperation(name='selectHeights') - -# Using external methods (new modules) - -# Using external methods (new modules) -# #schainpy.model.proc.jroproc_spectra.IncohInt.setup() - -# Using external methods (new modules) -# schainpy.model.graphics.jroplot_spectra.SpectraPlot.setup() -# Using external methods (new modules) -# schainpy.model.graphics.jroplot_spectra.SpectraPlot.setup() -# opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external') -# opObj11.addParameter(name='id', value='11', format='int') -# opObj11.addParameter(name='wintitle', value='SpectraPlot', format='str') -# opObj11.addParameter(name='zmin', value='-60', format='int') - -# opObj11.addParameter(name='save', value='1', format='int') - -# #Using external methods (new modules) -# #schainpy.model.graphics.jroplot_spectra.RTIPlot.setup() -# opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other') -# opObj11.addParameter(name='id', value='30', format='int') -# opObj11.addParameter(name='wintitle', value='RTI', format='str') -# opObj11.addParameter(name='zmin', value='-60', format='int') -# opObj11.addParameter(name='zmax', value='-10', format='int') -# opObj11.addParameter(name='showprofile', value='1', format='int') -# opObj11.addParameter(name='xmax', value='23.9', format='float') -# opObj11.addParameter(name='xmin', value='14', format='float') - -# opObj11.addParameter(name='save', value='1', format='int') - -controllerObj.start() diff --git a/schainpy/scripts/test_001.py b/schainpy/scripts/test_001.py deleted file mode 100644 index a77c4dd..0000000 --- a/schainpy/scripts/test_001.py +++ /dev/null @@ -1,189 +0,0 @@ -#!python -''' -''' - -import os, sys -import datetime -import time - -#path = os.path.dirname(os.getcwd()) -#path = os.path.dirname(path) -#sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "USRP_test" -filename = "USRP_processing.xml" -controllerObj = Project() -controllerObj.setup(id = '191', name='Test_USRP', description=desc) - -############## USED TO PLOT IQ VOLTAGE, POWER AND SPECTRA ############# - -####################################################################### -######PATH DE LECTURA, ESCRITURA, GRAFICOS Y ENVIO WEB################# -####################################################################### -#path = '/media/data/data/vientos/57.2063km/echoes/NCO_Woodman' - - -#path = '/home/soporte/data_hdf5' #### with clock 35.16 db noise -path = '/home/alex/Downloads' -figpath = '/home/alex/Downloads' -#figpath = '/home/soporte/data_hdf5_imag' -#remotefolder = "/home/wmaster/graficos" -####################################################################### -################# RANGO DE PLOTEO###################################### -####################################################################### -dBmin = '30' -dBmax = '60' -xmin = '0' -xmax ='24' -ymin = '0' -ymax = '600' -####################################################################### -########################FECHA########################################## -####################################################################### -str = datetime.date.today() -today = str.strftime("%Y/%m/%d") -str2 = str - datetime.timedelta(days=1) -yesterday = str2.strftime("%Y/%m/%d") -####################################################################### -######################## UNIDAD DE LECTURA############################# -####################################################################### -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate="2020/01/01", #"2020/01/01",#today, - endDate= "2020/12/01", #"2020/12/30",#today, - startTime='00:00:00', - endTime='23:59:59', - delay=0, - #set=0, - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printInfo') -#opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') -####################################################################### -################ OPERACIONES DOMINIO DEL TIEMPO######################## -####################################################################### - -procUnitConfObjA = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -# -# codigo64='1,1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1,1,1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,1,0,1,1,1,0,0,0,1,0,'+\ -# '1,1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1' - -#opObj11 = procUnitConfObjA.addOperation(name='setRadarFrequency') -#opObj11.addParameter(name='frequency', value='30e6', format='float') - -#opObj10 = procUnitConfObjA.addOperation(name='Scope', optype='external') -#opObj10.addParameter(name='id', value='10', format='int') -##opObj10.addParameter(name='xmin', value='0', format='int') -##opObj10.addParameter(name='xmax', value='50', format='int') -#opObj10.addParameter(name='type', value='iq') -#opObj10.addParameter(name='ymin', value='-5000', format='int') -##opObj10.addParameter(name='ymax', value='8500', format='int') - -#opObj10 = procUnitConfObjA.addOperation(name='setH0') -#opObj10.addParameter(name='h0', value='-5000', format='float') - -#opObj11 = procUnitConfObjA.addOperation(name='filterByHeights') -#opObj11.addParameter(name='window', value='1', format='int') - -#codigo='1,1,-1,1,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 = procUnitConfObjSousy.addOperation(name='Decoder', optype='other') -#opObj11.addParameter(name='code', value=codigo, format='floatlist') -#opObj11.addParameter(name='nCode', value='1', format='int') -#opObj11.addParameter(name='nBaud', value='28', format='int') - -#opObj11 = procUnitConfObjA.addOperation(name='CohInt', optype='other') -#opObj11.addParameter(name='n', value='100', format='int') - -####################################################################### -########## OPERACIONES DOMINIO DE LA FRECUENCIA######################## -####################################################################### -procUnitConfObjB = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjA.getId()) -procUnitConfObjB.addParameter(name='nFFTPoints', value='100', format='int') -procUnitConfObjB.addParameter(name='nProfiles', value='100', format='int') -#procUnitConfObjSousySpectra.addParameter(name='pairsList', value='(0,0),(1,1),(0,1)', format='pairsList') - -#opObj13 = procUnitConfObjSousySpectra.addOperation(name='removeDC') -#opObj13.addParameter(name='mode', value='2', format='int') - -#opObj11 = procUnitConfObjSousySpectra.addOperation(name='IncohInt', optype='other') -#opObj11.addParameter(name='n', value='60', format='float') -####################################################################### -########## PLOTEO DOMINIO DE LA FRECUENCIA############################# -####################################################################### -#SpectraPlot - -##opObj11 = procUnitConfObjB.addOperation(name='SpectraPlot', optype='external') -##opObj11.addParameter(name='id', value='1', format='int') -##opObj11.addParameter(name='wintitle', value='Spectra', format='str') -#opObj11.addParameter(name='xmin', value=-0.01, format='float') -#opObj11.addParameter(name='xmax', value=0.01, format='float') -#opObj11.addParameter(name='zmin', value=dBmin, format='int') -#opObj11.addParameter(name='zmax', value=dBmax, format='int') -#opObj11.addParameter(name='ymin', value=ymin, format='int') -#opObj11.addParameter(name='ymax', value=ymax, format='int') -##opObj11.addParameter(name='showprofile', value='1', format='int') -##opObj11.addParameter(name='save', value=figpath, format='str') -##opObj11.addParameter(name='save_period', value=10, format='int') - - -#RTIPLOT - -##opObj11 = procUnitConfObjB.addOperation(name='RTIPlot', optype='external') -##opObj11.addParameter(name='id', value='2', format='int') -##opObj11.addParameter(name='wintitle', value='RTIPlot', format='str') -#opObj11.addParameter(name='zmin', value=dBmin, format='int') -#opObj11.addParameter(name='zmax', value=dBmax, format='int') -#opObj11.addParameter(name='ymin', value=ymin, format='int') -#opObj11.addParameter(name='ymax', value=ymax, format='int') -##opObj11.addParameter(name='xmin', value=0, format='int') -##opObj11.addParameter(name='xmax', value=23, format='int') - -##opObj11.addParameter(name='showprofile', value='1', format='int') -##opObj11.addParameter(name='save', value=figpath, format='str') -##opObj11.addParameter(name='save_period', value=10, format='int') - - -# opObj11 = procUnitConfObjSousySpectra.addOperation(name='CrossSpectraPlot', optype='other') -# opObj11.addParameter(name='id', value='3', format='int') -# opObj11.addParameter(name='wintitle', value='CrossSpectraPlot', format='str') -# opObj11.addParameter(name='ymin', value=ymin, format='int') -# opObj11.addParameter(name='ymax', value=ymax, format='int') -# opObj11.addParameter(name='phase_cmap', value='jet', format='str') -# opObj11.addParameter(name='zmin', value=dBmin, format='int') -# opObj11.addParameter(name='zmax', value=dBmax, format='int') -# opObj11.addParameter(name='figpath', value=figures_path, format='str') -# opObj11.addParameter(name='save', value=0, format='bool') -# opObj11.addParameter(name='pairsList', value='(0,1)', format='pairsList') -# # -# opObj11 = procUnitConfObjSousySpectra.addOperation(name='CoherenceMap', optype='other') -# opObj11.addParameter(name='id', value='4', format='int') -# opObj11.addParameter(name='wintitle', value='Coherence', format='str') -# opObj11.addParameter(name='phase_cmap', value='jet', format='str') -# opObj11.addParameter(name='xmin', value=xmin, format='float') -# opObj11.addParameter(name='xmax', value=xmax, format='float') -# opObj11.addParameter(name='figpath', value=figures_path, format='str') -# opObj11.addParameter(name='save', value=0, format='bool') -# opObj11.addParameter(name='pairsList', value='(0,1)', format='pairsList') -# -####################################################################### -############### UNIDAD DE ESCRITURA ################################### -####################################################################### -#opObj11 = procUnitConfObjSousySpectra.addOperation(name='SpectraWriter', optype='other') -#opObj11.addParameter(name='path', value=wr_path) -#opObj11.addParameter(name='blocksPerFile', value='50', format='int') - -procUnitConfObjC = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjB.getId()) -procUnitConfObjC.addOperation(name='SpectralMoments') - -procUnitConfObjC.addOperation(name='SpectralMomentsPlot') - - -print ("Escribiendo el archivo XML") -print ("Leyendo el archivo XML") - - - -controllerObj.start() diff --git a/schainpy/scripts/test_002.py b/schainpy/scripts/test_002.py deleted file mode 100644 index f3370d8..0000000 --- a/schainpy/scripts/test_002.py +++ /dev/null @@ -1,87 +0,0 @@ -#!python -''' -''' - -import os, sys -import datetime -import time - -#path = os.path.dirname(os.getcwd()) -#path = os.path.dirname(path) -#sys.path.insert(0, path) - -from schainpy.controller import Project - -desc = "USRP_test" -filename = "USRP_processing.xml" -controllerObj = Project() -controllerObj.setup(id = '191', name='Test_USRP', description=desc) - -############## USED TO PLOT IQ VOLTAGE, POWER AND SPECTRA ############# - -####################################################################### -######PATH DE LECTURA, ESCRITURA, GRAFICOS Y ENVIO WEB################# -####################################################################### -#path = '/media/data/data/vientos/57.2063km/echoes/NCO_Woodman' - - -#path = '/home/soporte/data_hdf5' #### with clock 35.16 db noise -path = '/home/alex/Downloads' -figpath = '/home/alex/Downloads' -pathfile = '/home/alex/Downloads/test_rawdata2' - -#figpath = '/home/soporte/data_hdf5_imag' -#remotefolder = "/home/wmaster/graficos" -####################################################################### -################# RANGO DE PLOTEO###################################### -####################################################################### -dBmin = '30' -dBmax = '60' -xmin = '0' -xmax ='24' -ymin = '0' -ymax = '600' -####################################################################### -########################FECHA########################################## -####################################################################### -str = datetime.date.today() -today = str.strftime("%Y/%m/%d") -str2 = str - datetime.timedelta(days=1) -yesterday = str2.strftime("%Y/%m/%d") -####################################################################### -######################## UNIDAD DE LECTURA############################# -####################################################################### -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate="2020/01/01", #"2020/01/01",#today, - endDate= "2020/12/01", #"2020/12/30",#today, - startTime='00:00:00', - endTime='23:59:59', - delay=0, - #set=0, - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printInfo') -#opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') -####################################################################### -################ OPERACIONES DOMINIO DEL TIEMPO######################## -####################################################################### - -procUnitConfObjA = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - - -opObj12 = procUnitConfObjA.addOperation(name='VoltageWriter', optype='other') -opObj12.addParameter(name='path', value=pathfile) -opObj12.addParameter(name='blocksPerFile', value='120', format='int') -opObj12.addParameter(name='profilesPerBlock', value='300', format='int') - - - - -print ("Escribiendo el archivo XML") -print ("Leyendo el archivo XML") - - - -controllerObj.start() diff --git a/schainpy/scripts/test_amisr_spectra.py b/schainpy/scripts/test_amisr_spectra.py deleted file mode 100644 index 1f9a7a3..0000000 --- a/schainpy/scripts/test_amisr_spectra.py +++ /dev/null @@ -1,78 +0,0 @@ -from schainpy.controller import Project - -path ='/home/soporte/Data/SpectraPlot' -xmin = '07' -xmax = '17' #-> el plot genera +1 en la hora, es decir aparece 18 como máximo -ymin = '0' -ymax = '300' -dbmin = '45' #'60'#'55' #'40' #noise esf eej -dbmax = '65' #'70' #'55' -showSPC = '1' #view plot Spectra -showRTI = '1' #view plot RTI -showNOISE = '0' #view plot NOISE -localtime='0' #para ajustar el horario en las gráficas '0' para dejar en utc -figpath = '/home/soporte/Data/EEJ' - -def main(): - controller = Project() - controller.setup(id = '100', - name='test', - description='Basic experiment') - read_unit = controller.addReadUnit(datatype='Spectra', - path=path, - startDate='2019/12/16', - endDate='2019/12/16', - startTime='00:00:00', - endTime='23:59:59', - online=0, - timezone='ut', - walk=1) - - proc_unit = controller.addProcUnit(datatype='Spectra', - inputId=read_unit.getId()) - - # op = proc_unit.addOperation(name='selectChannels') - # op.addParameter(name='channelList', value='0,1', format='intlist') - - op = proc_unit.addOperation(name='selectHeights') - op.addParameter(name='minHei', value='50', format='float') - op.addParameter(name='maxHei', value='300', format='float') - - #op = proc_unit.addOperation(name='removeDC') - - - spcPlot = proc_unit.addOperation(name='SpectraPlot', optype='external') - spcPlot.addParameter(name='id', value='21', format='int') - spcPlot.addParameter(name= 'xaxis', value='velocity') - spcPlot.addParameter(name='ymax', value=ymax, format='int') - spcPlot.addParameter(name='showprofile', value='1', format='int') - spcPlot.addParameter(name='wintitle', value='AMISR Beam 0', format='str') - spcPlot.addParameter(name='zmin', value=dbmin, format='int') - spcPlot.addParameter(name='zmax', value=dbmax, format='int') - spcPlot.addParameter(name='save', value=figpath, format='str') - spcPlot.addParameter(name='colormap', value='jet', format='str') - spcPlot.addParameter(name='localtime', value=localtime,format='int') - spcPlot.addParameter(name='show', value = showSPC, format='int') - - rtiPlot = proc_unit.addOperation(name='RTIPlot', optype='external') - rtiPlot.addParameter(name='id', value='2', format='int') - rtiPlot.addParameter(name='localtime', value=localtime,format='int') - rtiPlot.addParameter(name='wintitle', value='RTI', format='str') - #rtiPlot.addParameter(name='xmin', value=xmin, format='int') - rtiPlot.addParameter(name='xmax', value=xmax, format='int') #max value =23 - rtiPlot.addParameter(name='ymin', value=ymin, format='int') - rtiPlot.addParameter(name='zmin', value=dbmin, format='int') - rtiPlot.addParameter(name='zmax', value=dbmax, format='int') - rtiPlot.addParameter(name='showprofile', value='0', format='int') - rtiPlot.addParameter(name='show', value = showRTI, format='int') # - rtiPlot.addParameter(name='save', value=figpath+'/plots', format='str') - rtiPlot.addParameter(name='colormap', value='jet', format='str') - - - controller.start() - -if __name__ == '__main__': - import time - start_time = time.time() - main() - print("--- %s seconds ---" % (time.time() - start_time)) diff --git a/schainpy/scripts/test_sim0001.py b/schainpy/scripts/test_sim0001.py deleted file mode 100644 index fe8e982..0000000 --- a/schainpy/scripts/test_sim0001.py +++ /dev/null @@ -1,61 +0,0 @@ -import os,sys -import datetime -import time -from schainpy.controller import Project -path = '/home/alex/Downloads/NEW_WR2' -figpath = path -desc = "Simulator Test" - -controllerObj = Project() - -controllerObj.setup(id='10',name='Test Simulator',description=desc) - -readUnitConfObj = controllerObj.addReadUnit(datatype='SimulatorReader', - frequency=9.345e9, - FixRCP_IPP= 60, - Tau_0 = 30, - AcqH0_0=0, - samples=330, - AcqDH_0=0.15, - FixRCP_TXA=0.15, - FixRCP_TXB=0.15, - Fdoppler=200.0, - Hdoppler=36, - Adoppler=300, - delay=0, - online=0, - walk=0) - -#opObj11 = readUnitConfObj.addOperation(name='printInfo') - -procUnitConfObjA = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -#opObj10 = procUnitConfObjA.addOperation(name='selectChannels') -#opObj10.addParameter(name='channelList', value=[0,1]) -#opObj10.addParameter(name='channelList', value='0',format='intlist') - -opObj11 = procUnitConfObjA.addOperation(name='PulsePairVoltage', optype='other') -opObj11.addParameter(name='n', value='32', format='int') -opObj11.addParameter(name='removeDC', value=1, format='int') -''' -type="power" -opObj10 = procUnitConfObjA.addOperation(name='ScopePlot', optype='external') -#opObj10.addParameter(name='id', value='12') -opObj10.addParameter(name='wintitle', value=type ) -opObj10.addParameter(name='type', value=type) -''' - -type="WeatherPower" -opObj10 = procUnitConfObjA.addOperation(name='PulsepairPowerPlot', optype='external') -#opObj10.addParameter(name='id', value='12') -opObj10.addParameter(name='wintitle', value=type ) - -''' -type="WeatherVeloity" - -opObj10 = procUnitConfObjA.addOperation(name='PulsepairVelocityPlot', optype='external') -#opObj10.addParameter(name='id', value='12') -opObj10.addParameter(name='wintitle', value=type ) -''' - -controllerObj.start() diff --git a/schainpy/scripts/test_sim00010.py b/schainpy/scripts/test_sim00010.py deleted file mode 100644 index 8710965..0000000 --- a/schainpy/scripts/test_sim00010.py +++ /dev/null @@ -1,82 +0,0 @@ -import os, sys -import datetime -import time -from schainpy.controller import Project - -desc = "USRP_test" -filename = "USRP_processing.xml" -controllerObj = Project() -controllerObj.setup(id = '191', name='Test_USRP', description=desc) - -############## USED TO PLOT IQ VOLTAGE, POWER AND SPECTRA ############# -######PATH DE LECTURA, ESCRITURA, GRAFICOS Y ENVIO WEB################# -path = '/home/alex/Downloads/test_rawdata' -figpath = '/home/alex/Downloads/hdf5_test' -######################## UNIDAD DE LECTURA############################# -''' -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate="2020/01/01", #"2020/01/01",#today, - endDate= "2020/12/01", #"2020/12/30",#today, - startTime='00:00:00', - endTime='23:59:59', - delay=0, - #set=0, - online=0, - walk=1) - -''' -readUnitConfObj = controllerObj.addReadUnit(datatype='SimulatorReader', - frequency=9.345e9, - FixRCP_IPP= 60, - Tau_0 = 30, - AcqH0_0=0, - samples=330, - AcqDH_0=0.15, - FixRCP_TXA=0.15, - FixRCP_TXB=0.15, - Fdoppler=600.0, - Hdoppler=36, - Adoppler=300,#300 - delay=0, - online=0, - walk=0, - profilesPerBlock=625, - dataBlocksPerFile=100) - #nTotalReadFiles=2) - - -#opObj11 = readUnitConfObj.addOperation(name='printInfo') - -procUnitConfObjA = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -procUnitConfObjB = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjA.getId()) -procUnitConfObjB.addParameter(name='nFFTPoints', value=625, format='int') -procUnitConfObjB.addParameter(name='nProfiles', value=625, format='int') - -opObj11 = procUnitConfObjB.addOperation(name='removeDC') -opObj11.addParameter(name='mode', value=2) -#opObj11 = procUnitConfObjB.addOperation(name='SpectraPlot') -#opObj11 = procUnitConfObjB.addOperation(name='PowerProfilePlot') - -procUnitConfObjC= controllerObj.addProcUnit(datatype='ParametersProc',inputId=procUnitConfObjB.getId()) -procUnitConfObjC.addOperation(name='SpectralMoments') -#opObj11 = procUnitConfObjC.addOperation(name='PowerPlot') - -''' -opObj11 = procUnitConfObjC.addOperation(name='SpectralMomentsPlot') -#opObj11.addParameter(name='xmin', value=14) -#opObj11.addParameter(name='xmax', value=15) -#opObj11.addParameter(name='save', value=figpath) -opObj11.addParameter(name='showprofile', value=1) -#opObj11.addParameter(name='save_period', value=10) -''' - -opObj10 = procUnitConfObjC.addOperation(name='ParameterWriter') -opObj10.addParameter(name='path',value=figpath) -#opObj10.addParameter(name='mode',value=0) -opObj10.addParameter(name='blocksPerFile',value='100',format='int') -opObj10.addParameter(name='metadataList',value='utctimeInit,timeInterval',format='list') -opObj10.addParameter(name='dataList',value='data_POW,data_DOP,data_WIDTH,data_SNR')#,format='list' - -controllerObj.start() diff --git a/schainpy/scripts/test_sim0002.py b/schainpy/scripts/test_sim0002.py deleted file mode 100644 index 7feeec7..0000000 --- a/schainpy/scripts/test_sim0002.py +++ /dev/null @@ -1,56 +0,0 @@ -import os,sys -import datetime -import time -from schainpy.controller import Project -path = '/home/alex/Downloads/NEW_WR2/spc16removeDC' -figpath = path -desc = "Simulator Test" - -controllerObj = Project() - -controllerObj.setup(id='10',name='Test Simulator',description=desc) - -readUnitConfObj = controllerObj.addReadUnit(datatype='SimulatorReader', - frequency=9.345e9, - FixRCP_IPP= 60, - Tau_0 = 30, - AcqH0_0=0, - samples=330, - AcqDH_0=0.15, - FixRCP_TXA=0.15, - FixRCP_TXB=0.15, - Fdoppler=200.0, - Hdoppler=36, - Adoppler=300, - delay=0, - online=0, - walk=0, - nTotalReadFiles=4) - -opObj11 = readUnitConfObj.addOperation(name='printInfo') - -procUnitConfObjA = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj10 = procUnitConfObjA.addOperation(name='selectChannels') -opObj10.addParameter(name='channelList', value=[0,1]) - -procUnitConfObjB = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjA.getId()) -procUnitConfObjB.addParameter(name='nFFTPoints', value=200, format='int') -procUnitConfObjB.addParameter(name='nProfiles', value=200, format='int') - -opObj11 = procUnitConfObjB.addOperation(name='removeDC') -opObj11.addParameter(name='mode', value=2) - -#opObj11 = procUnitConfObjB.addOperation(name='IncohInt', optype='other') -#opObj11.addParameter(name='n', value='20', format='int') - -procUnitConfObjC = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjB.getId()) -procUnitConfObjC.addOperation(name='SpectralMoments') - -opObj11 = procUnitConfObjC.addOperation(name='SpectralMomentsPlot') -opObj11.addParameter(name='xmax', value=6) -opObj11.addParameter(name='save', value=figpath) -opObj11.addParameter(name='showprofile', value=1) -opObj11.addParameter(name='save_period', value=10) - -controllerObj.start() diff --git a/schainpy/scripts/test_sim0003.py b/schainpy/scripts/test_sim0003.py deleted file mode 100644 index 8a43732..0000000 --- a/schainpy/scripts/test_sim0003.py +++ /dev/null @@ -1,40 +0,0 @@ -import os,sys -import datetime -import time -from schainpy.controller import Project -path = '/home/alex/Downloads/NEW_WR2/spc16removeDC' -figpath = path -desc = "Simulator Test" - -controllerObj = Project() - -controllerObj.setup(id='10',name='Test Simulator',description=desc) - -readUnitConfObj = controllerObj.addReadUnit(datatype='SimulatorReader', - frequency=9.345e9, - FixRCP_IPP= 60, - Tau_0 = 30, - AcqH0_0=0, - samples=330, - AcqDH_0=0.15, - FixRCP_TXA=0.15, - FixRCP_TXB=0.15, - Fdoppler=200.0, - Hdoppler=36, - Adoppler=300, - delay=0, - online=0, - walk=0, - nTotalReadFiles=4) - -opObj11 = readUnitConfObj.addOperation(name='printInfo') -procUnitConfObjA = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj10 = procUnitConfObjA.addOperation(name='selectChannels') -opObj10.addParameter(name='channelList', value=[0]) - -opObj11 = procUnitConfObjA.addOperation(name='PulsePairVoltage', optype='other') -opObj11.addParameter(name='n', value='32', format='int')#10 -#opObj11.addParameter(name='removeDC', value=1, format='int') - -controllerObj.start() diff --git a/schainpy/scripts/test_sim0004.py b/schainpy/scripts/test_sim0004.py deleted file mode 100644 index 539feb9..0000000 --- a/schainpy/scripts/test_sim0004.py +++ /dev/null @@ -1,39 +0,0 @@ -import os,sys -import datetime -import time -from schainpy.controller import Project -path = '/home/alex/Downloads/NEW_WR2' -pathfile = '/home/alex/Downloads/test_rawdata' -figpath = path -desc = "Simulator Test" - -controllerObj = Project() - -controllerObj.setup(id='10',name='Test Simulator',description=desc) - -readUnitConfObj = controllerObj.addReadUnit(datatype='SimulatorReader', - frequency=9.345e9, - FixRCP_IPP= 60, - Tau_0 = 30.0, - AcqH0_0=0, - samples=330, - AcqDH_0=0.15, - FixRCP_TXA=0.15, - FixRCP_TXB=0.15, - Fdoppler=200.0, - Hdoppler=36, - Adoppler=300, - delay=0, - online=0, - walk=0, - nTotalReadFiles=3) -#opObj11 = readUnitConfObj.addOperation(name='printInfo') -procUnitConfObjA = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -#opObj10 = procUnitConfObjA.addOperation(name='selectChannels') -#opObj10.addParameter(name='channelList', value=[0,1]) -#opObj10.addParameter(name='channelList', value='0',format='intlist') -opObj12 = procUnitConfObjA.addOperation(name='VoltageWriter', optype='other') -opObj12.addParameter(name='path', value=pathfile) -opObj12.addParameter(name='blocksPerFile', value='120', format='int') -opObj12.addParameter(name='profilesPerBlock', value='300', format='int') -controllerObj.start() diff --git a/schainpy/scripts/test_sim0005.py b/schainpy/scripts/test_sim0005.py deleted file mode 100644 index fd917af..0000000 --- a/schainpy/scripts/test_sim0005.py +++ /dev/null @@ -1,72 +0,0 @@ -import os, sys -import datetime -import time -from schainpy.controller import Project - -desc = "USRP_test" -filename = "USRP_processing.xml" -controllerObj = Project() -controllerObj.setup(id = '191', name='Test_USRP', description=desc) - -############## USED TO PLOT IQ VOLTAGE, POWER AND SPECTRA ############# -######PATH DE LECTURA, ESCRITURA, GRAFICOS Y ENVIO WEB################# -path = '/home/alex/Downloads/test_rawdata' -figpath = '/home/alex/Downloads' -################# RANGO DE PLOTEO###################################### -dBmin = '30' -dBmax = '60' -xmin = '0' -xmax ='24' -ymin = '0' -ymax = '600' -########################FECHA########################################## -str = datetime.date.today() -today = str.strftime("%Y/%m/%d") -str2 = str - datetime.timedelta(days=1) -yesterday = str2.strftime("%Y/%m/%d") -######################## UNIDAD DE LECTURA############################# -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate="2020/01/01", #"2020/01/01",#today, - endDate= "2020/12/01", #"2020/12/30",#today, - startTime='00:00:00', - endTime='23:59:59', - delay=0, - #set=0, - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printInfo') -#opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock') -####################################################################### -################ OPERACIONES DOMINIO DEL TIEMPO######################## -####################################################################### - -procUnitConfObjA = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -''' -opObj11 = procUnitConfObjA.addOperation(name='PulsePairVoltage', optype='other') -opObj11.addParameter(name='n', value='256', format='int') -opObj11.addParameter(name='removeDC', value=1, format='int') -''' -''' -type="power" -opObj10 = procUnitConfObjA.addOperation(name='ScopePlot', optype='external') -#opObj10.addParameter(name='id', value='12') -opObj10.addParameter(name='wintitle', value=type ) -opObj10.addParameter(name='type', value=type) -106 32 -102 64 -99 128 -99 256s -''' -''' -type="WeatherPower" -opObj10 = procUnitConfObjA.addOperation(name='PulsepairPowerPlot', optype='external') -#opObj10.addParameter(name='id', value='12') -opObj10.addParameter(name='wintitle', value=type ) - -opObj11 = procUnitConfObjA.addOperation(name='PulsepairVelocityPlot', optype='other') -opObj11.addParameter(name='xmax', value=8) -''' - -controllerObj.start() diff --git a/schainpy/scripts/test_sim0006.py b/schainpy/scripts/test_sim0006.py deleted file mode 100644 index 1646f20..0000000 --- a/schainpy/scripts/test_sim0006.py +++ /dev/null @@ -1,39 +0,0 @@ -import os, sys -import datetime -import time -from schainpy.controller import Project - -desc = "USRP_test" -filename = "USRP_processing.xml" -controllerObj = Project() -controllerObj.setup(id = '191', name='Test_USRP', description=desc) - -############## USED TO PLOT IQ VOLTAGE, POWER AND SPECTRA ############# -######PATH DE LECTURA, ESCRITURA, GRAFICOS Y ENVIO WEB################# -path = '/home/alex/Downloads/test_rawdata' -figpath = '/home/alex/Downloads' -######################## UNIDAD DE LECTURA############################# -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate="2020/01/01", #"2020/01/01",#today, - endDate= "2020/12/01", #"2020/12/30",#today, - startTime='00:00:00', - endTime='23:59:59', - delay=0, - #set=0, - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printInfo') - -procUnitConfObjA = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -#opObj10 = procUnitConfObjA.addOperation(name='selectChannels') -#opObj10.addParameter(name='channelList', value=[0,1]) -#opObj10.addParameter(name='channelList', value='0',format='intlist') - -opObj11 = procUnitConfObjA.addOperation(name='PulsePairVoltage', optype='other') -opObj11.addParameter(name='n', value='16', format='int') -opObj11.addParameter(name='removeDC', value=1, format='int') - -controllerObj.start() diff --git a/schainpy/scripts/test_sim0007.py b/schainpy/scripts/test_sim0007.py deleted file mode 100644 index 92ee891..0000000 --- a/schainpy/scripts/test_sim0007.py +++ /dev/null @@ -1,53 +0,0 @@ -import os, sys -import datetime -import time -from schainpy.controller import Project - -desc = "USRP_test" -filename = "USRP_processing.xml" -controllerObj = Project() -controllerObj.setup(id = '191', name='Test_USRP', description=desc) - -############## USED TO PLOT IQ VOLTAGE, POWER AND SPECTRA ############# -######PATH DE LECTURA, ESCRITURA, GRAFICOS Y ENVIO WEB################# -path = '/home/alex/Downloads/test_rawdata' -figpath = '/home/alex/Downloads' -######################## UNIDAD DE LECTURA############################# -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate="2020/01/01", #"2020/01/01",#today, - endDate= "2020/12/01", #"2020/12/30",#today, - startTime='00:00:00', - endTime='23:59:59', - delay=0, - #set=0, - online=0, - walk=1) - -opObj11 = readUnitConfObj.addOperation(name='printInfo') - -procUnitConfObjA = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -procUnitConfObjB = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjA.getId()) -procUnitConfObjB.addParameter(name='nFFTPoints', value=64, format='int') -procUnitConfObjB.addParameter(name='nProfiles', value=64, format='int') -''' -32 99.96 113.11 529.94s -64 97.3 122.96 326.26 -128 96.29 100.23 230 894 -256 98.65 102.83 182 640 -''' -opObj11 = procUnitConfObjB.addOperation(name='removeDC') -opObj11.addParameter(name='mode', value=2) - -#opObj11 = procUnitConfObjB.addOperation(name='IncohInt', optype='other') -#opObj11.addParameter(name='n', value='20', format='int') - -procUnitConfObjC = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjB.getId()) -procUnitConfObjC.addOperation(name='SpectralMoments') -opObj11 = procUnitConfObjC.addOperation(name='SpectralMomentsPlot') -#opObj11.addParameter(name='xmin', value=14) -opObj11.addParameter(name='xmax', value=6) -#opObj11.addParameter(name='save', value=figpath) -opObj11.addParameter(name='showprofile', value=1) -controllerObj.start() diff --git a/schainpy/scripts/test_sim0008.py b/schainpy/scripts/test_sim0008.py deleted file mode 100644 index 5d53ccd..0000000 --- a/schainpy/scripts/test_sim0008.py +++ /dev/null @@ -1,80 +0,0 @@ -import os,sys -import datetime -import time -from schainpy.controller import Project -path = '/home/alex/Downloads/NEW_WR2/spc16removeDC' -figpath = path -desc = "Simulator Test" - -controllerObj = Project() - -controllerObj.setup(id='10',name='Test Simulator',description=desc) - -readUnitConfObj = controllerObj.addReadUnit(datatype='SimulatorReader', - frequency=9.345e9, - FixRCP_IPP= 60, - Tau_0 = 30, - AcqH0_0=0, - samples=330, - AcqDH_0=0.15, - FixRCP_TXA=0.15, - FixRCP_TXB=0.15, - Fdoppler=600.0, - Hdoppler=36, - Adoppler=300, - delay=0, - online=0, - walk=0, - nTotalReadFiles=3) - -opObj11 = readUnitConfObj.addOperation(name='printInfo') - -procUnitConfObjA = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) - -opObj10 = procUnitConfObjA.addOperation(name='selectChannels') -opObj10.addParameter(name='channelList', value=[0]) - -procUnitConfObjB = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjA.getId()) -procUnitConfObjB.addParameter(name='nFFTPoints', value=300, format='int') -procUnitConfObjB.addParameter(name='nProfiles', value=300, format='int') - -opObj11 = procUnitConfObjB.addOperation(name='removeDC') -opObj11.addParameter(name='mode', value=2) - -#opObj11 = procUnitConfObjB.addOperation(name='IncohInt', optype='other') -#opObj11.addParameter(name='n', value='10', format='int') - -#opObj11 = procUnitConfObjB.addOperation(name='SpectraPlot') -#opObj11 = procUnitConfObjB.addOperation(name='PowerProfilePlot') -#opObj11.addParameter(name='xmin', value=13) -#opObj11.addParameter(name='xmax', value=.4) -#opObj11 = procUnitConfObjB.addOperation(name='NoisePlot') -#opObj11.addParameter(name='xmin', value=13) -#opObj11.addParameter(name='xmax', value=14) - - -procUnitConfObjC = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjB.getId()) -procUnitConfObjC.addOperation(name='SpectralMoments') - -opObj11 = procUnitConfObjC.addOperation(name='SpectralMomentsPlot') -#opObj11.addParameter(name='xmin', value=14) -#opObj11.addParameter(name='xmax', value=15) -#opObj11.addParameter(name='save', value=figpath) -opObj11.addParameter(name='showprofile', value=1) -#opObj11.addParameter(name='save_period', value=10) -''' -opObj11 = procUnitConfObjC.addOperation(name='SnrPlot') -opObj11.addParameter(name='zmin', value=-10) -opObj11.addParameter(name='zmax', value=40) -#opObj11.addParameter(name='save', value=figpath) -#opObj11.addParameter(name='showprofile', value=1) -#opObj11.addParameter(name='save_period', value=10) -''' -opObj11 = procUnitConfObjC.addOperation(name='SpectralWidthPlot') -opObj11.addParameter(name='xmin', value=5) -opObj11.addParameter(name='xmax', value=6) -#opObj11.addParameter(name='save', value=figpath) -#opObj11.addParameter(name='showprofile', value=1) -#opObj11.addParameter(name='save_period', value=10) - -controllerObj.start() diff --git a/schainpy/scripts/test_sim0009.py b/schainpy/scripts/test_sim0009.py deleted file mode 100644 index 43d6640..0000000 --- a/schainpy/scripts/test_sim0009.py +++ /dev/null @@ -1,73 +0,0 @@ -import os,sys -import datetime -import time -from schainpy.controller import Project -path = '/home/alex/Downloads/NEW_WR2/spc16removeDC' -figpath = path -desc = "Simulator Test" - -controllerObj = Project() - -controllerObj.setup(id='10',name='Test Simulator',description=desc) - -readUnitConfObj = controllerObj.addReadUnit(datatype='SimulatorReader', - frequency=9.345e9, - FixRCP_IPP= 60, - Tau_0 = 30, - AcqH0_0=0, - samples=330, - AcqDH_0=0.15, - FixRCP_TXA=0.15, - FixRCP_TXB=0.15, - Fdoppler=600.0, - Hdoppler=36, - Adoppler=300,#300 - delay=0, - online=0, - walk=0, - profilesPerBlock=625, - dataBlocksPerFile=100)#,#nTotalReadFiles=2) -''' -readUnitConfObj = controllerObj.addReadUnit(datatype='VoltageReader', - path=path, - startDate="2020/01/01", #"2020/01/01",#today, - endDate= "2020/12/01", #"2020/12/30",#today, - startTime='00:00:00', - endTime='23:59:59', - delay=0, - #set=0, - online=0, - walk=1) -''' -opObj11 = readUnitConfObj.addOperation(name='printInfo') - -procUnitConfObjA = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) -#opObj11 = procUnitConfObjA.addOperation(name='CohInt', optype='other') -#opObj11.addParameter(name='n', value='10', format='int') - -#opObj10 = procUnitConfObjA.addOperation(name='selectChannels') -#opObj10.addParameter(name='channelList', value=[0]) -opObj11 = procUnitConfObjA.addOperation(name='PulsePairVoltage', optype='other') -opObj11.addParameter(name='n', value='625', format='int')#10 -opObj11.addParameter(name='removeDC', value=1, format='int') - -#opObj11 = procUnitConfObjA.addOperation(name='PulsepairPowerPlot', optype='other') -#opObj11 = procUnitConfObjA.addOperation(name='PulsepairSignalPlot', optype='other') - - -#opObj11 = procUnitConfObjA.addOperation(name='PulsepairVelocityPlot', optype='other') -#opObj11.addParameter(name='xmax', value=8) - -#opObj11 = procUnitConfObjA.addOperation(name='PulsepairSpecwidthPlot', optype='other') - -procUnitConfObjB= controllerObj.addProcUnit(datatype='ParametersProc',inputId=procUnitConfObjA.getId()) - - -opObj10 = procUnitConfObjB.addOperation(name='ParameterWriter') -opObj10.addParameter(name='path',value=figpath) -#opObj10.addParameter(name='mode',value=0) -opObj10.addParameter(name='blocksPerFile',value='100',format='int') -opObj10.addParameter(name='metadataList',value='utctimeInit,timeInterval',format='list') -opObj10.addParameter(name='dataList',value='dataPP_POW,dataPP_DOP,dataPP_SNR,dataPP_WIDTH')#,format='list' - -controllerObj.start() diff --git a/schainpy/scripts/wr_integrador.py b/schainpy/scripts/wr_integrador.py deleted file mode 100644 index d719cb3..0000000 --- a/schainpy/scripts/wr_integrador.py +++ /dev/null @@ -1,162 +0,0 @@ -import os,numpy,h5py -from shutil import copyfile - -def isNumber(str): - try: - float(str) - return True - except: - return False - -def getfirstFilefromPath(path,meta,ext): - validFilelist = [] - fileList = os.listdir(path) - if len(fileList)<1: - return None - # meta 1234 567 8-18 BCDE - # H,D,PE YYYY DDD EPOC .ext - - for thisFile in fileList: - if meta =="PE": - try: - number= int(thisFile[len(meta)+7:len(meta)+17]) - except: - print("There is a file or folder with different format") - if meta == "D": - try: - number= int(thisFile[8:11]) - except: - print("There is a file or folder with different format") - - if not isNumber(str=number): - continue - if (os.path.splitext(thisFile)[-1].lower() != ext.lower()): - continue - validFilelist.sort() - validFilelist.append(thisFile) - if len(validFilelist)>0: - validFilelist = sorted(validFilelist,key=str.lower) - return validFilelist - return None - -def gettimeutcfromDirFilename(path,file): - dir_file= path+"/"+file - fp = h5py.File(dir_file,'r') - epoc = fp['Metadata'].get('utctimeInit')[()] - fp.close() - return epoc - -def getDatavaluefromDirFilename(path,file,value): - dir_file= path+"/"+file - fp = h5py.File(dir_file,'r') - array = fp['Data'].get(value)[()] - fp.close() - return array - - -#·········· Velocidad de Pedestal················· -w = input ("Ingresa velocidad de Pedestal: ") -w = 4 -w = float(w) -#·········· Resolucion minimo en grados··········· -alfa = input ("Ingresa resolucion minima en grados: ") -alfa = 1 -alfa = float(alfa) -#·········· IPP del Experimento ·················· -IPP = input ("Ingresa el IPP del experimento: ") -IPP = 0.0004 -IPP = float(IPP) -#·········· MODE ·················· -mode = input ("Ingresa el MODO del experimento T or F: ") -mode = "T" -mode = str(mode) - -#·········· Tiempo en generar la resolucion min··· -#············ MCU ·· var_ang = w * (var_tiempo)··· -var_tiempo = alfa/w -#·········· Tiempo Equivalente en perfiles········ -#·········· var_tiempo = IPP * ( num_perfiles )· -num_perfiles = int(var_tiempo/IPP) - -#··········DATA PEDESTAL·························· -dir_pedestal = "/home/alex/Downloads/pedestal" -#·········· DATA ADQ······························ -if mode=="T": - dir_adq = "/home/alex/Downloads/hdf5_testPP/d2020194" # Time domain -else: - dir_adq = "/home/alex/Downloads/hdf5_test/d2020194" # Frequency domain - -print( "Velocidad angular :", w) -print( "Resolucion minima en grados :", alfa) -print( "Numero de perfiles equivalente:", num_perfiles) -print( "Mode :", mode) - -#············ First File············· -list_pedestal = getfirstFilefromPath(path=dir_pedestal,meta="PE",ext=".hdf5") -list_adq = getfirstFilefromPath(path=dir_adq ,meta="D",ext=".hdf5") - -#············ utc time ·············· -utc_pedestal= gettimeutcfromDirFilename(path=dir_pedestal,file=list_pedestal[0]) -utc_adq = gettimeutcfromDirFilename(path=dir_adq ,file=list_adq[0]) - -print("utc_pedestal :",utc_pedestal) -print("utc_adq :",utc_adq) -#·············Relacion: utc_adq (+/-) var_tiempo*nro_file= utc_pedestal -time_Interval_p = 0.01 -n_perfiles_p = 100 -if utc_adq>utc_pedestal: - nro_file = int((int(utc_adq) - int(utc_pedestal))/(time_Interval_p*n_perfiles_p)) - ff_pedestal = list_pedestal[nro_file] - utc_pedestal = gettimeutcfromDirFilename(path=dir_pedestal,file=ff_pedestal) - nro_key_p = int((utc_adq-utc_pedestal)/time_Interval_p) - if utc_adq >utc_pedestal: - ff_pedestal = ff_pedestal - else: - nro_file = nro_file-1 - ff_pedestal = list_pedestal[nro_file] - angulo = getDatavaluefromDirFilename(path=dir_pedestal,file=ff_pedestal,value="azimuth") - nro_key_p = int((utc_adq-utc_pedestal)/time_Interval_p) - print("nro_file :",nro_file) - print("name_file :",ff_pedestal) - print("utc_pedestal_file :",utc_pedestal) - print("nro_key_p :",nro_key_p) - print("utc_pedestal_init :",utc_pedestal+nro_key_p*time_Interval_p) - print("angulo_array :",angulo[nro_key_p]) -#4+25+25+25+21 -#while True: -list_pedestal = getfirstFilefromPath(path=dir_pedestal,meta="PE",ext=".hdf5") -list_adq = getfirstFilefromPath(path=dir_adq ,meta="D",ext=".hdf5") - -nro_file = nro_file #10 -nro_key_perfil = nro_key_p -blocksPerFile = 100 -wr_path = "/home/alex/Downloads/hdf5_wr/" -# Lectura de archivos de adquisicion para adicion de azimuth -for thisFile in range(len(list_adq)): - print("thisFileAdq",thisFile) - angulo_adq = numpy.zeros(blocksPerFile) - tmp = 0 - for j in range(blocksPerFile): - iterador = nro_key_perfil + 25*(j-tmp) - if iterador < n_perfiles_p: - nro_file = nro_file - else: - nro_file = nro_file+1 - tmp = j - iterador = nro_key_perfil - ff_pedestal = list_pedestal[nro_file] - angulo = getDatavaluefromDirFilename(path=dir_pedestal,file=ff_pedestal,value="azimuth") - angulo_adq[j]= angulo[iterador] - copyfile(dir_adq+"/"+list_adq[thisFile],wr_path+list_adq[thisFile]) - fp = h5py.File(wr_path+list_adq[thisFile],'a') - grp = fp.create_group("Pedestal") - dset = grp.create_dataset("azimuth" , data=angulo_adq) - fp.close() - print("Angulo",angulo_adq) - print("Angulo",len(angulo_adq)) - nro_key_perfil=iterador + 25 - if nro_key_perfil< n_perfiles_p: - nro_file = nro_file - else: - nro_file = nro_file+1 - nro_key_perfil= nro_key_p