##// 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_eej_proc_online_v3.py
202 lines | 9.7 KiB | text/x-python | PythonLexer
/ schainpy / scripts / amisr_eej_proc_online_v3.py
merged branches
r1370 #!/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' #-> 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 = '1' #view plot NOISE
localtime='0' #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='2019/12/16'
#endDate='2019/12/16'
#inPath= '/home/soporte/dataAMISR_testONLINE/'
#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:30',#'07:00:00',
endTime='18:55:00',#'15:00:00',
walk=0,
code = code,
nCode = nCode,
nBaud = nBaud,
timezone='ut',
online=1)
#AMISR Processing Unit
##.......................................................................................
##.......................................................................................
procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId())
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='5', 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
# ## 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='ymax', value=ymax, format='int')
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='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=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='xmin', value=xmin, format='int')
opObj15.addParameter(name='xmax', value=xmax, format='int') #max value =23
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='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')
##.......................................................................................
##.......................................................................................
#
# 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=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')
# opObj17.addParameter(name='mode',value='1',format='int') #'0' channels, '1' parameters, '3' table (for meteors)
# ##opObj17.addParameter(name='setType', value ='anything', format='str')
#
##.......................................................................................
##.......................................................................................
#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))