##// END OF EJS Templates
Cambio en la lectura de archivos, se incluyó detección de cambio de experimento
joabAM -
r1373:fa4c334951aa
parent child
Show More
@@ -53,8 +53,7 class AMISRReader(ProcessingUnit):
53 self.amisrFilePointer = None
53 self.amisrFilePointer = None
54 self.realBeamCode = []
54 self.realBeamCode = []
55
55
56 #self.dataset = None
56 self.dataShape = None
57
58
57
59
58
60
59
@@ -119,7 +118,7 class AMISRReader(ProcessingUnit):
119 print("There is no files into the folder: %s"%(path))
118 print("There is no files into the folder: %s"%(path))
120 sys.exit(-1)
119 sys.exit(-1)
121
120
122 self.fileIndex = -1
121 self.fileIndex = 0
123
122
124 self.readNextFile(online)
123 self.readNextFile(online)
125
124
@@ -132,6 +131,16 class AMISRReader(ProcessingUnit):
132
131
133
132
134 def readAMISRHeader(self,fp):
133 def readAMISRHeader(self,fp):
134
135 if self.isConfig :
136 newShape = fp.get('Raw11/Data/Samples/Data').shape
137 if self.dataShape != newShape:
138 print("\nERROR, NEW FILE IS A DIFFERENT EXPERIMENT \n")
139 return 0
140 else:
141 self.dataShape = fp.get('Raw11/Data/Samples/Data').shape
142
143
135 header = 'Raw11/Data/RadacHeader'
144 header = 'Raw11/Data/RadacHeader'
136 self.beamCodeByPulse = fp.get(header+'/BeamCode') # LIST OF BEAMS PER PROFILE, TO BE USED ON REARRANGE
145 self.beamCodeByPulse = fp.get(header+'/BeamCode') # LIST OF BEAMS PER PROFILE, TO BE USED ON REARRANGE
137 if (self.startDate> datetime.date(2021, 7, 15)): #Se cambió la forma de extracción de Apuntes el 17
146 if (self.startDate> datetime.date(2021, 7, 15)): #Se cambió la forma de extracción de Apuntes el 17
@@ -196,6 +205,8 class AMISRReader(ProcessingUnit):
196 self.__frequency = self.frequency[0][0]
205 self.__frequency = self.frequency[0][0]
197
206
198
207
208 return 1
209
199
210
200 def createBuffers(self):
211 def createBuffers(self):
201
212
@@ -386,27 +397,17 class AMISRReader(ProcessingUnit):
386 return
397 return
387
398
388 def __setNextFileOffline(self):
399 def __setNextFileOffline(self):
389 idFile = self.fileIndex
390
391 while (True):
392 idFile += 1
393 if not(idFile < len(self.filenameList)):
394 self.flagNoMoreFiles = 1
395 print("No more Files")
396 return 0
397
398 filename = self.filenameList[idFile]
399
400
400 amisrFilePointer = h5py.File(filename,'r')
401 try:
401
402 self.filename = self.filenameList[self.fileIndex]
402 break
403 self.amisrFilePointer = h5py.File(self.filename,'r')
404 self.fileIndex += 1
405 except:
406 self.flagNoMoreFiles = 1
407 print("No more Files")
408 return 0
403
409
404 self.flagIsNewFile = 1
410 self.flagIsNewFile = 1
405 self.fileIndex = idFile
406 self.filename = filename
407
408 self.amisrFilePointer = amisrFilePointer
409
410 print("Setting the file: %s"%self.filename)
411 print("Setting the file: %s"%self.filename)
411
412
412 return 1
413 return 1
@@ -563,11 +564,12 class AMISRReader(ProcessingUnit):
563 if not(newFile):
564 if not(newFile):
564 self.dataOut.error = True
565 self.dataOut.error = True
565 return 0
566 return 0
566 #if self.__firstFile:
567 self.readAMISRHeader(self.amisrFilePointer)
568
567
569 self.createBuffers()
568 if not self.readAMISRHeader(self.amisrFilePointer):
569 self.dataOut.error = True
570 return 0
570
571
572 self.createBuffers()
571 self.fillJROHeader()
573 self.fillJROHeader()
572
574
573 #self.__firstFile = False
575 #self.__firstFile = False
@@ -36,7 +36,7 def main():
36 #inPath= '/home/soporte/dataAMISR_test/'
36 #inPath= '/home/soporte/dataAMISR_test/'
37 inPath= '/home/soporte/dataAMISR/'
37 inPath= '/home/soporte/dataAMISR/'
38 inPath= '/media/soporte/UARS_4T_D02/AMISR_DATA/2021/'
38 inPath= '/media/soporte/UARS_4T_D02/AMISR_DATA/2021/'
39 #inPath = '/mnt/data_amisr'
39 #inPath = '/home/soporte/'
40 outPath = '/home/soporte/Data/EEJ'
40 outPath = '/home/soporte/Data/EEJ'
41
41
42 ##.......................................................................................
42 ##.......................................................................................
@@ -63,7 +63,7 def main():
63 path=inPath,
63 path=inPath,
64 startDate=startDate,#startDate, #'2014/10/07',
64 startDate=startDate,#startDate, #'2014/10/07',
65 endDate=endDate, #endDate '2014/10/07',
65 endDate=endDate, #endDate '2014/10/07',
66 startTime='07:01:30',#'07:00:00',
66 startTime='17:55:30',#'07:00:00',
67 endTime='19:00:00',#'15:00:00',
67 endTime='19:00:00',#'15:00:00',
68 walk=1,
68 walk=1,
69 code = code,
69 code = code,
@@ -73,9 +73,9 def main():
73 online=0)
73 online=0)
74
74
75
75
76 #AMISR Processing Unit
76 # #AMISR Processing Unit
77 ##.......................................................................................
77 # ##.......................................................................................
78 ##.......................................................................................
78 # ##.......................................................................................
79 procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId())
79 procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId())
80 opObj10 = procUnitConfObj0.addOperation(name='setAttribute')
80 opObj10 = procUnitConfObj0.addOperation(name='setAttribute')
81 opObj10.addParameter(name='frequency', value='445.09e6')
81 opObj10.addParameter(name='frequency', value='445.09e6')
@@ -93,10 +93,10 def main():
93 # opObj02 = procUnitConfObj0.addOperation(name='CohInt', optype='other')
93 # opObj02 = procUnitConfObj0.addOperation(name='CohInt', optype='other')
94 # opObj02.addParameter(name='n', value='2', format='int')
94 # opObj02.addParameter(name='n', value='2', format='int')
95
95
96
96 #
97
97 #
98 ##.......................................................................................
98 # ##.......................................................................................
99 ##.......................................................................................
99 # ##.......................................................................................
100
100
101 procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId())
101 procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId())
102 procUnitConfObj1.addParameter(name='nFFTPoints', value='16', format='int')
102 procUnitConfObj1.addParameter(name='nFFTPoints', value='16', format='int')
@@ -150,7 +150,7 def main():
150 opObj14.addParameter(name='localtime', value=localtime,format='int')
150 opObj14.addParameter(name='localtime', value=localtime,format='int')
151 opObj14.addParameter(name='show', value = showNOISE, format='int')
151 opObj14.addParameter(name='show', value = showNOISE, format='int')
152
152
153 #
153 # #
154 opObj15 = procUnitConfObj1.addOperation(name='RTIPlot', optype='external')
154 opObj15 = procUnitConfObj1.addOperation(name='RTIPlot', optype='external')
155 opObj15.addParameter(name='id', value='2', format='int')
155 opObj15.addParameter(name='id', value='2', format='int')
156 opObj15.addParameter(name='localtime', value=localtime,format='int')
156 opObj15.addParameter(name='localtime', value=localtime,format='int')
@@ -175,8 +175,8 def main():
175
175
176
176
177 #Using HDFWriter::::
177 #Using HDFWriter::::
178 ##.......................................................................................
178 #.......................................................................................
179 ##.......................................................................................
179 #.......................................................................................
180 opObj17 = procUnitConfObj2.addOperation(name='HDFWriter', optype='external')
180 opObj17 = procUnitConfObj2.addOperation(name='HDFWriter', optype='external')
181 opObj17.addParameter(name='path', value=outPath)
181 opObj17.addParameter(name='path', value=outPath)
182 opObj17.addParameter(name='blocksPerFile', value='10', format='int')
182 opObj17.addParameter(name='blocksPerFile', value='10', format='int')
@@ -25,14 +25,14 def main():
25 # path = '/media/soporte/E9F4-F053/AMISR/Data/ESF'
25 # path = '/media/soporte/E9F4-F053/AMISR/Data/ESF'
26 #path = '/mnt/data_amisr'
26 #path = '/mnt/data_amisr'
27
27
28 #path = '/media/soporte/AMISR_104'
28 path = '/home/soporte/Data/EEJ/EEJ2021192'
29 #figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf')
29 #figpath = os.path.join(os.environ['HOME'],'Pictures/amisr/test/proc/esf')
30 #figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF'
30 #figpath = '/media/soporte/E9F4-F053/AMISR/Data/JULIA/ESF'
31 figpath = '/home/soporte/Data/EEJ'
31 figpath = '/home/soporte/Data/OutTest/EEJ'
32
32
33
33
34 xmin = '07'
34 xmin = '07'
35 xmax = '17' #-> el plot genera +1 en la hora, es decir aparece 18 como máximo
35 xmax = '18' #-> el plot genera +1 en la hora, es decir aparece 18 como máximo
36 ymin = '0'
36 ymin = '0'
37 ymax = '300'
37 ymax = '300'
38 dbmin = '45' #'60'#'55' #'40' #noise esf eej
38 dbmin = '45' #'60'#'55' #'40' #noise esf eej
@@ -57,101 +57,75 def main():
57
57
58 #print(today,yesterday,tomorrow)
58 #print(today,yesterday,tomorrow)
59 #path= '/home/soporte/dataAMISR_test/'
59 #path= '/home/soporte/dataAMISR_test/'
60 path= '/home/soporte/dataAMISR/'
61 #path= '/home/soporte/dataAMISR/'
60 #path= '/home/soporte/dataAMISR/'
62 #path='/home/soporte/Documentos/' #
61 #path='/home/soporte/Documentos/' #
63
62
64 readUnitConfObj = controllerObj.addReadUnit(datatype='AMISRReader',
63 readUnitConfObj = controllerObj.addReadUnit(datatype='Spectra',
65 path=path,
64 path=path,
66 startDate="2019/12/16",#yesterday, #'2014/10/07',
65 startDate='2021/07/11',
67 endDate="2019/12/16", #'2014/10/07',
66 endDate='2021/07/11',
68 startTime='08:00:00',#'07:00:00',
67 startTime='07:01:30',#'07:00:00',
69 endTime='08:58:00',#'15:00:00',
68 endTime='18:00:00',#'15:00:00',
70 walk=0,
69 walk=1,
71 code = code,
72 nCode = nCode,
73 nBaud = nBaud,
74 timezone='lt',
70 timezone='lt',
75 online=0)
71 online=0)
76
72
77 #AMISR Processing Unit
73 #AMISR Processing Unit
78 procUnitConfObj0 = controllerObj.addProcUnit(datatype='VoltageProc', inputId=readUnitConfObj.getId())
79
74
80 opObj10 = procUnitConfObj0.addOperation(name='setRadarFrequency')
81 opObj10.addParameter(name='frequency', value='445e6', format='float')
82
75
83
76
84 opObj01 = procUnitConfObj0.addOperation(name='Decoder', optype='other')
77 proc_spectra = controllerObj.addProcUnit(datatype='SpectraProc', inputId=readUnitConfObj.getId())
85 opObj01.addParameter(name='code', value=code, format='floatlist')
78 proc_spectra.addParameter(name='nFFTPoints', value='16', format='int')
86 opObj01.addParameter(name='nCode', value=nCode, format='int')
87 opObj01.addParameter(name='nBaud', value=nBaud, format='int')
88 opObj01.addParameter(name='osamp', value=nosamp, format='int')
89
90
91 # opObj02 = procUnitConfObj0.addOperation(name='CohInt', optype='other')
92 # opObj02.addParameter(name='n', value='5', format='int')
93
94
95
96
97 procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=procUnitConfObj0.getId())
98 procUnitConfObj1.addParameter(name='nFFTPoints', value='16', format='int')
99 #procUnitConfObj1.addParameter(name='frequency', value='445e6', format='float') #no lo acepta
79 #procUnitConfObj1.addParameter(name='frequency', value='445e6', format='float') #no lo acepta
100
80
101
81
102 opObj11 = procUnitConfObj1.addOperation(name='IncohInt', optype='other')
82 # op1 = proc_spectra.addOperation(name='IncohInt', optype='other')
103 opObj11.addParameter(name='n', value='150', format='int') #300 normal value
83 # op1.addParameter(name='n', value='150', format='int') #300 normal value
104
105 opObj11 = procUnitConfObj1.addOperation(name='removeDC')
106
84
85 #op2 = proc_spectra.addOperation(name='removeDC')
107
86
87 op2 = proc_spectra.addOperation(name='CrossSpectraPlot', optype='external')
88 op2.addParameter(name='id', value='10', format='int')
89 op2.addParameter(name='save', value=figpath, format='str')
90 #op2.addParameter(name='zmin', value='10.0', format='float')
91 #op2.addParameter(name='zmax', value='35.0', format='float')
108 # #
92 # #
109 # opObj12 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
93
110 # opObj12.addParameter(name='id', value='21', format='int')
94 op3 = proc_spectra.addOperation(name='SpectraPlot', optype='external')
111 # opObj12.addParameter(name='xaxis', value='velocity')
95 op3.addParameter(name='id', value='21', format='int')
112 # opObj12.addParameter(name='ymax', value=ymax, format='int')
96 op3.addParameter(name='xaxis', value='velocity')
113 # opObj12.addParameter(name='showprofile', value='1', format='int')
97 op3.addParameter(name='ymax', value=ymax, format='int')
114 # opObj12.addParameter(name='wintitle', value='AMISR Beam 0', format='str')
98 op3.addParameter(name='showprofile', value='1', format='int')
115 # opObj12.addParameter(name='zmin', value=dbmin, format='int')
99 op3.addParameter(name='wintitle', value='AMISR Beam 0', format='str')
116 # opObj12.addParameter(name='zmax', value=dbmax, format='int')
100 op3.addParameter(name='zmin', value=dbmin, format='int')
117 # opObj12.addParameter(name='save', value=figpath, format='str')
101 op3.addParameter(name='zmax', value=dbmax, format='int')
118 # opObj12.addParameter(name='colormap', value='jet', format='str')
102 op3.addParameter(name='save', value=figpath, format='str')
119 # opObj12.addParameter(name='localtime', value=localtime,format='int')
103 op3.addParameter(name='colormap', value='jet', format='str')
120 # opObj12.addParameter(name='show', value = showSPC, format='int')
104 op3.addParameter(name='localtime', value=localtime,format='int')
121 #
105 op3.addParameter(name='show', value = showSPC, format='int')
122 opObj13 = procUnitConfObj1.addOperation(name='getNoise' , optype ='self')
123 opObj13.addParameter(name='minHei', value='100', format='float')
124 opObj13.addParameter(name='maxHei', value='280', format='float')
125 #
126 #
127 #
128 #
106 #
129 # ##Generate *.pdata from AMISR data
107
130 # opObj13 = procUnitConfObj1.addOperation(name='SpectraWriter', optype='external')
131 # opObj13.addParameter(name='path', value=figpath+'SpectraPlot')
132 # opObj13.addParameter(name='blocksPerFile', value='10', format='int')
133 # # opObj11.addParameter(name='datatype', value="4", format="int") #no incluir,x revisar
134
108
135 # opObj31 = procUnitConfObj1.addOperation(name='selectChannels')
109 # opObj31 = procUnitConfObj1.addOperation(name='selectChannels')
136 # opObj31.addParameter(name='channelList', value='6,7,8,9', format='intlist')
110 # opObj31.addParameter(name='channelList', value='6,7,8,9', format='intlist')
137 #
111 #
138 opObj15 = procUnitConfObj1.addOperation(name='RTIPlot', optype='external')
112 op4 = proc_spectra.addOperation(name='RTIPlot', optype='external')
139 opObj15.addParameter(name='id', value='2', format='int')
113 op4.addParameter(name='id', value='2', format='int')
140 opObj15.addParameter(name='localtime', value=localtime,format='int')
114 op4.addParameter(name='localtime', value=localtime,format='int')
141 opObj15.addParameter(name='wintitle', value='RTI', format='str')
115 op4.addParameter(name='wintitle', value='RTI', format='str')
142 #opObj15.addParameter(name='xmin', value=xmin, format='int')
116 #op4.addParameter(name='xmin', value=xmin, format='int')
143 opObj15.addParameter(name='xmax', value=xmax, format='int') #max value =23
117 op4.addParameter(name='xmax', value=xmax, format='int') #max value =23
144 opObj15.addParameter(name='ymin', value=ymin, format='int')
118 op4.addParameter(name='ymin', value=ymin, format='int')
145 #opObj15.addParameter(name='ymax', value=ymax, format='int')
119 #op4.addParameter(name='ymax', value=ymax, format='int')
146 opObj15.addParameter(name='zmin', value=dbmin, format='int')
120 op4.addParameter(name='zmin', value=dbmin, format='int')
147 opObj15.addParameter(name='zmax', value=dbmax, format='int')
121 op4.addParameter(name='zmax', value=dbmax, format='int')
148 opObj15.addParameter(name='showprofile', value='1', format='int')
122 op4.addParameter(name='showprofile', value='1', format='int')
149 opObj15.addParameter(name='show', value = showRTI, format='int') #
123 op4.addParameter(name='show', value = showRTI, format='int') #
150 #opObj15.addParameter(name='timerange', value=str(24*60*60), format='int')#conflicto datetime
124 #op4.addParameter(name='timerange', value=str(24*60*60), format='int')#conflicto datetime
151 opObj15.addParameter(name='save', value=figpath+'/plots', format='str')
125 op4.addParameter(name='save', value=figpath+'/plots', format='str')
152 #opObj15.addParameter(name='figpath', value = figpath+'/plots', format='str')#no es necesario
126 #op4.addParameter(name='figpath', value = figpath+'/plots', format='str')#no es necesario
153 opObj15.addParameter(name='colormap', value='jet', format='str')
127 op4.addParameter(name='colormap', value='jet', format='str')
154 opObj15.addParameter(name='channels', value='2,4', format='intlist')
128 op4.addParameter(name='channels', value='2,4', format='intlist')
155
129
156 # opObj14 = procUnitConfObj1.addOperation(name='NoisePlot', optype='external')
130 # opObj14 = procUnitConfObj1.addOperation(name='NoisePlot', optype='external')
157 # opObj14.addParameter(name='id', value='3', format='int')
131 # opObj14.addParameter(name='id', value='3', format='int')
General Comments 0
You need to be logged in to leave comments. Login now