Esempio n. 1
0
 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
Esempio n. 2
0
 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
Esempio n. 3
0
 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;
Esempio n. 4
0
 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);
Esempio n. 6
0
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)