##// END OF EJS Templates
finishing day, need testing
José Chávez -
r931:9d13aae43f1b
parent child
Show More
@@ -8,6 +8,7 import ast
8 import datetime
8 import datetime
9 import traceback
9 import traceback
10 import math
10 import math
11 import time
11 from multiprocessing import Process, Queue, cpu_count
12 from multiprocessing import Process, Queue, cpu_count
12
13
13 import schainpy
14 import schainpy
@@ -66,8 +67,7 def multiSchain(child, nProcess=cpu_count(), startDate=None, endDate=None, by_da
66 for process in processes:
67 for process in processes:
67 process.join()
68 process.join()
68 process.terminate()
69 process.terminate()
69 sys.exit()
70 time.sleep(3)
70
71
71
72 class ParameterConf():
72 class ParameterConf():
73
73
@@ -65,7 +65,7 def hildebrand_sekhon(data, navg):
65 anoise : noise's level
65 anoise : noise's level
66 """
66 """
67
67
68 sortdata = numpy.sort(data,axis=None)
68 sortdata = numpy.sort(data, axis=None)
69 # lenOfData = len(sortdata)
69 # lenOfData = len(sortdata)
70 # nums_min = lenOfData*0.2
70 # nums_min = lenOfData*0.2
71 #
71 #
@@ -24,9 +24,8 class PlotData(Operation, Process):
24
24
25 CODE = 'Figure'
25 CODE = 'Figure'
26 colormap = 'jro'
26 colormap = 'jro'
27 CONFLATE = True
27 CONFLATE = False
28 __MAXNUMX = 80
28 __MAXNUMX = 80
29 __MAXNUMY = 80
30 __missing = 1E30
29 __missing = 1E30
31
30
32 def __init__(self, **kwargs):
31 def __init__(self, **kwargs):
@@ -55,7 +54,9 class PlotData(Operation, Process):
55 self.xrange = kwargs.get('xrange', 24)
54 self.xrange = kwargs.get('xrange', 24)
56 self.ymin = kwargs.get('ymin', None)
55 self.ymin = kwargs.get('ymin', None)
57 self.ymax = kwargs.get('ymax', None)
56 self.ymax = kwargs.get('ymax', None)
57 self.__MAXNUMY = kwargs.get('decimation', 80)
58 self.throttle_value = 5
58 self.throttle_value = 5
59 self.times = []
59
60
60 def fill_gaps(self, x_buffer, y_buffer, z_buffer):
61 def fill_gaps(self, x_buffer, y_buffer, z_buffer):
61
62
@@ -121,11 +122,16 class PlotData(Operation, Process):
121 receiver.setsockopt(zmq.SUBSCRIBE, '')
122 receiver.setsockopt(zmq.SUBSCRIBE, '')
122 receiver.setsockopt(zmq.CONFLATE, self.CONFLATE)
123 receiver.setsockopt(zmq.CONFLATE, self.CONFLATE)
123 receiver.connect("ipc:///tmp/zmq.plots")
124 receiver.connect("ipc:///tmp/zmq.plots")
124
125 seconds_passed = 0
125 while True:
126 while True:
126 try:
127 try:
127 self.data = receiver.recv_pyobj(flags=zmq.NOBLOCK)
128 self.data = receiver.recv_pyobj(flags=zmq.NOBLOCK)#flags=zmq.NOBLOCK
129 self.started = self.data['STARTED']
128 self.dataOut = self.data['dataOut']
130 self.dataOut = self.data['dataOut']
131
132 if (len(self.times) < len(self.data['times']) and not self.started and self.data['ENDED']):
133 continue
134
129 self.times = self.data['times']
135 self.times = self.data['times']
130 self.times.sort()
136 self.times.sort()
131 self.throttle_value = self.data['throttle']
137 self.throttle_value = self.data['throttle']
@@ -133,16 +139,25 class PlotData(Operation, Process):
133 self.max_time = self.times[-1]
139 self.max_time = self.times[-1]
134
140
135 if self.isConfig is False:
141 if self.isConfig is False:
142 print 'setting up'
136 self.setup()
143 self.setup()
137 self.isConfig = True
144 self.isConfig = True
138 self.__plot()
145 self.__plot()
139
146
140 if self.data['ENDED'] is True:
147 if self.data['ENDED'] is True:
148 print '********GRAPHIC ENDED********'
149 self.ended = True
141 self.isConfig = False
150 self.isConfig = False
151 self.__plot()
152 elif seconds_passed >= self.data['throttle']:
153 print 'passed', seconds_passed
154 self.__plot()
155 seconds_passed = 0
142
156
143 except zmq.Again as e:
157 except zmq.Again as e:
144 print 'Waiting for data...'
158 print 'Waiting for data...'
145 plt.pause(self.throttle_value)
159 plt.pause(2)
160 seconds_passed += 2
146
161
147 def close(self):
162 def close(self):
148 if self.dataOut:
163 if self.dataOut:
@@ -469,15 +484,14 class PlotRTIData(PlotData):
469
484
470 self.z = np.array(self.z)
485 self.z = np.array(self.z)
471 for n, ax in enumerate(self.axes):
486 for n, ax in enumerate(self.axes):
472
473 x, y, z = self.fill_gaps(*self.decimate())
487 x, y, z = self.fill_gaps(*self.decimate())
474 xmin = self.min_time
488 xmin = self.min_time
475 xmax = xmin+self.xrange*60*60
489 xmax = xmin+self.xrange*60*60
490 self.zmin = self.zmin if self.zmin else np.min(self.z)
491 self.zmax = self.zmax if self.zmax else np.max(self.z)
476 if ax.firsttime:
492 if ax.firsttime:
477 self.ymin = self.ymin if self.ymin else np.nanmin(self.y)
493 self.ymin = self.ymin if self.ymin else np.nanmin(self.y)
478 self.ymax = self.ymax if self.ymax else np.nanmax(self.y)
494 self.ymax = self.ymax if self.ymax else np.nanmax(self.y)
479 self.zmin = self.zmin if self.zmin else np.nanmin(self.z)
480 self.zmax = self.zmax if self.zmax else np.nanmax(self.z)
481 plot = ax.pcolormesh(x, y, z[n].T,
495 plot = ax.pcolormesh(x, y, z[n].T,
482 vmin=self.zmin,
496 vmin=self.zmin,
483 vmax=self.zmax,
497 vmax=self.zmax,
@@ -888,7 +888,8 class JRODataReader(JRODataIO):
888 print '[Reading] No more files to read'
888 print '[Reading] No more files to read'
889 return 0
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 self.__readFirstHeader()
894 self.__readFirstHeader()
894 self.nReadBlocks = 0
895 self.nReadBlocks = 0
@@ -1053,9 +1054,10 class JRODataReader(JRODataIO):
1053
1054
1054 break
1055 break
1055
1056
1056 print "[Reading] Block No. %d/%d -> %s" %(self.nReadBlocks,
1057 if self.verbose:
1057 self.processingHeaderObj.dataBlocksPerFile,
1058 print "[Reading] Block No. %d/%d -> %s" %(self.nReadBlocks,
1058 self.dataOut.datatime.ctime())
1059 self.processingHeaderObj.dataBlocksPerFile,
1060 self.dataOut.datatime.ctime())
1059 return 1
1061 return 1
1060
1062
1061 def __readFirstHeader(self):
1063 def __readFirstHeader(self):
@@ -1266,7 +1268,9 class JRODataReader(JRODataIO):
1266 blocktime=None,
1268 blocktime=None,
1267 queue=None,
1269 queue=None,
1268 skip=None,
1270 skip=None,
1269 cursor=None):
1271 cursor=None,
1272 warnings=True,
1273 verbose=True):
1270
1274
1271 if path == None:
1275 if path == None:
1272 raise ValueError, "[Reading] The path is not valid"
1276 raise ValueError, "[Reading] The path is not valid"
@@ -1338,6 +1342,9 class JRODataReader(JRODataIO):
1338 self.selBlocksize = blocksize
1342 self.selBlocksize = blocksize
1339 self.selBlocktime = blocktime
1343 self.selBlocktime = blocktime
1340
1344
1345 # Verbose-----------
1346 self.verbose = verbose
1347 self.warnings = warnings
1341
1348
1342 if not(self.setNextFile()):
1349 if not(self.setNextFile()):
1343 if (startDate!=None) and (endDate!=None):
1350 if (startDate!=None) and (endDate!=None):
@@ -24,7 +24,7 def checkKwargs(method, kwargs):
24 if fuzz is None:
24 if fuzz is None:
25 continue
25 continue
26 if fuzz[1] < 100:
26 if fuzz[1] < 100:
27 raise Exception('\x1b[2;30;43mDid you mean {} instead of {} in {}? \x1b[0m'.
27 raise Exception('\x1b[0;32;40mDid you mean {} instead of {} in {}? \x1b[0m'.
28 format(fuzz[0], kwarg, method.__self__.__class__.__name__))
28 format(fuzz[0], kwarg, method.__self__.__class__.__name__))
29
29
30 class ProcessingUnit(object):
30 class ProcessingUnit(object):
@@ -7,7 +7,7 import json
7 import numpy
7 import numpy
8 import paho.mqtt.client as mqtt
8 import paho.mqtt.client as mqtt
9 import zmq
9 import zmq
10 import cPickle as pickle
10 from profilehooks import profile
11 import datetime
11 import datetime
12 from zmq.utils.monitor import recv_monitor_message
12 from zmq.utils.monitor import recv_monitor_message
13 from functools import wraps
13 from functools import wraps
@@ -29,7 +29,7 def roundFloats(obj):
29 elif isinstance(obj, float):
29 elif isinstance(obj, float):
30 return round(obj, 2)
30 return round(obj, 2)
31
31
32 def decimate(z):
32 def decimate(z, MAXNUMY):
33 # dx = int(len(self.x)/self.__MAXNUMX) + 1
33 # dx = int(len(self.x)/self.__MAXNUMX) + 1
34
34
35 dy = int(len(z[0])/MAXNUMY) + 1
35 dy = int(len(z[0])/MAXNUMY) + 1
@@ -107,7 +107,7 class PublishData(Operation):
107 print "MQTT Conection error."
107 print "MQTT Conection error."
108 self.client = False
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 self.counter = 0
111 self.counter = 0
112 self.topic = kwargs.get('topic', 'schain')
112 self.topic = kwargs.get('topic', 'schain')
113 self.delay = kwargs.get('delay', 0)
113 self.delay = kwargs.get('delay', 0)
@@ -119,6 +119,8 class PublishData(Operation):
119 self.zeromq = zeromq
119 self.zeromq = zeromq
120 self.mqtt = kwargs.get('plottype', 0)
120 self.mqtt = kwargs.get('plottype', 0)
121 self.client = None
121 self.client = None
122 self.verbose = verbose
123 self.dataOut.firstdata = True
122 setup = []
124 setup = []
123 if mqtt is 1:
125 if mqtt is 1:
124 self.client = mqtt.Client(
126 self.client = mqtt.Client(
@@ -150,6 +152,7 class PublishData(Operation):
150 self.zmq_socket.connect(address)
152 self.zmq_socket.connect(address)
151 time.sleep(1)
153 time.sleep(1)
152
154
155
153 def publish_data(self):
156 def publish_data(self):
154 self.dataOut.finished = False
157 self.dataOut.finished = False
155 if self.mqtt is 1:
158 if self.mqtt is 1:
@@ -230,8 +233,11 class PublishData(Operation):
230 self.client.publish(self.topic + self.plottype, json.dumps(payload), qos=0)
233 self.client.publish(self.topic + self.plottype, json.dumps(payload), qos=0)
231
234
232 if self.zeromq is 1:
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 self.zmq_socket.send_pyobj(self.dataOut)
238 self.zmq_socket.send_pyobj(self.dataOut)
239 self.dataOut.firstdata = False
240
235
241
236 def run(self, dataOut, **kwargs):
242 def run(self, dataOut, **kwargs):
237 self.dataOut = dataOut
243 self.dataOut = dataOut
@@ -246,12 +252,11 class PublishData(Operation):
246 if self.zeromq is 1:
252 if self.zeromq is 1:
247 self.dataOut.finished = True
253 self.dataOut.finished = True
248 self.zmq_socket.send_pyobj(self.dataOut)
254 self.zmq_socket.send_pyobj(self.dataOut)
249
255 self.zmq_socket.close()
250 if self.client:
256 if self.client:
251 self.client.loop_stop()
257 self.client.loop_stop()
252 self.client.disconnect()
258 self.client.disconnect()
253
259
254
255 class ReceiverData(ProcessingUnit, Process):
260 class ReceiverData(ProcessingUnit, Process):
256
261
257 throttle_value = 5
262 throttle_value = 5
@@ -330,12 +335,13 class ReceiverData(ProcessingUnit, Process):
330
335
331 return sendDataThrottled
336 return sendDataThrottled
332
337
338
333 def send(self, data):
339 def send(self, data):
334 # print '[sending] data=%s size=%s' % (data.keys(), len(data['times']))
340 # print '[sending] data=%s size=%s' % (data.keys(), len(data['times']))
335 self.sender.send_pyobj(data)
341 self.sender.send_pyobj(data)
336
342
337 def update(self):
338
343
344 def update(self):
339 t = self.dataOut.utctime
345 t = self.dataOut.utctime
340
346
341 if t in self.data['times']:
347 if t in self.data['times']:
@@ -397,7 +403,7 class ReceiverData(ProcessingUnit, Process):
397 self.sender_web.connect(self.plot_address)
403 self.sender_web.connect(self.plot_address)
398 time.sleep(1)
404 time.sleep(1)
399 self.sender.bind("ipc:///tmp/zmq.plots")
405 self.sender.bind("ipc:///tmp/zmq.plots")
400
406 time.sleep(3)
401 t = Thread(target=self.event_monitor, args=(monitor,))
407 t = Thread(target=self.event_monitor, args=(monitor,))
402 t.start()
408 t.start()
403
409
@@ -408,6 +414,10 class ReceiverData(ProcessingUnit, Process):
408
414
409 self.update()
415 self.update()
410
416
417 if self.dataOut.firstdata is True:
418 self.data['STARTED'] = True
419
420
411 if self.dataOut.finished is True:
421 if self.dataOut.finished is True:
412 self.send(self.data)
422 self.send(self.data)
413 self.connections -= 1
423 self.connections -= 1
@@ -416,6 +426,7 class ReceiverData(ProcessingUnit, Process):
416 self.data['ENDED'] = True
426 self.data['ENDED'] = True
417 self.send(self.data)
427 self.send(self.data)
418 self.setup()
428 self.setup()
429 self.started = False
419 else:
430 else:
420 if self.realtime:
431 if self.realtime:
421 self.send(self.data)
432 self.send(self.data)
@@ -424,6 +435,7 class ReceiverData(ProcessingUnit, Process):
424 self.sendData(self.send, self.data)
435 self.sendData(self.send, self.data)
425 self.started = True
436 self.started = True
426
437
438 self.data['STARTED'] = False
427 return
439 return
428
440
429 def sendToWeb(self):
441 def sendToWeb(self):
@@ -11,18 +11,18 def fiber(cursor, skip, q, dt):
11 controllerObj.setup(id='191', name='test01', description=desc)
11 controllerObj.setup(id='191', name='test01', description=desc)
12
12
13 readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader',
13 readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader',
14 path='/home/nanosat/data/julia',
14 path='/home/nanosat/data/sp1_f0',
15 startDate=dt,
15 startDate=dt,
16 endDate=dt,
16 endDate=dt,
17 startTime="00:00:00",
17 startTime="00:00:00",
18 endTime="23:59:59",
18 endTime="23:59:59",
19 online=0,
19 online=0,
20 #set=1426485881,
20 #set=1426485881,
21 delay=10,
22 walk=1,
21 walk=1,
23 queue=q,
22 queue=q,
24 cursor=cursor,
23 cursor=cursor,
25 skip=skip,
24 skip=skip,
25 verbose=1
26 #timezone=-5*3600
26 #timezone=-5*3600
27 )
27 )
28
28
@@ -44,15 +44,15 def fiber(cursor, skip, q, dt):
44 # opObj11.addParameter(name='save', value='1', format='int')
44 # opObj11.addParameter(name='save', value='1', format='int')
45 # opObj11.addParameter(name='figpath', value=figpath, format='str')
45 # opObj11.addParameter(name='figpath', value=figpath, format='str')
46
46
47 opObj11 = procUnitConfObj3.addOperation(name='Parameters1Plot', optype='other')
47 # opObj11 = procUnitConfObj3.addOperation(name='Parameters1Plot', optype='other')
48 opObj11.addParameter(name='channelList', value='0', format='intList')
48 # opObj11.addParameter(name='channelList', value='0', format='intList')
49
49
50 opObj11.addParameter(name='id', value='2000', format='int')
50 # opObj11.addParameter(name='id', value='2000', format='int')
51 # opObj11.addParameter(name='colormap', value='0', format='bool')
51 # # opObj11.addParameter(name='colormap', value='0', format='bool')
52 opObj11.addParameter(name='onlySNR', value='1', format='bool')
52 # opObj11.addParameter(name='onlySNR', value='1', format='bool')
53 opObj11.addParameter(name='DOP', value='0', format='bool')
53 # opObj11.addParameter(name='DOP', value='0', format='bool')
54 # opObj11.addParameter(name='showSNR', value='1', format='bool')
54 # # opObj11.addParameter(name='showSNR', value='1', format='bool')
55 # opObj11.addParameter(name='SNRthresh', value='0', format='int')
55 # # opObj11.addParameter(name='SNRthresh', value='0', format='int')
56 # opObj11.addParameter(name='SNRmin', value='-10', format='int')
56 # opObj11.addParameter(name='SNRmin', value='-10', format='int')
57 # opObj11.addParameter(name='SNRmax', value='30', format='int')
57 # opObj11.addParameter(name='SNRmax', value='30', format='int')
58
58
@@ -69,13 +69,14 def fiber(cursor, skip, q, dt):
69 #
69 #
70 opObj12 = procUnitConfObj3.addOperation(name='PublishData', optype='other')
70 opObj12 = procUnitConfObj3.addOperation(name='PublishData', optype='other')
71 opObj12.addParameter(name='zeromq', value=1, format='int')
71 opObj12.addParameter(name='zeromq', value=1, format='int')
72 opObj12.addParameter(name='verbose', value=0, format='bool')
72
73
73
74
74 # opObj13 = procUnitConfObj3.addOperation(name='PublishData', optype='other')
75 # opObj13 = procUnitConfObj3.addOperation(name='PublishData', optype='other')
75 # opObj13.addParameter(name='zeromq', value=1, format='int')
76 # opObj13.addParameter(name='zeromq', value=1, format='int')
76 # opObj13.addParameter(name='server', value="juanca", format='str')
77 # opObj13.addParameter(name='server', value="juanca", format='str')
77
78
78 opObj12.addParameter(name='delay', value=1, format='int')
79 opObj12.addParameter(name='delay', value=0, format='int')
79
80
80
81
81 # print "Escribiendo el archivo XML"
82 # print "Escribiendo el archivo XML"
@@ -93,4 +94,4 if __name__ == '__main__':
93 parser = argparse.ArgumentParser(description='Set number of parallel processes')
94 parser = argparse.ArgumentParser(description='Set number of parallel processes')
94 parser.add_argument('--nProcess', default=1, type=int)
95 parser.add_argument('--nProcess', default=1, type=int)
95 args = parser.parse_args()
96 args = parser.parse_args()
96 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
1 import argparse
2 '''
3 Created on Jul 7, 2014
4
2
5 @author: roj-idl71
3 from schainpy.controller import Project, multiSchain
6 '''
7 import os, sys
8 from datetime import datetime, timedelta
9 import multiprocessing
10 from schainpy.controller import Project
11
4
12 def main(date):
5 desc = "HF_EXAMPLE"
13
6
14 controllerObj = Project()
7 def fiber(cursor, skip, q, dt):
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')
46
8
9 controllerObj = Project()
47
10
48
11 controllerObj.setup(id='191', name='test01', description=desc)
49
12
50 opObject12 = procUnitConfObj1.addOperation(name='PlotRTIData', optype='other')
13 readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader',
51 opObject12.addParameter(name='id', value='12', format='int')
14 path='/home/nanosat/data/julia',
52 opObject12.addParameter(name='wintitle', value='150Km', format='str')
15 startDate=dt,
53 opObject12.addParameter(name='colormap', value='jro', format='str')
16 endDate=dt,
54 opObject12.addParameter(name='xaxis', value='time', format='str')
17 startTime="00:00:00",
55 opObject12.addParameter(name='xmin', value='0', format='int')
18 endTime="23:59:59",
56 opObject12.addParameter(name='xmax', value='23', format='int')
19 online=0,
57 #opObject12.addParameter(name='ymin', value='100', format='int')
20 #set=1426485881,
58 #opObject12.addParameter(name='ymax', value='150', format='int')
21 delay=10,
59 opObject12.addParameter(name='zmin', value='10', format='int')
22 walk=1,
60 opObject12.addParameter(name='zmax', value='35', format='int')
23 queue=q,
61 #opObject12.addParameter(name='pause', value='1', format='bool')
24 cursor=cursor,
62 opObject12.addParameter(name='show', value='0', format='bool')
25 skip=skip,
63 opObject12.addParameter(name='save', value='/tmp', format='str')
26 #timezone=-5*3600
64
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 controllerObj.start()
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)
93 if __name__ == '__main__':
75 p.map(main, dates)
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 proc1 = controllerObj.addProcUnit(name='ReceiverData')
17 proc1 = controllerObj.addProcUnit(name='ReceiverData')
18 proc1.addParameter(name='realtime', value='0', format='bool')
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 proc1.addParameter(name='throttle', value='10', format='int')
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 ## TODO Agregar direccion de server de publicacion a graficos como variable
22 ## TODO Agregar direccion de server de publicacion a graficos como variable
23
23
24 op1 = proc1.addOperation(name='PlotRTIData', optype='other')
24 op1 = proc1.addOperation(name='PlotRTIData', optype='other')
@@ -32,26 +32,26 if __name__ == '__main__':
32 op2.addParameter(name='save', value='/home/nanosat/Pictures', format='str')
32 op2.addParameter(name='save', value='/home/nanosat/Pictures', format='str')
33 op2.addParameter(name='colormap', value='jet', format='str')
33 op2.addParameter(name='colormap', value='jet', format='str')
34 op2.addParameter(name='show', value='0', format='bool')
34 op2.addParameter(name='show', value='0', format='bool')
35 # #
35 # # #
36 op6 = proc1.addOperation(name='PlotPHASEData', optype='other')
36 op6 = proc1.addOperation(name='PlotPHASEData', optype='other')
37 op6.addParameter(name='wintitle', value='Julia 150Km', format='str')
37 op6.addParameter(name='wintitle', value='Julia 150Km', format='str')
38 op6.addParameter(name='save', value='/home/nanosat/Pictures', format='str')
38 op6.addParameter(name='save', value='/home/nanosat/Pictures', format='str')
39 op6.addParameter(name='show', value='1', format='bool')
39 op6.addParameter(name='show', value='1', format='bool')
40 #
40 # #
41 # proc2 = controllerObj.addProcUnit(name='ReceiverData')
41 # # proc2 = controllerObj.addProcUnit(name='ReceiverData')
42 # proc2.addParameter(name='server', value='juanca', format='str')
42 # # proc2.addParameter(name='server', value='juanca', format='str')
43 # proc2.addParameter(name='plottypes', value='snr,dop', format='str')
43 # # proc2.addParameter(name='plottypes', value='snr,dop', format='str')
44 #
44 # #
45 op3 = proc1.addOperation(name='PlotSNRData', optype='other')
45 # op3 = proc1.addOperation(name='PlotSNRData', optype='other')
46 op3.addParameter(name='wintitle', value='Julia 150Km', format='str')
46 # op3.addParameter(name='wintitle', value='Julia 150Km', format='str')
47 op3.addParameter(name='save', value='/home/nanosat/Pictures', format='str')
47 # op3.addParameter(name='save', value='/home/nanosat/Pictures', format='str')
48 op3.addParameter(name='show', value='0', format='bool')
48 # op3.addParameter(name='show', value='0', format='bool')
49 #
49 # #
50 op4 = proc1.addOperation(name='PlotDOPData', optype='other')
50 # op4 = proc1.addOperation(name='PlotDOPData', optype='other')
51 op4.addParameter(name='wintitle', value='Julia 150Km', format='str')
51 # op4.addParameter(name='wintitle', value='Julia 150Km', format='str')
52 op4.addParameter(name='save', value='/home/nanosat/Pictures', format='str')
52 # op4.addParameter(name='save', value='/home/nanosat/Pictures', format='str')
53 op4.addParameter(name='show', value='0', format='bool')
53 # op4.addParameter(name='show', value='0', format='bool')
54 op4.addParameter(name='colormap', value='jet', format='str')
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/julia" /><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="0" /><Parameter format="int" id="191119" name="skip" value="0" /><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="Parameters1Plot" priority="3" type="other"><Parameter format="intlist" id="191331" name="channelList" value="0" /><Parameter format="int" id="191332" name="id" value="2000" /><Parameter format="bool" id="191333" name="onlySNR" value="1" /><Parameter format="bool" id="191334" name="DOP" value="0" /></Operation><Operation id="19134" name="PublishData" priority="4" type="other"><Parameter format="int" id="191341" name="zeromq" value="1" /><Parameter format="int" id="191342" 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 "paramiko >= 2.1.2",
44 "paramiko >= 2.1.2",
45 "paho-mqtt >= 1.2",
45 "paho-mqtt >= 1.2",
46 "zmq",
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