##// END OF EJS Templates
Karim Valdez -
r745:44a69f51bdb6
parent child
Show More
@@ -0,0 +1,197
1 import os, sys
2 import time
3 import datetime
4
5 path = os.path.dirname(os.getcwd())
6 path = os.path.dirname(path)
7 sys.path.insert(0, path)
8
9 from schainpy.controller import Project
10
11 desc = "AMISR Experiment"
12
13 filename = "amisr_reader.xml"
14
15 controllerObj = Project()
16
17 controllerObj.setup(id = '191', name='esf_proc', description=desc)
18
19
20 path = os.path.join(os.environ['HOME'],'amisr')
21 # path = '/media/signalchain/HD-PXU2/AMISR_JULIA_MODE'
22 # path = '/media/soporte/E9F4-F053/AMISR/Data/NoiseTest/EEJ'
23 # path = '/media/soporte/E9F4-F053/AMISR/Data/ESF'
24 path = '/mnt/data_amisr'
25
26 #path = '/media/soporte/AMISR_104'
27 #figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf')
28 #figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF'
29 figpath = '/home/soporte/Data/ESF'
30 remotefolder = "/home/wmaster/graficos"
31
32 xmin = '18'
33 xmax = '31'
34 dbmin = '60' #'60'#'55' #'40' #noise esf eej
35 dbmax = '75' #'70' #'55'
36 show = '0'
37
38 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'
39 nCode = '1'
40 nBaud = '28'
41 nosamp = '2' # oversample
42
43 str = datetime.date.today()
44 str1 = str + datetime.timedelta(days=1)
45 str2 = str - datetime.timedelta(days=1)
46 today = str.strftime("%Y/%m/%d")
47 tomorrow = str1.strftime("%Y/%m/%d")
48 yesterday = str2.strftime("%Y/%m/%d")
49
50
51 readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader',
52 path=path,
53 startDate=yesterday, #'2014/10/07',
54 endDate=today, #'2014/10/07',
55 startTime='18:01:30',#'07:00:00',
56 endTime='07:00:00',#'15:00:00',
57 walk=0,
58 code = code,
59 nCode = nCode,
60 nBaud = nBaud,
61 timezone='lt',
62 online=0)
63
64 #AMISR Processing Unit
65
66 #Voltage Processing Unit
67 procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId())
68 opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency')
69 opObj10.addParameter(name='frequency', value='445e6', format='float') #chaned on Dec 3, 15:40h
70 #opObj10.addParameter(name='frequency', value='435e6', format='float')
71
72 # opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights')
73 # opObj12.addParameter(name='minHei', value='0', format='float')
74
75 # 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'
76 # 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'
77 #Noise--> no code
78
79 opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other')
80 opObj11.addParameter(name='code', value=code, format='floatlist')
81 opObj11.addParameter(name='nCode', value=nCode, format='int')
82 opObj11.addParameter(name='nBaud', value=nBaud, format='int')
83 opObj11.addParameter(name='osamp', value=nosamp, format='int')
84
85
86 # opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights')
87 # opObj12.addParameter(name='minHei', value='50', format='float')
88 # opObj12.addParameter(name='maxHei', value='150', format='float')
89 #Coherent Integration
90 # opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other')
91 # opObj11.addParameter(name='n', value='2', format='int')
92
93 # opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other')
94 # opObj11.addParameter(name='id', value='121', format='int')
95
96 #Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints
97 procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId())
98 procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=32, format='int')
99 #
100 opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other')
101 opObj11.addParameter(name='n', value='60', format='int')
102 #opObj11.addParameter(name='timeInterval', value='30', format='float')
103
104
105 # # #RemoveDc
106 # # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC')
107
108 #Noise Estimation
109 opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise')
110 opObj11.addParameter(name='minHei', value='650', format='float')
111 opObj11.addParameter(name='maxHei', value='800', format='float')
112 #opObj11.addParameter(name='minHei', value='15', format='float')
113 #opObj11.addParameter(name='maxHei', value='20', format='float')
114
115 # #SpectraPlot
116 # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other')
117 # opObj11.addParameter(name='id', value='1', format='int')
118 # opObj11.addParameter(name='wintitle', value='AMISR Beam 0', format='str')
119 # #opObj11.addParameter(name='zmin', value='38', format='int')
120 # opObj11.addParameter(name='zmin', value=dbmin, format='int')
121 # opObj11.addParameter(name='zmax', value=dbmax, format='int')
122 # opObj11.addParameter(name='save', value='1', format='bool')
123 # opObj11.addParameter(name='figpath', value = figpath, format='str')
124
125
126 # #RTIPlot
127 # #title0 = 'RTI AMISR Beam 0'
128 opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other')
129 opObj11.addParameter(name='id', value='2', format='int')
130 opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str')
131 opObj11.addParameter(name='showprofile', value='0', format='int')
132 opObj11.addParameter(name='xmin', value=xmin, format='float')
133 opObj11.addParameter(name='xmax', value=xmax, format='float')
134 opObj11.addParameter(name='zmin', value=dbmin, format='int')
135 opObj11.addParameter(name='zmax', value=dbmax, format='int')
136 opObj11.addParameter(name='save', value='1', format='bool')
137 opObj11.addParameter(name='figpath', value = figpath+'/plots', format='str')
138 opObj11.addParameter(name='show', value = show, format='bool')
139 # # #
140 # # #
141 # #Noise
142 #title0 = 'RTI AMISR Beam 0'
143 opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other')
144 opObj11.addParameter(name='id', value='3', format='int')
145 opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str')
146 opObj11.addParameter(name='showprofile', value='0', format='int')
147 opObj11.addParameter(name='xmin', value=xmin, format='float')
148 opObj11.addParameter(name='xmax', value=xmax, format='float')
149 opObj11.addParameter(name='ymin', value=dbmin, format='int')
150 opObj11.addParameter(name='ymax', value=dbmax, format='int')
151 opObj11.addParameter(name='save', value='1', format='bool')
152 opObj11.addParameter(name='figpath', value = figpath+'/plots', format='str')
153 opObj11.addParameter(name='show', value = show, format='bool')
154
155
156 #Generate *.pdata from AMISR data
157 opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other')
158 opObj11.addParameter(name='path', value=figpath)
159 opObj11.addParameter(name='blocksPerFile', value='10', format='int')
160 opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved
161
162 #generate moments
163 procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId())
164 opObj20 = procUnitConfObj2.addOperation(name='GetMoments')
165
166 opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other')
167 opObj12.addParameter(name='path', value=figpath+'/param')
168 opObj12.addParameter(name='blocksPerFile', value='10', format='int')
169 opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list')
170 opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list')
171 opObj12.addParameter(name='mode',value='1',format='int')
172
173
174 # procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer')
175 # procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str')
176 # procUnitConfObj2.addParameter(name='username', value='wmaster', format='str')
177 # procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str')
178 # procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str')
179 # procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str')
180 # procUnitConfObj2.addParameter(name='ext', value='.png', format='str')
181 # procUnitConfObj2.addParameter(name='period', value=5, format='int')
182 # procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str')
183 #-----------------------------------------------------------------------------------------------
184
185
186 print "Escribiendo el archivo XML"
187 controllerObj.writeXml(filename)
188 print "Leyendo el archivo XML"
189 controllerObj.readXml(filename)
190
191 controllerObj.createObjects()
192 controllerObj.connectObjects()
193 controllerObj.run()
194
195 #21 3 pm
196
197
General Comments 0
You need to be logged in to leave comments. Login now