##// END OF EJS Templates
amisr con version estable SChain3
joabAM -
r1372:07f89e374730
parent child
Show More
@@ -1,203 +1,203
1
1
2 import os, sys
2 import os, sys
3 import time
3 import time
4 import datetime
4 import datetime
5
5
6 path = os.path.dirname(os.getcwd())
6 path = os.path.dirname(os.getcwd())
7 path = os.path.dirname(path)
7 path = os.path.dirname(path)
8 sys.path.insert(0, path)
8 sys.path.insert(0, path)
9
9
10 from schainpy.controller import Project
10 from schainpy.controller import Project
11
11
12 def main():
12 def main():
13
13
14
14
15 desc = "AMISR EEJ Experiment"
15 desc = "AMISR EEJ Experiment"
16 filename = "amisr_reader.xml"
16 filename = "amisr_reader.xml"
17 xmin = '07'
17 xmin = '07'
18 xmax = '18' #-> el plot genera +1 en la hora, es decir aparece 18 como máximo
18 xmax = '18' #-> el plot genera +1 en la hora, es decir aparece 18 como máximo
19 ymin = '0'
19 ymin = '0'
20 ymax = '300'
20 ymax = '300'
21 dbmin = '45' #'60'#'55' #'40' #noise esf eej
21 dbmin = '45' #'60'#'55' #'40' #noise esf eej
22 dbmax = '65' #'70' #'55'
22 dbmax = '65' #'70' #'55'
23 showSPC = '1' #view plot Spectra
23 showSPC = '1' #view plot Spectra
24 showRTI = '1' #view plot RTI
24 showRTI = '1' #view plot RTI
25 showNOISE = '1' #view plot NOISE
25 showNOISE = '1' #view plot NOISE
26 localtime='1' #para ajustar el horario en las gráficas '0' para dejar en utc
26 localtime='1' #para ajustar el horario en las gráficas '0' para dejar en utc
27 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'
27 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'
28 nCode = '1'
28 nCode = '1'
29 nBaud = '28'
29 nBaud = '28'
30 nosamp = '1' # oversample for EEJ
30 nosamp = '1' # oversample for EEJ
31 today = time.strftime("%Y/%m/%d")
31 today = time.strftime("%Y/%m/%d")
32 #startDate=today
32 #startDate=today
33 #endDate=today
33 #endDate=today
34 startDate='2021/07/11'
34 startDate='2021/07/11'
35 endDate='2021/07/11'
35 endDate='2021/07/11'
36 #inPath= '/home/soporte/dataAMISR_test/'
36 #inPath= '/home/soporte/dataAMISR_test/'
37 inPath= '/home/soporte/dataAMISR/'
37 inPath= '/home/soporte/dataAMISR/'
38 inPath= '/media/soporte/UARS_4T_D02/AMISR_DATA/2021/'
38 inPath= '/media/soporte/UARS_4T_D02/AMISR_DATA/2021/'
39 #inPath = '/mnt/data_amisr'
39 #inPath = '/mnt/data_amisr'
40 outPath = '/home/soporte/Data/EEJ'
40 outPath = '/home/soporte/Data/EEJ'
41
41
42 ##.......................................................................................
42 ##.......................................................................................
43 ##.......................................................................................
43 ##.......................................................................................
44
44
45 #l = startDate.split('/') #adding day of the year to outPath
45 #l = startDate.split('/') #adding day of the year to outPath
46 l = startDate.split('/')
46 l = startDate.split('/')
47 datelist = datetime.date(int(l[0]),int(l[1]),int(l[2]))
47 datelist = datetime.date(int(l[0]),int(l[1]),int(l[2]))
48 DOY = datelist.timetuple().tm_yday
48 DOY = datelist.timetuple().tm_yday
49 outPath= outPath+"/EEJ"+l[0]+str(DOY)
49 outPath= outPath+"/EEJ"+l[0]+str(DOY)
50 if os.path.exists(outPath):
50 if os.path.exists(outPath):
51 print("outPath", outPath)
51 print("outPath", outPath)
52 else :
52 else :
53 os.mkdir(outPath)
53 os.mkdir(outPath)
54 print("Creating...", outPath)
54 print("Creating...", outPath)
55
55
56 ##.......................................................................................
56 ##.......................................................................................
57 ##.......................................................................................
57 ##.......................................................................................
58 controllerObj = Project()
58 controllerObj = Project()
59 controllerObj.setup(id = '11', name='eej_proc', description=desc)
59 controllerObj.setup(id = '11', name='eej_proc', description=desc)
60 ##.......................................................................................
60 ##.......................................................................................
61 ##.......................................................................................
61 ##.......................................................................................
62 readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader',
62 readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader',
63 path=inPath,
63 path=inPath,
64 startDate=startDate,#startDate, #'2014/10/07',
64 startDate=startDate,#startDate, #'2014/10/07',
65 endDate=endDate, #endDate '2014/10/07',
65 endDate=endDate, #endDate '2014/10/07',
66 startTime='07:01:30',#'07:00:00',
66 startTime='07:01:30',#'07:00:00',
67 endTime='19:00:00',#'15:00:00',
67 endTime='19:00:00',#'15:00:00',
68 walk=1,
68 walk=1,
69 code = code,
69 code = code,
70 nCode = nCode,
70 nCode = nCode,
71 nBaud = nBaud,
71 nBaud = nBaud,
72 timezone='lt',
72 timezone='lt',
73 online=0)
73 online=0)
74
74
75
75
76 #AMISR Processing Unit
76 #AMISR Processing Unit
77 ##.......................................................................................
77 ##.......................................................................................
78 ##.......................................................................................
78 ##.......................................................................................
79 procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId())
79 procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId())
80 opObj10 = procUnitConfObj0.addOperation(name='setAttribute')
80 opObj10 = procUnitConfObj0.addOperation(name='setAttribute')
81 opObj10.addParameter(name='frequency', value='445.09e6')
81 opObj10.addParameter(name='frequency', value='445.09e6')
82 # opObj10 = procUnitConfObj0.addOperation(name='setRadarFrequency')
82 # opObj10 = procUnitConfObj0.addOperation(name='setRadarFrequency')
83 # opObj10.addParameter(name='frequency', value='445e6', format='float')
83 # opObj10.addParameter(name='frequency', value='445e6', format='float')
84
84
85
85
86 opObj01 = procUnitConfObj0.addOperation(name='Decoder', optype='other')
86 opObj01 = procUnitConfObj0.addOperation(name='Decoder', optype='other')
87 opObj01.addParameter(name='code', value=code, format='floatlist')
87 opObj01.addParameter(name='code', value=code, format='floatlist')
88 opObj01.addParameter(name='nCode', value=nCode, format='int')
88 opObj01.addParameter(name='nCode', value=nCode, format='int')
89 opObj01.addParameter(name='nBaud', value=nBaud, format='int')
89 opObj01.addParameter(name='nBaud', value=nBaud, format='int')
90 opObj01.addParameter(name='osamp', value=nosamp, format='int')
90 opObj01.addParameter(name='osamp', value=nosamp, format='int')
91
91
92
92
93 # opObj02 = procUnitConfObj0.addOperation(name='CohInt', optype='other')
93 # opObj02 = procUnitConfObj0.addOperation(name='CohInt', optype='other')
94 # opObj02.addParameter(name='n', value='2', format='int')
94 # opObj02.addParameter(name='n', value='2', format='int')
95
95
96
96
97
97
98 ##.......................................................................................
98 ##.......................................................................................
99 ##.......................................................................................
99 ##.......................................................................................
100
100
101 procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId())
101 procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId())
102 procUnitConfObj1.addParameter(name='nFFTPoints', value='16', format='int')
102 procUnitConfObj1.addParameter(name='nFFTPoints', value='16', format='int')
103
103
104
104
105 opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other')
105 opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other')
106 opObj11.addParameter(name='n', value='150', format='int') #300?
106 opObj11.addParameter(name='n', value='150', format='int') #300?
107
107
108 ## Remove DC signal
108 ## Remove DC signal
109 opObj11 = procUnitConfObj1.addOperation(name='removeDC')
109 opObj11 = procUnitConfObj1.addOperation(name='removeDC')
110 ##.......................................................................................
110 ##.......................................................................................
111 ##.......................................................................................
111 ##.......................................................................................
112
112
113 # opObj13 = procUnitConfObj1.addOperation(name='getNoise' , optype ='self')
113 # opObj13 = procUnitConfObj1.addOperation(name='getNoise' , optype ='self')
114 # opObj13.addParameter(name='minHei', value='100', format='float')
114 # opObj13.addParameter(name='minHei', value='100', format='float')
115 # opObj13.addParameter(name='maxHei', value='280', format='float')
115 # opObj13.addParameter(name='maxHei', value='280', format='float')
116
116
117
117
118 #
118 #
119 opObj12 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
119 opObj12 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
120 opObj12.addParameter(name='id', value='21', format='int')
120 opObj12.addParameter(name='id', value='21', format='int')
121 opObj12.addParameter(name= 'xaxis', value='velocity')
121 opObj12.addParameter(name= 'xaxis', value='velocity')
122 opObj12.addParameter(name='ymax', value=ymax, format='int')
122 opObj12.addParameter(name='ymax', value=ymax, format='int')
123 opObj12.addParameter(name='showprofile', value='1', format='int')
123 opObj12.addParameter(name='showprofile', value='1', format='int')
124 opObj12.addParameter(name='wintitle', value='AMISR Beam 0', format='str')
124 opObj12.addParameter(name='wintitle', value='AMISR Beam 0', format='str')
125 opObj12.addParameter(name='zmin', value=dbmin, format='int')
125 opObj12.addParameter(name='zmin', value=dbmin, format='int')
126 opObj12.addParameter(name='zmax', value=dbmax, format='int')
126 opObj12.addParameter(name='zmax', value=dbmax, format='int')
127 opObj12.addParameter(name='save', value=outPath+'/plots', format='str')
127 opObj12.addParameter(name='save', value=outPath+'/plots', format='str')
128 opObj12.addParameter(name='colormap', value='jet', format='str')
128 opObj12.addParameter(name='colormap', value='jet', format='str')
129 opObj12.addParameter(name='localtime', value=localtime,format='int')
129 opObj12.addParameter(name='localtime', value=localtime,format='int')
130 opObj12.addParameter(name='show', value = showSPC, format='int')
130 opObj12.addParameter(name='show', value = showSPC, format='int')
131
131
132
132
133 ##Generate *.pdata from AMISR data
133 ##Generate *.pdata from AMISR data
134 ##.......................................................................................
134 ##.......................................................................................
135 ##.......................................................................................
135 ##.......................................................................................
136 opObj13 = procUnitConfObj1.addOperation(name='SpectraWriter', optype='external')
136 opObj13 = procUnitConfObj1.addOperation(name='SpectraWriter', optype='external')
137 opObj13.addParameter(name='path', value=outPath)
137 opObj13.addParameter(name='path', value=outPath)
138 opObj13.addParameter(name='blocksPerFile', value='10', format='int')
138 opObj13.addParameter(name='blocksPerFile', value='10', format='int')
139
139
140
140
141 opObj14 = procUnitConfObj1.addOperation(name='NoisePlot', optype='external')
141 opObj14 = procUnitConfObj1.addOperation(name='NoisePlot', optype='external')
142 opObj14.addParameter(name='id', value='3', format='int')
142 opObj14.addParameter(name='id', value='3', format='int')
143 opObj14.addParameter(name='wintitle', value='title0', format='str')
143 opObj14.addParameter(name='wintitle', value='title0', format='str')
144 opObj14.addParameter(name='showprofile', value='0', format='int')
144 opObj14.addParameter(name='showprofile', value='0', format='int')
145 opObj14.addParameter(name='tmin', value=xmin, format='int')
145 opObj14.addParameter(name='tmin', value=xmin, format='int')
146 opObj14.addParameter(name='tmax', value=xmax, format='int')
146 opObj14.addParameter(name='tmax', value=xmax, format='int')
147 opObj14.addParameter(name='ymin', value=dbmin, format='int')
147 opObj14.addParameter(name='ymin', value=dbmin, format='int')
148 opObj14.addParameter(name='ymax', value=dbmax, format='int')
148 opObj14.addParameter(name='ymax', value=dbmax, format='int')
149 opObj14.addParameter(name='save', value=outPath, format='str')
149 opObj14.addParameter(name='save', value=outPath, format='str')
150 opObj14.addParameter(name='localtime', value=localtime,format='int')
150 opObj14.addParameter(name='localtime', value=localtime,format='int')
151 opObj14.addParameter(name='show', value = showNOISE, format='int')
151 opObj14.addParameter(name='show', value = showNOISE, format='int')
152
152
153 #
153 #
154 opObj15 = procUnitConfObj1.addOperation(name='RTIPlot', optype='external')
154 opObj15 = procUnitConfObj1.addOperation(name='RTIPlot', optype='external')
155 opObj15.addParameter(name='id', value='2', format='int')
155 opObj15.addParameter(name='id', value='2', format='int')
156 opObj15.addParameter(name='localtime', value=localtime,format='int')
156 opObj15.addParameter(name='localtime', value=localtime,format='int')
157 opObj15.addParameter(name='wintitle', value='RTI', format='str')
157 opObj15.addParameter(name='wintitle', value='RTI', format='str')
158 opObj15.addParameter(name='tmin', value=xmin, format='int')
158 opObj15.addParameter(name='tmin', value=xmin, format='int')
159 opObj15.addParameter(name='tmax', value=xmax, format='int') #max value =23
159 opObj15.addParameter(name='tmax', value=xmax, format='int') #max value =23
160 opObj15.addParameter(name='ymin', value=ymin, format='int')
160 opObj15.addParameter(name='ymin', value=ymin, format='int')
161 opObj15.addParameter(name='zmin', value=dbmin, format='int')
161 opObj15.addParameter(name='zmin', value=dbmin, format='int')
162 opObj15.addParameter(name='zmax', value=dbmax, format='int')
162 opObj15.addParameter(name='zmax', value=dbmax, format='int')
163 opObj15.addParameter(name='showprofile', value='0', format='int')
163 opObj15.addParameter(name='showprofile', value='0', format='int')
164 opObj15.addParameter(name='save', value=outPath+'/plots', format='str')
164 opObj15.addParameter(name='save', value=outPath+'/plots', format='str')
165 opObj15.addParameter(name='colormap', value='jet', format='str')
165 opObj15.addParameter(name='colormap', value='jet', format='str')
166 opObj15.addParameter(name='show', value = showRTI, format='int')
166 opObj15.addParameter(name='show', value = showRTI, format='int')
167
167
168
168
169
169
170 ##.......................................................................................
170 ##.......................................................................................
171 ##.......................................................................................
171 ##.......................................................................................
172
172
173 procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId())
173 procUnitConfObj2 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=procUnitConfObj1.getId())
174 opObj16 = procUnitConfObj2.addOperation(name='SpectralMoments', optype='other')
174 opObj16 = procUnitConfObj2.addOperation(name='SpectralMoments', optype='other')
175
175
176
176
177 #Using HDFWriter::::
177 #Using HDFWriter::::
178 ##.......................................................................................
178 ##.......................................................................................
179 ##.......................................................................................
179 ##.......................................................................................
180 opObj17 = procUnitConfObj2.addOperation(name='HDFWriter', optype='external')
180 opObj17 = procUnitConfObj2.addOperation(name='HDFWriter', optype='external')
181 opObj17.addParameter(name='path', value=outPath)
181 opObj17.addParameter(name='path', value=outPath)
182 opObj17.addParameter(name='blocksPerFile', value='10', format='int')
182 opObj17.addParameter(name='blocksPerFile', value='10', format='int')
183 opObj17.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list')
183 opObj17.addParameter(name='metadataList',value='type,inputUnit,heightList',format='list')
184 opObj17.addParameter(name='dataList',value='moments,data_SNR,utctime',format='list')
184 opObj17.addParameter(name='dataList',value='moments,data_SNR,utctime',format='list')
185
185
186
186
187
187
188 ##.......................................................................................
188 ##.......................................................................................
189 ##.......................................................................................
189 ##.......................................................................................
190 #print("Escribiendo el archivo XML",controllerObj.writeXml(path +'/'+filename))
190 #print("Escribiendo el archivo XML",controllerObj.writeXml(outPath +'/'+filename))
191
191
192 controllerObj.start()
192 controllerObj.start()
193
193
194 #print("Leyendo el archivo XML",controllerObj.readXml(path +'/'+filename))
194 #print("Leyendo el archivo XML",controllerObj.readXml(outPath +'/'+filename))
195
195
196 ##.......................................................................................
196 ##.......................................................................................
197 ##.......................................................................................
197 ##.......................................................................................
198
198
199 if __name__ == '__main__':
199 if __name__ == '__main__':
200 import time
200 import time
201 start_time = time.time()
201 start_time = time.time()
202 main()
202 main()
203 print("--- %s seconds ---" % (time.time() - start_time))
203 print("--- %s seconds ---" % (time.time() - start_time))
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now