docs: def downsample_trace(mesh, tol=1.0):
      """
      Downsamples the upper edge of a fault within a rectangular mesh, retaining
      node points only if changes in direction on the order of tol are found
  
      :returns:
          Downsampled edge as a numpy array of [long, lat, depth]
      """
      idx = _find_turning_points(mesh, tol)
      if mesh.depths is not None:
          return numpy.column_stack([mesh.lons[0, idx],
                                     mesh.lats[0, idx],
                                     mesh.depths[0, idx]])
      else:
          return numpy.column_stack([mesh.lons[0, idx], mesh.lats[0, idx]])