def subdomain_cells(self): """Returns cells object which envelops all of the parmtable, and contains a cells matching every subdomain.""" dom = self.envelope_domain() kw = {} cells = meq.gen_cells(dom) for iaxis, stats in enumerate(self._axis_stats): if not stats.empty(): grid = list(stats.cells.keys()) grid.sort() meq.add_cells_axis(cells, mequtils.get_axis_id(iaxis), grid=grid, cell_size=[ stats.cells[x0] for x0 in grid]) return cells
def subdomain_cells(self): """Returns cells object which envelops all of the parmtable, and contains a cells matching every subdomain.""" dom = self.envelope_domain() kw = {} cells = meq.gen_cells(dom) for iaxis, stats in enumerate(self._axis_stats): if not stats.empty(): grid = list(stats.cells.keys()) grid.sort() meq.add_cells_axis(cells, mequtils.get_axis_id(iaxis), grid=grid, cell_size=[stats.cells[x0] for x0 in grid]) return cells
def modify_child_request (self,request): try: print '***** original: ',request.cells; # these things modify the cells object in-place meq.add_cells_axis(request.cells,'l',self.domain_l,self.num_l); meq.add_cells_axis(request.cells,'m',self.domain_m,self.num_m); print '***** modified: ',request.cells; # return the modified request object return request; except: print "Error forming up modified request:"; traceback.print_exc(); print "Using original request"; return None;
def modify_child_request(self, request): try: print '***** original: ', request.cells # these things modify the cells object in-place meq.add_cells_axis(request.cells, 'l', self.domain_l, self.num_l) meq.add_cells_axis(request.cells, 'm', self.domain_m, self.num_m) print '***** modified: ', request.cells # return the modified request object return request except: print "Error forming up modified request:" traceback.print_exc() print "Using original request" return None
def exec_cells (mqs,node,cells): if tile_size: time_grid = Timba.array.array(cells.grid.time); time_size = Timba.array.array(cells.cell_size.time); domid = 0; for i0 in range(0,len(time_grid),tile_size): i1 = min(len(time_grid),i0+tile_size); meq.add_cells_axis(cells,hiid('time'),grid=time_grid[i0:i1],cell_size=time_size[i0:i1]); req = meq.request(cells,rqid=meq.requestid(domain_id=domid)); domid += 1; mqs.execute(node,req,wait=False); else: req = meq.request(cells); mqs.execute(node,req,wait=False);
def exec_cells(mqs, node, cells): if tile_size: time_grid = Timba.array.array(cells.grid.time) time_size = Timba.array.array(cells.cell_size.time) domid = 0 for i0 in range(0, len(time_grid), tile_size): i1 = min(len(time_grid), i0 + tile_size) meq.add_cells_axis(cells, hiid('time'), grid=time_grid[i0:i1], cell_size=time_size[i0:i1]) req = meq.request(cells, rqid=meq.requestid(domain_id=domid)) domid += 1 mqs.execute(node, req, wait=False) else: req = meq.request(cells) mqs.execute(node, req, wait=False)