##// END OF EJS Templates
Script test de pruebas actuales con el update de heading en el block 360, el parametro adicional es heading que se lee del experiment.conf
avaldez -
r1759:c8ee9da660f1
parent child
Show More
This diff has been collapsed as it changes many lines, (513 lines changed) Show them Hide them
@@ -0,0 +1,513
1 # SOPHY PROC script
2 import os, sys, json, argparse
3 import multiprocessing
4 import datetime
5 import time
6
7 PATH = '/DATA_RM/DATA'
8 #PATH = "/media/jespinoza/data2/SOPHY/"
9
10
11
12 # SNR ZMIN -40 A ZMAX -20
13 PARAM = {
14 'S': {'zmin': -70, 'zmax':-45, 'colormap': 'jet' , 'label': 'Power', 'wrname': 'power','cb_label': 'dBm', 'ch':0},
15 'SNR':{'zmin': -10, 'zmax': 15, 'colormap': 'jet' , 'label': 'SNR', 'wrname': 'snr','cb_label': 'dB', 'ch':0},
16 'V': {'zmin': -12, 'zmax': 12, 'colormap': 'sophy_v', 'label': 'Velocity', 'wrname': 'velocity', 'cb_label': 'm/s', 'ch':0},
17 'R': {'zmin': 0.5, 'zmax': 1 , 'colormap': 'sophy_r', 'label': 'RhoHV', 'wrname':'rhoHV', 'cb_label': '', 'ch':0},
18 'P': {'zmin': -180,'zmax': 180,'colormap': 'sophy_p', 'label': 'PhiDP', 'wrname':'phiDP' , 'cb_label': 'degrees', 'ch':0},
19 'D': {'zmin': -9 , 'zmax': 12, 'colormap': 'sophy_d', 'label': 'ZDR','wrname':'differential_reflectivity' , 'cb_label': 'dB','ch':0},
20 'Z': {'zmin': -20, 'zmax': 80, 'colormap': 'sophy_z', 'label': 'Reflectivity ', 'wrname':'reflectivity', 'cb_label': 'dBz','ch':0},
21 'W': {'zmin': 0 , 'zmax': 12, 'colormap': 'sophy_w', 'label': 'Spectral Width', 'wrname':'spectral_width', 'cb_label': 'm/s', 'ch':0}
22 }
23
24 META = ['heightList', 'data_azi', 'data_ele', 'mode_op', 'latitude', 'longitude', 'altitude', 'heading', 'radar_name',
25 'institution', 'contact', 'h0', 'range_unit', 'prf', 'prf_unit', 'variable', 'variable_unit', 'n_pulses',
26 'pulse1_range', 'pulse1_width', 'pulse2_width', 'pulse1_repetitions', 'pulse2_repetitions', 'pulse_width_unit',
27 'snr_threshold', 'data_noise']
28
29
30 def max_index(r, sample_rate, ipp, h0,ipp_km):
31
32 return int(sample_rate*ipp*1e6 * r / ipp_km) + int(sample_rate*ipp*1e6 * -h0 / ipp_km)
33
34 def main(args):
35
36 experiment = args.experiment
37 fp = open(os.path.join(PATH, experiment, 'experiment.json'))
38 conf = json.loads(fp.read())
39
40 ipp_km = conf['usrp_tx']['ipp']
41 ipp = ipp_km * 2 /300000
42 sample_rate = conf['usrp_rx']['sample_rate']
43 speed_axis = conf['pedestal']['speed']
44 if args.angles:
45 angles = args.angles
46 else:
47 angles = conf['pedestal']['table']
48 time_offset = args.time_offset
49 parameters = args.parameters
50 start_date = conf['name'].split('@')[1].split('T')[0].replace('-', '/')
51 end_date = start_date
52 if args.start_time:
53 start_time = args.start_time
54 else:
55 start_time = conf['name'].split('@')[1].split('T')[1].replace('-', ':')
56
57 if args.end_time:
58 end_time = args.end_time
59 else:
60 end_time = '23:59:59'
61
62 N = int(1.0/(abs(speed_axis[0])*ipp)) # 1 GRADO DE RESOLUCION
63
64 #path = os.path.join(PATH, experiment, 'rawdata')
65 path = conf['usrp_rx']['datadir']
66 path_ped = os.path.join(PATH, experiment, 'position')
67 if args.label:
68 label = '-{}'.format(args.label)
69 else:
70 label = ''
71 path_plots = os.path.join(PATH, experiment, 'plots{}'.format(label))
72 path_save = os.path.join(PATH, experiment, 'param{}'.format(label))
73 RMIX = 6.0 # 4.8 #5.8 #4.8#5.68#4.8#4.8#2.64#10#2.64
74 H0 = -2.0 #-1.68 #-1.68# -1.2#-1.68#-1.2#0.5#-1.2
75 MASK = args.mask
76
77 from schainpy.controller import Project
78
79 project = Project()
80 project.setup(id='1', name='Sophy', description='sophy proc')
81
82 reader = project.addReadUnit(datatype='DigitalRFReader',
83 path=path,
84 startDate=start_date,
85 endDate=end_date,
86 startTime=start_time,
87 endTime=end_time,
88 delay=30,
89 online=args.online,
90 walk=1,
91 ippKm = ipp_km,
92 getByBlock = 1,
93 nProfileBlocks = N,
94 )
95
96 if not conf['usrp_tx']['enable_2']: # One Pulse
97 n_pulses = 1
98 pulse_1_width = conf['usrp_tx']['pulse_1']
99 pulse_1_repetitions = conf['usrp_tx']['repetitions_1']
100 pulse_2_width = 0
101 pulse_2_repetitions = 0
102
103 voltage = project.addProcUnit(datatype='VoltageProc', inputId=reader.getId())
104
105 if conf['usrp_tx']['code_type_1'] != 'None':
106 codes = [ c.strip() for c in conf['usrp_tx']['code_1'].split(',')]
107 code = []
108 for c in codes:
109 code.append([int(x) for x in c])
110 op = voltage.addOperation(name='Decoder', optype='other')
111 op.addParameter(name='code', value=code)
112 op.addParameter(name='nCode', value=len(code), format='int')
113 op.addParameter(name='nBaud', value=len(code[0]), format='int')
114
115 op = voltage.addOperation(name='CohInt', optype='other') #Minimo integrar 2 perfiles por ser codigo complementario
116 op.addParameter(name='n', value=len(code), format='int')
117 ncode = len(code)
118 else:
119 ncode = 1
120 code = ['0']
121
122 op = voltage.addOperation(name='setH0')
123 op.addParameter(name='h0', value=H0)
124
125 if args.range > 0:
126 op = voltage.addOperation(name='selectHeights')
127 op.addParameter(name='minIndex', value='0', format='int')
128 op.addParameter(name='maxIndex', value=max_index(args.range, sample_rate, ipp, H0,ipp_km), format='int')
129
130 op = voltage.addOperation(name='PulsePair_vRF', optype='other')
131 op.addParameter(name='n', value=int(N)/ncode, format='int')
132 if args.rmDC:
133 op.addParameter(name='removeDC', value=1, format='int')
134
135 proc = project.addProcUnit(datatype='ParametersProc', inputId=voltage.getId())
136 proc.addParameter(name='runNextUnit', value=True)
137
138 opObj10 = proc.addOperation(name="WeatherRadar")
139 opObj10.addParameter(name='tauW',value=(1e-6/sample_rate)*len(code[0]))
140 opObj10.addParameter(name='Pt',value=200)
141
142 op = proc.addOperation(name='PedestalInformation')
143 op.addParameter(name='path', value=path_ped, format='str')
144 op.addParameter(name='interval', value='0.04')
145 op.addParameter(name='time_offset', value=time_offset)
146 op.addParameter(name='mode', value=args.mode)
147 op.addParameter(name='heading', value=conf['heading'])
148
149 for param in parameters:
150 op = proc.addOperation(name='Block360')
151 op.addParameter(name='runNextOp', value=True)
152 op.addParameter(name='attr_data', value='data_param')
153 op.addParameter(name='angles', value=angles)
154 op.addParameter(name='heading', value=conf['heading'])
155
156
157 op= proc.addOperation(name='WeatherParamsPlot')
158 if args.save: op.addParameter(name='save', value=path_plots, format='str')
159 op.addParameter(name='save_period', value=-1)
160 op.addParameter(name='show', value=args.show)
161 op.addParameter(name='channels', value='0,')
162 op.addParameter(name='zmin', value=PARAM[param]['zmin'])
163 op.addParameter(name='zmax', value=PARAM[param]['zmax'])
164 op.addParameter(name='yrange', value=20, format='int')
165 op.addParameter(name='xrange', value=args.range, format='int')
166 op.addParameter(name='attr_data', value=param, format='str')
167 op.addParameter(name='labels', value=[PARAM[param]['label'], PARAM[param]['label']])
168 op.addParameter(name='save_code', value=param)
169 op.addParameter(name='cb_label', value=PARAM[param]['cb_label'])
170 op.addParameter(name='colormap', value=PARAM[param]['colormap'])
171 op.addParameter(name='bgcolor', value='black')
172 op.addParameter(name='localtime', value=False)
173 op.addParameter(name='shapes', value='./shapes')
174 op.addParameter(name='latitude', value=conf['latitude'], format='float')
175 op.addParameter(name='longitude', value=conf['longitude'], format='float')
176 op.addParameter(name='map', value=True)
177
178 if MASK: op.addParameter(name='mask', value=MASK, format='float')
179 if args.server:
180 op.addParameter(name='server', value='190.187.237.239:4444')
181 op.addParameter(name='exp_code', value='400')
182
183 desc = {
184 'Data': {
185 'data_param': {PARAM[param]['wrname']: ['H', 'V']},
186 'utctime': 'time'
187 },
188 'Metadata': {
189 'heightList': 'range',
190 'data_azi': 'azimuth',
191 'data_ele': 'elevation',
192 'mode_op': 'scan_type',
193 'h0': 'range_correction',
194 'dataPP_NOISE': 'noise',
195 }
196 }
197
198 if args.save:
199 writer = proc.addOperation(name='HDFWriter')
200 writer.addParameter(name='path', value=path_save, format='str')
201 writer.addParameter(name='Reset', value=True)
202 writer.addParameter(name='setType', value='weather')
203 writer.addParameter(name='description', value=json.dumps(desc))
204 writer.addParameter(name='blocksPerFile', value='1',format='int')
205 writer.addParameter(name='metadataList', value=','.join(META))
206 writer.addParameter(name='dataList', value='data_param,utctime')
207 writer.addParameter(name='weather_var', value=param)
208 writer.addParameter(name='mask', value=MASK, format='float')
209 writer.addParameter(name='localtime', value=False)
210 # meta
211 writer.addParameter(name='latitude', value='-12.040436')
212 writer.addParameter(name='longitude', value='-75.295893')
213 writer.addParameter(name='altitude', value='3379.2147')
214 writer.addParameter(name='heading', value='0')
215 writer.addParameter(name='radar_name', value='SOPHy')
216 writer.addParameter(name='institution', value='IGP')
217 writer.addParameter(name='contact', value='dscipion@igp.gob.pe')
218 writer.addParameter(name='created_by', value='Signal Chain (https://pypi.org/project/schainpy/)')
219 writer.addParameter(name='range_unit', value='km')
220 writer.addParameter(name='prf', value=1/ipp)
221 writer.addParameter(name='prf_unit', value='hertz')
222 writer.addParameter(name='variable', value=PARAM[param]['label'])
223 writer.addParameter(name='variable_unit', value=PARAM[param]['cb_label'])
224 writer.addParameter(name='n_pulses', value=n_pulses)
225 writer.addParameter(name='pulse1_range', value=RMIX)
226 writer.addParameter(name='pulse1_width', value=pulse_1_width)
227 writer.addParameter(name='pulse2_width', value=pulse_2_width)
228 writer.addParameter(name='pulse1_repetitions', value=pulse_1_repetitions)
229 writer.addParameter(name='pulse2_repetitions', value=pulse_2_repetitions)
230 writer.addParameter(name='pulse_width_unit', value='microseconds')
231 writer.addParameter(name='snr_threshold', value=MASK)
232
233
234 else: #Two pulses
235 n_pulses = 1
236 pulse_1_width = conf['usrp_tx']['pulse_1']
237 pulse_1_repetitions = conf['usrp_tx']['repetitions_1']
238 pulse_2_width = conf['usrp_tx']['pulse_2']
239 pulse_2_repetitions = conf['usrp_tx']['repetitions_2']
240
241 if '1' in args.pulses:
242 voltage1 = project.addProcUnit(datatype='VoltageProc', inputId=reader.getId())
243
244 op = voltage1.addOperation(name='ProfileSelector')
245 op.addParameter(name='profileRangeList', value='0,{}'.format(conf['usrp_tx']['repetitions_1']-1))
246
247 if conf['usrp_tx']['code_type_1'] != 'None':
248 codes = [ c.strip() for c in conf['usrp_tx']['code_1'].split(',')]
249 code = []
250 for c in codes:
251 code.append([int(x) for x in c])
252 op = voltage1.addOperation(name='Decoder', optype='other')
253 op.addParameter(name='code', value=code)
254 op.addParameter(name='nCode', value=len(code), format='int')
255 op.addParameter(name='nBaud', value=len(code[0]), format='int')
256 ncode = len(code)
257 else:
258 ncode = 1
259 code = ['0']
260
261 op = voltage1.addOperation(name='CohInt', optype='other') #Minimo integrar 2 perfiles por ser codigo complementario
262 op.addParameter(name='n', value=ncode, format='int')
263
264 op = voltage1.addOperation(name='setH0')
265 op.addParameter(name='h0', value=H0, format='float')
266
267 if args.range > 0:
268 op = voltage1.addOperation(name='selectHeights')
269 op.addParameter(name='minIndex', value=max_index(0, sample_rate, ipp, H0,ipp_km), format='int')
270 op.addParameter(name='maxIndex', value=max_index(args.range, sample_rate, ipp, H0,ipp_km), format='int')
271
272
273
274 op = voltage1.addOperation(name='PulsePair_vRF', optype='other')
275 op.addParameter(name='n', value=int(conf['usrp_tx']['repetitions_1'])/ncode, format='int')
276 if args.rmDC:
277 op.addParameter(name='removeDC', value=1, format='int')
278
279 proc1 = project.addProcUnit(datatype='ParametersProc', inputId=voltage1.getId())
280 proc1.addParameter(name='runNextUnit', value=True)
281
282 opObj10 = proc1.addOperation(name="WeatherRadar")
283 opObj10.addParameter(name='CR_Flag',value=True)
284 print(1, len(code[0]))
285 opObj10.addParameter(name='tauW',value=(1e-6/sample_rate)*len(code[0]))
286 #opObj10.addParameter(name='Pt',value=((1e-6/sample_rate)*len(code[0])/ipp)*200)
287 opObj10.addParameter(name='Pt',value=200)
288 #opObj10.addParameter(name='min_index',value=0)
289 opObj10.addParameter(name='min_index',value=max_index(0, sample_rate, ipp, H0,ipp_km))
290 #opObj10.addParameter(name='sesgoZD',value=7.73)
291
292
293 op = proc1.addOperation(name='PedestalInformation')
294 op.addParameter(name='path', value=path_ped, format='str')
295 op.addParameter(name='interval', value='0.04')
296 op.addParameter(name='time_offset', value=time_offset)
297 op.addParameter(name='mode', value=args.mode)
298
299 op = proc1.addOperation(name='Block360')
300 op.addParameter(name='attr_data', value='data_param')
301 op.addParameter(name='runNextOp', value=True)
302 op.addParameter(name='angles', value=angles)
303 #op.addParameter(name='horario',value=False)
304 op.addParameter(name='heading', value=conf['heading'])
305
306
307 if '2' in args.pulses:
308 voltage2 = project.addProcUnit(datatype='VoltageProc', inputId=reader.getId())
309
310 op = voltage2.addOperation(name='ProfileSelector')
311 op.addParameter(name='profileRangeList', value='{},{}'.format(conf['usrp_tx']['repetitions_1'], conf['usrp_tx']['repetitions_1']+conf['usrp_tx']['repetitions_2']-1))
312
313 if conf['usrp_tx']['code_type_2']:
314 codes = [ c.strip() for c in conf['usrp_tx']['code_2'].split(',')]
315 code = []
316 for c in codes:
317 code.append([int(x) for x in c])
318 op = voltage2.addOperation(name='Decoder', optype='other')
319 op.addParameter(name='code', value=code)
320 op.addParameter(name='nCode', value=len(code), format='int')
321 op.addParameter(name='nBaud', value=len(code[0]), format='int')
322
323 op = voltage2.addOperation(name='CohInt', optype='other') #Minimo integrar 2 perfiles por ser codigo complementario
324 op.addParameter(name='n', value=len(code), format='int')
325
326 ncode = len(code)
327 else:
328 ncode = 1
329
330 op = voltage2.addOperation(name='setH0')
331 op.addParameter(name='h0', value=H0, format='float')
332
333 if args.range > 0:
334 op = voltage2.addOperation(name='selectHeights')
335 op.addParameter(name='minIndex', value=max_index(0, sample_rate, ipp, H0,ipp_km), format='int')
336 op.addParameter(name='maxIndex', value=max_index(args.range, sample_rate, ipp, H0,ipp_km), format='int')
337
338
339 op = voltage2.addOperation(name='PulsePair_vRF', optype='other')
340 op.addParameter(name='n', value=int(conf['usrp_tx']['repetitions_2'])/ncode, format='int')
341 if args.rmDC:
342 op.addParameter(name='removeDC', value=1, format='int')
343
344 proc2 = project.addProcUnit(datatype='ParametersProc', inputId=voltage2.getId())
345 proc2.addParameter(name='runNextUnit', value=True)
346
347 opObj10 = proc2.addOperation(name="WeatherRadar")
348 opObj10.addParameter(name='CR_Flag',value=True,format='bool')
349 print(2, len(code[0]))
350 opObj10.addParameter(name='tauW',value=(1e-6/sample_rate)*len(code[0]))
351 #opObj10.addParameter(name='Pt',value=((1e-6/sample_rate)*len(code[0])/ipp)*200)
352 opObj10.addParameter(name='Pt',value=200)
353 opObj10.addParameter(name='min_index',value=max_index(RMIX, sample_rate, ipp, H0,ipp_km))
354 #opObj10.addParameter(name='sesgoZD',value=7.73)
355
356 op = proc2.addOperation(name='PedestalInformation')
357 op.addParameter(name='path', value=path_ped, format='str')
358 op.addParameter(name='interval', value='0.04')
359 op.addParameter(name='time_offset', value=time_offset)
360 op.addParameter(name='mode', value=args.mode)
361 op.addParameter(name='heading', value=conf['heading'])
362
363 op = proc2.addOperation(name='Block360')
364 op.addParameter(name='attr_data', value='data_param')
365 op.addParameter(name='runNextOp', value=True)
366 op.addParameter(name='angles', value=angles)
367 op.addParameter(name='heading', value=conf['heading'])
368
369 #op.addParameter(name='horario',value=False)
370
371 if '1' in args.pulses and '2' in args.pulses:
372 merge = project.addProcUnit(datatype='MergeProc', inputId=[proc1.getId(), proc2.getId()])
373 merge.addParameter(name='attr_data', value='data_param')
374 merge.addParameter(name='mode', value='7') #RM
375 merge.addParameter(name='index', value=max_index(RMIX, sample_rate, ipp, H0,ipp_km))
376
377 elif '1' in args.pulses:
378 merge = proc1
379 elif '2' in args.pulses:
380 merge = proc2
381
382
383 for param in parameters:
384
385 if args.plot:
386 op= merge.addOperation(name='WeatherParamsPlot')
387 if args.save:
388 op.addParameter(name='save', value=path_plots, format='str')
389 op.addParameter(name='save_period', value=-1)
390 op.addParameter(name='show', value=args.show)
391 #op.addParameter(name='channels', value='0,1')
392 op.addParameter(name='channels', value='0,')
393 op.addParameter(name='zmin', value=PARAM[param]['zmin'], format='int')
394 op.addParameter(name='zmax', value=PARAM[param]['zmax'], format='int')
395 op.addParameter(name='yrange', value=20, format='int')
396 op.addParameter(name='xrange', value=args.range, format='int')
397 op.addParameter(name='attr_data', value=param, format='str')
398 op.addParameter(name='labels', value=[[PARAM[param]['label']], [PARAM[param]['label']]])
399 op.addParameter(name='save_code', value=param)
400 op.addParameter(name='cb_label', value=PARAM[param]['cb_label'])
401 op.addParameter(name='colormap', value=PARAM[param]['colormap'])
402 op.addParameter(name='bgcolor', value='black')
403 op.addParameter(name='localtime', value=False)
404 op.addParameter(name='shapes', value='./shapes')
405 op.addParameter(name='latitude', value=conf['latitude'], format='float')
406 op.addParameter(name='longitude', value=conf['longitude'], format='float')
407 op.addParameter(name='map', value=True)
408
409 if MASK: op.addParameter(name='mask', value=MASK, format='float')
410 if args.server:
411 op.addParameter(name='server', value='190.187.237.239:4444')
412 op.addParameter(name='exp_code', value='400')
413
414 desc = {
415 'Data': {
416 'data_param': {PARAM[param]['wrname']: ['H', 'V']},
417 'utctime': 'time'
418 },
419 'Metadata': {
420 'heightList': 'range',
421 'data_azi': 'azimuth',
422 'data_ele': 'elevation',
423 'mode_op': 'scan_type',
424 'h0': 'range_correction',
425 'dataPP_NOISE': 'noise',
426 }
427 }
428
429 if args.save:
430 writer = merge.addOperation(name='HDFWriter')
431 writer.addParameter(name='path', value=path_save, format='str')
432 writer.addParameter(name='Reset', value=True)
433 writer.addParameter(name='setType', value='weather')
434 writer.addParameter(name='setChannel', value='0') #new parameter choose ch 0 H or ch 1 V
435 writer.addParameter(name='description', value=json.dumps(desc))
436 writer.addParameter(name='blocksPerFile', value='1',format='int')
437 writer.addParameter(name='metadataList', value=','.join(META))
438 writer.addParameter(name='dataList', value='data_param,utctime')
439 writer.addParameter(name='weather_var', value=param)
440 writer.addParameter(name='mask', value=MASK, format='float')
441 writer.addParameter(name='localtime', value=False)
442 # meta
443 writer.addParameter(name='latitude', value=conf['latitude'])
444 writer.addParameter(name='longitude', value=conf['longitude'])
445 writer.addParameter(name='altitude', value=conf['altitude'])
446 writer.addParameter(name='heading', value=conf['heading'])
447 writer.addParameter(name='radar_name', value='SOPHy')
448 writer.addParameter(name='institution', value='IGP')
449 writer.addParameter(name='contact', value='dscipion@igp.gob.pe')
450 writer.addParameter(name='created_by', value='Signal Chain (https://pypi.org/project/schainpy/)')
451 writer.addParameter(name='range_unit', value='km')
452 writer.addParameter(name='prf', value=1/ipp)
453 writer.addParameter(name='prf_unit', value='hertz')
454 writer.addParameter(name='variable', value=PARAM[param]['label'])
455 writer.addParameter(name='variable_unit', value=PARAM[param]['cb_label'])
456 writer.addParameter(name='n_pulses', value=n_pulses)
457 writer.addParameter(name='pulse1_range', value=RMIX)
458 writer.addParameter(name='pulse1_width', value=pulse_1_width)
459 writer.addParameter(name='pulse2_width', value=pulse_2_width)
460 writer.addParameter(name='pulse1_repetitions', value=pulse_1_repetitions)
461 writer.addParameter(name='pulse2_repetitions', value=pulse_2_repetitions)
462 writer.addParameter(name='pulse_width_unit', value='microseconds')
463 writer.addParameter(name='snr_threshold', value=MASK)
464 writer.addParameter(name='cr_hv', value=[67.41,67.17]) #new parameter
465
466 return project
467
468 if __name__ == '__main__':
469
470 parser = argparse.ArgumentParser(description='Script to process SOPHy data.')
471 parser.add_argument('experiment',
472 help='Experiment name')
473 parser.add_argument('--parameters', nargs='*', default=['S'],
474 help='Variables to process: P, Z, V')
475 parser.add_argument('--pulses', nargs='*', default=['1', '2'],
476 help='Variables to process: 1, 2')
477 parser.add_argument('--angles', nargs='*', default=[], type=int,
478 help='Angles to process')
479 parser.add_argument('--time_offset', default=0,
480 help='Fix time offset')
481 parser.add_argument('--range', default=60, type=float,
482 help='Max range to plot')
483 parser.add_argument('--mask', default=0.36, type=float,
484 help='Filter mask over SNR')
485 parser.add_argument('--save', action='store_true',
486 help='Create output files')
487 parser.add_argument('--plot', action='store_true',
488 help='Create plot files')
489 parser.add_argument('--show', action='store_true',
490 help='Show matplotlib plot.')
491 parser.add_argument('--online', action='store_true',
492 help='Set online mode.')
493 parser.add_argument('--server', action='store_true',
494 help='Send to realtime')
495 parser.add_argument('--start_time', default='',
496 help='Set start time.')
497 parser.add_argument('--end_time', default='',
498 help='Set end time.')
499 parser.add_argument('--label', default='',
500 help='Label for plot & param folder')
501 parser.add_argument('--mode', default=None,
502 help='Type of scan')
503 parser.add_argument('--rmDC', action='store_true',
504 help='Apply remove DC.')
505 args = parser.parse_args()
506
507 project = main(args)
508 project.start()
509
510 #python sophy_A.py HYO_CC4_CC64_COMB@2022-12-27T00-00-32 --parameters Z --plot --save --show --rmDC --label Z_04 --range 60 --start_time "22:00:00"
511 # colocar siempre el range que asume 0 y no hace la seleccion de alturas
512 #python sophy_proc.py PIU@2023-12-19T14-15-16 --parameters Z --plot --save --rmDC --label magic10 --range 10 --start_time 14:28:00
513 #python sophy_proc.py PIU@2024-01-11T23-18-32 --parameters Z --plot --save --rmDC --label magic10 --range 75
General Comments 0
You need to be logged in to leave comments. Login now