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