@@ -1,4 +1,3 | |||||
1 | <<<<<<< HEAD |
|
|||
2 | # Byte-compiled / optimized / DLL files |
|
1 | # Byte-compiled / optimized / DLL files | |
3 | __pycache__/ |
|
2 | __pycache__/ | |
4 | *.py[cod] |
|
3 | *.py[cod] | |
@@ -101,9 +100,7 ENV/ | |||||
101 | # eclipse |
|
100 | # eclipse | |
102 | .project |
|
101 | .project | |
103 | .pydevproject |
|
102 | .pydevproject | |
104 | ======= |
|
|||
105 | build/ |
|
|||
106 | dist/ |
|
|||
107 | schainpy.egg-info/ |
|
|||
108 | .svn/ |
|
103 | .svn/ | |
109 | >>>>>>> 08c4507d6c3c48f6c52326d5dedfa1972fb26356 |
|
104 | *.png | |
|
105 | *.pyc | |||
|
106 | schainpy/scripts |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
@@ -15,5 +15,5 from jroIO_hf import * | |||||
15 |
|
15 | |||
16 | from jroIO_bltr import * |
|
16 | from jroIO_bltr import * | |
17 | from jroIO_mira35c import * |
|
17 | from jroIO_mira35c import * | |
18 |
|
|
18 | from io_bltr_block import * | |
19 |
|
19 |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
@@ -28,6 +28,7 import schainpy | |||||
28 | import warnings |
|
28 | import warnings | |
29 | from time import gmtime |
|
29 | from time import gmtime | |
30 | from math import floor |
|
30 | from math import floor | |
|
31 | ||||
31 | warnings.simplefilter("error") |
|
32 | warnings.simplefilter("error") | |
32 | from numpy.lib.nanfunctions import nansum |
|
33 | from numpy.lib.nanfunctions import nansum | |
33 | warnings.simplefilter('ignore', FutureWarning) |
|
34 | warnings.simplefilter('ignore', FutureWarning) | |
@@ -36,7 +37,7 warnings.simplefilter('ignore', FutureWarning) | |||||
36 | class testBLTRReader(ProcessingUnit): |
|
37 | class testBLTRReader(ProcessingUnit): | |
37 |
|
38 | |||
38 |
|
39 | |||
39 | def __init__(self): |
|
40 | def __init__(self, **kwargs): | |
40 |
|
41 | |||
41 | path = None |
|
42 | path = None | |
42 | startDate = None |
|
43 | startDate = None | |
@@ -71,7 +72,7 class testBLTRReader(ProcessingUnit): | |||||
71 | lon = None |
|
72 | lon = None | |
72 | siteFile = None |
|
73 | siteFile = None | |
73 |
|
74 | |||
74 | ProcessingUnit.__init__(self) |
|
75 | ProcessingUnit.__init__(self , **kwargs) | |
75 | self.dataOut = self.createObjByDefault() |
|
76 | self.dataOut = self.createObjByDefault() | |
76 | self.imode = 0 |
|
77 | self.imode = 0 | |
77 | self.counter_records = 0 |
|
78 | self.counter_records = 0 | |
@@ -100,7 +101,7 class testBLTRReader(ProcessingUnit): | |||||
100 | print 'Boundary Layer and Tropospheric Radar (BLTR) script, Wind velocities and SNR from *.sswma files' |
|
101 | print 'Boundary Layer and Tropospheric Radar (BLTR) script, Wind velocities and SNR from *.sswma files' | |
101 | print '{} \n'.format(signalchainweb) |
|
102 | print '{} \n'.format(signalchainweb) | |
102 |
|
103 | |||
103 | def run(self, path, startDate, endDate, ext, startTime, endTime): |
|
104 | def run(self, path, startDate, endDate, ext, startTime, endTime, queue=None): | |
104 |
|
105 | |||
105 | if not(self.isConfig): |
|
106 | if not(self.isConfig): | |
106 | self.setup(path, startDate, endDate, ext) |
|
107 | self.setup(path, startDate, endDate, ext) | |
@@ -281,9 +282,9 class testBLTRReader(ProcessingUnit): | |||||
281 | ('site', 'u1', (32,)) |
|
282 | ('site', 'u1', (32,)) | |
282 | ]) |
|
283 | ]) | |
283 | self.pointer = open(self.filename, 'rb') # rb : Read Binary |
|
284 | self.pointer = open(self.filename, 'rb') # rb : Read Binary | |
284 |
|
285 | print self.filename | ||
285 | self.header_file = numpy.fromfile(self.pointer, self.h_file, 1) |
|
286 | self.header_file = numpy.fromfile(self.pointer, self.h_file, 1) | |
286 |
|
287 | print self.header_file | ||
287 | self.nrecords = self.header_file['nrec'][0] |
|
288 | self.nrecords = self.header_file['nrec'][0] | |
288 |
|
289 | |||
289 | self.sizeOfFile = os.path.getsize(self.filename) |
|
290 | self.sizeOfFile = os.path.getsize(self.filename) | |
@@ -493,7 +494,8 class testBLTRReader(ProcessingUnit): | |||||
493 | ''' |
|
494 | ''' | |
494 | self.dataOut.type = 'Parameters' |
|
495 | self.dataOut.type = 'Parameters' | |
495 | self.dataOut.useLocalTime = False |
|
496 | self.dataOut.useLocalTime = False | |
496 |
self.dataOut.outputInterval = 157 |
|
497 | # self.dataOut.outputInterval = 157 | |
|
498 | self.dataOut.paramInterval = 157 | |||
497 | self.dataOut.timezone = self.timezone |
|
499 | self.dataOut.timezone = self.timezone | |
498 | self.dataOut.site = self.siteFile |
|
500 | self.dataOut.site = self.siteFile | |
499 | self.dataOut.nrecords = self.nrecords |
|
501 | self.dataOut.nrecords = self.nrecords |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
@@ -12,5 +12,5 from jroproc_correlation import * | |||||
12 | from jroproc_parameters import * |
|
12 | from jroproc_parameters import * | |
13 | from jroproc_spectra_lags import * |
|
13 | from jroproc_spectra_lags import * | |
14 | from jroproc_spectra_acf import * |
|
14 | from jroproc_spectra_acf import * | |
15 |
|
|
15 | from jroproc_bltr import * | |
16 |
|
16 |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
@@ -45,12 +45,12 class BLTRProcess(ProcessingUnit): | |||||
45 | self.dataOut.year - Experiment year |
|
45 | self.dataOut.year - Experiment year | |
46 | ''' |
|
46 | ''' | |
47 |
|
47 | |||
48 | def __init__(self): |
|
48 | def __init__(self, **kwargs): | |
49 | ''' |
|
49 | ''' | |
50 | Inputs: None |
|
50 | Inputs: None | |
51 |
|
51 | |||
52 | ''' |
|
52 | ''' | |
53 | ProcessingUnit.__init__(self) |
|
53 | ProcessingUnit.__init__(self, **kwargs) | |
54 | self.dataOut = Parameters() |
|
54 | self.dataOut = Parameters() | |
55 |
|
55 | |||
56 | # Filters |
|
56 | # Filters |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
@@ -27,8 +27,10 from scipy.optimize import curve_fit | |||||
27 |
|
27 | |||
28 | import warnings |
|
28 | import warnings | |
29 | from numpy import NaN |
|
29 | from numpy import NaN | |
|
30 | from scipy.optimize.optimize import OptimizeWarning | |||
30 | warnings.filterwarnings('ignore') |
|
31 | warnings.filterwarnings('ignore') | |
31 |
|
32 | |||
|
33 | ||||
32 | SPEED_OF_LIGHT = 299792458 |
|
34 | SPEED_OF_LIGHT = 299792458 | |
33 |
|
35 | |||
34 |
|
36 | |||
@@ -1041,7 +1043,7 class FullSpectralAnalysis(Operation): | |||||
1041 | Parameters affected: Winds, height range, SNR |
|
1043 | Parameters affected: Winds, height range, SNR | |
1042 |
|
1044 | |||
1043 | """ |
|
1045 | """ | |
1044 | def run(self, dataOut, E01=None, E02=None, E12=None, N01=None, N02=None, N12=None): |
|
1046 | def run(self, dataOut, E01=None, E02=None, E12=None, N01=None, N02=None, N12=None, SNRlimit=7): | |
1045 |
|
1047 | |||
1046 | spc = dataOut.data_pre[0].copy() |
|
1048 | spc = dataOut.data_pre[0].copy() | |
1047 | cspc = dataOut.data_pre[1].copy() |
|
1049 | cspc = dataOut.data_pre[1].copy() | |
@@ -1069,18 +1071,22 class FullSpectralAnalysis(Operation): | |||||
1069 | coherence=numpy.ones([nChannel,nProfiles]) |
|
1071 | coherence=numpy.ones([nChannel,nProfiles]) | |
1070 | PhaseSlope=numpy.ones(nChannel) |
|
1072 | PhaseSlope=numpy.ones(nChannel) | |
1071 | PhaseInter=numpy.ones(nChannel) |
|
1073 | PhaseInter=numpy.ones(nChannel) | |
|
1074 | dataSNR = dataOut.data_SNR | |||
|
1075 | ||||
|
1076 | ||||
1072 |
|
1077 | |||
1073 | data = dataOut.data_pre |
|
1078 | data = dataOut.data_pre | |
1074 | noise = dataOut.noise |
|
1079 | noise = dataOut.noise | |
1075 | print 'noise',noise |
|
1080 | print 'noise',noise | |
1076 | SNRdB = 10*numpy.log10(dataOut.data_SNR) |
|
1081 | #SNRdB = 10*numpy.log10(dataOut.data_SNR) | |
1077 |
|
1082 | |||
1078 | FirstMoment = [] |
|
1083 | FirstMoment = numpy.average(dataOut.data_param[:,1,:],0) | |
1079 | SNRdBMean = [] |
|
1084 | #SNRdBMean = [] | |
|
1085 | ||||
1080 |
|
1086 | |||
1081 | for j in range(nHeights): |
|
1087 | #for j in range(nHeights): | |
1082 | FirstMoment = numpy.append(FirstMoment,numpy.mean([dataOut.data_param[0,1,j],dataOut.data_param[1,1,j],dataOut.data_param[2,1,j]])) |
|
1088 | # FirstMoment = numpy.append(FirstMoment,numpy.mean([dataOut.data_param[0,1,j],dataOut.data_param[1,1,j],dataOut.data_param[2,1,j]])) | |
1083 | SNRdBMean = numpy.append(SNRdBMean,numpy.mean([SNRdB[0,j],SNRdB[1,j],SNRdB[2,j]])) |
|
1089 | # SNRdBMean = numpy.append(SNRdBMean,numpy.mean([SNRdB[0,j],SNRdB[1,j],SNRdB[2,j]])) | |
1084 |
|
1090 | |||
1085 | data_output=numpy.ones([3,spc.shape[2]])*numpy.NaN |
|
1091 | data_output=numpy.ones([3,spc.shape[2]])*numpy.NaN | |
1086 |
|
1092 | |||
@@ -1088,9 +1094,11 class FullSpectralAnalysis(Operation): | |||||
1088 | velocityY=[] |
|
1094 | velocityY=[] | |
1089 | velocityV=[] |
|
1095 | velocityV=[] | |
1090 |
|
1096 | |||
|
1097 | dbSNR = 10*numpy.log10(dataSNR) | |||
|
1098 | dbSNR = numpy.average(dbSNR,0) | |||
1091 | for Height in range(nHeights): |
|
1099 | for Height in range(nHeights): | |
1092 |
|
1100 | |||
1093 | [Vzon,Vmer,Vver, GaussCenter]= self.WindEstimation(spc, cspc, pairsList, ChanDist, Height, noise, VelRange) |
|
1101 | [Vzon,Vmer,Vver, GaussCenter]= self.WindEstimation(spc, cspc, pairsList, ChanDist, Height, noise, VelRange, dbSNR[Height], SNRlimit) | |
1094 |
|
1102 | |||
1095 | if abs(Vzon)<100. and abs(Vzon)> 0.: |
|
1103 | if abs(Vzon)<100. and abs(Vzon)> 0.: | |
1096 | velocityX=numpy.append(velocityX, Vzon)#Vmag |
|
1104 | velocityX=numpy.append(velocityX, Vzon)#Vmag | |
@@ -1106,8 +1114,8 class FullSpectralAnalysis(Operation): | |||||
1106 | print 'Vmer',Vmer |
|
1114 | print 'Vmer',Vmer | |
1107 | velocityY=numpy.append(velocityY, numpy.NaN) |
|
1115 | velocityY=numpy.append(velocityY, numpy.NaN) | |
1108 |
|
1116 | |||
1109 | if abs(GaussCenter)<10: |
|
1117 | if dbSNR[Height] > SNRlimit: | |
1110 |
velocityV=numpy.append(velocityV, |
|
1118 | velocityV=numpy.append(velocityV, FirstMoment[Height]) | |
1111 | else: |
|
1119 | else: | |
1112 | velocityV=numpy.append(velocityV, numpy.NaN) |
|
1120 | velocityV=numpy.append(velocityV, numpy.NaN) | |
1113 | #FirstMoment[Height]= numpy.NaN |
|
1121 | #FirstMoment[Height]= numpy.NaN | |
@@ -1119,7 +1127,7 class FullSpectralAnalysis(Operation): | |||||
1119 |
|
1127 | |||
1120 | data_output[0]=numpy.array(velocityX) |
|
1128 | data_output[0]=numpy.array(velocityX) | |
1121 | data_output[1]=numpy.array(velocityY) |
|
1129 | data_output[1]=numpy.array(velocityY) | |
1122 | data_output[2]=-FirstMoment |
|
1130 | data_output[2]=-velocityV#FirstMoment | |
1123 |
|
1131 | |||
1124 | print ' ' |
|
1132 | print ' ' | |
1125 | #print 'FirstMoment' |
|
1133 | #print 'FirstMoment' | |
@@ -1150,7 +1158,7 class FullSpectralAnalysis(Operation): | |||||
1150 | if x[index]==value: |
|
1158 | if x[index]==value: | |
1151 | return index |
|
1159 | return index | |
1152 |
|
1160 | |||
1153 | def WindEstimation(self, spc, cspc, pairsList, ChanDist, Height, noise, VelRange): |
|
1161 | def WindEstimation(self, spc, cspc, pairsList, ChanDist, Height, noise, VelRange, dbSNR, SNRlimit): | |
1154 |
|
1162 | |||
1155 | ySamples=numpy.ones([spc.shape[0],spc.shape[1]]) |
|
1163 | ySamples=numpy.ones([spc.shape[0],spc.shape[1]]) | |
1156 | phase=numpy.ones([spc.shape[0],spc.shape[1]]) |
|
1164 | phase=numpy.ones([spc.shape[0],spc.shape[1]]) | |
@@ -1177,24 +1185,28 class FullSpectralAnalysis(Operation): | |||||
1177 | for i in range(spc.shape[0]): |
|
1185 | for i in range(spc.shape[0]): | |
1178 |
|
1186 | |||
1179 | '''****** Line of Data SPC ******''' |
|
1187 | '''****** Line of Data SPC ******''' | |
1180 | zline=z[i,:,Height] |
|
1188 | zline=z[i,:,Height] | |
1181 |
|
1189 | |||
1182 | '''****** SPC is normalized ******''' |
|
1190 | '''****** SPC is normalized ******''' | |
1183 | FactNorm= zline.copy() / numpy.sum(zline.copy()) |
|
1191 | FactNorm= (zline.copy()-noise[i]) / numpy.sum(zline.copy()) | |
1184 | FactNorm= FactNorm/numpy.sum(FactNorm) |
|
1192 | FactNorm= FactNorm/numpy.sum(FactNorm) | |
1185 |
|
1193 | |||
1186 | SmoothSPC=self.moving_average(FactNorm,N=3) |
|
1194 | SmoothSPC=self.moving_average(FactNorm,N=3) | |
1187 |
|
1195 | |||
1188 | xSamples = ar(range(len(SmoothSPC))) |
|
1196 | xSamples = ar(range(len(SmoothSPC))) | |
1189 |
ySamples[i] = SmoothSPC |
|
1197 | ySamples[i] = SmoothSPC | |
1190 |
|
1198 | |||
|
1199 | #dbSNR=10*numpy.log10(dataSNR) | |||
1191 | print ' ' |
|
1200 | print ' ' | |
1192 | print ' ' |
|
1201 | print ' ' | |
1193 | print ' ' |
|
1202 | print ' ' | |
1194 | print 'SmoothSPC',SmoothSPC |
|
1203 | ||
|
1204 | #print 'dataSNR', dbSNR.shape, dbSNR[0,40:120] | |||
|
1205 | print 'SmoothSPC', SmoothSPC.shape, SmoothSPC[0:20] | |||
1195 | print 'noise',noise |
|
1206 | print 'noise',noise | |
1196 | print'zline',zline |
|
1207 | print 'zline',zline.shape, zline[0:20] | |
1197 | print'FactNorm',FactNorm |
|
1208 | print 'FactNorm',FactNorm.shape, FactNorm[0:20] | |
|
1209 | print 'FactNorm suma', numpy.sum(FactNorm) | |||
1198 |
|
1210 | |||
1199 | for i in range(spc.shape[0]): |
|
1211 | for i in range(spc.shape[0]): | |
1200 |
|
1212 | |||
@@ -1204,19 +1216,24 class FullSpectralAnalysis(Operation): | |||||
1204 | '''****** CSPC is normalized ******''' |
|
1216 | '''****** CSPC is normalized ******''' | |
1205 | chan_index0 = pairsList[i][0] |
|
1217 | chan_index0 = pairsList[i][0] | |
1206 | chan_index1 = pairsList[i][1] |
|
1218 | chan_index1 = pairsList[i][1] | |
1207 | CSPCFactor= numpy.sum(ySamples[chan_index0]) * numpy.sum(ySamples[chan_index1]) |
|
1219 | CSPCFactor= abs(numpy.sum(ySamples[chan_index0]) * numpy.sum(ySamples[chan_index1])) # | |
1208 |
|
1220 | |||
1209 | CSPCNorm= cspcLine.copy() / numpy.sqrt(CSPCFactor) |
|
1221 | CSPCNorm = (cspcLine.copy() -noise[i]) / numpy.sqrt(CSPCFactor) | |
1210 |
|
1222 | |||
1211 |
CSPCSamples[i] = CSPCNorm |
|
1223 | CSPCSamples[i] = CSPCNorm | |
1212 | coherence[i] = numpy.abs(CSPCSamples[i]) / numpy.sqrt(CSPCFactor) |
|
1224 | coherence[i] = numpy.abs(CSPCSamples[i]) / numpy.sqrt(CSPCFactor) | |
1213 |
|
1225 | |||
1214 | coherence[i]= self.moving_average(coherence[i],N=2) |
|
1226 | coherence[i]= self.moving_average(coherence[i],N=2) | |
1215 |
|
1227 | |||
1216 | phase[i] = self.moving_average( numpy.arctan2(CSPCSamples[i].imag, CSPCSamples[i].real),N=1)#*180/numpy.pi |
|
1228 | phase[i] = self.moving_average( numpy.arctan2(CSPCSamples[i].imag, CSPCSamples[i].real),N=1)#*180/numpy.pi | |
1217 |
|
1229 | |||
1218 | print 'CSPCSamples', CSPCSamples |
|
1230 | print 'cspcLine', cspcLine.shape, cspcLine[0:20] | |
1219 |
|
1231 | print 'CSPCFactor', CSPCFactor#, CSPCFactor[0:20] | ||
|
1232 | print numpy.sum(ySamples[chan_index0]), numpy.sum(ySamples[chan_index1]), -noise[i] | |||
|
1233 | print 'CSPCNorm', CSPCNorm.shape, CSPCNorm[0:20] | |||
|
1234 | print 'CSPCNorm suma', numpy.sum(CSPCNorm) | |||
|
1235 | print 'CSPCSamples', CSPCSamples.shape, CSPCSamples[0,0:20] | |||
|
1236 | ||||
1220 | '''****** Getting fij width ******''' |
|
1237 | '''****** Getting fij width ******''' | |
1221 |
|
1238 | |||
1222 | yMean=[] |
|
1239 | yMean=[] | |
@@ -1231,14 +1248,15 class FullSpectralAnalysis(Operation): | |||||
1231 |
|
1248 | |||
1232 | print '****************************' |
|
1249 | print '****************************' | |
1233 | print 'len(xSamples): ',len(xSamples) |
|
1250 | print 'len(xSamples): ',len(xSamples) | |
1234 | print 'yMean: ', yMean |
|
1251 | print 'yMean: ', yMean.shape, yMean[0:20] | |
1235 | print 'ySamples', ySamples |
|
1252 | print 'ySamples', ySamples.shape, ySamples[0,0:20] | |
1236 | print 'xSamples: ',xSamples |
|
1253 | print 'xSamples: ',xSamples.shape, xSamples[0:20] | |
1237 |
|
1254 | |||
1238 | print 'meanGauss',meanGauss |
|
1255 | print 'meanGauss',meanGauss | |
1239 | print 'sigma',sigma |
|
1256 | print 'sigma',sigma | |
1240 | if (abs(meanGauss/sigma**2) > 0.000000001):#0.00001) : |
|
|||
1241 |
|
1257 | |||
|
1258 | #if (abs(meanGauss/sigma**2) > 0.0001) : #0.000000001): | |||
|
1259 | if dbSNR > SNRlimit : | |||
1242 | try: |
|
1260 | try: | |
1243 | popt,pcov = curve_fit(self.gaus,xSamples,yMean,p0=[1,meanGauss,sigma]) |
|
1261 | popt,pcov = curve_fit(self.gaus,xSamples,yMean,p0=[1,meanGauss,sigma]) | |
1244 |
|
1262 | |||
@@ -1248,7 +1266,7 class FullSpectralAnalysis(Operation): | |||||
1248 | else: |
|
1266 | else: | |
1249 | FitGauss=numpy.ones(len(xSamples))*numpy.mean(yMean) |
|
1267 | FitGauss=numpy.ones(len(xSamples))*numpy.mean(yMean) | |
1250 | print 'Verificador: Dentro', Height |
|
1268 | print 'Verificador: Dentro', Height | |
1251 |
except |
|
1269 | except :#RuntimeError: | |
1252 | FitGauss=numpy.ones(len(xSamples))*numpy.mean(yMean) |
|
1270 | FitGauss=numpy.ones(len(xSamples))*numpy.mean(yMean) | |
1253 |
|
1271 | |||
1254 |
|
1272 | |||
@@ -1256,7 +1274,7 class FullSpectralAnalysis(Operation): | |||||
1256 | FitGauss=numpy.ones(len(xSamples))*numpy.mean(yMean) |
|
1274 | FitGauss=numpy.ones(len(xSamples))*numpy.mean(yMean) | |
1257 |
|
1275 | |||
1258 | Maximun=numpy.amax(yMean) |
|
1276 | Maximun=numpy.amax(yMean) | |
1259 | eMinus1=Maximun*numpy.exp(-1)*0.8 |
|
1277 | eMinus1=Maximun*numpy.exp(-1)#*0.8 | |
1260 |
|
1278 | |||
1261 | HWpos=self.Find(FitGauss,min(FitGauss, key=lambda value:abs(value-eMinus1))) |
|
1279 | HWpos=self.Find(FitGauss,min(FitGauss, key=lambda value:abs(value-eMinus1))) | |
1262 | HalfWidth= xFrec[HWpos] |
|
1280 | HalfWidth= xFrec[HWpos] | |
@@ -1279,9 +1297,15 class FullSpectralAnalysis(Operation): | |||||
1279 |
|
1297 | |||
1280 | if Rangpos<GCpos: |
|
1298 | if Rangpos<GCpos: | |
1281 | Range=numpy.array([Rangpos,2*GCpos-Rangpos]) |
|
1299 | Range=numpy.array([Rangpos,2*GCpos-Rangpos]) | |
1282 | else: |
|
1300 | elif Rangpos< ( len(xFrec)- len(xFrec)*0.1): | |
1283 | Range=numpy.array([2*GCpos-Rangpos,Rangpos]) |
|
1301 | Range=numpy.array([2*GCpos-Rangpos,Rangpos]) | |
|
1302 | else: | |||
|
1303 | Range = numpy.array([0,0]) | |||
1284 |
|
1304 | |||
|
1305 | print ' ' | |||
|
1306 | print 'GCpos',GCpos, ( len(xFrec)- len(xFrec)*0.1) | |||
|
1307 | print 'Rangpos',Rangpos | |||
|
1308 | print 'RANGE: ', Range | |||
1285 | FrecRange=xFrec[Range[0]:Range[1]] |
|
1309 | FrecRange=xFrec[Range[0]:Range[1]] | |
1286 |
|
1310 | |||
1287 | '''****** Getting SCPC Slope ******''' |
|
1311 | '''****** Getting SCPC Slope ******''' | |
@@ -1290,10 +1314,17 class FullSpectralAnalysis(Operation): | |||||
1290 |
|
1314 | |||
1291 | if len(FrecRange)>5 and len(FrecRange)<spc.shape[1]*0.5: |
|
1315 | if len(FrecRange)>5 and len(FrecRange)<spc.shape[1]*0.5: | |
1292 | PhaseRange=self.moving_average(phase[i,Range[0]:Range[1]],N=3) |
|
1316 | PhaseRange=self.moving_average(phase[i,Range[0]:Range[1]],N=3) | |
1293 |
|
1317 | |||
1294 | slope, intercept, r_value, p_value, std_err = stats.linregress(FrecRange,PhaseRange) |
|
1318 | print 'FrecRange', len(FrecRange) , FrecRange | |
1295 | PhaseSlope[i]=slope |
|
1319 | print 'PhaseRange', len(PhaseRange), PhaseRange | |
1296 |
|
|
1320 | print ' ' | |
|
1321 | if len(FrecRange) == len(PhaseRange): | |||
|
1322 | slope, intercept, r_value, p_value, std_err = stats.linregress(FrecRange,PhaseRange) | |||
|
1323 | PhaseSlope[i]=slope | |||
|
1324 | PhaseInter[i]=intercept | |||
|
1325 | else: | |||
|
1326 | PhaseSlope[i]=0 | |||
|
1327 | PhaseInter[i]=0 | |||
1297 | else: |
|
1328 | else: | |
1298 | PhaseSlope[i]=0 |
|
1329 | PhaseSlope[i]=0 | |
1299 | PhaseInter[i]=0 |
|
1330 | PhaseInter[i]=0 |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
@@ -1,1 +1,1 | |||||
1 | <Project description="Segundo Test" id="191" name="test01"><ReadUnit datatype="VoltageReader" id="1911" inputId="0" name="VoltageReader"><Operation id="19111" name="run" priority="1" type="self"><Parameter format="str" id="191111" name="datatype" value="VoltageReader" /><Parameter format="str" id="191112" name="path" value="/home/erick/Documents/Data/Claire_Data/raw" /><Parameter format="date" id="191113" name="startDate" value="2017/07/26" /><Parameter format="date" id="191114" name="endDate" value="2017/10/28" /><Parameter format="time" id="191115" name="startTime" value="09:40:00" /><Parameter format="time" id="191116" name="endTime" value="23:59:00" /><Parameter format="int" id="191118" name="online" value="0" /><Parameter format="int" id="191119" name="walk" value="1" /></Operation><Operation id="19112" name="printNumberOfBlock" priority="2" type="self" /></ReadUnit><ProcUnit datatype="SpectraProc" id="1913" inputId="1912" name="SpectraProc"><Operation id="19131" name="run" priority="1" type="self"><Parameter format="int" id="191311" name="nFFTPoints" value="256" /><Parameter format="pairslist" id="191312" name="pairsList" value="(0,1),(0,2),(1,2)" /></Operation><Operation id="19132" name="removeDC" priority="2" type="self" /><Operation id="19133" name="IncohInt" priority="3" type="external"><Parameter format="float" id="191331" name="n" value="30" /></Operation><Operation id="19134" name="SpectraPlot" priority="4" type="external"><Parameter format="int" id="191341" name="id" value="11" /><Parameter format="str" id="191342" name="wintitle" value="SpectraPlot" /><Parameter format="str" id="191343" name="xaxis" value="velocity" /><Parameter format="int" id="191344" name="zmin" value="0" /><Parameter format="float" id="191345" name="ymin" value="1.5" /><Parameter format="int" id="191346" name="ymax" value="7" /><Parameter format="int" id="191347" name="zmax" value="40" /><Parameter format="int" id="191348" name="save" value="1" /></Operation><Operation id="19135" name="RTIPlot" priority="5" type="other"><Parameter format="int" id="191351" name="id" value="30" /><Parameter format="str" id="191352" name="wintitle" value="RTI" /><Parameter format="int" id="191353" name="zmin" value="0" /><Parameter format="int" id="191354" name="zmax" value="40" /><Parameter format="float" id="191355" name="ymin" value="1.5" /><Parameter format="int" id="191356" name="ymax" value="8" /><Parameter format="int" id="191357" name="showprofile" value="1" /><Parameter format="float" id="191358" name="xmin" value="0" /><Parameter format="float" id="191359" name="xmax" value="23.9" /><Parameter format="int" id="191360" name="save" value="1" /></Operation><Operation id="19136" name="CrossSpectraPlot" priority="6" type="other"><Parameter format="str" id="191361" name="phase_cmap" value="bwr" /><Parameter format="int" id="191362" name="id" value="2005" /><Parameter format="str" id="191363" name="wintitle" value="CrossSpectraPlot_ShortPulse" /><Parameter format="str" id="191364" name="xaxis" value="Velocity" /><Parameter format="float" id="191365" name="ymin" value="1.5" /><Parameter format="int" id="191366" name="ymax" value="7" /></Operation></ProcUnit><ProcUnit datatype="VoltageProc" id="1912" inputId="1911" name="VoltageProc"><Operation id="19121" name="run" priority="1" type="self" /><Operation id="19122" name="setRadarFrequency" priority="2" type="self"><Parameter format="float" id="191221" name="frequency" value="445.09e6" /></Operation><Operation id="19123" name="selectHeights" priority="3" type="self"><Parameter format="float" id="191231" name="minHei" value="0" /><Parameter format="float" id="191232" name="maxHei" value="64" /></Operation></ProcUnit><ProcUnit datatype="Parameters" id="1914" inputId="1913" name="ParametersProc"><Operation id="19141" name="run" priority="1" type="self" /><Operation id="19142" name="SpectralMoments" priority="2" type="other" /><Operation id="19143" name="FullSpectralAnalysis" priority="3" type="other"><Parameter format="float" id="191431" name="E01" value="1.5" /><Parameter format="float" id="191432" name="E02" value="1.5" /><Parameter format="float" id="191433" name="E12" value="0" /><Parameter format="float" id="191434" name="N01" value="0.875" /><Parameter format="float" id="191435" name="N02" value="-0.875" /><Parameter format="float" id="191436" name="N12" value="-1.75" /></Operation><Operation id="19144" name="WindProfilerPlot" priority="4" type="other"><Parameter format="int" id="191441" name="id" value="4" /><Parameter format="str" id="191442" name="wintitle" value="Wind Profiler" /><Parameter format="bool" id="191443" name="save" value="1" /><Parameter format="float" id="191444" name="ymin" value="1.5" /><Parameter format="int" id="191445" name="ymax" value="7" /><Parameter format="float" id="191446" name="zmin" value="-0.00" /><Parameter format="float" id="191447" name="zmax" value="1.1" /></Operation></ProcUnit></Project> No newline at end of file |
|
1 | <Project description="read bltr data sswma file" id="191" name="test1"><ReadUnit datatype="testBLTRReader" id="1911" inputId="0" name="testBLTRReader"><Operation id="19111" name="run" priority="1" type="self"><Parameter format="str" id="191111" name="datatype" value="testBLTRReader" /><Parameter format="str" id="191112" name="path" value="/media/erick/6F60F7113095A154/BLTR" /><Parameter format="date" id="191113" name="startDate" value="2017/01/17" /><Parameter format="date" id="191114" name="endDate" value="2018/01/01" /><Parameter format="time" id="191115" name="startTime" value="00:00:00" /><Parameter format="time" id="191116" name="endTime" value="23:59:59" /><Parameter format="str" id="191118" name="ext" value="sswma" /></Operation></ReadUnit><ProcUnit datatype="BLTRProcess" id="1912" inputId="1911" name="BLTRProcess"><Operation id="19121" name="run" priority="1" type="self" /><Operation id="19122" name="SnrFilter" priority="2" type="self"><Parameter format="float" id="191221" name="snr_val" value="-20" /><Parameter format="int" id="191222" name="modetofilter" value="2" /></Operation><Operation id="19123" name="OutliersFilter" priority="3" type="self"><Parameter format="str" id="191231" name="svalue" value="meridional" /><Parameter format="str" id="191232" name="svalue2" value="inTime" /><Parameter format="float" id="191233" name="method" value="0" /><Parameter format="float" id="191234" name="factor" value="2" /><Parameter format="float" id="191235" name="filter" value="0" /><Parameter format="float" id="191236" name="npoints" value="9" /><Parameter format="int" id="191237" name="modetofilter" value="2" /></Operation><Operation id="19124" name="OutliersFilter" priority="4" type="self"><Parameter format="str" id="191241" name="svalue" value="zonal" /><Parameter format="str" id="191242" name="svalue2" value="inTime" /><Parameter format="float" id="191243" name="method" value="0" /><Parameter format="float" id="191244" name="factor" value="2" /><Parameter format="float" id="191245" name="filter" value="0" /><Parameter format="float" id="191246" name="npoints" value="9" /><Parameter format="int" id="191247" name="modetofilter" value="2" /></Operation><Operation id="19125" name="OutliersFilter" priority="5" type="self"><Parameter format="str" id="191251" name="svalue" value="vertical" /><Parameter format="str" id="191252" name="svalue2" value="inHeight" /><Parameter format="float" id="191253" name="method" value="0" /><Parameter format="float" id="191254" name="factor" value="2" /><Parameter format="float" id="191255" name="filter" value="0" /><Parameter format="float" id="191256" name="npoints" value="9" /><Parameter format="int" id="191257" name="modetofilter" value="2" /></Operation><Operation id="19126" name="prePlot" priority="6" type="self"><Parameter format="int" id="191261" name="modeselect" value="1" /></Operation><Operation id="19127" name="WindProfilerPlot" priority="7" type="other"><Parameter format="int" id="191271" name="id" value="1" /><Parameter format="str" id="191272" name="wintitle" value="" /><Parameter format="intlist" id="191273" name="channelList" value="0" /><Parameter format="int" id="191274" name="SNRmin" value="-10" /><Parameter format="int" id="191275" name="SNRmax" value="50" /><Parameter format="float" id="191276" name="SNRthresh" value="0" /><Parameter format="float" id="191277" name="xmin" value="0" /><Parameter format="float" id="191278" name="xmax" value="24" /><Parameter format="float" id="191279" name="ymax" value="3" /><Parameter format="float" id="191280" name="zmin" value="-20" /><Parameter format="float" id="191281" name="zmax" value="20" /><Parameter format="float" id="191282" name="zmin_ver" value="-200" /><Parameter format="float" id="191283" name="zmax_ver" value="200" /></Operation><Operation id="19128" name="prePlot" priority="8" type="self"><Parameter format="int" id="191281" name="modeselect" value="2" /></Operation><Operation id="19129" name="WindProfilerPlot" priority="9" type="other"><Parameter format="int" id="191291" name="id" value="2" /><Parameter format="str" id="191292" name="wintitle" value="" /><Parameter format="bool" id="191293" name="save" value="1" /><Parameter format="str" id="191294" name="figpath" value="/media/erick/6F60F7113095A154/BLTR/" /><Parameter format="int" id="191295" name="SNRmin" value="-20" /><Parameter format="int" id="191296" name="SNRmax" value="40" /><Parameter format="float" id="191297" name="SNRthresh" value="0" /><Parameter format="float" id="191298" name="xmin" value="0" /><Parameter format="float" id="191299" name="xmax" value="24" /><Parameter format="float" id="191300" name="ymin" value="0" /><Parameter format="float" id="191301" name="ymax" value="10" /><Parameter format="float" id="191302" name="zmin" value="-4" /><Parameter format="float" id="191303" name="zmax" value="4" /><Parameter format="float" id="191304" name="zmin_ver" value="-200" /><Parameter format="float" id="191305" name="zmax_ver" value="200" /></Operation></ProcUnit></Project> No newline at end of file |
@@ -15,9 +15,9 from schainpy.controller import Project | |||||
15 |
|
15 | |||
16 | filename = 'test1.xml' |
|
16 | filename = 'test1.xml' | |
17 | # path = '/home/jespinoza/workspace/data/bltr/' |
|
17 | # path = '/home/jespinoza/workspace/data/bltr/' | |
18 | path = '/home/erick/Documents/Data/BLTR_Data/sswma/' |
|
18 | path = '/media/erick/6F60F7113095A154/BLTR/' | |
19 | desc = "read bltr data sswma file" |
|
19 | desc = "read bltr data sswma file" | |
20 | figpath = '/home/erick/workspace' |
|
20 | figpath = '/media/erick/6F60F7113095A154/BLTR/' | |
21 | pathhdf5 = '/tmp/' |
|
21 | pathhdf5 = '/tmp/' | |
22 |
|
22 | |||
23 | controllerObj = Project() |
|
23 | controllerObj = Project() | |
@@ -25,8 +25,8 controllerObj = Project() | |||||
25 | controllerObj.setup(id = '191', name='test1', description=desc) |
|
25 | controllerObj.setup(id = '191', name='test1', description=desc) | |
26 | readUnitConfObj = controllerObj.addReadUnit(datatype='testBLTRReader', |
|
26 | readUnitConfObj = controllerObj.addReadUnit(datatype='testBLTRReader', | |
27 | path=path, |
|
27 | path=path, | |
28 |
startDate='201 |
|
28 | startDate='2017/01/17', | |
29 |
endDate='201 |
|
29 | endDate='2018/01/01', | |
30 | startTime='00:00:00', |
|
30 | startTime='00:00:00', | |
31 | endTime='23:59:59', |
|
31 | endTime='23:59:59', | |
32 | ext='sswma') |
|
32 | ext='sswma') | |
@@ -143,14 +143,15 opObj10 = procUnitConfObj1.addOperation(name='WindProfilerPlot', optype='other') | |||||
143 | opObj10.addParameter(name='id', value='2', format='int') |
|
143 | opObj10.addParameter(name='id', value='2', format='int') | |
144 | opObj10.addParameter(name='wintitle', value='', format='str') |
|
144 | opObj10.addParameter(name='wintitle', value='', format='str') | |
145 | #opObj10.addParameter(name='channelList', value='0', format='intlist') |
|
145 | #opObj10.addParameter(name='channelList', value='0', format='intlist') | |
146 |
|
|
146 | opObj10.addParameter(name='save', value='1', format='bool') | |
147 |
|
|
147 | opObj10.addParameter(name='figpath', value=figpath, format='str') | |
148 | opObj10.addParameter(name='SNRmin', value='-20', format='int') |
|
148 | opObj10.addParameter(name='SNRmin', value='-20', format='int') | |
149 | opObj10.addParameter(name='SNRmax', value='40', format='int') |
|
149 | opObj10.addParameter(name='SNRmax', value='40', format='int') | |
150 | opObj10.addParameter(name='SNRthresh', value='0', format='float') |
|
150 | opObj10.addParameter(name='SNRthresh', value='0', format='float') | |
151 | opObj10.addParameter(name='xmin', value='0', format='float') |
|
151 | opObj10.addParameter(name='xmin', value='0', format='float') | |
152 | opObj10.addParameter(name='xmax', value='24', format='float') |
|
152 | opObj10.addParameter(name='xmax', value='24', format='float') | |
153 |
|
|
153 | opObj10.addParameter(name='ymin', value='0', format='float') | |
|
154 | opObj10.addParameter(name='ymax', value='10', format='float') | |||
154 | opObj10.addParameter(name='zmin', value='-4', format='float') |
|
155 | opObj10.addParameter(name='zmin', value='-4', format='float') | |
155 | opObj10.addParameter(name='zmax', value='4', format='float') |
|
156 | opObj10.addParameter(name='zmax', value='4', format='float') | |
156 | opObj10.addParameter(name='zmin_ver', value='-200', format='float') |
|
157 | opObj10.addParameter(name='zmin_ver', value='-200', format='float') |
@@ -10,8 +10,10 from schainpy.controller import Project | |||||
10 | xmin = '15.5' |
|
10 | xmin = '15.5' | |
11 | xmax = '24' |
|
11 | xmax = '24' | |
12 |
|
12 | |||
|
13 | ||||
13 | desc = "ProcBLTR Test" |
|
14 | desc = "ProcBLTR Test" | |
14 | filename = "ProcBLTR.xml" |
|
15 | filename = "ProcBLTR.xml" | |
|
16 | figpath = '/media/erick/6F60F7113095A154/BLTR' | |||
15 |
|
17 | |||
16 | controllerObj = Project() |
|
18 | controllerObj = Project() | |
17 |
|
19 | |||
@@ -19,7 +21,7 controllerObj = Project() | |||||
19 | controllerObj.setup(id='191', name='test01', description=desc) |
|
21 | controllerObj.setup(id='191', name='test01', description=desc) | |
20 |
|
22 | |||
21 | readUnitConfObj = controllerObj.addReadUnit(datatype='BLTRReader', |
|
23 | readUnitConfObj = controllerObj.addReadUnit(datatype='BLTRReader', | |
22 |
path='/ |
|
24 | path='/media/erick/6F60F7113095A154/BLTR/', | |
23 |
|
25 | |||
24 | endDate='2017/10/19', |
|
26 | endDate='2017/10/19', | |
25 | startTime='13:00:00', |
|
27 | startTime='13:00:00', | |
@@ -39,7 +41,7 procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=readUni | |||||
39 |
|
41 | |||
40 |
|
42 | |||
41 | opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') |
|
43 | opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other') | |
42 |
opObj11.addParameter(name='n', value=' |
|
44 | opObj11.addParameter(name='n', value='3', format='float') | |
43 |
|
45 | |||
44 | opObj10 = procUnitConfObj1.addOperation(name='removeDC') |
|
46 | opObj10 = procUnitConfObj1.addOperation(name='removeDC') | |
45 |
|
47 | |||
@@ -105,7 +107,7 opObj22.addParameter(name='id', value='4', format='int') | |||||
105 | opObj22.addParameter(name='wintitle', value='Wind Profiler', format='str') |
|
107 | opObj22.addParameter(name='wintitle', value='Wind Profiler', format='str') | |
106 | opObj22.addParameter(name='save', value='1', format='bool') |
|
108 | opObj22.addParameter(name='save', value='1', format='bool') | |
107 | # opObj22.addParameter(name='figpath', value = '/home/erick/Pictures', format='str') |
|
109 | # opObj22.addParameter(name='figpath', value = '/home/erick/Pictures', format='str') | |
108 |
|
110 | |||
109 | opObj22.addParameter(name='zmin', value='-20', format='int') |
|
111 | opObj22.addParameter(name='zmin', value='-20', format='int') | |
110 | opObj22.addParameter(name='zmax', value='20', format='int') |
|
112 | opObj22.addParameter(name='zmax', value='20', format='int') | |
111 | opObj22.addParameter(name='zmin_ver', value='-250', format='float') |
|
113 | opObj22.addParameter(name='zmin_ver', value='-250', format='float') | |
@@ -117,19 +119,21 opObj22.addParameter(name='xmin', value=0, format='float') | |||||
117 | opObj22.addParameter(name='xmax', value=24, format='float') |
|
119 | opObj22.addParameter(name='xmax', value=24, format='float') | |
118 | opObj22.addParameter(name='ymin', value='225', format='float') |
|
120 | opObj22.addParameter(name='ymin', value='225', format='float') | |
119 | #opObj22.addParameter(name='ymax', value='2000', format='float') |
|
121 | #opObj22.addParameter(name='ymax', value='2000', format='float') | |
120 |
|
122 | opObj22.addParameter(name='save', value='1', format='int') | ||
121 |
|
123 | opObj22.addParameter(name='figpath', value=figpath, format='str') | ||
|
124 | ||||
|
125 | ||||
122 | # opObj11.addParameter(name='pairlist', value='(1,0),(0,2),(1,2)', format='pairsList') |
|
126 | # opObj11.addParameter(name='pairlist', value='(1,0),(0,2),(1,2)', format='pairsList') | |
123 | #opObj10 = procUnitConfObj1.addOperation(name='selectHeights') |
|
127 | #opObj10 = procUnitConfObj1.addOperation(name='selectHeights') | |
124 | #opObj10.addParameter(name='minHei', value='225', format='float') |
|
128 | #opObj10.addParameter(name='minHei', value='225', format='float') | |
125 | #opObj10.addParameter(name='maxHei', value='1000', format='float') |
|
129 | #opObj10.addParameter(name='maxHei', value='1000', format='float') | |
126 |
|
130 | |||
127 | # opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') |
|
131 | # opObj11 = procUnitConfObj1.addOperation(name='CoherenceMap', optype='other') | |
128 | # opObj11.addParameter(name='id', value='102', format='int') |
|
132 | # opObj11.addParameter(name='id', value='102', format='int') | |
129 | # opObj11.addParameter(name='wintitle', value='Coherence', format='str') |
|
133 | # opObj11.addParameter(name='wintitle', value='Coherence', format='str') | |
130 | # opObj11.addParameter(name='ymin', value='225', format='float') |
|
134 | # opObj11.addParameter(name='ymin', value='225', format='float') | |
131 | # opObj11.addParameter(name='ymax', value='4000', format='float') |
|
135 | # opObj11.addParameter(name='ymax', value='4000', format='float') | |
132 |
|
136 | |||
133 | # opObj11.addParameter(name='phase_cmap', value='jet', format='str') |
|
137 | # opObj11.addParameter(name='phase_cmap', value='jet', format='str') | |
134 | # opObj11.addParameter(name='xmin', value='8.5', format='float') |
|
138 | # opObj11.addParameter(name='xmin', value='8.5', format='float') | |
135 | # opObj11.addParameter(name='xmax', value='9.5', format='float') |
|
139 | # opObj11.addParameter(name='xmax', value='9.5', format='float') |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
General Comments 0
You need to be logged in to leave comments.
Login now