docs: def chunkwise(self, func, *args, **kwargs):
          """Execute a function for each chunk in the dataset.
  
          Order of excecution is not guaranteed.
  
          Parameters
          ----------
          func : function
              Function to execute. First two arguments must be dataset,
              slices.
          args (optional)
              Additional (unchanging) arguments passed to func.
          kwargs (optional)
              Additional (unchanging) keyword arguments passed to func.
  
          Returns
          -------
          collections OrderedDict
              Dictionary of index: function output. Index is to lowest corner
              of each chunk.
          """
          out = collections.OrderedDict()
          for s in self.slices():
              key = tuple(sss.start for sss in s)
              out[key] = func(self, s, *args, **kwargs)
          self._clear_array_attributes_cache()
          return out