##// END OF EJS Templates
Add M. Palomino changes for jasmet data processing
Juan C. Valdez -
r875:90de365915bb
parent child
Show More
@@ -102,6 +102,7 class ParametersProc(ProcessingUnit):
102 102
103 103 if self.dataIn.type == "Parameters":
104 104 self.dataOut.copy(self.dataIn)
105 self.dataOut.utctimeInit = self.dataIn.utctime
105 106 self.dataOut.flagNoData = False
106 107
107 108 return True
@@ -809,7 +810,7 class WindProfiler(Operation):
809 810 self.__dataReady = True
810 811 return
811 812
812 def techniqueMeteors(self, arrayMeteor, meteorThresh, heightMin, heightMax):
813 def techniqueMeteors(self, arrayMeteor, meteorThresh, heightMin, heightMax, binkm=2):
813 814 '''
814 815 Function that implements winds estimation technique with detected meteors.
815 816
@@ -821,7 +822,7 class WindProfiler(Operation):
821 822 '''
822 823 # print arrayMeteor.shape
823 824 #Settings
824 nInt = (heightMax - heightMin)/2
825 nInt = (heightMax - heightMin)/binkm
825 826 # print nInt
826 827 nInt = int(nInt)
827 828 # print nInt
@@ -1101,6 +1102,11 class WindProfiler(Operation):
1101 1102 hmax = kwargs['hmax']
1102 1103 else: hmax = 110
1103 1104
1105 if kwargs.has_key('BinKm'):
1106 binkm = kwargs['BinKm']
1107 else:
1108 binkm = 2
1109
1104 1110 dataOut.outputInterval = nHours*3600
1105 1111
1106 1112 if self.__isConfig == False:
@@ -1125,7 +1131,7 class WindProfiler(Operation):
1125 1131
1126 1132 self.__initime += dataOut.outputInterval #to erase time offset
1127 1133
1128 dataOut.data_output, dataOut.heightList = self.techniqueMeteors(self.__buffer, meteorThresh, hmin, hmax)
1134 dataOut.data_output, dataOut.heightList = self.techniqueMeteors(self.__buffer, meteorThresh, hmin, hmax, binkm)
1129 1135 dataOut.flagNoData = False
1130 1136 self.__buffer = None
1131 1137
@@ -1909,15 +1915,15 class SMDetection(Operation):
1909 1915 indSides = pairsarray[:,1]
1910 1916
1911 1917 pairslist1 = list(pairslist)
1912 pairslist1.append((0,1))
1913 pairslist1.append((3,4))
1918 pairslist1.append((0,4))
1919 pairslist1.append((1,3))
1914 1920
1915 1921 listMeteors1 = []
1916 1922 listPowerSeries = []
1917 1923 listVoltageSeries = []
1918 1924 #volts has the war data
1919 1925
1920 if frequency == 30e6:
1926 if frequency == 30.175e6:
1921 1927 timeLag = 45*10**-3
1922 1928 else:
1923 1929 timeLag = 15*10**-3
@@ -2021,7 +2027,7 class SMDetection(Operation):
2021 2027
2022 2028 threshError = 10
2023 2029 #Depending if it is 30 or 50 MHz
2024 if frequency == 30e6:
2030 if frequency == 30.175e6:
2025 2031 timeLag = 45*10**-3
2026 2032 else:
2027 2033 timeLag = 15*10**-3
@@ -2081,14 +2087,14 class SMDetection(Operation):
2081 2087 def __getRadialVelocity(self, listMeteors, listVolts, radialStdThresh, pairslist, timeInterval):
2082 2088
2083 2089 pairslist1 = list(pairslist)
2084 pairslist1.append((0,1))
2085 pairslist1.append((3,4))
2090 pairslist1.append((0,4))
2091 pairslist1.append((1,3))
2086 2092 numPairs = len(pairslist1)
2087 2093 #Time Lag
2088 2094 timeLag = 45*10**-3
2089 2095 c = 3e8
2090 2096 lag = numpy.ceil(timeLag/timeInterval)
2091 freq = 30e6
2097 freq = 30.175e6
2092 2098
2093 2099 listMeteors1 = []
2094 2100
@@ -2109,7 +2115,7 class SMDetection(Operation):
2109 2115 #Method 2
2110 2116 slopes = numpy.zeros(numPairs)
2111 2117 time = numpy.array([-2,-1,1,2])*timeInterval
2112 angAllCCF = numpy.angle(allCCFs[:,[0,1,3,4],0])
2118 angAllCCF = numpy.angle(allCCFs[:,[0,4,2,3],0])
2113 2119
2114 2120 #Correct phases
2115 2121 derPhaseCCF = angAllCCF[:,1:] - angAllCCF[:,0:-1]
@@ -2403,6 +2409,7 class SMPhaseCalibration(Operation):
2403 2409 phasesOff = phasesOff.reshape((1,phasesOff.size))
2404 2410 dataOut.data_output = -phasesOff
2405 2411 dataOut.flagNoData = False
2412 dataOut.channelList = pairslist0
2406 2413 self.__buffer = None
2407 2414
2408 2415
General Comments 0
You need to be logged in to leave comments. Login now