Пример #1
0
 def getrawdata(self, ci, timestep, datafield):
     cubesize  = [ci.zlen, ci.ylen, ci.xlen]
     filterwidth = ci.filter
     corner = [ci.xstart, ci.ystart, ci.zstart]
     step = [ci.xstep, ci.ystep, ci.zstep]
     cube = Cube(corner, cubesize,step, filterwidth, 3 )
     cube.getCubeData(ci, datafield, timestep)
     return cube.data
Пример #2
0
 def getfilecube(self, args):
     corners =args[0]
     ci =args[1]
     cubesize =args[2]
     timestep =args[3]
     step = args[4]
     filterwidth = args[5]
     components = args[6]
     datafield = args[7]
     print ("Setting cube: ", corners[0], corners[1], corners[2])
     cube = Cube(corners, cubesize, step, filterwidth, components)        
     #mortonstart = jhtdblib.JHTDBLib().createmortonindex(corners[0], corners[1], corners[2])
     #mortonend = jhtdblib.JHTDBLib().createmortonindex(corners[0] + cubesize[0], corners[1] + cubesize[1], corners[2] + cubesize[2])
     #start = time.time()        
     print ("getting cube: ", corners[0], corners[1], corners[2])
     #It appears this sometimes fails when parallel processing, so we try up to 3 times...
     retries =3
     attempt = 0
     #while (attempt < retries ):
     #    if (cube.getCubeData(ci, datafield, timestep) != True):
     #        attempt = attempt + 1
     #        print("Retrying cube.")
     #    else:
     #        attempt = 3
     #        print("Completed cube")
     if (cube.getCubeData(ci, datafield, timestep) != True):
         print("Success cube")
     print("Saving cube", corners[0], corners[1], corners[2])
     
     #tmp = NamedTemporaryFile(suffix='.RAW', mode='w+b', dir='/tmp', delete=False)
     #Save object
     #pickle.dump(cube, tmp, pickle.HIGHEST_PROTOCOL)
     #cPickle.dump(cube, tmp, cPickle.HIGHEST_PROTOCOL)
     
     return cube