@@ -274,6 +274,12 class SpectralFilters(Operation): | |||||
274 | SPCcut[i,0:int(Breaker2R[0]),:] = dataOut.noise[i] |
|
274 | SPCcut[i,0:int(Breaker2R[0]),:] = dataOut.noise[i] | |
275 | SPCcut[i,-int(Delta):,:] = dataOut.noise[i] |
|
275 | SPCcut[i,-int(Delta):,:] = dataOut.noise[i] | |
276 |
|
276 | |||
|
277 | SPCcut[i]=SPCcut[i]- dataOut.noise[i] | |||
|
278 | SPCcut[ numpy.where( SPCcut<0 ) ] = 1e-20 | |||
|
279 | ||||
|
280 | SPCroll[i]=SPCroll[i]-dataOut.noise[i] | |||
|
281 | SPCroll[ numpy.where( SPCroll<0 ) ] = 1e-20 | |||
|
282 | ||||
277 | #self.spc[i, 0:int(Breaker1W[0]) ,:] = dataOut.noise[i] |
|
283 | #self.spc[i, 0:int(Breaker1W[0]) ,:] = dataOut.noise[i] | |
278 | #self.spc[i, int(Breaker2W[0]):self.Num_Bin ,:] = dataOut.noise[i] |
|
284 | #self.spc[i, int(Breaker2W[0]):self.Num_Bin ,:] = dataOut.noise[i] | |
279 |
|
285 | |||
@@ -283,6 +289,7 class SpectralFilters(Operation): | |||||
283 |
|
289 | |||
284 |
|
290 | |||
285 |
|
291 | |||
|
292 | ||||
286 | SPC_ch1 = SPCroll |
|
293 | SPC_ch1 = SPCroll | |
287 |
|
294 | |||
288 | SPC_ch2 = SPCcut |
|
295 | SPC_ch2 = SPCcut | |
@@ -752,20 +759,20 class PrecipitationProc(Operation): | |||||
752 |
|
759 | |||
753 | Numerator = ( (4*numpy.pi)**3 * aL**2 * 16 * numpy.log(2) ) |
|
760 | Numerator = ( (4*numpy.pi)**3 * aL**2 * 16 * numpy.log(2) ) | |
754 | Denominator = ( Pt * Gt * Gr * Lambda**2 * SPEED_OF_LIGHT * tauW * numpy.pi * ThetaT * ThetaR) |
|
761 | Denominator = ( Pt * Gt * Gr * Lambda**2 * SPEED_OF_LIGHT * tauW * numpy.pi * ThetaT * ThetaR) | |
755 |
RadarConstant = 1/ |
|
762 | RadarConstant = 1e-10 * Numerator / Denominator # | |
756 | print '***' |
|
763 | print '***' | |
757 | print '*** RadarConstant' , RadarConstant, '****' |
|
764 | print '*** RadarConstant' , RadarConstant, '****' | |
758 | print '***' |
|
765 | print '***' | |
759 | ''' ============================= ''' |
|
766 | ''' ============================= ''' | |
760 |
|
767 | |||
761 | self.spc[0] = self.spc[0]-dataOut.noise[0] |
|
768 | self.spc[0] = (self.spc[0]-dataOut.noise[0]) | |
762 | self.spc[1] = self.spc[1]-dataOut.noise[1] |
|
769 | self.spc[1] = (self.spc[1]-dataOut.noise[1]) | |
763 | self.spc[2] = self.spc[2]-dataOut.noise[2] |
|
770 | self.spc[2] = (self.spc[2]-dataOut.noise[2]) | |
764 |
|
771 | |||
765 | self.spc[ numpy.where(self.spc < 0)] = 0 |
|
772 | self.spc[ numpy.where(self.spc < 0)] = 0 | |
766 |
|
773 | |||
767 | SPCmean = numpy.mean(self.spc,0) - numpy.mean(dataOut.noise) |
|
774 | SPCmean = (numpy.mean(self.spc,0) - numpy.mean(dataOut.noise)) | |
768 |
SPCmean[ numpy.where(SPCmean < 0)] = |
|
775 | SPCmean[ numpy.where(SPCmean < 0)] = 0 | |
769 |
|
776 | |||
770 | ETAn = numpy.zeros([self.Num_Bin,self.Num_Hei]) |
|
777 | ETAn = numpy.zeros([self.Num_Bin,self.Num_Hei]) | |
771 | ETAv = numpy.zeros([self.Num_Bin,self.Num_Hei]) |
|
778 | ETAv = numpy.zeros([self.Num_Bin,self.Num_Hei]) | |
@@ -823,7 +830,7 class PrecipitationProc(Operation): | |||||
823 |
|
830 | |||
824 | Z[R] = numpy.nansum( N_dist[:,R] * (D_range[:,R])**6 )*1e-18 |
|
831 | Z[R] = numpy.nansum( N_dist[:,R] * (D_range[:,R])**6 )*1e-18 | |
825 |
|
832 | |||
826 | RR[R] = 6*10**-4.*numpy.pi * numpy.nansum( D_range[:,R]**3 * N_dist[:,R] * Velrange[0:self.Num_Bin] ) #Rainfall rate |
|
833 | RR[R] = 3.6e-6*1e-9*6*10**-4.*numpy.pi * numpy.nansum( D_range[:,R]**3 * N_dist[:,R] * Velrange[0:self.Num_Bin] ) #Rainfall rate | |
827 |
|
834 | |||
828 | Ze[R] = (numpy.nansum( ETAn[:,R]) * Lambda**4) / ( numpy.pi**5 * Km) |
|
835 | Ze[R] = (numpy.nansum( ETAn[:,R]) * Lambda**4) / ( numpy.pi**5 * Km) | |
829 |
|
836 | |||
@@ -841,25 +848,25 class PrecipitationProc(Operation): | |||||
841 | dataOut.channelList = [0,1,2] |
|
848 | dataOut.channelList = [0,1,2] | |
842 |
|
849 | |||
843 | dataOut.data_param[0]=dBZ |
|
850 | dataOut.data_param[0]=dBZ | |
844 |
dataOut.data_param[1]= |
|
851 | dataOut.data_param[1]=RR2 | |
845 | dataOut.data_param[2]=RR |
|
852 | dataOut.data_param[2]=RR | |
846 |
|
853 | |||
847 | #print 'VELRANGE', Velrange |
|
854 | #print 'VELRANGE', Velrange | |
848 | print 'Range', len(Range) |
|
855 | print 'Range', len(Range) | |
849 | print 'delv',del_V |
|
856 | print 'delv',del_V | |
850 | #print 'DRANGE', D_range[:,50] |
|
857 | #print 'DRANGE', D_range[:,50] | |
851 | print 'NOISE', dataOut.noise[0] |
|
858 | print 'NOISE', dataOut.noise[0], 10*numpy.log10(dataOut.noise[0]) | |
852 | print 'radarconstant', RadarConstant |
|
859 | print 'radarconstant', RadarConstant | |
853 | print 'Range', Range |
|
860 | print 'Range', Range | |
854 | print 'ETAn SHAPE', ETAn.shape |
|
861 | # print 'ETAn SHAPE', ETAn.shape | |
855 | print 'ETAn ', numpy.nansum(ETAn, axis=0) |
|
862 | # print 'ETAn ', numpy.nansum(ETAn, axis=0) | |
856 | print 'ETAd ', numpy.nansum(ETAd, axis=0) |
|
863 | # print 'ETAd ', numpy.nansum(ETAd, axis=0) | |
857 | print 'Pr ', numpy.nansum(Pr, axis=0) |
|
864 | print 'Pr ', numpy.nansum(Pr, axis=0) | |
858 | print 'dataOut.SPCparam[1]', numpy.nansum(dataOut.SPCparam[1][0], axis=0) |
|
865 | print 'dataOut.SPCparam[1]', numpy.nansum(dataOut.SPCparam[1][0], axis=0) | |
859 | print 'Ze ', dBZe |
|
866 | # print 'Ze ', dBZe | |
860 | print 'Z ', dBZ |
|
867 | # print 'Z ', dBZ | |
861 |
|
|
868 | print 'RR2 ', RR2 | |
862 |
|
|
869 | print 'RR ', RR | |
863 | #print 'RR2 ', dBRR2 |
|
870 | #print 'RR2 ', dBRR2 | |
864 | #print 'D_mean', D_mean |
|
871 | #print 'D_mean', D_mean | |
865 | #print 'del_V', del_V |
|
872 | #print 'del_V', del_V |
General Comments 0
You need to be logged in to leave comments.
Login now