@@ -1255,7 +1255,7 class SpectralMoments(Operation): | |||
|
1255 | 1255 | |
|
1256 | 1256 | ''' |
|
1257 | 1257 | |
|
1258 | def run(self, dataOut): | |
|
1258 | def run(self, dataOut,wradar=False): | |
|
1259 | 1259 | |
|
1260 | 1260 | data = dataOut.data_pre[0] |
|
1261 | 1261 | absc = dataOut.abscissaList[:-1] |
@@ -1264,7 +1264,7 class SpectralMoments(Operation): | |||
|
1264 | 1264 | data_param = numpy.zeros((nChannel, 4, data.shape[2])) |
|
1265 | 1265 | |
|
1266 | 1266 | for ind in range(nChannel): |
|
1267 | data_param[ind,:,:] = self.__calculateMoments( data[ind,:,:] , absc , noise[ind] ) | |
|
1267 | data_param[ind,:,:] = self.__calculateMoments( data[ind,:,:] , absc , noise[ind],wradar=wradar ) | |
|
1268 | 1268 | |
|
1269 | 1269 | dataOut.moments = data_param[:,1:,:] |
|
1270 | 1270 | dataOut.data_snr = data_param[:,0] |
@@ -1274,7 +1274,7 class SpectralMoments(Operation): | |||
|
1274 | 1274 | return dataOut |
|
1275 | 1275 | |
|
1276 | 1276 | def __calculateMoments(self, oldspec, oldfreq, n0, |
|
1277 | nicoh = None, graph = None, smooth = None, type1 = None, fwindow = None, snrth = None, dc = None, aliasing = None, oldfd = None, wwauto = None): | |
|
1277 | nicoh = None, graph = None, smooth = None, type1 = None, fwindow = None, snrth = None, dc = None, aliasing = None, oldfd = None, wwauto = None,wradar=None): | |
|
1278 | 1278 | |
|
1279 | 1279 | if (nicoh is None): nicoh = 1 |
|
1280 | 1280 | if (graph is None): graph = 0 |
@@ -1347,11 +1347,14 class SpectralMoments(Operation): | |||
|
1347 | 1347 | snr = 1.e-20 |
|
1348 | 1348 | |
|
1349 | 1349 | # vec_power[ind] = power #D. ScipiΓ³n replaced with the line below |
|
1350 | vec_power[ind] = total_power | |
|
1350 | if wradar ==False: | |
|
1351 | vec_power[ind] = total_power | |
|
1352 | else: | |
|
1353 | vec_power[ind] = signal_power | |
|
1354 | ||
|
1351 | 1355 | vec_fd[ind] = fd |
|
1352 | vec_w[ind] = w | |
|
1356 | vec_w[ind] = w | |
|
1353 | 1357 | vec_snr[ind] = snr |
|
1354 | ||
|
1355 | 1358 | return numpy.vstack((vec_snr, vec_power, vec_fd, vec_w)) |
|
1356 | 1359 | |
|
1357 | 1360 | #------------------ Get SA Parameters -------------------------- |
@@ -3973,11 +3976,10 class WeatherRadar(Operation): | |||
|
3973 | 3976 | data_param[:,3,:] = dataOut.dataPP_SNR |
|
3974 | 3977 | if type == "Spectra": |
|
3975 | 3978 | factor = dataOut.normFactor |
|
3976 |
data_param[:,0,:] = dataOut.data_ |
|
|
3977 |
data_param[:,1,:] = dataOut.data_ |
|
|
3978 |
data_param[:,2,:] = dataOut.data_ |
|
|
3979 |
data_param[:,3,:] = dataOut.data_ |
|
|
3980 | ||
|
3979 | data_param[:,0,:] = dataOut.data_pow/(factor) | |
|
3980 | data_param[:,1,:] = dataOut.data_dop | |
|
3981 | data_param[:,2,:] = dataOut.data_width | |
|
3982 | data_param[:,3,:] = dataOut.data_snr | |
|
3981 | 3983 | return data_param |
|
3982 | 3984 | |
|
3983 | 3985 | def getCoeficienteCorrelacionROhv_R(self,dataOut): |
@@ -3985,8 +3987,8 class WeatherRadar(Operation): | |||
|
3985 | 3987 | nHeis = dataOut.nHeights |
|
3986 | 3988 | data_RhoHV_R = numpy.zeros((nHeis)) |
|
3987 | 3989 | if type == "Voltage": |
|
3988 |
powa = dataOut.data |
|
|
3989 |
powb = dataOut.data |
|
|
3990 | powa = dataOut.data_param[0,0,:] | |
|
3991 | powb = dataOut.data_param[1,0,:] | |
|
3990 | 3992 | ccf = dataOut.dataPP_CCF |
|
3991 | 3993 | avgcoherenceComplex = ccf / numpy.sqrt(powa * powb) |
|
3992 | 3994 | data_RhoHV_R = numpy.abs(avgcoherenceComplex) |
@@ -4000,8 +4002,8 class WeatherRadar(Operation): | |||
|
4000 | 4002 | nHeis = dataOut.nHeights |
|
4001 | 4003 | data_PhiD_P = numpy.zeros((nHeis)) |
|
4002 | 4004 | if type == "Voltage": |
|
4003 |
powa = dataOut.data |
|
|
4004 |
powb = dataOut.data |
|
|
4005 | powa = dataOut.data_param[0,0,:] | |
|
4006 | powb = dataOut.data_param[1,0,:] | |
|
4005 | 4007 | ccf = dataOut.dataPP_CCF |
|
4006 | 4008 | avgcoherenceComplex = ccf / numpy.sqrt(powa * powb) |
|
4007 | 4009 | if phase: |
@@ -4041,9 +4043,9 class WeatherRadar(Operation): | |||
|
4041 | 4043 | #print("Pr last10",10*numpy.log10(Pr[0,-20:])) |
|
4042 | 4044 | #print("LCTE",10*numpy.log10(self.lambda_**4/( numpy.pi**5 * self.Km**2))) |
|
4043 | 4045 | if self.Pt<0.3: |
|
4044 |
factor= |
|
|
4046 | factor=10.072 | |
|
4045 | 4047 | else: |
|
4046 |
factor= |
|
|
4048 | factor=23.072 | |
|
4047 | 4049 | |
|
4048 | 4050 | dBZeh = 10*numpy.log10(Zeh) + factor |
|
4049 | 4051 | if type=='N': |
General Comments 0
You need to be logged in to leave comments.
Login now