##// END OF EJS Templates
Fix all PlotData, add SpectraMean, CrossSpectra plots, now Parameters extends Spectra fix bugs in ParametersProc
Fix all PlotData, add SpectraMean, CrossSpectra plots, now Parameters extends Spectra fix bugs in ParametersProc

File last commit:

r887:6170db3f0d34
r922:d680543828ae
Show More
schain_paralel.py
92 lines | 3.1 KiB | text/x-python | PythonLexer
from mpi4py import MPI
import datetime
import os, sys
#import timeit
path = os.path.split(os.getcwd())[0]
sys.path.append(path)
from controller import *
def conversion(x1,x2):
a=[x1,x2]
for x in a:
m,s = divmod(x,60)
h,m = divmod(m,60)
if x==x1:
startime= str("%02d:%02d:%02d" % (h, m, s))
if x==x2:
endtime =str("%02d:%02d:%02d" % (h, m, s))
return startime,endtime
def loop(startime,endtime,rank):
desc = "HF_EXAMPLE"+str(rank)
path= "/home/alex/Documents/hysell_data/pdata/sp1_f0"
figpath= "/home/alex/Pictures/pdata_plot"+str(rank)
filename = "hf_test"+str(rank)+".xml"
controllerObj = Project()
controllerObj.setup(id = '191', name='test01'+str(rank), description=desc)
readUnitConfObj = controllerObj.addReadUnit(datatype='SpectraReader',
path=path,
startDate='2015/09/26',
endDate='2015/09/26',
startTime=startime,
endTime=endtime,
online=0,
#set=1426485881,
delay=10,
walk=1
#timezone=-5*3600
)
#opObj11 = readUnitConfObj.addOperation(name='printNumberOfBlock')
procUnitConfObj1 = controllerObj.addProcUnit(datatype='SpectraProc', inputId=readUnitConfObj.getId())
opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='other')
opObj11.addParameter(name='id', value='1000', format='int')
opObj11.addParameter(name='wintitle', value='HF_Jicamarca_Spc', format='str')
#opObj11.addParameter(name='channelList', value='0', format='intlist')
opObj11.addParameter(name='zmin', value='-120', format='float')
opObj11.addParameter(name='zmax', value='-70', format='float')
opObj11.addParameter(name='save', value='1', format='int')
opObj11.addParameter(name='figpath', value=figpath, format='str')
print "Escribiendo el archivo XML"
controllerObj.writeXml(filename)
print "Leyendo el archivo XML"
controllerObj.readXml(filename)
controllerObj.createObjects()
controllerObj.connectObjects()
#timeit.timeit('controllerObj.run()', number=2)
controllerObj.run()
def parallel():
comm = MPI.COMM_WORLD
rank = comm.Get_rank()
size = comm.Get_size()
totalStartTime = time.time()
print "Hello world from process %d/%d"%(rank,size)
# First just for one day :D!
num_hours = 4/size
time1,time2 = rank*num_hours*3600,(rank+1)*num_hours*3600-60
#print time1,time2
startime,endtime =conversion(time1,time2)
print startime,endtime
loop(startime,endtime,rank)
print "Total time %f seconds" %(time.time() -totalStartTime)
if __name__=='__main__':
parallel()