code: def windows_from_blocksize(self, blocksize_xy=512):
          
          meta = self._get_template_for_given_resolution(self.dst_res, "meta")
          width = meta["width"]
          height = meta["height"]
          blocksize_wins = windows_from_blocksize(blocksize_xy, width, height)
  
          self.windows = np.array([win[1] for win in blocksize_wins])
          self.windows_row = np.array([win[0][0] for win in blocksize_wins])
          self.windows_col = np.array([win[0][1] for win in blocksize_wins])
          return self
docs: Create rasterio.windows.Window instances with given size which fully cover the raster.
  
          Arguments:
              blocksize_xy {int or list of two int} -- Size of the window. If one integer is given it defines
                  the width and height of the window. If a list of two integers if given the first defines the
                  width and the second the height.
  
          Returns:
              None -- But the attributes ``windows``, ``windows_row`` and ``windows_col`` are updated.