@@ -408,6 +408,7 class DigitalRFReader(ProcessingUnit): | |||||
408 |
|
408 | |||
409 |
|
409 | |||
410 | self.__samples_to_read = int(nSamples) # FIJO: AHORA 40 |
|
410 | self.__samples_to_read = int(nSamples) # FIJO: AHORA 40 | |
|
411 | #self.__samples_to_read = int(1000000) # FIJO: AHORA 40 | |||
411 | self.__nChannels = len(self.__channelList) |
|
412 | self.__nChannels = len(self.__channelList) | |
412 | #print("------------------------------------------") |
|
413 | #print("------------------------------------------") | |
413 | #print("self.__samples_to_read",self.__samples_to_read) |
|
414 | #print("self.__samples_to_read",self.__samples_to_read) | |
@@ -522,6 +523,8 class DigitalRFReader(ProcessingUnit): | |||||
522 | for indexSubchannel in range(self.__num_subchannels): |
|
523 | for indexSubchannel in range(self.__num_subchannels): | |
523 | try: |
|
524 | try: | |
524 | t0 = time() |
|
525 | t0 = time() | |
|
526 | #print("Unitindex",self.__thisUnixSample) | |||
|
527 | #print("__samples_to_read",self.__samples_to_read) | |||
525 | result = self.digitalReadObj.read_vector_c81d(self.__thisUnixSample, |
|
528 | result = self.digitalReadObj.read_vector_c81d(self.__thisUnixSample, | |
526 | self.__samples_to_read, |
|
529 | self.__samples_to_read, | |
527 | thisChannelName, sub_channel=indexSubchannel) |
|
530 | thisChannelName, sub_channel=indexSubchannel) | |
@@ -634,6 +637,7 class DigitalRFReader(ProcessingUnit): | |||||
634 | # ojo debo anadir el readNextBLock y el __isBufferEmpty( |
|
637 | # ojo debo anadir el readNextBLock y el __isBufferEmpty( | |
635 | self.dataOut.flagNoData = False |
|
638 | self.dataOut.flagNoData = False | |
636 | buffer = self.__data_buffer[:,self.__bufferIndex:self.__bufferIndex + self.__samples_to_read] |
|
639 | buffer = self.__data_buffer[:,self.__bufferIndex:self.__bufferIndex + self.__samples_to_read] | |
|
640 | #print("test",self.__bufferIndex) | |||
637 | buffer = buffer.reshape((self.__nChannels, self.nProfileBlocks, int(self.__samples_to_read/self.nProfileBlocks))) |
|
641 | buffer = buffer.reshape((self.__nChannels, self.nProfileBlocks, int(self.__samples_to_read/self.nProfileBlocks))) | |
638 | self.dataOut.nProfileBlocks = self.nProfileBlocks |
|
642 | self.dataOut.nProfileBlocks = self.nProfileBlocks | |
639 | self.dataOut.data = buffer |
|
643 | self.dataOut.data = buffer |
@@ -482,6 +482,8 class HDFWriter(Operation): | |||||
482 |
|
482 | |||
483 | self.dataOut = dataOut |
|
483 | self.dataOut = dataOut | |
484 | self.mode = mode |
|
484 | self.mode = mode | |
|
485 | self.var = dataList[0] | |||
|
486 | ||||
485 | if not(self.isConfig): |
|
487 | if not(self.isConfig): | |
486 | self.setup(path=path, blocksPerFile=blocksPerFile, |
|
488 | self.setup(path=path, blocksPerFile=blocksPerFile, | |
487 | metadataList=metadataList, dataList=dataList, |
|
489 | metadataList=metadataList, dataList=dataList, | |
@@ -532,33 +534,47 class HDFWriter(Operation): | |||||
532 | setFile, |
|
534 | setFile, | |
533 | ext ) |
|
535 | ext ) | |
534 | elif self.setType == "weather": |
|
536 | elif self.setType == "weather": | |
535 | print("HOLA AMIGOS") |
|
|||
536 | wr_exp = self.dataOut.wr_exp |
|
|||
537 | if wr_exp== "PPI": |
|
|||
538 | wr_type = 'E' |
|
|||
539 | ang_ = numpy.mean(self.dataOut.elevation) |
|
|||
540 | else: |
|
|||
541 | wr_type = 'A' |
|
|||
542 | ang_ = numpy.mean(self.dataOut.azimuth) |
|
|||
543 |
|
||||
544 | wr_writer = '%s%s%2.1f%s'%('-', |
|
|||
545 | wr_type, |
|
|||
546 | ang_, |
|
|||
547 | '-') |
|
|||
548 | ###print("wr_writer********************",wr_writer) |
|
|||
549 | file = '%s%4.4d%2.2d%2.2d%s%2.2d%2.2d%2.2d%s%s%s' % (self.optchar, |
|
|||
550 | timeTuple.tm_year, |
|
|||
551 | timeTuple.tm_mon, |
|
|||
552 | timeTuple.tm_mday, |
|
|||
553 | '-', |
|
|||
554 | timeTuple.tm_hour, |
|
|||
555 | timeTuple.tm_min, |
|
|||
556 | timeTuple.tm_sec, |
|
|||
557 | wr_writer, |
|
|||
558 | type_data, |
|
|||
559 | ext ) |
|
|||
560 | ###print("FILENAME", file) |
|
|||
561 |
|
537 | |||
|
538 | if self.var.lower() == 'Zdb'.lower(): | |||
|
539 | wr_type = 'Z' | |||
|
540 | elif self.var.lower() == 'Zdb_D'.lower(): | |||
|
541 | wr_type = 'D' | |||
|
542 | elif self.var.lower() == 'PhiD_P'.lower(): | |||
|
543 | wr_type = 'P' | |||
|
544 | elif self.var.lower() == 'RhoHV_R'.lower(): | |||
|
545 | wr_type = 'R' | |||
|
546 | elif self.var.lower() == 'velRadial_V'.lower(): | |||
|
547 | wr_type = 'V' | |||
|
548 | elif self.var.lower() == 'Sigmav_W'.lower(): | |||
|
549 | wr_type = 'S' | |||
|
550 | elif self.var.lower() == 'dataPP_POWER'.lower(): | |||
|
551 | wr_type = 'Pow' | |||
|
552 | elif self.var.lower() == 'dataPP_DOP'.lower(): | |||
|
553 | wr_type = 'Dop' | |||
|
554 | ||||
|
555 | ||||
|
556 | #Z_SOPHy_El10.0_20200505_14:02:15.h5 | |||
|
557 | #Z_SOPHy_Az40.0_20200505_14:02:15.h5 | |||
|
558 | if self.dataOut.flagMode == 1: #'AZI' #PPI | |||
|
559 | ang_type = 'El' | |||
|
560 | ang_ = round(numpy.mean(self.dataOut.data_ele),1) | |||
|
561 | elif self.dataOut.flagMode == 0: #'ELE' #RHI | |||
|
562 | ang_type = 'Az' | |||
|
563 | ang_ = round(numpy.mean(self.dataOut.data_azi),1) | |||
|
564 | ||||
|
565 | file = '%s%s%s%2.1f%s%2.2d%2.2d%2.2d%s%2.2d%2.2d%2.2d%s' % (wr_type, | |||
|
566 | '_SOPHy_', | |||
|
567 | ang_type, | |||
|
568 | ang_, | |||
|
569 | '_', | |||
|
570 | timeTuple.tm_year, | |||
|
571 | timeTuple.tm_mon, | |||
|
572 | timeTuple.tm_mday, | |||
|
573 | '_', | |||
|
574 | timeTuple.tm_hour, | |||
|
575 | timeTuple.tm_min, | |||
|
576 | timeTuple.tm_sec, | |||
|
577 | ext ) | |||
562 |
|
578 | |||
563 | else: |
|
579 | else: | |
564 | setFile = timeTuple.tm_hour*60+timeTuple.tm_min |
|
580 | setFile = timeTuple.tm_hour*60+timeTuple.tm_min | |
@@ -571,7 +587,7 class HDFWriter(Operation): | |||||
571 | self.filename = os.path.join( path, subfolder, file ) |
|
587 | self.filename = os.path.join( path, subfolder, file ) | |
572 |
|
588 | |||
573 | #Setting HDF5 File |
|
589 | #Setting HDF5 File | |
574 |
|
590 | print("filename",self.filename) | ||
575 | self.fp = h5py.File(self.filename, 'w') |
|
591 | self.fp = h5py.File(self.filename, 'w') | |
576 | #write metadata |
|
592 | #write metadata | |
577 | self.writeMetadata(self.fp) |
|
593 | self.writeMetadata(self.fp) | |
@@ -682,6 +698,7 class HDFWriter(Operation): | |||||
682 | return |
|
698 | return | |
683 |
|
699 | |||
684 | def putData(self): |
|
700 | def putData(self): | |
|
701 | ||||
685 | if (self.blockIndex == self.blocksPerFile) or self.timeFlag():# or self.generalFlag_vRF(): |
|
702 | if (self.blockIndex == self.blocksPerFile) or self.timeFlag():# or self.generalFlag_vRF(): | |
686 | self.closeFile() |
|
703 | self.closeFile() | |
687 | self.setNextFile() |
|
704 | self.setNextFile() |
@@ -86,7 +86,17 class ProcessingUnit(object): | |||||
86 | ##### correcion de la declaracion Out |
|
86 | ##### correcion de la declaracion Out | |
87 | for op, optype, opkwargs in self.operations: |
|
87 | for op, optype, opkwargs in self.operations: | |
88 | aux = self.dataOut.copy() |
|
88 | aux = self.dataOut.copy() | |
89 | if optype == 'other' and not self.dataOut.flagNoData: |
|
89 | ''' | |
|
90 | print("op",op) | |||
|
91 | try: | |||
|
92 | print("runNextOp",self.dataOut.runNextOp) | |||
|
93 | except: | |||
|
94 | pass | |||
|
95 | ''' | |||
|
96 | if not hasattr(self.dataOut, 'runNextOp'): | |||
|
97 | self.dataOut.runNextOp = False | |||
|
98 | if optype == 'other' and (not self.dataOut.flagNoData or self.dataOut.runNextOp): | |||
|
99 | #if optype == 'other' and not self.dataOut.flagNoData: | |||
90 | self.dataOut = op.run(self.dataOut, **opkwargs) |
|
100 | self.dataOut = op.run(self.dataOut, **opkwargs) | |
91 | elif optype == 'external' and not self.dataOut.flagNoData: |
|
101 | elif optype == 'external' and not self.dataOut.flagNoData: | |
92 | #op.queue.put(self.dataOut) |
|
102 | #op.queue.put(self.dataOut) |
@@ -4882,7 +4882,7 class Block360_vRF4(Operation): | |||||
4882 | Add a profile to he __buffer and increase in one the __profiel Index |
|
4882 | Add a profile to he __buffer and increase in one the __profiel Index | |
4883 | ''' |
|
4883 | ''' | |
4884 | tmp= getattr(data, attr) |
|
4884 | tmp= getattr(data, attr) | |
4885 |
if tmp.shape[0] |
|
4885 | if tmp.shape[0] != 2: | |
4886 | size_tmp= tmp.shape[0] |
|
4886 | size_tmp= tmp.shape[0] | |
4887 | tmp=tmp.reshape(1,size_tmp) |
|
4887 | tmp=tmp.reshape(1,size_tmp) | |
4888 |
|
4888 | |||
@@ -4993,9 +4993,10 class Block360_vRF4(Operation): | |||||
4993 | if diff_angle > 0: #Subida |
|
4993 | if diff_angle > 0: #Subida | |
4994 | return 0 |
|
4994 | return 0 | |
4995 |
|
4995 | |||
4996 | def run(self, dataOut, attr_data='dataPP_POWER', axis=None,**kwargs): |
|
4996 | def run(self, dataOut, attr_data='dataPP_POWER', axis=None, runNextOp = False,**kwargs): | |
4997 |
|
4997 | |||
4998 | dataOut.attr_data = attr_data |
|
4998 | dataOut.attr_data = attr_data | |
|
4999 | dataOut.runNextOp = runNextOp | |||
4999 |
|
5000 | |||
5000 | dataOut.flagMode = axis[0] #Provisional, debería venir del header |
|
5001 | dataOut.flagMode = axis[0] #Provisional, debería venir del header | |
5001 |
|
5002 | |||
@@ -5013,7 +5014,7 class Block360_vRF4(Operation): | |||||
5013 | dataOut.data_ele = data_e |
|
5014 | dataOut.data_ele = data_e | |
5014 | dataOut.utctime = avgdatatime |
|
5015 | dataOut.utctime = avgdatatime | |
5015 | dataOut.flagNoData = False |
|
5016 | dataOut.flagNoData = False | |
5016 | print("********************attr_data********************",attr_data) |
|
5017 | #print("********************attr_data********************",attr_data) | |
5017 | #print(data_360.shape) |
|
5018 | #print(data_360.shape) | |
5018 | #print(dataOut.heightList) |
|
5019 | #print(dataOut.heightList) | |
5019 |
|
5020 |
@@ -669,7 +669,7 class CohInt(Operation): | |||||
669 | if not dataOut.flagCohInt: |
|
669 | if not dataOut.flagCohInt: | |
670 | dataOut.nCohInt *= self.n |
|
670 | dataOut.nCohInt *= self.n | |
671 | dataOut.flagCohInt = True |
|
671 | dataOut.flagCohInt = True | |
672 | dataOut.utctime = avgdatatime |
|
672 | ####################################dataOut.utctime = avgdatatime | |
673 | # print avgdata, avgdatatime |
|
673 | # print avgdata, avgdatatime | |
674 | # raise |
|
674 | # raise | |
675 | # dataOut.timeInterval = dataOut.ippSeconds * dataOut.nCohInt |
|
675 | # dataOut.timeInterval = dataOut.ippSeconds * dataOut.nCohInt | |
@@ -1696,7 +1696,8 class PulsePair_vRF(Operation): | |||||
1696 | def run(self, dataOut,n = None,removeDC= False, overlapping= False,**kwargs): |
|
1696 | def run(self, dataOut,n = None,removeDC= False, overlapping= False,**kwargs): | |
1697 |
|
1697 | |||
1698 | if dataOut.flagDataAsBlock: |
|
1698 | if dataOut.flagDataAsBlock: | |
1699 | n = dataOut.nProfiles |
|
1699 | n = int(dataOut.nProfiles) | |
|
1700 | #print("n",n) | |||
1700 |
|
1701 | |||
1701 | if not self.isConfig: |
|
1702 | if not self.isConfig: | |
1702 | self.setup(dataOut = dataOut, n = n , removeDC=removeDC , **kwargs) |
|
1703 | self.setup(dataOut = dataOut, n = n , removeDC=removeDC , **kwargs) |
General Comments 0
You need to be logged in to leave comments.
Login now