docs: def get_hypo_location(self, mesh_spacing, hypo_loc=None):
          """
          The method determines the location of the hypocentre within the rupture
  
          :param mesh:
              :class:`~openquake.hazardlib.geo.mesh.Mesh` of points
          :param mesh_spacing:
              The desired distance between two adjacent points in source's
              ruptures' mesh, in km. Mainly this parameter allows to balance
              the trade-off between time needed to compute the distance
              between the rupture surface and a site and the precision of that
              computation.
          :param hypo_loc:
              Hypocentre location as fraction of rupture plane, as a tuple of
              (Along Strike, Down Dip), e.g. a hypocentre located in the centroid
              of the rupture would be input as (0.5, 0.5), whereas a
              hypocentre located in a position 3/4 along the length, and 1/4 of
              the way down dip of the rupture plane would be entered as
              (0.75, 0.25).
          :returns:
              Hypocentre location as instance of
              :class:`~openquake.hazardlib.geo.point.Point`
          """
          mesh = self.mesh
          centroid = mesh.get_middle_point()
          if hypo_loc is None:
              return centroid
  
          total_len_y = (len(mesh.depths) - 1) * mesh_spacing
          y_distance = hypo_loc[1] * total_len_y
          y_node = int(numpy.round(y_distance / mesh_spacing))
          total_len_x = (len(mesh.lons[y_node]) - 1) * mesh_spacing
          x_distance = hypo_loc[0] * total_len_x
          x_node = int(numpy.round(x_distance / mesh_spacing))
          hypocentre = Point(mesh.lons[y_node][x_node],
                             mesh.lats[y_node][x_node],
                             mesh.depths[y_node][x_node])
          return hypocentre