##// END OF EJS Templates
Update README and restore parallel script
jespinoza -
r887:6170db3f0d34
parent child
Show More
@@ -0,0 +1,93
1 from mpi4py import MPI
2 import datetime
3 import os, sys
4 #import timeit
5
6 path = os.path.split(os.getcwd())[0]
7 sys.path.append(path)
8
9 from controller import *
10
11 def conversion(x1,x2):
12 a=[x1,x2]
13 for x in a:
14 m,s = divmod(x,60)
15 h,m = divmod(m,60)
16 if x==x1:
17 startime= str("%02d:%02d:%02d" % (h, m, s))
18 if x==x2:
19 endtime =str("%02d:%02d:%02d" % (h, m, s))
20 return startime,endtime
21
22
23
24 def loop(startime,endtime,rank):
25 desc = "HF_EXAMPLE"+str(rank)
26 path= "/home/alex/Documents/hysell_data/pdata/sp1_f0"
27 figpath= "/home/alex/Pictures/pdata_plot"+str(rank)
28
29 filename = "hf_test"+str(rank)+".xml"
30
31 controllerObj = Project()
32
33 controllerObj.setup(id = '191', name='test01'+str(rank), description=desc)
34
35 readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader',
36 path=path,
37 startDate='2015/09/26',
38 endDate='2015/09/26',
39 startTime=startime,
40 endTime=endtime,
41 online=0,
42 #set=1426485881,
43 delay=10,
44 walk=1
45 #timezone=-5*3600
46 )
47
48 #opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock')
49
50 procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=readUnitConfObj.getId())
51
52 opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other')
53 opObj11.addParameter(name='id', value='1000', format='int')
54 opObj11.addParameter(name='wintitle', value='HF_Jicamarca_Spc', format='str')
55 #opObj11.addParameter(name='channelList', value='0', format='intlist')
56 opObj11.addParameter(name='zmin', value='-120', format='float')
57 opObj11.addParameter(name='zmax', value='-70', format='float')
58 opObj11.addParameter(name='save', value='1', format='int')
59 opObj11.addParameter(name='figpath', value=figpath, format='str')
60
61
62 print "Escribiendo el archivo XML"
63 controllerObj.writeXml(filename)
64 print "Leyendo el archivo XML"
65 controllerObj.readXml(filename)
66
67 controllerObj.createObjects()
68 controllerObj.connectObjects()
69
70 #timeit.timeit('controllerObj.run()', number=2)
71
72 controllerObj.run()
73
74
75
76 def parallel():
77
78 comm = MPI.COMM_WORLD
79 rank = comm.Get_rank()
80 size = comm.Get_size()
81 totalStartTime = time.time()
82 print "Hello world from process %d/%d"%(rank,size)
83 # First just for one day :D!
84 num_hours = 4/size
85 time1,time2 = rank*num_hours*3600,(rank+1)*num_hours*3600-60
86 #print time1,time2
87 startime,endtime =conversion(time1,time2)
88 print startime,endtime
89 loop(startime,endtime,rank)
90 print "Total time %f seconds" %(time.time() -totalStartTime)
91
92 if __name__=='__main__':
93 parallel() No newline at end of file
@@ -1,19 +1,131
1 Signal Chain Installation:
1 # Signal Chain
2
2
3 1. Install system dependencies: python-pip python-dev gfortran libpng-dev freetype* libblas-dev liblapack-dev libatlas-base-dev python-qt4 python-tk libssl-dev libhdf5-dev
3 ## Introduction
4 2. Install digital_rf_hdf5 module (developed by Haystack Observatory)
4
5 if you want to use USRP data
5 Signal Chain (SCh) is a radar data processing library developed using [Python](www.python.org) at JRO. SCh provides modules to read, write, process and plot data.
6 3. untar schainpy-x.x.x.tar.gz
6
7 4. cd schainpy-x.x.x
7 ## Installation
8 5. execute:
8
9 [hostname]$ sudo pip install ./
9 Install system dependencies, download the latest stable release from [svn](http://jro-dev.igp.gob.pe/svn/jro_soft/schain/Releases/) e.g. schainpy-2.2.5.tar.gz. and install it as a normal python package.
10 6. testing gui:
10
11 [hostname]$ schainGUI (enter)
11 ```
12
12 $ sudo apt-get install python-pip python-dev gfortran libpng-dev freetype* libblas-dev liblapack-dev libatlas-base-dev python-qt4 python-tk libssl-dev libhdf5-dev
13 If you want to use serialization and zerorpc you will need to install the next packages:
13 $ tar xvzf schainpy-2.2.5.tar.gz
14
14 $ cd schainpy-2.2.5
15 1. zerorpc
15 $ sudo pip install ./
16 [hostname]$ sudo port install zerorpc
16 ```
17
17
18 2. cPickle, msgpack and msgpack_numpy
18 **Its recommended to install schain in a virtual environment**
19 [hostname]$ sudo port install cPickle msgpack mspack_numpy
19
20 ```
21 $ sudo pip install virtualenv
22 $ virtualenv /path/to/virtual --system-site-packages
23 $ source /path/to/virtual/bin/activate
24 (virtual) $ cd schainpy-2.2.5
25 (virtual) $ pip install ./
26 ```
27
28 ## First Script
29
30 Read Spectra data (.pdata) - remove dc - plot spectra & RTI
31
32 Import SCh and creating a project
33
34 ```python
35 #!/usr/bin/python
36
37 from schainpy.controller import Project
38
39 controller = Project()
40 controller.setup(id = '100',
41 name='test',
42 description='Basic experiment')
43
44
45 ```
46
47 Adding read unit and operations
48
49 ```python
50 read_unit = controller.addReadUnit(datatype='Spectra',
51 path='/path/to/pdata/',
52 startDate='2014/01/31',
53 endDate='2014/03/31',
54 startTime='00:00:00',
55 endTime='23:59:59',
56 online=0,
57 walk=0)
58
59 proc_unit = controller.addProcUnit(datatype='Spectra',
60 inputId=read_unit.getId())
61
62 op = proc_unit.addOperation(name='selectChannels')
63 op.addParameter(name='channelList', value='0,1', format='intlist')
64
65 op = proc_unit.addOperation(name='selectHeights')
66 op.addParameter(name='minHei', value='80', format='float')
67 op.addParameter(name='maxHei', value='200', format='float')
68
69 op = proc_unit.addOperation(name='removeDC')
70
71 ```
72
73 Plotting data & start project
74
75 ```python
76 op = proc_unit.addOperation(name='SpectraPlot', optype='other')
77 op.addParameter(name='id', value='1', format='int')
78 op.addParameter(name='wintitle', value='Spectra', format='str')
79
80 op = procUnitConfObj1.addOperation(name='RTIPlot', optype='other')
81 op.addParameter(name='id', value='2', format='int')
82 op.addParameter(name='wintitle', value='RTI', format='str')
83
84 controller.start()
85
86 ```
87
88 Full script
89
90
91 ```python
92 #!/usr/bin/python
93
94 from schainpy.controller import Project
95
96 controller = Project()
97 controller.setup(id = '100',
98 name='test',
99 description='Basic experiment')
100 read_unit = controller.addReadUnit(datatype='Spectra',
101 path='/path/to/pdata/',
102 startDate='2014/01/31',
103 endDate='2014/03/31',
104 startTime='00:00:00',
105 endTime='23:59:59',
106 online=0,
107 walk=0)
108
109 proc_unit = controller.addProcUnit(datatype='Spectra',
110 inputId=read_unit.getId())
111
112 op = proc_unit.addOperation(name='selectChannels')
113 op.addParameter(name='channelList', value='0,1', format='intlist')
114
115 op = proc_unit.addOperation(name='selectHeights')
116 op.addParameter(name='minHei', value='80', format='float')
117 op.addParameter(name='maxHei', value='200', format='float')
118
119 op = proc_unit.addOperation(name='removeDC')
120
121 op = proc_unit.addOperation(name='SpectraPlot', optype='other')
122 op.addParameter(name='id', value='6', format='int')
123 op.addParameter(name='wintitle', value='Spectra', format='str')
124
125 op = procUnitConfObj1.addOperation(name='RTIPlot', optype='other')
126 op.addParameter(name='id', value='2', format='int')
127 op.addParameter(name='wintitle', value='RTI', format='str')
128
129 controller.start()
130
131 ```
General Comments 0
You need to be logged in to leave comments. Login now