##// END OF EJS Templates
fixing merge
Juan C. Espinoza -
r938:9e80eea2eb45 merge
parent child
Show More
@@ -8,6 +8,7 import ast
8 8 import datetime
9 9 import traceback
10 10 import math
11 import time
11 12 from multiprocessing import Process, Queue, cpu_count
12 13
13 14 import schainpy
@@ -66,8 +67,7 def multiSchain(child, nProcess=cpu_count(), startDate=None, endDate=None, by_da
66 67 for process in processes:
67 68 process.join()
68 69 process.terminate()
69 sys.exit()
70
70 time.sleep(3)
71 71
72 72 class ParameterConf():
73 73
@@ -65,7 +65,7 def hildebrand_sekhon(data, navg):
65 65 anoise : noise's level
66 66 """
67 67
68 sortdata = numpy.sort(data,axis=None)
68 sortdata = numpy.sort(data, axis=None)
69 69 # lenOfData = len(sortdata)
70 70 # nums_min = lenOfData*0.2
71 71 #
@@ -24,9 +24,8 class PlotData(Operation, Process):
24 24
25 25 CODE = 'Figure'
26 26 colormap = 'jro'
27 CONFLATE = True
27 CONFLATE = False
28 28 __MAXNUMX = 80
29 __MAXNUMY = 80
30 29 __missing = 1E30
31 30
32 31 def __init__(self, **kwargs):
@@ -55,7 +54,9 class PlotData(Operation, Process):
55 54 self.xrange = kwargs.get('xrange', 24)
56 55 self.ymin = kwargs.get('ymin', None)
57 56 self.ymax = kwargs.get('ymax', None)
57 self.__MAXNUMY = kwargs.get('decimation', 80)
58 58 self.throttle_value = 5
59 self.times = []
59 60
60 61 def fill_gaps(self, x_buffer, y_buffer, z_buffer):
61 62
@@ -120,15 +121,23 class PlotData(Operation, Process):
120 121 receiver = context.socket(zmq.SUB)
121 122 receiver.setsockopt(zmq.SUBSCRIBE, '')
122 123 receiver.setsockopt(zmq.CONFLATE, self.CONFLATE)
124
123 125 if 'server' in self.kwargs['parent']:
124 126 receiver.connect('ipc:///tmp/{}.plots'.format(self.kwargs['parent']['server']))
125 127 else:
126 128 receiver.connect("ipc:///tmp/zmq.plots")
127 129
130 seconds_passed = 0
131
128 132 while True:
129 133 try:
130 self.data = receiver.recv_pyobj(flags=zmq.NOBLOCK)
134 self.data = receiver.recv_pyobj(flags=zmq.NOBLOCK)#flags=zmq.NOBLOCK
135 self.started = self.data['STARTED']
131 136 self.dataOut = self.data['dataOut']
137
138 if (len(self.times) < len(self.data['times']) and not self.started and self.data['ENDED']):
139 continue
140
132 141 self.times = self.data['times']
133 142 self.times.sort()
134 143 self.throttle_value = self.data['throttle']
@@ -136,16 +145,25 class PlotData(Operation, Process):
136 145 self.max_time = self.times[-1]
137 146
138 147 if self.isConfig is False:
148 print 'setting up'
139 149 self.setup()
140 150 self.isConfig = True
141 self.__plot()
151 self.__plot()
142 152
143 153 if self.data['ENDED'] is True:
154 print '********GRAPHIC ENDED********'
155 self.ended = True
144 156 self.isConfig = False
157 self.__plot()
158 elif seconds_passed >= self.data['throttle']:
159 print 'passed', seconds_passed
160 self.__plot()
161 seconds_passed = 0
145 162
146 163 except zmq.Again as e:
147 164 print 'Waiting for data...'
148 plt.pause(self.throttle_value)
165 plt.pause(2)
166 seconds_passed += 2
149 167
150 168 def close(self):
151 169 if self.dataOut:
@@ -472,15 +490,14 class PlotRTIData(PlotData):
472 490
473 491 self.z = np.array(self.z)
474 492 for n, ax in enumerate(self.axes):
475
476 493 x, y, z = self.fill_gaps(*self.decimate())
477 494 xmin = self.min_time
478 495 xmax = xmin+self.xrange*60*60
496 self.zmin = self.zmin if self.zmin else np.min(self.z)
497 self.zmax = self.zmax if self.zmax else np.max(self.z)
479 498 if ax.firsttime:
480 499 self.ymin = self.ymin if self.ymin else np.nanmin(self.y)
481 500 self.ymax = self.ymax if self.ymax else np.nanmax(self.y)
482 self.zmin = self.zmin if self.zmin else np.nanmin(self.z)
483 self.zmax = self.zmax if self.zmax else np.nanmax(self.z)
484 501 plot = ax.pcolormesh(x, y, z[n].T,
485 502 vmin=self.zmin,
486 503 vmax=self.zmax,
@@ -1,7 +1,7
1 1 import os
2 2 import datetime
3 3 import numpy
4
4 import inspect
5 5 from figure import Figure, isRealtime, isTimeInHourRange
6 6 from plotting_codes import *
7 7
@@ -642,7 +642,6 class ParametersPlot(Figure):
642 642 save=False, figpath='./', lastone=0,figfile=None, ftp=False, wr_period=1, show=True,
643 643 server=None, folder=None, username=None, password=None,
644 644 ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0):
645
646 645 """
647 646
648 647 Input:
@@ -792,7 +791,7 class Parameters1Plot(Figure):
792 791 self.__nsubplots = 1
793 792
794 793 self.WIDTH = 800
795 self.HEIGHT = 150
794 self.HEIGHT = 180
796 795 self.WIDTHPROF = 120
797 796 self.HEIGHTPROF = 0
798 797 self.counter_imagwr = 0
@@ -857,7 +856,7 class Parameters1Plot(Figure):
857 856 save=False, figpath='./', lastone=0,figfile=None, ftp=False, wr_period=1, show=True,
858 857 server=None, folder=None, username=None, password=None,
859 858 ftp_wei=0, exp_code=0, sub_exp_code=0, plot_pos=0):
860
859 #print inspect.getargspec(self.run).args
861 860 """
862 861
863 862 Input:
@@ -888,7 +888,8 class JRODataReader(JRODataIO):
888 888 print '[Reading] No more files to read'
889 889 return 0
890 890
891 print '[Reading] Setting the file: %s' % self.filename
891 if self.verbose:
892 print '[Reading] Setting the file: %s' % self.filename
892 893
893 894 self.__readFirstHeader()
894 895 self.nReadBlocks = 0
@@ -1053,9 +1054,10 class JRODataReader(JRODataIO):
1053 1054
1054 1055 break
1055 1056
1056 print "[Reading] Block No. %d/%d -> %s" %(self.nReadBlocks,
1057 self.processingHeaderObj.dataBlocksPerFile,
1058 self.dataOut.datatime.ctime())
1057 if self.verbose:
1058 print "[Reading] Block No. %d/%d -> %s" %(self.nReadBlocks,
1059 self.processingHeaderObj.dataBlocksPerFile,
1060 self.dataOut.datatime.ctime())
1059 1061 return 1
1060 1062
1061 1063 def __readFirstHeader(self):
@@ -1266,7 +1268,9 class JRODataReader(JRODataIO):
1266 1268 blocktime=None,
1267 1269 queue=None,
1268 1270 skip=None,
1269 cursor=None):
1271 cursor=None,
1272 warnings=True,
1273 verbose=True):
1270 1274
1271 1275 if path == None:
1272 1276 raise ValueError, "[Reading] The path is not valid"
@@ -1338,6 +1342,9 class JRODataReader(JRODataIO):
1338 1342 self.selBlocksize = blocksize
1339 1343 self.selBlocktime = blocktime
1340 1344
1345 # Verbose-----------
1346 self.verbose = verbose
1347 self.warnings = warnings
1341 1348
1342 1349 if not(self.setNextFile()):
1343 1350 if (startDate!=None) and (endDate!=None):
@@ -3,6 +3,29
3 3 $Author: murco $
4 4 $Id: jroproc_base.py 1 2012-11-12 18:56:07Z murco $
5 5 '''
6 import inspect
7 from fuzzywuzzy import process
8
9 def checkKwargs(method, kwargs):
10 currentKwargs = kwargs
11 choices = inspect.getargspec(method).args
12 try:
13 choices.remove('self')
14 except Exception as e:
15 pass
16
17 try:
18 choices.remove('dataOut')
19 except Exception as e:
20 pass
21
22 for kwarg in kwargs:
23 fuzz = process.extractOne(kwarg, choices)
24 if fuzz is None:
25 continue
26 if fuzz[1] < 100:
27 raise Exception('\x1b[0;32;40mDid you mean {} instead of {} in {}? \x1b[0m'.
28 format(fuzz[0], kwarg, method.__self__.__class__.__name__))
6 29
7 30 class ProcessingUnit(object):
8 31
@@ -41,14 +64,18 class ProcessingUnit(object):
41 64
42 65 self.args = args
43 66 self.kwargs = kwargs
67 checkKwargs(self.run, kwargs)
68
69 def getAllowedArgs(self):
70 return inspect.getargspec(self.run).args
44 71
45 72 def addOperationKwargs(self, objId, **kwargs):
46 73 '''
47 74 '''
48
75
49 76 self.operationKwargs[objId] = kwargs
50
51
77
78
52 79 def addOperation(self, opObj, objId):
53 80
54 81 """
@@ -117,17 +144,17 class ProcessingUnit(object):
117 144 #Executing the self method
118 145
119 146 if hasattr(self, 'mp'):
120 if name=='run':
121 if self.mp is False:
147 if name=='run':
148 if self.mp is False:
122 149 self.mp = True
123 150 self.start()
124 151 else:
125 152 self.operationKwargs[opId]['parent'] = self.kwargs
126 methodToCall(**self.operationKwargs[opId])
153 methodToCall(**self.operationKwargs[opId])
127 154 else:
128 if name=='run':
155 if name=='run':
129 156 methodToCall(**self.kwargs)
130 else:
157 else:
131 158 methodToCall(**self.operationKwargs[opId])
132 159
133 160 if self.dataOut is None:
@@ -168,7 +195,7 class ProcessingUnit(object):
168 195 else:
169 196 externalProcObj.run(self.dataOut, **externalProcObj.kwargs)
170 197 self.operationKwargs[objId] = externalProcObj.kwargs
171
198
172 199
173 200 return True
174 201
@@ -283,6 +310,10 class Operation(object):
283 310 self.__buffer = None
284 311 self.isConfig = False
285 312 self.kwargs = kwargs
313 checkKwargs(self.run, kwargs)
314
315 def getAllowedArgs(self):
316 return inspect.getargspec(self.run).args
286 317
287 318 def setup(self):
288 319
@@ -7,7 +7,7 import json
7 7 import numpy
8 8 import paho.mqtt.client as mqtt
9 9 import zmq
10 import cPickle as pickle
10 from profilehooks import profile
11 11 import datetime
12 12 from zmq.utils.monitor import recv_monitor_message
13 13 from functools import wraps
@@ -29,7 +29,7 def roundFloats(obj):
29 29 elif isinstance(obj, float):
30 30 return round(obj, 2)
31 31
32 def decimate(z):
32 def decimate(z, MAXNUMY):
33 33 # dx = int(len(self.x)/self.__MAXNUMX) + 1
34 34
35 35 dy = int(len(z[0])/MAXNUMY) + 1
@@ -107,7 +107,7 class PublishData(Operation):
107 107 print "MQTT Conection error."
108 108 self.client = False
109 109
110 def setup(self, port=1883, username=None, password=None, clientId="user", zeromq=1, **kwargs):
110 def setup(self, port=1883, username=None, password=None, clientId="user", zeromq=1, verbose=True, **kwargs):
111 111 self.counter = 0
112 112 self.topic = kwargs.get('topic', 'schain')
113 113 self.delay = kwargs.get('delay', 0)
@@ -119,6 +119,8 class PublishData(Operation):
119 119 self.zeromq = zeromq
120 120 self.mqtt = kwargs.get('plottype', 0)
121 121 self.client = None
122 self.verbose = verbose
123 self.dataOut.firstdata = True
122 124 setup = []
123 125 if mqtt is 1:
124 126 self.client = mqtt.Client(
@@ -150,6 +152,7 class PublishData(Operation):
150 152 self.zmq_socket.connect(address)
151 153 time.sleep(1)
152 154
155
153 156 def publish_data(self):
154 157 self.dataOut.finished = False
155 158 if self.mqtt is 1:
@@ -230,8 +233,11 class PublishData(Operation):
230 233 self.client.publish(self.topic + self.plottype, json.dumps(payload), qos=0)
231 234
232 235 if self.zeromq is 1:
233 print '[Sending] {} - {}'.format(self.dataOut.type, self.dataOut.datatime)
236 if self.verbose:
237 print '[Sending] {} - {}'.format(self.dataOut.type, self.dataOut.datatime)
234 238 self.zmq_socket.send_pyobj(self.dataOut)
239 self.dataOut.firstdata = False
240
235 241
236 242 def run(self, dataOut, **kwargs):
237 243 self.dataOut = dataOut
@@ -246,12 +252,11 class PublishData(Operation):
246 252 if self.zeromq is 1:
247 253 self.dataOut.finished = True
248 254 self.zmq_socket.send_pyobj(self.dataOut)
249
255 self.zmq_socket.close()
250 256 if self.client:
251 257 self.client.loop_stop()
252 258 self.client.disconnect()
253 259
254
255 260 class ReceiverData(ProcessingUnit, Process):
256 261
257 262 throttle_value = 5
@@ -330,12 +335,13 class ReceiverData(ProcessingUnit, Process):
330 335
331 336 return sendDataThrottled
332 337
338
333 339 def send(self, data):
334 340 # print '[sending] data=%s size=%s' % (data.keys(), len(data['times']))
335 341 self.sender.send_pyobj(data)
336 342
337 def update(self):
338 343
344 def update(self):
339 345 t = self.dataOut.utctime
340 346
341 347 if t in self.data['times']:
@@ -398,11 +404,14 class ReceiverData(ProcessingUnit, Process):
398 404 self.sender_web = self.context.socket(zmq.PUB)
399 405 self.sender_web.connect(self.plot_address)
400 406 time.sleep(1)
407
401 408 if 'server' in self.kwargs:
402 409 self.sender.bind("ipc:///tmp/{}.plots".format(self.kwargs['server']))
403 410 else:
404 411 self.sender.bind("ipc:///tmp/zmq.plots")
405 412
413 time.sleep(3)
414
406 415 t = Thread(target=self.event_monitor, args=(monitor,))
407 416 t.start()
408 417
@@ -413,6 +422,10 class ReceiverData(ProcessingUnit, Process):
413 422
414 423 self.update()
415 424
425 if self.dataOut.firstdata is True:
426 self.data['STARTED'] = True
427
428
416 429 if self.dataOut.finished is True:
417 430 self.send(self.data)
418 431 self.connections -= 1
@@ -421,6 +434,7 class ReceiverData(ProcessingUnit, Process):
421 434 self.data['ENDED'] = True
422 435 self.send(self.data)
423 436 self.setup()
437 self.started = False
424 438 else:
425 439 if self.realtime:
426 440 self.send(self.data)
@@ -429,6 +443,7 class ReceiverData(ProcessingUnit, Process):
429 443 self.sendData(self.send, self.data)
430 444 self.started = True
431 445
446 self.data['STARTED'] = False
432 447 return
433 448
434 449 def sendToWeb(self):
@@ -11,26 +11,26 def fiber(cursor, skip, q, dt):
11 11 controllerObj.setup(id='191', name='test01', description=desc)
12 12
13 13 readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader',
14 path='/home/nanosat/data/hysell_data20/pdata',
14 path='/home/nanosat/data/sp1_f0',
15 15 startDate=dt,
16 16 endDate=dt,
17 17 startTime="00:00:00",
18 18 endTime="23:59:59",
19 19 online=0,
20 20 #set=1426485881,
21 delay=10,
22 21 walk=1,
23 22 queue=q,
24 23 cursor=cursor,
25 24 skip=skip,
25 verbose=1
26 26 #timezone=-5*3600
27 27 )
28 28
29 29 # #opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock')
30 30 #
31 31 procUnitConfObj2 = controllerObj.addProcUnit(datatype='Spectra', inputId=readUnitConfObj.getId())
32 # opObj11 = procUnitConfObj2.addParameter(name='pairsList', value='(0,1)', format='pairslist')
33 #
32 # procUnitConfObj2.addParameter(name='nipp', value='5', format='int')
33
34 34 procUnitConfObj3 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=readUnitConfObj.getId())
35 35 opObj11 = procUnitConfObj3.addOperation(name='SpectralMoments', optype='other')
36 36
@@ -44,10 +44,19 def fiber(cursor, skip, q, dt):
44 44 # opObj11.addParameter(name='save', value='1', format='int')
45 45 # opObj11.addParameter(name='figpath', value=figpath, format='str')
46 46
47 # opObj11 = procUnitConfObj2.addOperation(name='RTIPlot', optype='other')
47 # opObj11 = procUnitConfObj3.addOperation(name='Parameters1Plot', optype='other')
48 # opObj11.addParameter(name='channelList', value='0', format='intList')
49
48 50 # opObj11.addParameter(name='id', value='2000', format='int')
49 # opObj11.addParameter(name='wintitzmaxle', value='HF_Jicamarca', format='str')
50 # opObj11.addParameter(name='showprofile', value='0', format='int')
51 # # opObj11.addParameter(name='colormap', value='0', format='bool')
52 # opObj11.addParameter(name='onlySNR', value='1', format='bool')
53 # opObj11.addParameter(name='DOP', value='0', format='bool')
54 # # opObj11.addParameter(name='showSNR', value='1', format='bool')
55 # # opObj11.addParameter(name='SNRthresh', value='0', format='int')
56 # opObj11.addParameter(name='SNRmin', value='-10', format='int')
57 # opObj11.addParameter(name='SNRmax', value='30', format='int')
58
59 # opObj11.addParameter(name='showSNR', value='1', format='int')
51 60 # # opObj11.addParameter(name='channelList', value='0', format='intlist')
52 61 # # opObj11.addParameter(name='xmin', value='0', format='float')
53 62 # opObj11.addParameter(name='xmin', value='0', format='float')
@@ -60,13 +69,14 def fiber(cursor, skip, q, dt):
60 69 #
61 70 opObj12 = procUnitConfObj3.addOperation(name='PublishData', optype='other')
62 71 opObj12.addParameter(name='zeromq', value=1, format='int')
72 opObj12.addParameter(name='verbose', value=0, format='bool')
63 73
64 74
65 75 # opObj13 = procUnitConfObj3.addOperation(name='PublishData', optype='other')
66 76 # opObj13.addParameter(name='zeromq', value=1, format='int')
67 77 # opObj13.addParameter(name='server', value="juanca", format='str')
68 78
69 opObj12.addParameter(name='delay', value=1, format='int')
79 opObj12.addParameter(name='delay', value=0, format='int')
70 80
71 81
72 82 # print "Escribiendo el archivo XML"
@@ -84,4 +94,4 if __name__ == '__main__':
84 94 parser = argparse.ArgumentParser(description='Set number of parallel processes')
85 95 parser.add_argument('--nProcess', default=1, type=int)
86 96 args = parser.parse_args()
87 multiSchain(fiber, nProcess=args.nProcess, startDate='2015/09/26', endDate='2015/09/26')
97 multiSchain(fiber, nProcess=args.nProcess, startDate='2017/01/26', endDate='2017/01/28')
@@ -1,75 +1,97
1 #!/usr/bin/env python
2 '''
3 Created on Jul 7, 2014
1 import argparse
4 2
5 @author: roj-idl71
6 '''
7 import os, sys
8 from datetime import datetime, timedelta
9 import multiprocessing
10 from schainpy.controller import Project
3 from schainpy.controller import Project, multiSchain
11 4
12 def main(date):
5 desc = "HF_EXAMPLE"
13 6
14 controllerObj = Project()
15
16 controllerObj.setup(id='191', name='test01', description='')
17
18 readUnitConfObj = controllerObj.addReadUnit(datatype='Spectra',
19 path='/home/nanosat/data/zeus',
20 startDate=date,
21 endDate=date,
22 startTime='00:00:00',
23 endTime='23:59:59',
24 online=0,
25 walk=1,
26 expLabel='')
27
28 procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=readUnitConfObj.getId())
29 #opObj11 = procUnitConfObj1.addOperation(name='removeDC')
30 #opObj11.addParameter(name='mode', value='1', format='int')
31
32 #opObj11 = procUnitConfObj1.addOperation(name='removeInterference')
33
34
35 opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='other')
36 opObj11.addParameter(name='id', value='10', format='int')
37 opObj11.addParameter(name='wintitle', value='150Km', format='str')
38 opObj11.addParameter(name='colormap', value='jro', format='str')
39 opObj11.addParameter(name='xaxis', value='time', format='str')
40 opObj11.addParameter(name='xmin', value='0', format='int')
41 opObj11.addParameter(name='xmax', value='23', format='int')
42 #opObj11.addParameter(name='ymin', value='100', format='int')
43 #opObj11.addParameter(name='ymax', value='150', format='int')
44 opObj11.addParameter(name='zmin', value='10', format='int')
45 opObj11.addParameter(name='zmax', value='35', format='int')
7 def fiber(cursor, skip, q, dt):
46 8
9 controllerObj = Project()
47 10
48
49
50 opObject12 = procUnitConfObj1.addOperation(name='PlotRTIData', optype='other')
51 opObject12.addParameter(name='id', value='12', format='int')
52 opObject12.addParameter(name='wintitle', value='150Km', format='str')
53 opObject12.addParameter(name='colormap', value='jro', format='str')
54 opObject12.addParameter(name='xaxis', value='time', format='str')
55 opObject12.addParameter(name='xmin', value='0', format='int')
56 opObject12.addParameter(name='xmax', value='23', format='int')
57 #opObject12.addParameter(name='ymin', value='100', format='int')
58 #opObject12.addParameter(name='ymax', value='150', format='int')
59 opObject12.addParameter(name='zmin', value='10', format='int')
60 opObject12.addParameter(name='zmax', value='35', format='int')
61 #opObject12.addParameter(name='pause', value='1', format='bool')
62 opObject12.addParameter(name='show', value='0', format='bool')
63 opObject12.addParameter(name='save', value='/tmp', format='str')
64
11 controllerObj.setup(id='191', name='test01', description=desc)
12
13 readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader',
14 path='/home/nanosat/data/julia',
15 startDate=dt,
16 endDate=dt,
17 startTime="00:00:00",
18 endTime="23:59:59",
19 online=0,
20 #set=1426485881,
21 delay=10,
22 walk=1,
23 queue=q,
24 cursor=cursor,
25 skip=skip,
26 #timezone=-5*3600
27 )
28
29 # #opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock')
30 #
31 procUnitConfObj2 = controllerObj.addProcUnit(datatype='Spectra', inputId=readUnitConfObj.getId())
32 # procUnitConfObj2.addParameter(name='nipp', value='5', format='int')
33
34 # procUnitConfObj3 = controllerObj.addProcUnit(datatype='ParametersProc', inputId=readUnitConfObj.getId())
35 # opObj11 = procUnitConfObj3.addOperation(name='SpectralMoments', optype='other')
36
37 #
38 # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other')
39 # opObj11.addParameter(name='id', value='1000', format='int')
40 # opObj11.addParameter(name='wintitle', value='HF_Jicamarca_Spc', format='str')
41 # opObj11.addParameter(name='channelList', value='0', format='intlist')
42 # opObj11.addParameter(name='zmin', value='-120', format='float')
43 # opObj11.addParameter(name='zmax', value='-70', format='float')
44 # opObj11.addParameter(name='save', value='1', format='int')
45 # opObj11.addParameter(name='figpath', value=figpath, format='str')
46
47 # opObj11 = procUnitConfObj3.addOperation(name='Parameters1Plot', optype='other')
48 # opObj11.addParameter(name='channelList', value='0', format='intList')
49 #
50 # opObj11.addParameter(name='id', value='2000', format='int')
51 # # opObj11.addParameter(name='colormap', value='0', format='bool')
52 # opObj11.addParameter(name='onlySNR', value='1', format='bool')
53 # opObj11.addParameter(name='DOP', value='0', format='bool')
54 # opObj11.addParameter(name='showSNR', value='1', format='bool')
55 # opObj11.addParameter(name='SNRthresh', value='0', format='int')
56 # opObj11.addParameter(name='SNRmin', value='-10', format='int')
57 # opObj11.addParameter(name='SNRmax', value='30', format='int')
58
59 # opObj11.addParameter(name='showSNR', value='1', format='int')
60 # # opObj11.addParameter(name='channelList', value='0', format='intlist')
61 # # opObj11.addParameter(name='xmin', value='0', format='float')
62 # opObj11.addParameter(name='xmin', value='0', format='float')
63 # opObj11.addParameter(name='xmax', value='24', format='float')
64
65 # opObj11.addParameter(name='zmin', value='-110', format='float')
66 # opObj11.addParameter(name='zmax', value='-70', format='float')
67 # opObj11.addParameter(name='save', value='0', format='int')
68 # # opObj11.addParameter(name='figpath', value='/tmp/', format='str')
69 #
70 opObj12 = procUnitConfObj2.addOperation(name='PublishData', optype='other')
71 opObj12.addParameter(name='zeromq', value=1, format='int')
72 # opObj12.addParameter(name='server', value='tcp://10.10.10.82:7000', format='str')
73
74
75 # opObj13 = procUnitConfObj3.addOperation(name='PublishData', optype='other')
76 # opObj13.addParameter(name='zeromq', value=1, format='int')
77 # opObj13.addParameter(name='server', value="juanca", format='str')
78
79 # opObj12.addParameter(name='delay', value=1, format='int')
80
81
82 # print "Escribiendo el archivo XML"
83 # controllerObj.writeXml(filename)
84 # print "Leyendo el archivo XML"
85 # controllerObj.readXml(filename)
86
87
88 # timeit.timeit('controllerObj.run()', number=2)
65 89
66 90 controllerObj.start()
67 91
68 if __name__=='__main__':
69
70 dt = datetime(2017, 1, 12)
71
72 dates = [(dt+timedelta(x)).strftime('%Y/%m/%d') for x in range(20)]
73 92
74 p = multiprocessing.Pool(4)
75 p.map(main, dates)
93 if __name__ == '__main__':
94 parser = argparse.ArgumentParser(description='Set number of parallel processes')
95 parser.add_argument('--nProcess', default=1, type=int)
96 args = parser.parse_args()
97 multiSchain(fiber, nProcess=args.nProcess, startDate='2016/08/19', endDate='2016/08/19')
@@ -16,9 +16,9 if __name__ == '__main__':
16 16
17 17 proc1 = controllerObj.addProcUnit(name='ReceiverData')
18 18 proc1.addParameter(name='realtime', value='0', format='bool')
19 proc1.addParameter(name='plottypes', value='rti,coh,phase,snr,dop', format='str')
19 proc1.addParameter(name='plottypes', value='rti,coh,phase', format='str')
20 20 proc1.addParameter(name='throttle', value='10', format='int')
21 proc1.addParameter(name='plot_server', value='tcp://10.10.10.82:7000', format='str')
21 # proc1.addParameter(name='server', value='tcp://10.10.10.82:7000', format='str')
22 22 ## TODO Agregar direccion de server de publicacion a graficos como variable
23 23
24 24 op1 = proc1.addOperation(name='PlotRTIData', optype='other')
@@ -32,26 +32,26 if __name__ == '__main__':
32 32 op2.addParameter(name='save', value='/home/nanosat/Pictures', format='str')
33 33 op2.addParameter(name='colormap', value='jet', format='str')
34 34 op2.addParameter(name='show', value='0', format='bool')
35 # #
35 # # #
36 36 op6 = proc1.addOperation(name='PlotPHASEData', optype='other')
37 37 op6.addParameter(name='wintitle', value='Julia 150Km', format='str')
38 38 op6.addParameter(name='save', value='/home/nanosat/Pictures', format='str')
39 39 op6.addParameter(name='show', value='1', format='bool')
40 #
41 # proc2 = controllerObj.addProcUnit(name='ReceiverData')
42 # proc2.addParameter(name='server', value='juanca', format='str')
43 # proc2.addParameter(name='plottypes', value='snr,dop', format='str')
44 #
45 op3 = proc1.addOperation(name='PlotSNRData', optype='other')
46 op3.addParameter(name='wintitle', value='Julia 150Km', format='str')
47 op3.addParameter(name='save', value='/home/nanosat/Pictures', format='str')
48 op3.addParameter(name='show', value='0', format='bool')
49 #
50 op4 = proc1.addOperation(name='PlotDOPData', optype='other')
51 op4.addParameter(name='wintitle', value='Julia 150Km', format='str')
52 op4.addParameter(name='save', value='/home/nanosat/Pictures', format='str')
53 op4.addParameter(name='show', value='0', format='bool')
54 op4.addParameter(name='colormap', value='jet', format='str')
40 # #
41 # # proc2 = controllerObj.addProcUnit(name='ReceiverData')
42 # # proc2.addParameter(name='server', value='juanca', format='str')
43 # # proc2.addParameter(name='plottypes', value='snr,dop', format='str')
44 # #
45 # op3 = proc1.addOperation(name='PlotSNRData', optype='other')
46 # op3.addParameter(name='wintitle', value='Julia 150Km', format='str')
47 # op3.addParameter(name='save', value='/home/nanosat/Pictures', format='str')
48 # op3.addParameter(name='show', value='0', format='bool')
49 # #
50 # op4 = proc1.addOperation(name='PlotDOPData', optype='other')
51 # op4.addParameter(name='wintitle', value='Julia 150Km', format='str')
52 # op4.addParameter(name='save', value='/home/nanosat/Pictures', format='str')
53 # op4.addParameter(name='show', value='0', format='bool')
54 # op4.addParameter(name='colormap', value='jet', format='str')
55 55
56 56
57 57
@@ -1,1 +1,1
1 <Project description="HF_EXAMPLE" id="191" name="test01"><ReadUnit datatype="SpectraReader" id="1911" inputId="0" name="SpectraReader"><Operation id="19111" name="run" priority="1" type="self"><Parameter format="str" id="191111" name="datatype" value="SpectraReader" /><Parameter format="str" id="191112" name="path" value="/home/nanosat/data/hysell_data20/pdata" /><Parameter format="date" id="191113" name="startDate" value="2015/09/26" /><Parameter format="date" id="191114" name="endDate" value="2015/09/26" /><Parameter format="time" id="191115" name="startTime" value="00:00:00" /><Parameter format="time" id="191116" name="endTime" value="23:59:59" /><Parameter format="int" id="191118" name="cursor" value="2" /><Parameter format="int" id="191119" name="skip" value="720" /><Parameter format="int" id="191120" name="delay" value="10" /><Parameter format="int" id="191121" name="walk" value="1" /><Parameter format="int" id="191122" name="online" value="0" /></Operation></ReadUnit><ProcUnit datatype="ParametersProc" id="1913" inputId="1911" name="ParametersProc"><Operation id="19131" name="run" priority="1" type="self" /><Operation id="19132" name="SpectralMoments" priority="2" type="other" /><Operation id="19133" name="PublishData" priority="3" type="other"><Parameter format="int" id="191331" name="zeromq" value="1" /><Parameter format="int" id="191332" name="delay" value="1" /></Operation></ProcUnit><ProcUnit datatype="Spectra" id="1912" inputId="1911" name="SpectraProc"><Operation id="19121" name="run" priority="1" type="self" /></ProcUnit></Project> No newline at end of file
1 <Project description="HF_EXAMPLE" id="191" name="test01"><ReadUnit datatype="SpectraReader" id="1911" inputId="0" name="SpectraReader"><Operation id="19111" name="run" priority="1" type="self"><Parameter format="str" id="191111" name="datatype" value="SpectraReader" /><Parameter format="str" id="191112" name="path" value="/home/nanosat/data/sp1_f0" /><Parameter format="date" id="191113" name="startDate" value="2017/01/28" /><Parameter format="date" id="191114" name="endDate" value="2017/01/28" /><Parameter format="time" id="191115" name="startTime" value="00:00:00" /><Parameter format="time" id="191116" name="endTime" value="23:59:59" /><Parameter format="int" id="191118" name="cursor" value="28" /><Parameter format="int" id="191119" name="skip" value="22" /><Parameter format="int" id="191120" name="walk" value="1" /><Parameter format="int" id="191121" name="verbose" value="1" /><Parameter format="int" id="191122" name="online" value="0" /></Operation></ReadUnit><ProcUnit datatype="ParametersProc" id="1913" inputId="1911" name="ParametersProc"><Operation id="19131" name="run" priority="1" type="self" /><Operation id="19132" name="SpectralMoments" priority="2" type="other" /><Operation id="19133" name="PublishData" priority="3" type="other"><Parameter format="int" id="191331" name="zeromq" value="1" /><Parameter format="bool" id="191332" name="verbose" value="0" /><Parameter format="int" id="191333" name="delay" value="0" /></Operation></ProcUnit><ProcUnit datatype="Spectra" id="1912" inputId="1911" name="SpectraProc"><Operation id="19121" name="run" priority="1" type="self" /></ProcUnit></Project> No newline at end of file
@@ -44,5 +44,6 setup(name="schainpy",
44 44 "paramiko >= 2.1.2",
45 45 "paho-mqtt >= 1.2",
46 46 "zmq",
47 "fuzzywuzzy"
47 48 ],
48 ) No newline at end of file
49 )
General Comments 0
You need to be logged in to leave comments. Login now