@@ -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 |
|
|
94 | def __init__(self): | |
|
95 | 95 | |
|
96 |
ProcessingUnit.__init__(self |
|
|
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 |
|
|
44 | def __init__(self): | |
|
43 | 45 | ''' |
|
44 | 46 | Inputs: None |
|
45 | 47 | ''' |
|
46 |
ProcessingUnit.__init__(self |
|
|
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 |
|
|
86 | def __init__(self): | |
|
83 | 87 | ''' |
|
84 | 88 | ''' |
|
85 |
Operation.__init__(self |
|
|
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