code: def make_subgrid(ra_coord, dec_coord, subgrid_res=2):
      
      ra_array = array2image(ra_coord)
      dec_array = array2image(dec_coord)
      n = len(ra_array)
      d_ra_x = ra_array[0][1] - ra_array[0][0]
      d_ra_y = ra_array[1][0] - ra_array[0][0]
      d_dec_x = dec_array[0][1] - dec_array[0][0]
      d_dec_y = dec_array[1][0] - dec_array[0][0]
  
      ra_array_new = np.zeros((n*subgrid_res, n*subgrid_res))
      dec_array_new = np.zeros((n*subgrid_res, n*subgrid_res))
      for i in range(0, subgrid_res):
          for j in range(0, subgrid_res):
              ra_array_new[i::subgrid_res, j::subgrid_res] = ra_array + d_ra_x * (-1/2. + 1/(2.*subgrid_res) + j/float(subgrid_res)) + d_ra_y * (-1/2. + 1/(2.*subgrid_res) + i/float(subgrid_res))
              dec_array_new[i::subgrid_res, j::subgrid_res] = dec_array + d_dec_x * (-1/2. + 1/(2.*subgrid_res) + j/float(subgrid_res)) + d_dec_y * (-1/2. + 1/(2.*subgrid_res) + i/float(subgrid_res))
  
      ra_coords_sub = image2array(ra_array_new)
      dec_coords_sub = image2array(dec_array_new)
      return ra_coords_sub, dec_coords_sub
docs: return a grid with subgrid resolution
      :param ra_coord:
      :param dec_coord:
      :param subgrid_res:
      :return: