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