@@ -0,0 +1,220 | |||
|
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 = '1' | |
|
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 | today = str.strftime("%Y/%m/%d") | |
|
46 | tomorrow = str1.strftime("%Y/%m/%d") | |
|
47 | ||
|
48 | readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader', | |
|
49 | path=path, | |
|
50 | startDate=today, #'2014/10/07', | |
|
51 | endDate=tomorrow, #'2014/10/07', | |
|
52 | startTime='18:01:30',#'07:00:00', | |
|
53 | endTime='07:00:00',#'15:00:00', | |
|
54 | walk=0, | |
|
55 | code = code, | |
|
56 | nCode = nCode, | |
|
57 | nBaud = nBaud, | |
|
58 | timezone='lt', | |
|
59 | online=1) | |
|
60 | ||
|
61 | #AMISR Processing Unit | |
|
62 | ||
|
63 | #Voltage Processing Unit | |
|
64 | procUnitConfObjBeam0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId()) | |
|
65 | opObj10 = procUnitConfObjBeam0.addOperation(name='setRadarFrequency') | |
|
66 | opObj10.addParameter(name='frequency', value='445e6', format='float') #changed on Dec 3, 15:40h | |
|
67 | #opObj10.addParameter(name='frequency', value='435e6', format='float') | |
|
68 | ||
|
69 | # opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') | |
|
70 | # opObj12.addParameter(name='minHei', value='0', format='float') | |
|
71 | ||
|
72 | # 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' | |
|
73 | # 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' | |
|
74 | #Noise--> no code | |
|
75 | ||
|
76 | opObj11 = procUnitConfObjBeam0.addOperation(name='Decoder', optype='other') | |
|
77 | opObj11.addParameter(name='code', value=code, format='floatlist') | |
|
78 | opObj11.addParameter(name='nCode', value=nCode, format='int') | |
|
79 | opObj11.addParameter(name='nBaud', value=nBaud, format='int') | |
|
80 | opObj11.addParameter(name='osamp', value=nosamp, format='int') | |
|
81 | ||
|
82 | ||
|
83 | # opObj12 = procUnitConfObjBeam0.addOperation(name='selectHeights') | |
|
84 | # opObj12.addParameter(name='minHei', value='50', format='float') | |
|
85 | # opObj12.addParameter(name='maxHei', value='150', format='float') | |
|
86 | #Coherent Integration | |
|
87 | # opObj11 = procUnitConfObjBeam0.addOperation(name='CohInt', optype='other') | |
|
88 | # opObj11.addParameter(name='n', value='2', format='int') | |
|
89 | ||
|
90 | # opObj11 = procUnitConfObjBeam0.addOperation(name='Scope', optype='other') | |
|
91 | # opObj11.addParameter(name='id', value='121', format='int') | |
|
92 | ||
|
93 | #Spectra Unit Processing, getting spectras with nProfiles and nFFTPoints | |
|
94 | procUnitConfObjSpectraBeam0 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObjBeam0.getId()) | |
|
95 | procUnitConfObjSpectraBeam0.addParameter(name='nFFTPoints', value=32, format='int') | |
|
96 | # | |
|
97 | opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='IncohInt', optype='other') | |
|
98 | opObj11.addParameter(name='n', value='60', format='int') | |
|
99 | #opObj11.addParameter(name='timeInterval', value='30', format='float') | |
|
100 | ||
|
101 | ||
|
102 | # # #RemoveDc | |
|
103 | # # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='removeDC') | |
|
104 | ||
|
105 | #Noise Estimation | |
|
106 | opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='getNoise') | |
|
107 | opObj11.addParameter(name='minHei', value='100', format='float') | |
|
108 | opObj11.addParameter(name='maxHei', value='280', format='float') | |
|
109 | #opObj11.addParameter(name='minHei', value='15', format='float') | |
|
110 | #opObj11.addParameter(name='maxHei', value='20', format='float') | |
|
111 | ||
|
112 | #SpectraPlot | |
|
113 | opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraPlot', optype='other') | |
|
114 | opObj11.addParameter(name='id', value='1', format='int') | |
|
115 | opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') | |
|
116 | #opObj11.addParameter(name='zmin', value='38', format='int') | |
|
117 | opObj11.addParameter(name='zmin', value=dbmin, format='int') | |
|
118 | opObj11.addParameter(name='zmax', value=dbmax, format='int') | |
|
119 | opObj11.addParameter(name='save', value='0', format='bool') | |
|
120 | opObj11.addParameter(name='figpath', value = figpath, format='str') | |
|
121 | opObj11.addParameter(name='ftp', value='1', format='int') | |
|
122 | opObj11.addParameter(name='wr_period', value='2', format='int') | |
|
123 | opObj11.addParameter(name='exp_code', value='21', format='int') | |
|
124 | opObj11.addParameter(name='sub_exp_code', value='4', format='int') | |
|
125 | opObj11.addParameter(name='ftp_wei', value='0', format='int') | |
|
126 | opObj11.addParameter(name='plot_pos', value='0', format='int') | |
|
127 | ||
|
128 | ||
|
129 | ||
|
130 | # #RTIPlot | |
|
131 | # #title0 = 'RTI AMISR Beam 0' | |
|
132 | opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='RTIPlot', optype='other') | |
|
133 | opObj11.addParameter(name='id', value='2', format='int') | |
|
134 | opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') | |
|
135 | opObj11.addParameter(name='showprofile', value='0', format='int') | |
|
136 | opObj11.addParameter(name='xmin', value=xmin, format='float') | |
|
137 | opObj11.addParameter(name='xmax', value=xmax, format='float') | |
|
138 | opObj11.addParameter(name='zmin', value=dbmin, format='int') | |
|
139 | opObj11.addParameter(name='zmax', value=dbmax, format='int') | |
|
140 | opObj11.addParameter(name='save', value='1', format='bool') | |
|
141 | opObj11.addParameter(name='figpath', value = figpath, format='str') | |
|
142 | opObj11.addParameter(name='show', value = show, format='bool') | |
|
143 | opObj11.addParameter(name='ftp', value='1', format='int') | |
|
144 | opObj11.addParameter(name='wr_period', value='2', format='int') | |
|
145 | opObj11.addParameter(name='exp_code', value='21', format='int') | |
|
146 | opObj11.addParameter(name='sub_exp_code', value='4', format='int') | |
|
147 | opObj11.addParameter(name='ftp_wei', value='0', format='int') | |
|
148 | opObj11.addParameter(name='plot_pos', value='0', format='int') | |
|
149 | ||
|
150 | ||
|
151 | # #send to server | |
|
152 | procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') | |
|
153 | #procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') | |
|
154 | procUnitConfObj2.addParameter(name='server', value='10.10.120.125', format='str') | |
|
155 | procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') | |
|
156 | procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') | |
|
157 | procUnitConfObj2.addParameter(name='localfolder', value=figpath, format='str') | |
|
158 | procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') | |
|
159 | procUnitConfObj2.addParameter(name='ext', value='.png', format='str') | |
|
160 | procUnitConfObj2.addParameter(name='period', value='300', format='int') | |
|
161 | procUnitConfObj2.addParameter(name='protocol', value='ssh', format='str') | |
|
162 | ||
|
163 | # # # | |
|
164 | # #Noise | |
|
165 | #title0 = 'RTI AMISR Beam 0' | |
|
166 | # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='Noise', optype='other') | |
|
167 | # opObj11.addParameter(name='id', value='3', format='int') | |
|
168 | # opObj11.addParameter(name='wintitle', value='ESF AMISR', format='str') | |
|
169 | # opObj11.addParameter(name='showprofile', value='0', format='int') | |
|
170 | # opObj11.addParameter(name='xmin', value=xmin, format='float') | |
|
171 | # opObj11.addParameter(name='xmax', value=xmax, format='float') | |
|
172 | # opObj11.addParameter(name='ymin', value=dbmin, format='int') | |
|
173 | # opObj11.addParameter(name='ymax', value=dbmax, format='int') | |
|
174 | # opObj11.addParameter(name='save', value='1', format='bool') | |
|
175 | # opObj11.addParameter(name='figpath', value = figpath, format='str') | |
|
176 | # opObj11.addParameter(name='show', value = show, format='bool') | |
|
177 | ||
|
178 | ||
|
179 | #Generate *.pdata from AMISR data | |
|
180 | # opObj11 = procUnitConfObjSpectraBeam0.addOperation(name='SpectraWriter', optype='other') | |
|
181 | # opObj11.addParameter(name='path', value=figpath) | |
|
182 | # opObj11.addParameter(name='blocksPerFile', value='10', format='int') | |
|
183 | # opObj11.addParameter(name='datatype', value="4", format="int") #size of data to be saved | |
|
184 | # | |
|
185 | # #generate moments | |
|
186 | # procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObjSpectraBeam0.getId()) | |
|
187 | # opObj20 = procUnitConfObj2.addOperation(name='GetMoments') | |
|
188 | # | |
|
189 | # opObj12 = procUnitConfObj2.addOperation(name='HDF5Writer', optype='other') | |
|
190 | # opObj12.addParameter(name='path', value=figpath+'/plots') | |
|
191 | # opObj12.addParameter(name='blocksPerFile', value='10', format='int') | |
|
192 | # opObj12.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list') | |
|
193 | # opObj12.addParameter(name='dataList',value='data_param,data_SNR,utctime',format='list') | |
|
194 | # opObj12.addParameter(name='mode',value='1',format='int') | |
|
195 | ||
|
196 | ||
|
197 | # procUnitConfObj2 = controllerObj.addProcUnit(name='SendToServer') | |
|
198 | # procUnitConfObj2.addParameter(name='server', value='jro-app.igp.gob.pe', format='str') | |
|
199 | # procUnitConfObj2.addParameter(name='username', value='wmaster', format='str') | |
|
200 | # procUnitConfObj2.addParameter(name='password', value='mst2010vhf', format='str') | |
|
201 | # procUnitConfObj2.addParameter(name='localfolder', value=pathFigure, format='str') | |
|
202 | # procUnitConfObj2.addParameter(name='remotefolder', value=remotefolder, format='str') | |
|
203 | # procUnitConfObj2.addParameter(name='ext', value='.png', format='str') | |
|
204 | # procUnitConfObj2.addParameter(name='period', value=5, format='int') | |
|
205 | # procUnitConfObj2.addParameter(name='protocol', value='ftp', format='str') | |
|
206 | #----------------------------------------------------------------------------------------------- | |
|
207 | ||
|
208 | ||
|
209 | print "Escribiendo el archivo XML" | |
|
210 | controllerObj.writeXml(filename) | |
|
211 | print "Leyendo el archivo XML" | |
|
212 | controllerObj.readXml(filename) | |
|
213 | ||
|
214 | controllerObj.createObjects() | |
|
215 | controllerObj.connectObjects() | |
|
216 | controllerObj.run() | |
|
217 | ||
|
218 | #21 3 pm | |
|
219 | ||
|
220 |
General Comments 0
You need to be logged in to leave comments.
Login now