@@ -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