##// END OF EJS Templates
Cambio en la lectura de archivos, se incluyó detección de cambio de experimento
Cambio en la lectura de archivos, se incluyó detección de cambio de experimento

File last commit:

r1370:81f892b894eb merge
r1373:fa4c334951aa
Show More
amisr_winds_proc_online_v3.py
164 lines | 6.7 KiB | text/x-python | PythonLexer
/ schainpy / scripts / amisr_winds_proc_online_v3.py
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))