@@ -0,0 +1,1 | |||||
|
1 |
@@ -0,0 +1,68 | |||||
|
1 | ||||
|
2 | import os, sys | |||
|
3 | import time, datetime | |||
|
4 | ||||
|
5 | path = os.path.split(os.getcwd())[0] | |||
|
6 | sys.path.append(path) | |||
|
7 | ||||
|
8 | from Data.Voltage import Voltage | |||
|
9 | from Data.Spectra import Spectra | |||
|
10 | from IO.VoltageIO import * | |||
|
11 | from IO.SpectraIO import * | |||
|
12 | from Processing.VoltageProcessor import * | |||
|
13 | ||||
|
14 | ||||
|
15 | ||||
|
16 | class TestSChain: | |||
|
17 | ||||
|
18 | def __init__(self): | |||
|
19 | self.setValues() | |||
|
20 | self.createObjects() | |||
|
21 | self.testSChain() | |||
|
22 | ||||
|
23 | def setValues(self): | |||
|
24 | self.path = "/Users/jro/Documents/RadarData/MST_ISR/MST" | |||
|
25 | # self.path = "/home/roj-idl71/Data/RAWDATA/IMAGING" | |||
|
26 | self.path = "/Users/danielangelsuarezmunoz/Data/EW_Drifts" | |||
|
27 | self.path = "/Users/danielangelsuarezmunoz/Data/IMAGING" | |||
|
28 | ||||
|
29 | self.wrpath = "/Users/jro/Documents/RadarData/wr_data" | |||
|
30 | ||||
|
31 | self.startDate = datetime.date(2012,3,1) | |||
|
32 | self.endDate = datetime.date(2012,3,30) | |||
|
33 | ||||
|
34 | self.startTime = datetime.time(0,0,0) | |||
|
35 | self.endTime = datetime.time(14,1,1) | |||
|
36 | ||||
|
37 | def createObjects(self): | |||
|
38 | ||||
|
39 | self.readerObj = SpectraReader() | |||
|
40 | ||||
|
41 | self.voltObj1 = self.readerObj.setup( | |||
|
42 | path = self.path, | |||
|
43 | startDate = self.startDate, | |||
|
44 | endDate = self.endDate, | |||
|
45 | startTime = self.startTime, | |||
|
46 | endTime = self.endTime, | |||
|
47 | expLabel = '', | |||
|
48 | online = 0) | |||
|
49 | ||||
|
50 | ||||
|
51 | ||||
|
52 | def testSChain(self): | |||
|
53 | ||||
|
54 | ini = time.time() | |||
|
55 | ||||
|
56 | while(True): | |||
|
57 | self.readerObj.getData() | |||
|
58 | ||||
|
59 | if self.readerObj.flagNoMoreFiles: | |||
|
60 | break | |||
|
61 | ||||
|
62 | if self.readerObj.flagIsNewBlock: | |||
|
63 | print 'Block No %04d, Time: %s' %(self.readerObj.nTotalBlocks, | |||
|
64 | datetime.datetime.fromtimestamp(self.readerObj.basicHeaderObj.utc),) | |||
|
65 | ||||
|
66 | ||||
|
67 | if __name__ == '__main__': | |||
|
68 | TestSChain() No newline at end of file |
@@ -7,7 +7,7 sys.path.append(path) | |||||
7 |
|
7 | |||
8 | from IO.JROHeader import SystemHeader, RadarControllerHeader |
|
8 | from IO.JROHeader import SystemHeader, RadarControllerHeader | |
9 |
|
9 | |||
10 |
class JROData |
|
10 | class JROData: | |
11 |
|
11 | |||
12 | # m_BasicHeader = BasicHeader() |
|
12 | # m_BasicHeader = BasicHeader() | |
13 | # m_ProcessingHeader = ProcessingHeader() |
|
13 | # m_ProcessingHeader = ProcessingHeader() | |
@@ -16,7 +16,7 class JROData(): | |||||
16 |
|
16 | |||
17 | radarControllerHeaderObj = RadarControllerHeader() |
|
17 | radarControllerHeaderObj = RadarControllerHeader() | |
18 |
|
18 | |||
19 | data = None |
|
19 | # data = None | |
20 |
|
20 | |||
21 | type = None |
|
21 | type = None | |
22 |
|
22 |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file |
@@ -11,6 +11,8 class Voltage(JROData): | |||||
11 |
|
11 | |||
12 | nCohInt = None |
|
12 | nCohInt = None | |
13 |
|
13 | |||
|
14 | data = None | |||
|
15 | ||||
14 | def __init__(self): |
|
16 | def __init__(self): | |
15 | ''' |
|
17 | ''' | |
16 | Constructor |
|
18 | Constructor |
@@ -131,11 +131,21 class JRODataIO: | |||||
131 |
|
131 | |||
132 | lastUTTime = None |
|
132 | lastUTTime = None | |
133 |
|
133 | |||
|
134 | datablock = None | |||
|
135 | ||||
|
136 | dataOutObj = None | |||
|
137 | ||||
|
138 | blocksize = None | |||
|
139 | ||||
134 | def __init__(self): |
|
140 | def __init__(self): | |
135 | pass |
|
141 | pass | |
136 |
|
142 | |||
137 | class JRODataReader(JRODataIO): |
|
143 | class JRODataReader(JRODataIO): | |
|
144 | ||||
|
145 | nReadBlocks = 0 | |||
|
146 | ||||
138 | def __init__(self): |
|
147 | def __init__(self): | |
|
148 | ||||
139 | pass |
|
149 | pass | |
140 |
|
150 | |||
141 | def createObjByDefault(self): |
|
151 | def createObjByDefault(self): | |
@@ -213,7 +223,8 class JRODataReader(JRODataIO): | |||||
213 | return pathList, filenameList |
|
223 | return pathList, filenameList | |
214 |
|
224 | |||
215 | def setup(self,dataOutObj=None, |
|
225 | def setup(self,dataOutObj=None, | |
216 |
path=None, |
|
226 | path=None, | |
|
227 | startDate=None, | |||
217 | endDate=None, |
|
228 | endDate=None, | |
218 | startTime=datetime.time(0,0,0), |
|
229 | startTime=datetime.time(0,0,0), | |
219 | endTime=datetime.time(23,59,59), |
|
230 | endTime=datetime.time(23,59,59), | |
@@ -451,6 +462,15 class JRODataReader(JRODataIO): | |||||
451 |
|
462 | |||
452 | return True |
|
463 | return True | |
453 |
|
464 | |||
|
465 | def getData(): | |||
|
466 | pass | |||
|
467 | ||||
|
468 | def hasNotDataInBuffer(): | |||
|
469 | pass | |||
|
470 | ||||
|
471 | def readBlock(): | |||
|
472 | pass | |||
|
473 | ||||
454 | class JRODataWriter(JRODataIO): |
|
474 | class JRODataWriter(JRODataIO): | |
455 |
|
475 | |||
456 | """ |
|
476 | """ | |
@@ -671,18 +691,9 class JRODataWriter(JRODataIO): | |||||
671 |
|
691 | |||
672 |
|
692 | |||
673 | def getDataHeader(self): |
|
693 | def getDataHeader(self): | |
674 | """ |
|
694 | """Obtiene una copia del First Header Affected: self.basicHeaderObj self. | |
675 | Obtiene una copia del First Header |
|
695 | systemHeaderObj self.radarControllerHeaderObj self.processingHeaderObj self. | |
676 |
|
696 | dtype Return: None | ||
677 | Affected: |
|
|||
678 | self.basicHeaderObj |
|
|||
679 | self.systemHeaderObj |
|
|||
680 | self.radarControllerHeaderObj |
|
|||
681 | self.processingHeaderObj |
|
|||
682 | self.dtype |
|
|||
683 |
|
||||
684 | Return: |
|
|||
685 | None |
|
|||
686 | """ |
|
697 | """ | |
687 |
|
698 | |||
688 | raise ValueError, "No implemented" |
|
699 | raise ValueError, "No implemented" |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file |
@@ -15,8 +15,8 import time, datetime | |||||
15 | path = os.path.split(os.getcwd())[0] |
|
15 | path = os.path.split(os.getcwd())[0] | |
16 | sys.path.append(path) |
|
16 | sys.path.append(path) | |
17 |
|
17 | |||
18 |
from |
|
18 | from IO.JROHeader import * | |
19 |
from |
|
19 | from Data.Spectra import Spectra | |
20 |
|
20 | |||
21 | from JRODataIO import JRODataReader |
|
21 | from JRODataIO import JRODataReader | |
22 | from JRODataIO import JRODataWriter |
|
22 | from JRODataIO import JRODataWriter | |
@@ -59,9 +59,6 class SpectraReader(JRODataReader): | |||||
59 | break |
|
59 | break | |
60 |
|
60 | |||
61 | """ |
|
61 | """ | |
62 | dataOutObj = None |
|
|||
63 |
|
||||
64 | datablock = None |
|
|||
65 |
|
62 | |||
66 | pts2read_SelfSpectra = 0 |
|
63 | pts2read_SelfSpectra = 0 | |
67 |
|
64 | |||
@@ -73,7 +70,14 class SpectraReader(JRODataReader): | |||||
73 |
|
70 | |||
74 | optchar = "P" |
|
71 | optchar = "P" | |
75 |
|
72 | |||
76 | flag_cspc = False |
|
73 | dataOutObj = None | |
|
74 | ||||
|
75 | nRdChannels = None | |||
|
76 | ||||
|
77 | nRdPairs = None | |||
|
78 | ||||
|
79 | rdPairList = [] | |||
|
80 | ||||
77 |
|
81 | |||
78 | def __init__(self, dataOutObj=None): |
|
82 | def __init__(self, dataOutObj=None): | |
79 | """ |
|
83 | """ | |
@@ -97,7 +101,7 class SpectraReader(JRODataReader): | |||||
97 |
|
101 | |||
98 | self.pts2read_CrossSpectra = 0 |
|
102 | self.pts2read_CrossSpectra = 0 | |
99 |
|
103 | |||
100 | self.pts2read_DCs = 0 |
|
104 | self.pts2read_DCchannels = 0 | |
101 |
|
105 | |||
102 | self.datablock = None |
|
106 | self.datablock = None | |
103 |
|
107 | |||
@@ -183,8 +187,8 class SpectraReader(JRODataReader): | |||||
183 | Obtiene la cantidad de puntos a leer por cada bloque de datos |
|
187 | Obtiene la cantidad de puntos a leer por cada bloque de datos | |
184 |
|
188 | |||
185 | Affected: |
|
189 | Affected: | |
186 | self.nChannels |
|
190 | self.nRdChannels | |
187 | self.nPairs |
|
191 | self.nRdPairs | |
188 | self.pts2read_SelfSpectra |
|
192 | self.pts2read_SelfSpectra | |
189 | self.pts2read_CrossSpectra |
|
193 | self.pts2read_CrossSpectra | |
190 | self.pts2read_DCchannels |
|
194 | self.pts2read_DCchannels | |
@@ -195,28 +199,28 class SpectraReader(JRODataReader): | |||||
195 | Return: |
|
199 | Return: | |
196 | None |
|
200 | None | |
197 | """ |
|
201 | """ | |
198 | self.nChannels = 0 |
|
202 | self.nRdChannels = 0 | |
199 | self.nPairs = 0 |
|
203 | self.nRdPairs = 0 | |
200 |
self. |
|
204 | self.rdPairList = [] | |
201 |
|
205 | |||
202 | for i in range( 0, self.processingHeaderObj.totalSpectra*2, 2 ): |
|
206 | for i in range( 0, self.processingHeaderObj.totalSpectra*2, 2 ): | |
203 | if self.processingHeaderObj.spectraComb[i] == self.processingHeaderObj.spectraComb[i+1]: |
|
207 | if self.processingHeaderObj.spectraComb[i] == self.processingHeaderObj.spectraComb[i+1]: | |
204 | self.nChannels = self.nChannels + 1 #par de canales iguales |
|
208 | self.nRdChannels = self.nRdChannels + 1 #par de canales iguales | |
205 | else: |
|
209 | else: | |
206 | self.nPairs = self.nPairs + 1 #par de canales diferentes |
|
210 | self.nRdPairs = self.nRdPairs + 1 #par de canales diferentes | |
207 |
self. |
|
211 | self.rdPairList.append( (self.processingHeaderObj.spectraComb[i], self.processingHeaderObj.spectraComb[i+1]) ) | |
208 |
|
212 | |||
209 |
pts2read = self.processingHeaderObj.n |
|
213 | pts2read = self.processingHeaderObj.nHeights * self.processingHeaderObj.profilesPerBlock | |
210 |
|
214 | |||
211 | self.pts2read_SelfSpectra = int(self.nChannels * pts2read) |
|
215 | self.pts2read_SelfSpectra = int(self.nRdChannels * pts2read) | |
212 | self.blocksize = self.pts2read_SelfSpectra |
|
216 | self.blocksize = self.pts2read_SelfSpectra | |
213 |
|
217 | |||
214 | if self.processingHeaderObj.flag_cspc: |
|
218 | if self.processingHeaderObj.flag_cspc: | |
215 | self.pts2read_CrossSpectra = int(self.nPairs * pts2read) |
|
219 | self.pts2read_CrossSpectra = int(self.nRdPairs * pts2read) | |
216 | self.blocksize += self.pts2read_CrossSpectra |
|
220 | self.blocksize += self.pts2read_CrossSpectra | |
217 |
|
221 | |||
218 | if self.processingHeaderObj.flag_dc: |
|
222 | if self.processingHeaderObj.flag_dc: | |
219 |
self.pts2read_DCchannels = int(self.systemHeaderObj.n |
|
223 | self.pts2read_DCchannels = int(self.systemHeaderObj.nChannels * self.processingHeaderObj.nHeights) | |
220 | self.blocksize += self.pts2read_DCchannels |
|
224 | self.blocksize += self.pts2read_DCchannels | |
221 |
|
225 | |||
222 | # self.blocksize = self.pts2read_SelfSpectra + self.pts2read_CrossSpectra + self.pts2read_DCchannels |
|
226 | # self.blocksize = self.pts2read_SelfSpectra + self.pts2read_CrossSpectra + self.pts2read_DCchannels | |
@@ -232,7 +236,7 class SpectraReader(JRODataReader): | |||||
232 | Return: None |
|
236 | Return: None | |
233 |
|
237 | |||
234 | Variables afectadas: |
|
238 | Variables afectadas: | |
235 | self.datablockIndex |
|
239 | ||
236 | self.flagIsNewFile |
|
240 | self.flagIsNewFile | |
237 | self.flagIsNewBlock |
|
241 | self.flagIsNewBlock | |
238 | self.nTotalBlocks |
|
242 | self.nTotalBlocks | |
@@ -246,29 +250,29 class SpectraReader(JRODataReader): | |||||
246 | blockOk_flag = False |
|
250 | blockOk_flag = False | |
247 | fpointer = self.fp.tell() |
|
251 | fpointer = self.fp.tell() | |
248 |
|
252 | |||
249 |
spc = numpy.fromfile( self.fp, self.d |
|
253 | spc = numpy.fromfile( self.fp, self.dtype[0], self.pts2read_SelfSpectra ) | |
250 |
spc = spc.reshape( (self.nChannels, self.processingHeaderObj.n |
|
254 | spc = spc.reshape( (self.nRdChannels, self.processingHeaderObj.nHeights, self.processingHeaderObj.profilesPerBlock) ) #transforma a un arreglo 3D | |
251 |
|
255 | |||
252 | if self.flag_cspc: |
|
256 | if self.processingHeaderObj.flag_cspc: | |
253 |
cspc = numpy.fromfile( self.fp, self.d |
|
257 | cspc = numpy.fromfile( self.fp, self.dtype, self.pts2read_CrossSpectra ) | |
254 |
cspc = cspc.reshape( (self.nPairs, self.processingHeaderObj.n |
|
258 | cspc = cspc.reshape( (self.nRdPairs, self.processingHeaderObj.nHeights, self.processingHeaderObj.profilesPerBlock) ) #transforma a un arreglo 3D | |
255 |
|
259 | |||
256 | if self.processingHeaderObj.flag_dc: |
|
260 | if self.processingHeaderObj.flag_dc: | |
257 |
dc = numpy.fromfile( self.fp, self.d |
|
261 | dc = numpy.fromfile( self.fp, self.dtype, self.pts2read_DCchannels ) #int(self.processingHeaderObj.nHeights*self.systemHeaderObj.nChannels) ) | |
258 |
dc = dc.reshape( (self.systemHeaderObj.n |
|
262 | dc = dc.reshape( (self.systemHeaderObj.nChannels, self.processingHeaderObj.nHeights) ) #transforma a un arreglo 2D | |
259 |
|
263 | |||
260 |
|
264 | |||
261 | if not(self.processingHeaderObj.shif_fft): |
|
265 | if not(self.processingHeaderObj.shif_fft): | |
262 | spc = numpy.roll( spc, self.processingHeaderObj.profilesPerBlock/2, axis=2 ) #desplaza a la derecha en el eje 2 determinadas posiciones |
|
266 | spc = numpy.roll( spc, self.processingHeaderObj.profilesPerBlock/2, axis=2 ) #desplaza a la derecha en el eje 2 determinadas posiciones | |
263 |
|
267 | |||
264 | if self.flag_cspc: |
|
268 | if self.processingHeaderObj.flag_cspc: | |
265 | cspc = numpy.roll( cspc, self.processingHeaderObj.profilesPerBlock/2, axis=2 ) #desplaza a la derecha en el eje 2 determinadas posiciones |
|
269 | cspc = numpy.roll( cspc, self.processingHeaderObj.profilesPerBlock/2, axis=2 ) #desplaza a la derecha en el eje 2 determinadas posiciones | |
266 |
|
270 | |||
267 |
|
271 | |||
268 | spc = numpy.transpose( spc, (0,2,1) ) |
|
272 | spc = numpy.transpose( spc, (0,2,1) ) | |
269 | self.data_spc = spc |
|
273 | self.data_spc = spc | |
270 |
|
274 | |||
271 | if self.flag_cspc: |
|
275 | if self.processingHeaderObj.flag_cspc: | |
272 | cspc = numpy.transpose( cspc, (0,2,1) ) |
|
276 | cspc = numpy.transpose( cspc, (0,2,1) ) | |
273 | self.data_cspc = cspc['real'] + cspc['imag']*1j |
|
277 | self.data_cspc = cspc['real'] + cspc['imag']*1j | |
274 | else: |
|
278 | else: | |
@@ -279,7 +283,6 class SpectraReader(JRODataReader): | |||||
279 | else: |
|
283 | else: | |
280 | self.data_dc = None |
|
284 | self.data_dc = None | |
281 |
|
285 | |||
282 | self.datablockIndex = 0 |
|
|||
283 | self.flagIsNewFile = 0 |
|
286 | self.flagIsNewFile = 0 | |
284 | self.flagIsNewBlock = 1 |
|
287 | self.flagIsNewBlock = 1 | |
285 |
|
288 | |||
@@ -301,7 +304,7 class SpectraReader(JRODataReader): | |||||
301 |
|
304 | |||
302 | Affected: |
|
305 | Affected: | |
303 | self.dataOutObj |
|
306 | self.dataOutObj | |
304 | self.datablockIndex |
|
307 | ||
305 | self.flagTimeBlock |
|
308 | self.flagTimeBlock | |
306 | self.flagIsNewBlock |
|
309 | self.flagIsNewBlock | |
307 | """ |
|
310 | """ | |
@@ -316,7 +319,7 class SpectraReader(JRODataReader): | |||||
316 | if not( self.readNextBlock() ): |
|
319 | if not( self.readNextBlock() ): | |
317 | return 0 |
|
320 | return 0 | |
318 |
|
321 | |||
319 | self.updateDataHeader() |
|
322 | # self.updateDataHeader() | |
320 |
|
323 | |||
321 | if self.flagNoMoreFiles == 1: |
|
324 | if self.flagNoMoreFiles == 1: | |
322 | print 'Process finished' |
|
325 | print 'Process finished' | |
@@ -328,13 +331,50 class SpectraReader(JRODataReader): | |||||
328 | self.dataOutObj.flagNoData = True |
|
331 | self.dataOutObj.flagNoData = True | |
329 | return 0 |
|
332 | return 0 | |
330 |
|
333 | |||
331 | self.dataOutObj.flagNoData = False |
|
|||
332 | self.dataOutObj.flagTimeBlock = self.flagTimeBlock |
|
|||
333 |
|
334 | |||
334 | self.dataOutObj.data_spc = self.data_spc |
|
335 | self.dataOutObj.data_spc = self.data_spc | |
|
336 | ||||
335 | self.dataOutObj.data_cspc = self.data_cspc |
|
337 | self.dataOutObj.data_cspc = self.data_cspc | |
|
338 | ||||
336 | self.dataOutObj.data_dc = self.data_dc |
|
339 | self.dataOutObj.data_dc = self.data_dc | |
337 |
|
340 | |||
|
341 | self.dataOutObj.flagTimeBlock = self.flagTimeBlock | |||
|
342 | ||||
|
343 | self.dataOutObj.flagNoData = False | |||
|
344 | ||||
|
345 | self.dataOutObj.dtype = self.dtype | |||
|
346 | ||||
|
347 | self.dataOutObj.nChannels = self.nRdChannels | |||
|
348 | ||||
|
349 | self.dataOutObj.nPairs = self.nRdPairs | |||
|
350 | ||||
|
351 | self.dataOutObj.pairsList = self.rdPairList | |||
|
352 | ||||
|
353 | self.dataOutObj.nHeights = self.processingHeaderObj.nHeights | |||
|
354 | ||||
|
355 | self.dataOutObj.nProfiles = self.processingHeaderObj.profilesPerBlock | |||
|
356 | ||||
|
357 | self.dataOutObj.nFFTPoints = self.processingHeaderObj.profilesPerBlock | |||
|
358 | ||||
|
359 | self.dataOutObj.nIncohInt = self.processingHeaderObj.nIncohInt | |||
|
360 | ||||
|
361 | ||||
|
362 | xf = self.processingHeaderObj.firstHeight + self.processingHeaderObj.nHeights*self.processingHeaderObj.deltaHeight | |||
|
363 | ||||
|
364 | self.dataOutObj.heightList = numpy.arange(self.processingHeaderObj.firstHeight, xf, self.processingHeaderObj.deltaHeight) | |||
|
365 | ||||
|
366 | self.dataOutObj.channelList = range(self.systemHeaderObj.nChannels) | |||
|
367 | ||||
|
368 | self.dataOutObj.channelIndexList = range(self.systemHeaderObj.nChannels) | |||
|
369 | ||||
|
370 | self.dataOutObj.dataUtcTime = self.basicHeaderObj.utc #+ self.profileIndex * self.ippSeconds | |||
|
371 | ||||
|
372 | # self.profileIndex += 1 | |||
|
373 | ||||
|
374 | self.dataOutObj.systemHeaderObj = self.systemHeaderObj.copy() | |||
|
375 | ||||
|
376 | self.dataOutObj.radarControllerHeaderObj = self.radarControllerHeaderObj.copy() | |||
|
377 | ||||
338 | return 1 |
|
378 | return 1 | |
339 |
|
379 | |||
340 |
|
380 | |||
@@ -345,16 +385,11 class SpectraWriter(JRODataWriter): | |||||
345 | de los datos siempre se realiza por bloques. |
|
385 | de los datos siempre se realiza por bloques. | |
346 | """ |
|
386 | """ | |
347 |
|
387 | |||
348 | dataOutObj = None |
|
|||
349 |
|
388 | |||
350 | shape_spc_Buffer = None |
|
389 | shape_spc_Buffer = None | |
351 | shape_cspc_Buffer = None |
|
390 | shape_cspc_Buffer = None | |
352 | shape_dc_Buffer = None |
|
391 | shape_dc_Buffer = None | |
353 |
|
392 | dataOutObj = None | ||
354 | data_spc = None |
|
|||
355 | data_cspc = None |
|
|||
356 | data_dc = None |
|
|||
357 |
|
||||
358 |
|
393 | |||
359 | def __init__(self, dataOutObj=None): |
|
394 | def __init__(self, dataOutObj=None): | |
360 | """ |
|
395 | """ | |
@@ -405,7 +440,7 class SpectraWriter(JRODataWriter): | |||||
405 |
|
440 | |||
406 | self.setFile = None |
|
441 | self.setFile = None | |
407 |
|
442 | |||
408 |
self.d |
|
443 | self.dtype = None | |
409 |
|
444 | |||
410 | self.path = None |
|
445 | self.path = None | |
411 |
|
446 | |||
@@ -438,15 +473,15 class SpectraWriter(JRODataWriter): | |||||
438 | Return: None |
|
473 | Return: None | |
439 | """ |
|
474 | """ | |
440 | self.shape_spc_Buffer = (self.dataOutObj.nChannels, |
|
475 | self.shape_spc_Buffer = (self.dataOutObj.nChannels, | |
441 |
self.processingHeaderObj.n |
|
476 | self.processingHeaderObj.nHeights, | |
442 | self.processingHeaderObj.profilesPerBlock) |
|
477 | self.processingHeaderObj.profilesPerBlock) | |
443 |
|
478 | |||
444 | self.shape_cspc_Buffer = (self.dataOutObj.nPairs, |
|
479 | self.shape_cspc_Buffer = (self.dataOutObj.nPairs, | |
445 |
self.processingHeaderObj.n |
|
480 | self.processingHeaderObj.nHeights, | |
446 | self.processingHeaderObj.profilesPerBlock) |
|
481 | self.processingHeaderObj.profilesPerBlock) | |
447 |
|
482 | |||
448 |
self.shape_dc_Buffer = (self.systemHeaderObj.n |
|
483 | self.shape_dc_Buffer = (self.systemHeaderObj.nChannels, | |
449 |
self.processingHeaderObj.n |
|
484 | self.processingHeaderObj.nHeights) | |
450 |
|
485 | |||
451 |
|
486 | |||
452 | def writeBlock(self): |
|
487 | def writeBlock(self): | |
@@ -472,7 +507,7 class SpectraWriter(JRODataWriter): | |||||
472 | data.tofile(self.fp) |
|
507 | data.tofile(self.fp) | |
473 |
|
508 | |||
474 | if self.data_cspc != None: |
|
509 | if self.data_cspc != None: | |
475 |
data = numpy.zeros( self.shape_cspc_Buffer, self.d |
|
510 | data = numpy.zeros( self.shape_cspc_Buffer, self.dtype ) | |
476 | cspc = numpy.transpose( self.data_cspc, (0,2,1) ) |
|
511 | cspc = numpy.transpose( self.data_cspc, (0,2,1) ) | |
477 | if not( self.processingHeaderObj.shif_fft ): |
|
512 | if not( self.processingHeaderObj.shif_fft ): | |
478 | cspc = numpy.roll( cspc, self.processingHeaderObj.profilesPerBlock/2, axis=2 ) #desplaza a la derecha en el eje 2 determinadas posiciones |
|
513 | cspc = numpy.roll( cspc, self.processingHeaderObj.profilesPerBlock/2, axis=2 ) #desplaza a la derecha en el eje 2 determinadas posiciones | |
@@ -481,7 +516,7 class SpectraWriter(JRODataWriter): | |||||
481 | data = data.reshape((-1)) |
|
516 | data = data.reshape((-1)) | |
482 | data.tofile(self.fp) |
|
517 | data.tofile(self.fp) | |
483 |
|
518 | |||
484 |
data = numpy.zeros( self.shape_dc_Buffer, self.d |
|
519 | data = numpy.zeros( self.shape_dc_Buffer, self.dtype ) | |
485 | dc = self.data_dc |
|
520 | dc = self.data_dc | |
486 | data['real'] = dc.real |
|
521 | data['real'] = dc.real | |
487 | data['imag'] = dc.imag |
|
522 | data['imag'] = dc.imag |
@@ -60,13 +60,11 class VoltageReader(JRODataReader): | |||||
60 | break |
|
60 | break | |
61 |
|
61 | |||
62 | """ |
|
62 | """ | |
63 | dataOutObj = None |
|
|||
64 |
|
||||
65 | datablock = None |
|
|||
66 |
|
63 | |||
67 | ext = ".r" |
|
64 | ext = ".r" | |
68 |
|
65 | |||
69 | optchar = "D" |
|
66 | optchar = "D" | |
|
67 | dataOutObj = None | |||
70 |
|
68 | |||
71 |
|
69 | |||
72 | def __init__(self, dataOutObj=None): |
|
70 | def __init__(self, dataOutObj=None): | |
@@ -294,8 +292,6 class VoltageReader(JRODataReader): | |||||
294 |
|
292 | |||
295 | self.dataOutObj.channelIndexList = range(self.systemHeaderObj.nChannels) |
|
293 | self.dataOutObj.channelIndexList = range(self.systemHeaderObj.nChannels) | |
296 |
|
294 | |||
297 | self.dataOutObj.flagNoData = True |
|
|||
298 |
|
||||
299 | self.dataOutObj.flagTimeBlock = self.flagTimeBlock |
|
295 | self.dataOutObj.flagTimeBlock = self.flagTimeBlock | |
300 |
|
296 | |||
301 | self.dataOutObj.dataUtcTime = self.basicHeaderObj.utc + self.profileIndex * self.ippSeconds |
|
297 | self.dataOutObj.dataUtcTime = self.basicHeaderObj.utc + self.profileIndex * self.ippSeconds | |
@@ -308,6 +304,8 class VoltageReader(JRODataReader): | |||||
308 |
|
304 | |||
309 | self.dataOutObj.radarControllerHeaderObj = self.radarControllerHeaderObj.copy() |
|
305 | self.dataOutObj.radarControllerHeaderObj = self.radarControllerHeaderObj.copy() | |
310 |
|
306 | |||
|
307 | self.dataOutObj.flagNoData = False | |||
|
308 | ||||
311 | return 1 |
|
309 | return 1 | |
312 |
|
310 | |||
313 |
|
311 | |||
@@ -316,18 +314,11 class VoltageWriter(JRODataWriter): | |||||
316 | Esta clase permite escribir datos de voltajes a archivos procesados (.r). La escritura |
|
314 | Esta clase permite escribir datos de voltajes a archivos procesados (.r). La escritura | |
317 | de los datos siempre se realiza por bloques. |
|
315 | de los datos siempre se realiza por bloques. | |
318 | """ |
|
316 | """ | |
319 | __configHeaderFile = 'wrSetHeadet.txt' |
|
|||
320 |
|
||||
321 | dataOutObj = None |
|
|||
322 |
|
317 | |||
323 | ext = ".r" |
|
318 | ext = ".r" | |
324 |
|
319 | |||
325 | optchar = "D" |
|
320 | optchar = "D" | |
326 |
|
321 | |||
327 | datablock = None |
|
|||
328 |
|
||||
329 | profileIndex = 0 |
|
|||
330 |
|
||||
331 | shapeBuffer = None |
|
322 | shapeBuffer = None | |
332 |
|
323 | |||
333 |
|
324 |
1 | NO CONTENT: modified file |
|
NO CONTENT: modified file |
General Comments 0
You need to be logged in to leave comments.
Login now