##// END OF EJS Templates
Multiprocessing for BLTR (all operations) working
George Yong -
r1185:3cc57dcc4bfb
parent child
Show More
@@ -13,7 +13,7 import datetime
13 13
14 14 import numpy
15 15
16 from schainpy.model.proc.jroproc_base import ProcessingUnit
16 from schainpy.model.proc.jroproc_base import ProcessingUnit, Operation, MPDecorator
17 17 from schainpy.model.data.jrodata import Parameters
18 18 from schainpy.model.io.jroIO_base import JRODataReader, isNumber
19 19 from schainpy.utils import log
@@ -83,7 +83,7 DATA_STRUCTURE = numpy.dtype([
83 83 ('sea_algorithm', '<u4')
84 84 ])
85 85
86
86 @MPDecorator
87 87 class BLTRParamReader(JRODataReader, ProcessingUnit):
88 88 '''
89 89 Boundary Layer and Tropospheric Radar (BLTR) reader, Wind velocities and SNR from *.sswma files
@@ -91,9 +91,9 class BLTRParamReader(JRODataReader, ProcessingUnit):
91 91
92 92 ext = '.sswma'
93 93
94 def __init__(self, **kwargs):
94 def __init__(self):
95 95
96 ProcessingUnit.__init__(self, **kwargs)
96 ProcessingUnit.__init__(self)
97 97
98 98 self.dataOut = Parameters()
99 99 self.counter_records = 0
@@ -246,7 +246,7 class BLTRParamReader(JRODataReader, ProcessingUnit):
246 246 self.nranges = header_rec['nranges'][0]
247 247 self.fp.seek(pointer)
248 248 self.height = numpy.empty((self.nmodes, self.nranges))
249 self.snr = numpy.empty((self.nmodes, self.nchannels, self.nranges))
249 self.snr = numpy.empty((self.nmodes, int(self.nchannels), self.nranges))
250 250 self.buffer = numpy.empty((self.nmodes, 3, self.nranges))
251 251 self.flagDiscontinuousBlock = 0
252 252
@@ -268,9 +268,9 class BLTRParamReader(JRODataReader, ProcessingUnit):
268 268
269 269 header_structure = numpy.dtype(
270 270 REC_HEADER_STRUCTURE.descr + [
271 ('antenna_coord', 'f4', (2, self.nchannels)),
272 ('rx_gains', 'u4', (self.nchannels,)),
273 ('rx_analysis', 'u4', (self.nchannels,))
271 ('antenna_coord', 'f4', (2, int(self.nchannels))),
272 ('rx_gains', 'u4', (int(self.nchannels),)),
273 ('rx_analysis', 'u4', (int(self.nchannels),))
274 274 ]
275 275 )
276 276
@@ -296,6 +296,7 class BLTRParamReader(JRODataReader, ProcessingUnit):
296 296 status_value - Array data is set to NAN for values that are not equal to status_value
297 297
298 298 '''
299 self.nchannels = int(self.nchannels)
299 300
300 301 data_structure = numpy.dtype(
301 302 DATA_STRUCTURE.descr + [
@@ -366,4 +367,5 class BLTRParamReader(JRODataReader, ProcessingUnit):
366 367
367 368 self.set_output()
368 369
369 return 1 No newline at end of file
370 return 1
371 No newline at end of file
@@ -12,11 +12,13 from time import gmtime
12 12
13 13 from numpy import transpose
14 14
15 from .jroproc_base import ProcessingUnit, Operation
15 from .jroproc_base import ProcessingUnit, MPDecorator, Operation
16 16 from schainpy.model.data.jrodata import Parameters
17 17
18 @MPDecorator
19 class BLTRParametersProc(ProcessingUnit):
18 20
19 class BLTRParametersProc(ProcessingUnit):
21 METHODS = {}
20 22 '''
21 23 Processing unit for BLTR parameters data (winds)
22 24
@@ -39,11 +41,12 class BLTRParametersProc(ProcessingUnit):
39 41 self.dataOut.year - Experiment year
40 42 '''
41 43
42 def __init__(self, **kwargs):
44 def __init__(self):
43 45 '''
44 46 Inputs: None
45 47 '''
46 ProcessingUnit.__init__(self, **kwargs)
48 ProcessingUnit.__init__(self)
49 self.setupReq = False
47 50 self.dataOut = Parameters()
48 51 self.isConfig = False
49 52
@@ -77,12 +80,13 class BLTRParametersProc(ProcessingUnit):
77 80 self.dataOut.data_param[i][SNRavgdB <= snr_threshold] = numpy.nan
78 81
79 82 # TODO
83 @MPDecorator
80 84 class OutliersFilter(Operation):
81 85
82 def __init__(self, **kwargs):
86 def __init__(self):
83 87 '''
84 88 '''
85 Operation.__init__(self, **kwargs)
89 Operation.__init__(self)
86 90
87 91 def run(self, svalue2, method, factor, filter, npoints=9):
88 92 '''
General Comments 0
You need to be logged in to leave comments. Login now