def __hover(self, **kwargs):
        """
            This hovers the particle 1m above the bathymetry WHERE IT WOULD HAVE ENDED UP.
            This is WRONG and we need to compute the location that it actually hit
            the bathymetry and hover 1m above THAT.
        """
        end_point = kwargs.pop('end_point')
        # The location argument here should be the point that intersected the bathymetry,
        # not the end_point that is "through" the bathymetry.
        depth = self.get_depth(location=end_point)
        return Location4D(latitude=end_point.latitude, longitude=end_point.longitude, depth=(depth + 1.))
This hovers the particle 1m above the bathymetry WHERE IT WOULD HAVE ENDED UP.
            This is WRONG and we need to compute the location that it actually hit
            the bathymetry and hover 1m above THAT.