@@ -214,7 +214,7 class JROData: | |||
|
214 | 214 | datatime = [] |
|
215 | 215 | |
|
216 | 216 | datatime.append(self.utctime) |
|
217 |
datatime.append(self.utctime + |
|
|
217 | datatime.append(self.utctime + self.timeInterval) | |
|
218 | 218 | |
|
219 | 219 | datatime = numpy.array(datatime) |
|
220 | 220 |
@@ -825,7 +825,15 class JRODataReader(JRODataIO, ProcessingUnit): | |||
|
825 | 825 | def printTotalBlocks(self): |
|
826 | 826 | |
|
827 | 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 | 837 | def run(self, **kwargs): |
|
830 | 838 | |
|
831 | 839 | if not(self.isConfig): |
@@ -1338,7 +1346,38 class VoltageReader(JRODataReader): | |||
|
1338 | 1346 | |
|
1339 | 1347 | if not( self.readNextBlock() ): |
|
1340 | 1348 | return 0 |
|
1349 | ||
|
1350 | self.dataOut.dtype = self.dtype | |
|
1351 | ||
|
1352 | self.dataOut.nProfiles = self.processingHeaderObj.profilesPerBlock | |
|
1353 | ||
|
1354 | xf = self.processingHeaderObj.firstHeight + self.processingHeaderObj.nHeights*self.processingHeaderObj.deltaHeight | |
|
1355 | ||
|
1356 | self.dataOut.heightList = numpy.arange(self.processingHeaderObj.firstHeight, xf, self.processingHeaderObj.deltaHeight) | |
|
1357 | ||
|
1358 | self.dataOut.channelList = range(self.systemHeaderObj.nChannels) | |
|
1359 | ||
|
1360 | self.dataOut.flagTimeBlock = self.flagTimeBlock | |
|
1361 | ||
|
1362 | self.dataOut.ippSeconds = self.ippSeconds | |
|
1363 | ||
|
1364 | self.dataOut.timeInterval = self.ippSeconds * self.processingHeaderObj.nCohInt | |
|
1365 | ||
|
1366 | self.dataOut.nCohInt = self.processingHeaderObj.nCohInt | |
|
1341 | 1367 | |
|
1368 | self.dataOut.flagShiftFFT = False | |
|
1369 | ||
|
1370 | if self.processingHeaderObj.code != None: | |
|
1371 | self.dataOut.nCode = self.processingHeaderObj.nCode | |
|
1372 | ||
|
1373 | self.dataOut.nBaud = self.processingHeaderObj.nBaud | |
|
1374 | ||
|
1375 | self.dataOut.code = self.processingHeaderObj.code | |
|
1376 | ||
|
1377 | self.dataOut.systemHeaderObj = self.systemHeaderObj.copy() | |
|
1378 | ||
|
1379 | self.dataOut.radarControllerHeaderObj = self.radarControllerHeaderObj.copy() | |
|
1380 | ||
|
1342 | 1381 | # self.updateDataHeader() |
|
1343 | 1382 | |
|
1344 | 1383 | #data es un numpy array de 3 dmensiones (perfiles, alturas y canales) |
@@ -1349,53 +1388,17 class VoltageReader(JRODataReader): | |||
|
1349 | 1388 | |
|
1350 | 1389 | self.dataOut.data = self.datablock[:,self.profileIndex,:] |
|
1351 | 1390 | |
|
1352 | self.dataOut.dtype = self.dtype | |
|
1353 | ||
|
1354 | # self.dataOut.nChannels = self.systemHeaderObj.nChannels | |
|
1355 | ||
|
1356 | # self.dataOut.nHeights = self.processingHeaderObj.nHeights | |
|
1357 | ||
|
1358 | self.dataOut.nProfiles = self.processingHeaderObj.profilesPerBlock | |
|
1359 | ||
|
1360 | xf = self.processingHeaderObj.firstHeight + self.processingHeaderObj.nHeights*self.processingHeaderObj.deltaHeight | |
|
1361 | ||
|
1362 | self.dataOut.heightList = numpy.arange(self.processingHeaderObj.firstHeight, xf, self.processingHeaderObj.deltaHeight) | |
|
1363 | ||
|
1364 | self.dataOut.channelList = range(self.systemHeaderObj.nChannels) | |
|
1365 | ||
|
1366 | # self.dataOut.channelIndexList = range(self.systemHeaderObj.nChannels) | |
|
1367 | ||
|
1368 | self.dataOut.flagTimeBlock = self.flagTimeBlock | |
|
1369 | ||
|
1370 | 1391 | self.dataOut.utctime = self.basicHeaderObj.utc + self.basicHeaderObj.miliSecond/1000. + self.profileIndex * self.ippSeconds |
|
1371 | 1392 | |
|
1372 | self.dataOut.ippSeconds = self.ippSeconds | |
|
1373 | ||
|
1374 | self.dataOut.timeInterval = self.ippSeconds * self.processingHeaderObj.nCohInt | |
|
1375 | ||
|
1376 | self.dataOut.nCohInt = self.processingHeaderObj.nCohInt | |
|
1377 | ||
|
1378 | self.dataOut.flagShiftFFT = False | |
|
1379 | ||
|
1380 | if self.processingHeaderObj.code != None: | |
|
1381 | self.dataOut.nCode = self.processingHeaderObj.nCode | |
|
1382 | ||
|
1383 | self.dataOut.nBaud = self.processingHeaderObj.nBaud | |
|
1384 | ||
|
1385 | self.dataOut.code = self.processingHeaderObj.code | |
|
1386 | ||
|
1387 | 1393 | self.profileIndex += 1 |
|
1388 | 1394 | |
|
1389 | self.dataOut.systemHeaderObj = self.systemHeaderObj.copy() | |
|
1390 | ||
|
1391 | self.dataOut.radarControllerHeaderObj = self.radarControllerHeaderObj.copy() | |
|
1392 | ||
|
1393 | 1395 | self.dataOut.flagNoData = False |
|
1394 | 1396 | |
|
1395 | 1397 | # print self.profileIndex, self.dataOut.utctime |
|
1396 | 1398 | # if self.profileIndex == 800: |
|
1397 | 1399 | # a=1 |
|
1398 | ||
|
1400 | ||
|
1401 | ||
|
1399 | 1402 | return self.dataOut.data |
|
1400 | 1403 | |
|
1401 | 1404 |
@@ -20,6 +20,11 class Header: | |||
|
20 | 20 | |
|
21 | 21 | def write(): |
|
22 | 22 | pass |
|
23 | ||
|
24 | def printInfo(self): | |
|
25 | ||
|
26 | for key in self.__dict__.keys(): | |
|
27 | print "%s = %s" %(key, self.__dict__[key]) | |
|
23 | 28 | |
|
24 | 29 | class BasicHeader(Header): |
|
25 | 30 |
@@ -576,7 +576,7 class SpectraProc(ProcessingUnit): | |||
|
576 | 576 | self.dataOut.nIncohInt = 1 |
|
577 | 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 | 581 | def __getFft(self): |
|
582 | 582 | """ |
@@ -587,23 +587,9 class SpectraProc(ProcessingUnit): | |||
|
587 | 587 | self.dataOut.data_cspc |
|
588 | 588 | self.dataOut.data_dc |
|
589 | 589 | self.dataOut.heightList |
|
590 | self.dataOut.m_BasicHeader | |
|
591 | self.dataOut.m_ProcessingHeader | |
|
592 | self.dataOut.radarControllerHeaderObj | |
|
593 | self.dataOut.systemHeaderObj | |
|
594 | 590 | self.profIndex |
|
595 | 591 | self.buffer |
|
596 | 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 | 594 | fft_volt = numpy.fft.fft(self.buffer,axis=1) |
|
609 | 595 | dc = fft_volt[:,0,:] |
General Comments 0
You need to be logged in to leave comments.
Login now