@@ -214,7 +214,7 class JROData: | |||||
214 | datatime = [] |
|
214 | datatime = [] | |
215 |
|
215 | |||
216 | datatime.append(self.utctime) |
|
216 | datatime.append(self.utctime) | |
217 |
datatime.append(self.utctime + |
|
217 | datatime.append(self.utctime + self.timeInterval) | |
218 |
|
218 | |||
219 | datatime = numpy.array(datatime) |
|
219 | datatime = numpy.array(datatime) | |
220 |
|
220 |
@@ -826,6 +826,14 class JRODataReader(JRODataIO, ProcessingUnit): | |||||
826 |
|
826 | |||
827 | print "Number of read blocks %04d" %self.nTotalBlocks |
|
827 | print "Number of read blocks %04d" %self.nTotalBlocks | |
828 |
|
|
828 | ||
|
829 | def printInfo(self): | |||
|
830 | ||||
|
831 | print self.basicHeaderObj.printInfo() | |||
|
832 | print self.systemHeaderObj.printInfo() | |||
|
833 | print self.radarControllerHeaderObj.printInfo() | |||
|
834 | print self.processingHeaderObj.printInfo() | |||
|
835 | ||||
|
836 | ||||
829 | def run(self, **kwargs): |
|
837 | def run(self, **kwargs): | |
830 |
|
838 | |||
831 | if not(self.isConfig): |
|
839 | if not(self.isConfig): | |
@@ -1339,22 +1347,8 class VoltageReader(JRODataReader): | |||||
1339 | if not( self.readNextBlock() ): |
|
1347 | if not( self.readNextBlock() ): | |
1340 | return 0 |
|
1348 | return 0 | |
1341 |
|
|
1349 | ||
1342 | # self.updateDataHeader() |
|
|||
1343 |
|
||||
1344 | #data es un numpy array de 3 dmensiones (perfiles, alturas y canales) |
|
|||
1345 |
|
||||
1346 | if self.datablock == None: |
|
|||
1347 | self.dataOut.flagNoData = True |
|
|||
1348 | return 0 |
|
|||
1349 |
|
||||
1350 | self.dataOut.data = self.datablock[:,self.profileIndex,:] |
|
|||
1351 |
|
||||
1352 | self.dataOut.dtype = self.dtype |
|
1350 | self.dataOut.dtype = self.dtype | |
1353 |
|
1351 | |||
1354 | # self.dataOut.nChannels = self.systemHeaderObj.nChannels |
|
|||
1355 |
|
||||
1356 | # self.dataOut.nHeights = self.processingHeaderObj.nHeights |
|
|||
1357 |
|
||||
1358 | self.dataOut.nProfiles = self.processingHeaderObj.profilesPerBlock |
|
1352 | self.dataOut.nProfiles = self.processingHeaderObj.profilesPerBlock | |
1359 |
|
1353 | |||
1360 | xf = self.processingHeaderObj.firstHeight + self.processingHeaderObj.nHeights*self.processingHeaderObj.deltaHeight |
|
1354 | xf = self.processingHeaderObj.firstHeight + self.processingHeaderObj.nHeights*self.processingHeaderObj.deltaHeight | |
@@ -1363,12 +1357,8 class VoltageReader(JRODataReader): | |||||
1363 |
|
1357 | |||
1364 | self.dataOut.channelList = range(self.systemHeaderObj.nChannels) |
|
1358 | self.dataOut.channelList = range(self.systemHeaderObj.nChannels) | |
1365 |
|
1359 | |||
1366 | # self.dataOut.channelIndexList = range(self.systemHeaderObj.nChannels) |
|
|||
1367 |
|
||||
1368 | self.dataOut.flagTimeBlock = self.flagTimeBlock |
|
1360 | self.dataOut.flagTimeBlock = self.flagTimeBlock | |
1369 |
|
1361 | |||
1370 | self.dataOut.utctime = self.basicHeaderObj.utc + self.basicHeaderObj.miliSecond/1000. + self.profileIndex * self.ippSeconds |
|
|||
1371 |
|
||||
1372 | self.dataOut.ippSeconds = self.ippSeconds |
|
1362 | self.dataOut.ippSeconds = self.ippSeconds | |
1373 |
|
1363 | |||
1374 | self.dataOut.timeInterval = self.ippSeconds * self.processingHeaderObj.nCohInt |
|
1364 | self.dataOut.timeInterval = self.ippSeconds * self.processingHeaderObj.nCohInt | |
@@ -1384,18 +1374,31 class VoltageReader(JRODataReader): | |||||
1384 |
|
1374 | |||
1385 | self.dataOut.code = self.processingHeaderObj.code |
|
1375 | self.dataOut.code = self.processingHeaderObj.code | |
1386 |
|
1376 | |||
1387 | self.profileIndex += 1 |
|
|||
1388 |
|
||||
1389 | self.dataOut.systemHeaderObj = self.systemHeaderObj.copy() |
|
1377 | self.dataOut.systemHeaderObj = self.systemHeaderObj.copy() | |
1390 |
|
1378 | |||
1391 | self.dataOut.radarControllerHeaderObj = self.radarControllerHeaderObj.copy() |
|
1379 | self.dataOut.radarControllerHeaderObj = self.radarControllerHeaderObj.copy() | |
1392 |
|
1380 | |||
|
1381 | # self.updateDataHeader() | |||
|
1382 | ||||
|
1383 | #data es un numpy array de 3 dmensiones (perfiles, alturas y canales) | |||
|
1384 | ||||
|
1385 | if self.datablock == None: | |||
|
1386 | self.dataOut.flagNoData = True | |||
|
1387 | return 0 | |||
|
1388 | ||||
|
1389 | self.dataOut.data = self.datablock[:,self.profileIndex,:] | |||
|
1390 | ||||
|
1391 | self.dataOut.utctime = self.basicHeaderObj.utc + self.basicHeaderObj.miliSecond/1000. + self.profileIndex * self.ippSeconds | |||
|
1392 | ||||
|
1393 | self.profileIndex += 1 | |||
|
1394 | ||||
1393 | self.dataOut.flagNoData = False |
|
1395 | self.dataOut.flagNoData = False | |
1394 |
|
1396 | |||
1395 | # print self.profileIndex, self.dataOut.utctime |
|
1397 | # print self.profileIndex, self.dataOut.utctime | |
1396 | # if self.profileIndex == 800: |
|
1398 | # if self.profileIndex == 800: | |
1397 | # a=1 |
|
1399 | # a=1 | |
1398 |
|
1400 | |||
|
1401 | ||||
1399 | return self.dataOut.data |
|
1402 | return self.dataOut.data | |
1400 |
|
1403 | |||
1401 |
|
1404 |
@@ -21,6 +21,11 class Header: | |||||
21 | def write(): |
|
21 | def write(): | |
22 | pass |
|
22 | pass | |
23 |
|
23 | |||
|
24 | def printInfo(self): | |||
|
25 | ||||
|
26 | for key in self.__dict__.keys(): | |||
|
27 | print "%s = %s" %(key, self.__dict__[key]) | |||
|
28 | ||||
24 | class BasicHeader(Header): |
|
29 | class BasicHeader(Header): | |
25 |
|
30 | |||
26 | size = None |
|
31 | size = None |
@@ -576,7 +576,7 class SpectraProc(ProcessingUnit): | |||||
576 | self.dataOut.nIncohInt = 1 |
|
576 | self.dataOut.nIncohInt = 1 | |
577 | self.dataOut.ippSeconds = self.dataIn.ippSeconds |
|
577 | self.dataOut.ippSeconds = self.dataIn.ippSeconds | |
578 |
|
578 | |||
579 |
self.dataOut.timeInterval = self.dataIn.timeInterval*self.dataOut.nFFTPoints*self.dataOut. |
|
579 | self.dataOut.timeInterval = self.dataIn.timeInterval*self.dataOut.nFFTPoints*self.dataOut.nIncohInt | |
580 |
|
580 | |||
581 | def __getFft(self): |
|
581 | def __getFft(self): | |
582 | """ |
|
582 | """ | |
@@ -587,23 +587,9 class SpectraProc(ProcessingUnit): | |||||
587 | self.dataOut.data_cspc |
|
587 | self.dataOut.data_cspc | |
588 | self.dataOut.data_dc |
|
588 | self.dataOut.data_dc | |
589 | self.dataOut.heightList |
|
589 | self.dataOut.heightList | |
590 | self.dataOut.m_BasicHeader |
|
|||
591 | self.dataOut.m_ProcessingHeader |
|
|||
592 | self.dataOut.radarControllerHeaderObj |
|
|||
593 | self.dataOut.systemHeaderObj |
|
|||
594 | self.profIndex |
|
590 | self.profIndex | |
595 | self.buffer |
|
591 | self.buffer | |
596 | self.dataOut.flagNoData |
|
592 | self.dataOut.flagNoData | |
597 | self.dataOut.dtype |
|
|||
598 | self.dataOut.nPairs |
|
|||
599 | self.dataOut.nChannels |
|
|||
600 | self.dataOut.nProfiles |
|
|||
601 | self.dataOut.systemHeaderObj.numChannels |
|
|||
602 | self.dataOut.m_ProcessingHeader.totalSpectra |
|
|||
603 | self.dataOut.m_ProcessingHeader.profilesPerBlock |
|
|||
604 | self.dataOut.m_ProcessingHeader.numHeights |
|
|||
605 | self.dataOut.m_ProcessingHeader.spectraComb |
|
|||
606 | self.dataOut.m_ProcessingHeader.shif_fft |
|
|||
607 | """ |
|
593 | """ | |
608 | fft_volt = numpy.fft.fft(self.buffer,axis=1) |
|
594 | fft_volt = numpy.fft.fft(self.buffer,axis=1) | |
609 | dc = fft_volt[:,0,:] |
|
595 | dc = fft_volt[:,0,:] |
General Comments 0
You need to be logged in to leave comments.
Login now