##// END OF EJS Templates
Modification due to new block reader option in Voltage reader
Julio Valdez -
r835:9e435d85722a
parent child
Show More
@@ -49,7 +49,8 class ParametersProc(ProcessingUnit):
49 self.dataOut.code = self.dataIn.code
49 self.dataOut.code = self.dataIn.code
50 # self.dataOut.nProfiles = self.dataOut.nFFTPoints
50 # self.dataOut.nProfiles = self.dataOut.nFFTPoints
51 self.dataOut.flagDiscontinuousBlock = self.dataIn.flagDiscontinuousBlock
51 self.dataOut.flagDiscontinuousBlock = self.dataIn.flagDiscontinuousBlock
52 self.dataOut.utctime = self.firstdatatime
52 # self.dataOut.utctime = self.firstdatatime
53 self.dataOut.utctime = self.dataIn.utctime
53 self.dataOut.flagDecodeData = self.dataIn.flagDecodeData #asumo q la data esta decodificada
54 self.dataOut.flagDecodeData = self.dataIn.flagDecodeData #asumo q la data esta decodificada
54 self.dataOut.flagDeflipData = self.dataIn.flagDeflipData #asumo q la data esta sin flip
55 self.dataOut.flagDeflipData = self.dataIn.flagDeflipData #asumo q la data esta sin flip
55 # self.dataOut.nCohInt = self.dataIn.nCohInt
56 # self.dataOut.nCohInt = self.dataIn.nCohInt
@@ -60,45 +61,18 class ParametersProc(ProcessingUnit):
60 self.dataOut.heightList = self.dataIn.getHeiRange()
61 self.dataOut.heightList = self.dataIn.getHeiRange()
61 self.dataOut.frequency = self.dataIn.frequency
62 self.dataOut.frequency = self.dataIn.frequency
62
63
63 def run(self, nSeconds = 100, nProfiles = None):
64 def run(self):
64
65
66
67 if self.firstdatatime == None:
68 self.firstdatatime = self.dataIn.utctime
69
65
70 #---------------------- Voltage Data ---------------------------
66 #---------------------- Voltage Data ---------------------------
71
67
72 if self.dataIn.type == "Voltage":
68 if self.dataIn.type == "Voltage":
73 self.dataOut.flagNoData = True
74
69
75
70 self.__updateObjFromInput()
76 if self.buffer == None:
71 self.dataOut.data_pre = self.dataIn.data.copy()
77 self.nSeconds = nSeconds
72 self.dataOut.flagNoData = False
78 self.nProfiles= int(numpy.floor(nSeconds/(self.dataIn.ippSeconds*self.dataIn.nCohInt)))
73 self.dataOut.utctimeInit = self.dataIn.utctime
79
74 self.dataOut.paramInterval = self.dataIn.nProfiles*self.dataIn.nCohInt*self.dataIn.ippSeconds
80 self.buffer = numpy.zeros((self.dataIn.nChannels,
75 return
81 self.nProfiles,
82 self.dataIn.nHeights),
83 dtype='complex')
84
85 if self.profIndex == 7990:
86 a = 1
87
88 self.buffer[:,self.profIndex,:] = self.dataIn.data.copy()
89 self.profIndex += 1
90
91 if self.profIndex == self.nProfiles:
92
93 self.__updateObjFromInput()
94 self.dataOut.data_pre = self.buffer.copy()
95 self.dataOut.paramInterval = nSeconds
96 self.dataOut.flagNoData = False
97
98 self.buffer = None
99 self.firstdatatime = None
100 self.profIndex = 0
101 return
102
76
103 #---------------------- Spectra Data ---------------------------
77 #---------------------- Spectra Data ---------------------------
104
78
@@ -133,7 +107,6 class ParametersProc(ProcessingUnit):
133 return True
107 return True
134
108
135 self.__updateObjFromInput()
109 self.__updateObjFromInput()
136 self.firstdatatime = None
137 self.dataOut.utctimeInit = self.dataIn.utctime
110 self.dataOut.utctimeInit = self.dataIn.utctime
138 self.dataOut.paramInterval = self.dataIn.timeInterval
111 self.dataOut.paramInterval = self.dataIn.timeInterval
139
112
@@ -2140,7 +2113,7 class MeteorOperations():
2140
2113
2141 def __calculateAOA(self, cosdir, azimuth):
2114 def __calculateAOA(self, cosdir, azimuth):
2142 cosdirX = cosdir[:,0]
2115 cosdirX = cosdir[:,0]
2143 cosdirY = -cosdir[:,1]
2116 cosdirY = cosdir[:,1]
2144
2117
2145 zenithAngle = numpy.arccos(numpy.sqrt(1 - cosdirX**2 - cosdirY**2))*180/numpy.pi
2118 zenithAngle = numpy.arccos(numpy.sqrt(1 - cosdirX**2 - cosdirY**2))*180/numpy.pi
2146 azimuthAngle = numpy.arctan2(cosdirX,cosdirY)*180/numpy.pi + azimuth #0 deg north, 90 deg east
2119 azimuthAngle = numpy.arctan2(cosdirX,cosdirY)*180/numpy.pi + azimuth #0 deg north, 90 deg east
General Comments 0
You need to be logged in to leave comments. Login now