simpeg.utils.shift_to_discrete_topography#

simpeg.utils.shift_to_discrete_topography(mesh, pts, active_cells, topo_cell_cutoff='top', shift_horizontal=True, heights=0.0)[source]#

Shift locations relative to discrete surface topography.

Parameters:
meshdiscretize.TensorMesh or discretize.TreeMesh

The mesh (2D or 3D) defining the discrete domain.

pts(n, dim) numpy.ndarray

The original set of points being shifted relative to the discretize surface topography.

active_cellsnumpy.ndarray of int or bool

Index array for all cells lying below the surface topography.

topo_cell_cutoff{“top”, “center”}, optional

String to specify the cutoff for ground cells and the locations of the discrete topography. For “top”, ground cells lie entirely below the surface topography and the discrete topography is defined on the top faces of surface cells. For “center”, only the cell centers must lie below the surface topography and the discrete topography is defined at the centers of surface cells. The topography is defined using the active_cells parameter: the topography is obtained as the topmost surface of active cells.

heightsfloat or (n,) numpy.ndarray, optional

Height(s) relative to the true surface topography. Used to preserve flight heights or borehole depths.

shift_horizontalbool, optional

When True, locations are shifted horizontally to lie vertically over cell centers. When False, the original horizontal locations are preserved.

Returns:
(n, dim) numpy.ndarray

The set of points shifted relative to the discretize surface topography.