{
    "componentChunkName": "component---src-templates-python-api-api-tsx",
    "path": "/2025.1.3/references/python_api/salvus/mesh/algorithms/unstructured_mesh/utils",
    "result": {"data":{"site":{"siteMetadata":{"salvusDocVersions":{"current":"2026.5.0"}}},"jsonType":{"module_name":"salvus.mesh.algorithms.unstructured_mesh.utils","module_docstring":"A set of routines to help with some mesh operations. Moving out of the\nunstructured mesh class as it is getting too large.","classes":[],"exceptions":[],"links":null,"functions":[{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.add_element_nodal_fields","name":"add_element_nodal_fields","signature":"def add_element_nodal_fields(\n    meshes: list[UnstructuredMesh],\n) -> UnstructuredMesh: ...","description":"Sum the element nodal fields with the same name across several meshes.\n\nMeshes must have identical points, element nodal fields names, and\nconnectivity. Only fields with the same names across all mesh instances\nwill be summed.","return_description":"A new UnstructuredMesh with the same elemental fields in each summed.","return_type_hint":"UnstructuredMesh","parameters":[{"name":"meshes","description":"List of UnstructuredMesh objects to add together.","type_hint":"list[UnstructuredMesh]","default_value":null}],"exceptions":[{"name":"ValueError","description":"If an empty list is passed."},{"name":"ValueError","description":"If the structure of each passed mesh does not match."}]},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.compute_topological_facet_normals","name":"compute_topological_facet_normals","signature":"def compute_topological_facet_normals(\n    topological_facets: np.ndarray, points: np.ndarray\n) -> np.ndarray: ...","description":"Compute unit normal vectors for each topological facet on each element.\n\nAs topological facets are required for this function, it is not suitable\nfor general normal vector computation (see the salvus.fem.jacobian module\nfor this use case). This function is useful, however, if one wants to\ncheaply compute the general orientation of a facet.","return_description":null,"return_type_hint":"np.ndarray","parameters":[{"name":"topological_facets","description":"An array of a mesh's topological facets.","type_hint":"np.ndarray","default_value":null},{"name":"points","description":"The point (node) locations of a mesh.","type_hint":"np.ndarray","default_value":null}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.create_rotation_matrices","name":"create_rotation_matrices","signature":"def create_rotation_matrices(\n    vectors_from: npt.NDArray, vectors_to: npt.NDArray\n) -> npt.NDArray: ...","description":"Create the rotation matrices for rotating `vectors_from` onto `vectors_to`.\nWill always create 3D rotation matrices. If either vectors_from or\nvectors_to is passed in shape (..., 2), zeros are appended to create 3D\nvectors in the last index. Follows general broadcasting rules, output shape\nwill be np.broadcast(vectors_A, vectors_B).shape[:-1] + (3, 3). If\ndrop_dimension is True, and one of the original input shapes was 2\ndimensional, the returned rotation matrices will be 2D. This might be\nincorrect, if rotation in 3D is required to fully make the rotation.","return_description":"ND Array of rotation matrices in 2 or 3 dimensions, depending on     size of last dimension of both inputs -- the last 2 dimensions are     of shape (3, 3) or (2, 2).","return_type_hint":"npt.NDArray","parameters":[{"name":"vectors_from","description":"Vectors to rotate from. Length of last dimensions should be 2 or 3.","type_hint":"npt.NDArray","default_value":null},{"name":"vectors_to","description":"Vectors to rotate to. Length of last dimensions should be 2 or 3, matching vectors_from.","type_hint":"npt.NDArray","default_value":null}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.disconnect_along_side_set","name":"disconnect_along_side_set","signature":"def disconnect_along_side_set(\n    mesh: UnstructuredMesh,\n    side_set: str,\n    disconnection_decider: typing.Callable[\n        [UnstructuredMesh, npt.NDArray, npt.NDArray, npt.NDArray, npt.NDArray],\n        typing.Iterable[bool],\n    ],\n) -> UnstructuredMesh: ...","description":"Disconnect mesh along internal side set, turning it into two free surfaces.\n\nThe disconnection is made by using a callback able to tell for any element\nif it is on side A or side B of the disconnection, in relation to a point.","return_description":"A new mesh with duplicated points and broken up connectivity along the desired side set.","return_type_hint":"UnstructuredMesh","parameters":[{"name":"mesh","description":"The mesh to disconnect.","type_hint":"UnstructuredMesh","default_value":null},{"name":"side_set","description":"The internal sideset to disconnect.","type_hint":"str","default_value":null},{"name":"disconnection_decider","description":"A function that takes in a mesh, an array containing element and local point indices to candidates to disconnect, an array of sorted overlapping points global ids, an array of their multiplicity, and an array of offsets that indexes into the first two arrays to get the start of grouped elements.","type_hint":"typing.Callable[[UnstructuredMesh, npt.NDArray, npt.NDArray, npt.NDArray, npt.NDArray], typing.Iterable[bool]]","default_value":null}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.edge_lengths","name":"edge_lengths","signature":"def edge_lengths(mesh: UnstructuredMesh) -> np.ndarray: ...","description":"Compute the edge lengths along each edge of each element.\n\nThe ordering, in the reference element, is consistent with the DMPLEX\nordering\n\n2-D: bottom, right, top, left\n3-D: bottom left, bottom back, bottom right, bottom front, top front, top\n     right, top back, top left, front right, front left, back left, back\n     right","return_description":"The edge lengths for each edge, returned as an array with dimensions (elm_id, edge_id).","return_type_hint":"np.ndarray","parameters":[{"name":"mesh","description":"The mesh to compute the edge lengths of.","type_hint":"UnstructuredMesh","default_value":null}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.edge_lengths_projected","name":"edge_lengths_projected","signature":"def edge_lengths_projected(mesh: UnstructuredMesh) -> np.ndarray: ...","description":"Compute the edge lengths for each coordinate direction.\n\nThe ordering, in the reference element, is consistent with the DMPLEX\nordering\n\n2-D: bottom, right, top, left\n3-D: bottom left, bottom back, bottom right, bottom front, top front, top\n     right, top back, top left, front right, front left, back left, back\n     right","return_description":"The edge lengths for each edge, returned as an array with dimensions (elm_id, edge_id, dim_length).","return_type_hint":"np.ndarray","parameters":[{"name":"mesh","description":"The mesh to compute the edge lengths of.","type_hint":"UnstructuredMesh","default_value":null}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.edges","name":"edges","signature":"def edges(mesh: UnstructuredMesh) -> np.ndarray: ...","description":"Get an ordered list of the first-order edges for each element.\n\nThe ordering, in the reference element, is consistent with the DMPLEX\nordering\n\n2-D: bottom, right, top, left\n3-D: bottom left, bottom back, bottom right, bottom front, top front, top\n     right, top back, top left, front right, front left, back left, back\n     right","return_description":"The edge lengths for each edge, as ordered above, concatenated along the first axis, so that the dimensions are (elm_id, edge_id, vertex, crd).","return_type_hint":"np.ndarray","parameters":[{"name":"mesh","description":"The mesh to get the ordered edges of.","type_hint":"UnstructuredMesh","default_value":null}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.element_ids_to_node_ids","name":"element_ids_to_node_ids","signature":"def element_ids_to_node_ids(\n    mesh: UnstructuredMesh, element_ids: npt.NDArray\n) -> npt.NDArray: ...","description":"Get the sorted unique node ids that are attached to the given element ids.","return_description":"The node ids.","return_type_hint":"npt.NDArray","parameters":[{"name":"mesh","description":"The mesh.","type_hint":"UnstructuredMesh","default_value":null},{"name":"element_ids","description":"The element ids.","type_hint":"npt.NDArray","default_value":null}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.extract_conservative_bm_file","name":"extract_conservative_bm_file","signature":"def extract_conservative_bm_file(\n    mesh: UnstructuredMesh,\n    max_radius: float = 6371000.0,\n    exclude_filter: tuple[str, int] | None = None,\n) -> str: ...","description":"Get a BM file containing minimum parameter values and discontinuities.\n\nUseful to extract a bm file the preserves discontinuities, and contains\nthe min parameter value in each layer. Can be used, along with a\nmesh-to-mesh interpolation routine, as a background model when a)\nre-meshing for a higher frequency, or b) re-meshing because material\nvelocities have reduced below some threshold.\n\nThe successful use of this routines requires that the parameter\n`\"z_node_1D\"` be present as an element nodal field in the mesh, and that it\nrepresents the normalized z-coordinate. The normalized value of this\nparameter will be clipped to a maximum value of 1.0, in case intermediate\nmesh manipulations resulted in the stretching of the 1-D radial values.","return_description":"A string which can be immediately written to a BM file and used in re-meshing.","return_type_hint":"str","parameters":[{"name":"mesh","description":"The mesh to extract the 1-D model from.","type_hint":"UnstructuredMesh","default_value":null},{"name":"max_radius","description":"The maximum radius of the 1-D model. Defaults to 6371e3.","type_hint":"float","default_value":"6371000.0"},{"name":"exclude_filter","description":"An additional flag which can be passed to ensure that certain elements are not considered in BM file generation. In a global mesh with real oceans, a common use for this parameter might be to exclude all fluid elements in the BM file generation. This could be done, for example, by passing the tuple `(\"fluid\", 1)`.","type_hint":"tuple[str, int] | None","default_value":"None"}],"exceptions":[{"name":"ValueError","description":"If the symmetry is not one of 'isotropic' or 'tti'."},{"name":"ValueError","description":"If the symmetry does not correspond with the parameters in the mesh."}]},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.extract_model_to_regular_grid","name":"extract_model_to_regular_grid","signature":"def extract_model_to_regular_grid(\n    mesh: UnstructuredMesh,\n    ds: xr.Dataset,\n    pars: str | list[str],\n    max_tree_doublings: int = 4,\n    number_of_threads: int | None = None,\n    verbose: bool = False,\n    _use_legacy_version: bool = False,\n) -> xr.Dataset: ...","description":"Return interpolated model values at locations defined by an xarray dataset.\n\nIt is often useful to visualize slices of a 3-D model, or to just in\ngeneral have a regularly-gridded representation of a model for analysis.\nThis function allows one to generate such a representation. As input, it\ntakes a mesh, an Xarray Dataset, and a list of parameters to extract. The\nxarray dataset is likely the only parameter which is not\nself-explanatory. Here one must pass a dataset with one of the following\nsets of coordinate dimensions:\n\n    {\"x\", \"y\"},\n    {\"x\", \"y\", \"z\"},\n    {\"latitude\", \"longitude\", \"radius\"}, or\n    {\"latitude\", \"longitude\", \"depth\"}.\n\nAn error will be thrown if the dataset's coordinate dimensions do not\nmatch exactly one of the above. Additionally, if the \"depth\" variant is\nchosen, a \"radius_in_meters\" global dataset attribute must also be\npresent. Parameters also must, of course, exist in the mesh.\n\nFor some troublesome points, it may be a nontrivial task to find an\nenclosing element in the mesh. In this case, `max_tree_doublings`\ncontrols the maximum amount of times that a search will be retried for a\ndelinquent point; in each pass the number of elements searched will be\ndoubled. If an element truly is outside of the mesh (as it may well be\nwhen interpolating from a spherical domain), extracted values at those\npoints after `max_tree_doublings` tries will be marked with `np.nan` --\nno extrapolation is performed. This convention was chosen to match the\nstandard xarray and CF convention for missing data.\n\nThe grids extracted can be visualized in a number of ways, including with\nxarray directly and with PyGMT. A nice example of how to visualize\nsomething with xarray using a map can be found here:\nhttp://xarray.pydata.org/en/stable/plotting.html#maps.","return_description":"Xarray Dataset with values interpolated.","return_type_hint":"xr.Dataset","parameters":[{"name":"mesh","description":"The mesh to interpolate from.","type_hint":"UnstructuredMesh","default_value":null},{"name":"ds","description":"Xarray Dataset with coordinates to interpolate to.","type_hint":"xr.Dataset","default_value":null},{"name":"pars","description":"Parameters to interpolate.","type_hint":"str | list[str]","default_value":null},{"name":"max_tree_doublings","description":"Maximum number of times the number of closest candidate elements will be doubled. Doubling only occurs for points which were not already claimed by previous passes. Defaults to 4.","type_hint":"int","default_value":"4"},{"name":"number_of_threads","description":"The number of parallel threads to use. If not given it will use the smaller of the total number of cores on the system and 120.","type_hint":"int | None","default_value":"None"},{"name":"verbose","description":"Show a progress bar when extracting models from a spherical mesh. No progress bar will be shown for cartesian meshes as that uses a much faster algorithm.","type_hint":"bool","default_value":"False"},{"name":"_use_legacy_version","description":"Force the Python version of the regular grid extraction to be used.","type_hint":"bool","default_value":"False"}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.get_enclosing_elements","name":"get_enclosing_elements","signature":"def get_enclosing_elements(\n    mesh: _ElementCollectionProtocol,\n    points: np.ndarray,\n    max_tree_doublings: str | int = \"auto\",\n    allow_points_outside_mesh: bool = True,\n    verbose: bool = False,\n    element_restrict: np.ndarray | None = None,\n    point_restrict: np.ndarray | None = None,\n) -> tuple[np.ndarray, np.ndarray]: ...","description":"Get the indices of the enclosing element given an array of points.\n\nIt is often helpful to know within which element a given spatial point\nlies. Given an array of points and a mesh, this function will return\nindices that correspond to the elements containing each point in the\ninput array. The second element of the returned tuple contains the\npoint's position in reference coordinates with respect to the\ncorresponding element ID. If an enclosing element is not found and no\ninterrupt is passed, the returned element index will be\n-(closest_centroid_element_id + 1), and the reference coordinates will be\noutside of the canonical interval (outside [-1, +1]). This allows for\nextrapolation if required.\n\nThe internal algorithm will begin by trying to quickly extract the\nclosest element to a given point. The points that remain unfound after\none pass of this are re-injected into the algorithm with the search size\nbeing doubled each time. This continues recursively until\n`max_tree_doublings` is reached. For well behaved meshes, the enclosing\nelement should just be found in at most a few passes (likely just one).\nIf you are having issues with unclaimed points, you can try increasing\nthe iteration count. Note: be careful to ensure that most of your points\nare actually in the domain! The algorithm can get slow at higher\niteration counts, so it pays to match up your input point extents with\nthe mesh extents as much as possible.\n\nThe behavior of the algorithm in the case where a point is outside all\nelements can be controlled with the `allow_points_outside_mesh` flag. If\nthis is set to false, then the function will throw if a single point\nremains unclaimed after `max_tree_doublings`. This may suggest that\neither a) the point is indeed outside the mesh (in which case no\nextrapolation is performed), or b) more iterations are needed.","return_description":"An tuple with 1. an array of indices with enclosing element IDs in the same order as points, and 2. the corresponding location in reference coordinates.","return_type_hint":"tuple[np.ndarray, np.ndarray]","parameters":[{"name":"mesh","description":"Mesh to query.","type_hint":"_ElementCollectionProtocol","default_value":null},{"name":"points","description":"Array of query points, dimension [n_points, d].","type_hint":"np.ndarray","default_value":null},{"name":"max_tree_doublings","description":"Finding the enclosing element may be nontrivial in deformed meshes. The internal algorithm will double the number of closest candidate elements considered in each retry. Defaults to 4 doublings.","type_hint":"str | int","default_value":"'auto'"},{"name":"allow_points_outside_mesh","description":"In some cases, it may be acceptable for some points to be located outside of the queried mesh. If this flag is set to true, an exception will not be thrown if this is the case. Points which are flagged as outside the mesh will have their corresponding element indices set to -(closet_centroid_element_id + 1). Defaults to True.","type_hint":"bool","default_value":"True"},{"name":"verbose","description":"Show a progress bar. Also, if the query fails, setting verbose to true will print the indices of the failed points. Defaults to False.","type_hint":"bool","default_value":"False"},{"name":"element_restrict","description":"Only interpolate from elements with these ids.","type_hint":"np.ndarray | None","default_value":"None"},{"name":"point_restrict","description":"Only interpolate to these point indices.","type_hint":"np.ndarray | None","default_value":"None"}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.get_hierarchical_map","name":"get_hierarchical_map","signature":"def get_hierarchical_map(\n    m_coarse: UnstructuredMesh,\n    m_fine: UnstructuredMesh,\n    number_of_neighbours: int = 8,\n    verify: bool = True,\n) -> np.ndarray: ...","description":"Find the hierarchical map between two meshes.","return_description":null,"return_type_hint":"np.ndarray","parameters":[{"name":"m_coarse","description":"the coarser mesh","type_hint":"UnstructuredMesh","default_value":null},{"name":"m_fine","description":"the finer mesh","type_hint":"UnstructuredMesh","default_value":null},{"name":"number_of_neighbours","description":"number of neighbours to use in tree search","type_hint":"int","default_value":"8"},{"name":"verify","description":"verify that m_fine actually is a refinement of m_coarse.","type_hint":"bool","default_value":"True"}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.get_internal_side_set_facets","name":"get_internal_side_set_facets","signature":"def get_internal_side_set_facets(\n    mesh: UnstructuredMesh, side_set: str\n) -> tuple[npt.NDArray, npt.NDArray]: ...","description":"Get the internal facets of a sideset, i.e. those that have two surrounding\nelements, and the respective elements.","return_description":"A tuple of 2d arrays with facet pair ids and element pair ids respectively.","return_type_hint":"tuple[npt.NDArray, npt.NDArray]","parameters":[{"name":"mesh","description":"The mesh.","type_hint":"UnstructuredMesh","default_value":null},{"name":"side_set","description":"The sideset.","type_hint":"str","default_value":null}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.get_interpolation_coefficients","name":"get_interpolation_coefficients","signature":"def get_interpolation_coefficients(\n    mesh: _ElementCollectionProtocol, points: np.ndarray\n) -> npt.NDArray: ...","description":"Get the interpolation coefficients for a series of reference coordinates.","return_description":"The interpolation coefficients for each point.","return_type_hint":"npt.NDArray","parameters":[{"name":"mesh","description":"The mesh object to query.","type_hint":"_ElementCollectionProtocol","default_value":null},{"name":"points","description":"The points to get the interpolation coordinates for.","type_hint":"np.ndarray","default_value":null}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.get_side_set_elevations","name":"get_side_set_elevations","signature":"def get_side_set_elevations(\n    mesh: UnstructuredMesh,\n    side_set: str,\n    points: npt.NDArray,\n    execution_policy: bindings.ExecutionPolicy = salvus._core.lib.salvus_core_python_bindings.ExecutionPolicy,\n) -> npt.NDArray: ...","description":"Get the elevation values on a side set.\n\nThis routine:\n\n    - Finds the elements that enclose a set of points\n    - Interpolates the vertical coordinate value from the nodes of element\n      to those points.\n\nFor Cartesian and 2-D spherical domains this is done using the Lagrange\nbasis of the element itself, so the elevation values returned are an\naccurate representation of the side set's elevation as discretized by a\ngiven mesh. For 3-D spherical domains the result is an approximation built\nby projecting the points to a set of triangles that span each element.","return_description":"A 1-D coordiante array of the elevations evaluated at each horizontal point location.","return_type_hint":"npt.NDArray","parameters":[{"name":"mesh","description":"The mesh to extract a side set from.","type_hint":"UnstructuredMesh","default_value":null},{"name":"side_set","description":"The side set to extract.","type_hint":"str","default_value":null},{"name":"points","description":"The points to extract to. Should be an array of shape [n_pnt, n_dim_mesh - 1], i.e. only horizontal coordinates should be passed.","type_hint":"npt.NDArray","default_value":null},{"name":"execution_policy","description":"Execution policy governing the maximum allowable parallelism of child routines.","type_hint":"bindings.ExecutionPolicy","default_value":"<salvus._core.lib.salvus_core_python_bindings.ExecutionPolicy object at 0x72382db8f570>"}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.get_surface_unit_vectors","name":"get_surface_unit_vectors","signature":"def get_surface_unit_vectors(\n    points: npt.NDArray,\n    mesh: UnstructuredMesh,\n    side_set: str,\n    num_threads: int = 2,\n) -> npt.NDArray: ...","description":"Get the surface unit vectors of a mesh relative to a side set, for specific\npoints.","return_description":"Surface vectors.","return_type_hint":"npt.NDArray","parameters":[{"name":"points","description":"Points to return surface vectors on. Need to lie on the sideset. Should be of shape (N, mesh.ndim).","type_hint":"npt.NDArray","default_value":null},{"name":"mesh","description":"Mesh to calculate surface vectors on.","type_hint":"UnstructuredMesh","default_value":null},{"name":"side_set","description":"Side set to calculate surface vectors relative to.","type_hint":"str","default_value":null},{"name":"num_threads","description":"Number of threads to use for the computation.","type_hint":"int","default_value":"2"}],"exceptions":[{"name":"ValueError","description":"If any passed point does not lie inside the mesh."},{"name":"KeyError","description":"If any passed point does not lie on the side set."}]},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.get_topological_facets","name":"get_topological_facets","signature":"def get_topological_facets(mesh: UnstructuredMesh) -> npt.NDArray: ...","description":"Get an array of node ids corresponding to each facet in the mesh.\n\nThe facets returned here are \"topological\" in that they only consider\nthe mesh's first-order connectivity. Returns an array of shape (n_elem,\nn_facet_per_elem, n_nodes_per_facet). Facet ordering is as followings:\n\n2D Quad: bottom, top, right, left.\n3D Hex: Left, right, bottom, top, back, front.","return_description":null,"return_type_hint":"npt.NDArray","parameters":[{"name":"mesh","description":"The mesh.","type_hint":"UnstructuredMesh","default_value":null}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.get_unique_facets","name":"get_unique_facets","signature":"def get_unique_facets(mesh: UnstructuredMesh) -> npt.NDArray: ...","description":"Find the unique facets in a mesh.","return_description":null,"return_type_hint":"npt.NDArray","parameters":[{"name":"mesh","description":"The mesh.","type_hint":"UnstructuredMesh","default_value":null}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.interpolate_from_element_nodes","name":"interpolate_from_element_nodes","signature":"def interpolate_from_element_nodes(\n    ref: npt.NDArray, values: npt.NDArray, n_dim: int, num_threads: int = 2\n) -> tuple[npt.NDArray, npt.NDArray]: ...","description":"Interpolate values from element nodes to reference coordinates.\n\nThis function also returns polynomials evaluated at each point in\nreference coordinates as these are useful for further calculations.","return_description":"A tuple consisting of the transformed coordinates and the evaluated lagrange polynomials.","return_type_hint":"tuple[npt.NDArray, npt.NDArray]","parameters":[{"name":"ref","description":"An array of shape [n_pnt, n_dim] reference coordinates.","type_hint":"npt.NDArray","default_value":null},{"name":"values","description":"An array of shape [n_pnt, n_ctrl], or [n_pnt, n_ctrl, n_par], containing the values of the field to interpolate.","type_hint":"npt.NDArray","default_value":null},{"name":"n_dim","description":"The number of dimensions.","type_hint":"int","default_value":null},{"name":"num_threads","description":"The number of threads to use in parallel execution.","type_hint":"int","default_value":"2"}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.inverse_coordinate_transform","name":"inverse_coordinate_transform","signature":"def inverse_coordinate_transform(\n    control_nodes: npt.NDArray,\n    points: npt.NDArray,\n    max_iter: int = 100,\n    rtol: float = 1e-08,\n    atol: float = 1e-11,\n    atol_ref: float = 0.001,\n    num_threads: int = 2,\n) -> tuple[npt.NDArray[np.float64], npt.NDArray[np.int64]]: ...","description":"Find the reference coordinates of a point w.r.t. a given element geometry.","return_description":"A tuple containing:      - an array of each point's reference coordinte, and     - an array of the indices of the enlcosing elements,  the ordering of which is determined by the leading axes of pnts and cntrl, respectively.","return_type_hint":"tuple[npt.NDArray[np.float64], npt.NDArray[np.int64]]","parameters":[{"name":"control_nodes","description":"The tensorized control nodes defining the element's (or it's facet's, or ridge's) geometry. Should be of dimension [n_trial_points, n_ctrl_nodes, n_dim].","type_hint":"npt.NDArray","default_value":null},{"name":"points","description":"The point to locate within the element. Should be of dimension [n_trial_pnts, d_dim].","type_hint":"npt.NDArray","default_value":null},{"name":"max_iter","description":"The maximum number of iterations to attempt.","type_hint":"int","default_value":"100"},{"name":"rtol","description":"The relative tolerance that determines whether a point is considered as inside an element.","type_hint":"float","default_value":"1e-08"},{"name":"atol","description":"The absolute tolerance that determines whether a point is considered as inside the element.","type_hint":"float","default_value":"1e-11"},{"name":"atol_ref","description":"The tolerance in reference coordinates that determines whether a point is considered inside the element.","type_hint":"float","default_value":"0.001"},{"name":"num_threads","description":"The number of threads to use for parallel opertions.","type_hint":"int","default_value":"2"}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.name_free_side_set","name":"name_free_side_set","signature":"def name_free_side_set(mesh: UnstructuredMesh, name: str) -> None: ...","description":"Assign a side set to all facets on a mesh's surface that aren't in one.","return_description":"Nothing, mesh is mutated in place.","return_type_hint":"None","parameters":[{"name":"mesh","description":"The mesh to assign the new side set to. Will be mutated in place.","type_hint":"UnstructuredMesh","default_value":null},{"name":"name","description":"The name of the new side set.","type_hint":"str","default_value":null}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.normalize_block_coordinates","name":"normalize_block_coordinates","signature":"def normalize_block_coordinates(\n    mesh: UnstructuredMesh,\n    block: int | list[int],\n    top_side_set: str,\n    bot_side_set: str,\n    execution_policy: bindings.ExecutionPolicy = salvus._core.lib.salvus_core_python_bindings.ExecutionPolicy,\n    interior_deformation_order: int = 1,\n) -> tuple[npt.NDArray, npt.NDArray, npt.NDArray]: ...","description":"Normalize vertical coordinates between two side sets.\n\nIt is sometimes desirable to rescale the vertical coordinates of a\ncollection of elements to the range [0, 1] to, for instance, interpolate\nmaterial parameters defined in terms of thickness or relative coordinates.\nThis function performs that rescaling.","return_description":"A tuple containing:     1. The coordinates with the vertical values normalized to the range        [0, 1]. A vertical coordinate of 0.0 indicates that the point is        coincident with the bottom side set, while 1.0 marks the top        side set.     2. The elevation of the top side set.     3. The elevation of the bottom side set.","return_type_hint":"tuple[npt.NDArray, npt.NDArray, npt.NDArray]","parameters":[{"name":"mesh","description":"The mesh to normalize coordinates from.","type_hint":"UnstructuredMesh","default_value":null},{"name":"block","description":"The block ID, or a list of block IDS, of the elements to be normalized.","type_hint":"int | list[int]","default_value":null},{"name":"top_side_set","description":"The top side set of the normalized region.","type_hint":"str","default_value":null},{"name":"bot_side_set","description":"The bottom side set of the normalized region.","type_hint":"str","default_value":null},{"name":"execution_policy","description":"Execution policy object controlling parallelization options.","type_hint":"bindings.ExecutionPolicy","default_value":"<salvus._core.lib.salvus_core_python_bindings.ExecutionPolicy object at 0x72382d0c97b0>"},{"name":"interior_deformation_order","description":"The polynomial order used to interpolate boundary deformations from a mesh's side sets to its interior nodes. The default order of 1 (linear interpolation) is sufficient for most cases. If the resulting mesh has geometric issues (like invalid Jacobians), increasing this value to match the mesh's model order may help create a valid mesh with smoother internal deformations. Only considered for Cartesian meshes.","type_hint":"int","default_value":"1"}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.read_model_from_h5","name":"read_model_from_h5","signature":"def read_model_from_h5(\n    filename: pathlib.Path | str, fields: typing.Sequence[str] | None = None\n) -> dict[str, np.ndarray]: ...","description":"Read a model from a mesh file and return it as a dictionary.\nThe function supports reading only a subset of fields using the optional\nargument fields.","return_description":null,"return_type_hint":"dict[str, np.ndarray]","parameters":[{"name":"filename","description":"Mesh file.","type_hint":"pathlib.Path | str","default_value":null},{"name":"fields","description":"Optional field names to read.","type_hint":"typing.Sequence[str] | None","default_value":"None"}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.remove_from_side_set","name":"remove_from_side_set","signature":"def remove_from_side_set(\n    mesh: UnstructuredMesh,\n    side_set: str,\n    indices_to_remove: npt.NDArray | None = None,\n    indices_to_retain: npt.NDArray | None = None,\n) -> None: ...","description":"Remove or retain facets from side set by index, operating on the passed\nmesh. Facets are indexed according to their order of appearance in\n`mesh.side_sets[side_set]`.","return_description":null,"return_type_hint":"None","parameters":[{"name":"mesh","description":"The mesh to modify.","type_hint":"UnstructuredMesh","default_value":null},{"name":"side_set","description":"The side set to modify.","type_hint":"str","default_value":null},{"name":"indices_to_remove","description":"Facets to be removed. Must be None if indices_to_retain is not.","type_hint":"npt.NDArray | None","default_value":"None"},{"name":"indices_to_retain","description":"Facets to be retained. Must be None if indices_to_remove is not.","type_hint":"npt.NDArray | None","default_value":"None"}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.retain_unique_facets","name":"retain_unique_facets","signature":"def retain_unique_facets(\n    mesh: UnstructuredMesh, side_set: str, verbosity: int = 0\n) -> None: ...","description":"Retain only facets in side set that don't appear in other sidesets,\ndeleting the side set if it becomes empty.","return_description":null,"return_type_hint":"None","parameters":[{"name":"mesh","description":"Mesh.","type_hint":"UnstructuredMesh","default_value":null},{"name":"side_set","description":"Sideset to reduce to uniquely appearing facets.","type_hint":"str","default_value":null},{"name":"verbosity","description":"Verbosity of the operation, informing how side-set is altered.","type_hint":"int","default_value":"0"}],"exceptions":null},{"qualified_name":"salvus.mesh.algorithms.unstructured_mesh.utils.uniquefy_side_sets","name":"uniquefy_side_sets","signature":"def uniquefy_side_sets(\n    mesh: UnstructuredMesh,\n    order: typing.Iterable[str] | None = None,\n    verbosity: int = 0,\n) -> None: ...","description":"Retain only unique facets in side sets, deleting empty side sets.\n\nThe order influences what elements are retained. The algorithm will remove\nfacets from sidesets in this order, i.e. the first side set has all facets\nsubtracted that occur in other side sets. Side sets appearing earlier will\nhave more facets removed. Empty side sets will not be retained.","return_description":null,"return_type_hint":"None","parameters":[{"name":"mesh","description":"Mesh.","type_hint":"UnstructuredMesh","default_value":null},{"name":"order","description":"Order in which the sidesets are parsed.","type_hint":"typing.Iterable[str] | None","default_value":"None"},{"name":"verbosity","description":"Verbosity of the operation, informing how side-sets are altered.","type_hint":"int","default_value":"0"}],"exceptions":[{"name":"ValueError","description":"_description_"}]}]},"allFile":{"edges":[{"node":{"relativePath":"0.12.16/python_api/salvus.json"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/AxiSEM.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/AxiSEMCartesian.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/Cartesian2D.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/Cartesian2DHomogeneous.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/Cartesian3D.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/Cartesian3DHomogeneous.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/Circular2D.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/Globe3D.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/Globe3DSurfaceWaves.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/SmoothieSEM.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/SphericalChunk3D.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/SphericalChunk3DSurfaceWaves.md"}},{"node":{"relativePath":"0.12.16/salvus_mesh_types_api/TidalLoading.md"}},{"node":{"relativePath":"2024.1.3/python_api/salvus.json"}},{"node":{"relativePath":"2024.1.3/salvus_mesh_types_api/Cartesian2D.md"}},{"node":{"relativePath":"2024.1.3/salvus_mesh_types_api/Cartesian2DHomogeneous.md"}},{"node":{"relativePath":"2024.1.3/salvus_mesh_types_api/Cartesian3D.md"}},{"node":{"relativePath":"2024.1.3/salvus_mesh_types_api/Cartesian3DHomogeneous.md"}},{"node":{"relativePath":"2024.1.3/salvus_mesh_types_api/Circular2D.md"}},{"node":{"relativePath":"2024.1.3/salvus_mesh_types_api/Globe3D.md"}},{"node":{"relativePath":"2024.1.3/salvus_mesh_types_api/Globe3DAxialSymmetry.md"}},{"node":{"relativePath":"2024.1.3/salvus_mesh_types_api/SmoothieSEM.md"}},{"node":{"relativePath":"2024.1.3/salvus_mesh_types_api/SphericalChunk3D.md"}},{"node":{"relativePath":"2025.1.3/python_api/salvus.json"}},{"node":{"relativePath":"2025.1.3/salvus_mesh_types_api/Cartesian2D.md"}},{"node":{"relativePath":"2025.1.3/salvus_mesh_types_api/Cartesian2DHomogeneous.md"}},{"node":{"relativePath":"2025.1.3/salvus_mesh_types_api/Cartesian3D.md"}},{"node":{"relativePath":"2025.1.3/salvus_mesh_types_api/Cartesian3DHomogeneous.md"}},{"node":{"relativePath":"2025.1.3/salvus_mesh_types_api/Circular2D.md"}},{"node":{"relativePath":"2025.1.3/salvus_mesh_types_api/Globe3D.md"}},{"node":{"relativePath":"2025.1.3/salvus_mesh_types_api/Globe3DAxialSymmetry.md"}},{"node":{"relativePath":"2025.1.3/salvus_mesh_types_api/SmoothieSEM.md"}},{"node":{"relativePath":"2025.1.3/salvus_mesh_types_api/SphericalChunk3D.md"}},{"node":{"relativePath":"2026.5.0/python_api/salvus.json"}},{"node":{"relativePath":"2026.5.0/salvus_mesh_types_api/Cartesian2D.md"}},{"node":{"relativePath":"2026.5.0/salvus_mesh_types_api/Cartesian2DHomogeneous.md"}},{"node":{"relativePath":"2026.5.0/salvus_mesh_types_api/Cartesian3D.md"}},{"node":{"relativePath":"2026.5.0/salvus_mesh_types_api/Cartesian3DHomogeneous.md"}},{"node":{"relativePath":"2026.5.0/salvus_mesh_types_api/Circular2D.md"}},{"node":{"relativePath":"2026.5.0/salvus_mesh_types_api/Globe3D.md"}},{"node":{"relativePath":"2026.5.0/salvus_mesh_types_api/Globe3DAxialSymmetry.md"}},{"node":{"relativePath":"2026.5.0/salvus_mesh_types_api/SmoothieSEM.md"}},{"node":{"relativePath":"2026.5.0/salvus_mesh_types_api/SphericalChunk3D.md"}},{"node":{"relativePath":"0.12.16/python_api/salvus/fem.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/modules.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/namespace.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/toolbox.json"}},{"node":{"relativePath":"0.12.16/python_api/images/1bc683f8ed41278a74bcce75644df35d78ec1feb40c32317f0c3aff9a115838d.png"}},{"node":{"relativePath":"0.12.16/python_api/images/3a6eafcefc4ccc7087bc952e6154acf8b71c38d64d788099f46c4d0d489c0350.png"}},{"node":{"relativePath":"0.12.16/python_api/images/569fdfeb70ca31ce08dcea0897aa094248e24ede4570d1c9bb3921aa45aaf61e.png"}},{"node":{"relativePath":"0.12.16/python_api/images/58e5f7c4ab4f255a8faa0e5711e93bad50a50f88f2e1318e674d3a71df269208.png"}},{"node":{"relativePath":"0.12.16/python_api/images/79d8885f3fe81f5135487e41035ea8495ef07708e12a133bf7d17ee1151ce166.png"}},{"node":{"relativePath":"0.12.16/python_api/images/912c2f47c877d50cccd9157d5c400ebb09670b1a3acb212464b82d3f6517642a.png"}},{"node":{"relativePath":"0.12.16/python_api/images/ba32c7f94c59cf9763ce558df0c544576eb20bba70b571832aaa114d66949d39.png"}},{"node":{"relativePath":"0.12.16/python_api/images/e19720c194fa1710ad3b156de4ffa66acf09615a8bc1053df738a911bd17ff8d.png"}},{"node":{"relativePath":"0.12.16/python_api/images/f62606db07fe3b4533455d176cc72ad94137fa8dcd1ceb337b0c7453e517bd4c.png"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/data.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/fem.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/geometry.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/modules.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/namespace.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/toolbox.json"}},{"node":{"relativePath":"2025.1.3/python_api/images/1bc683f8ed41278a74bcce75644df35d78ec1feb40c32317f0c3aff9a115838d.png"}},{"node":{"relativePath":"2025.1.3/python_api/images/3a6eafcefc4ccc7087bc952e6154acf8b71c38d64d788099f46c4d0d489c0350.png"}},{"node":{"relativePath":"2025.1.3/python_api/images/569fdfeb70ca31ce08dcea0897aa094248e24ede4570d1c9bb3921aa45aaf61e.png"}},{"node":{"relativePath":"2025.1.3/python_api/images/58e5f7c4ab4f255a8faa0e5711e93bad50a50f88f2e1318e674d3a71df269208.png"}},{"node":{"relativePath":"2025.1.3/python_api/images/79d8885f3fe81f5135487e41035ea8495ef07708e12a133bf7d17ee1151ce166.png"}},{"node":{"relativePath":"2025.1.3/python_api/images/912c2f47c877d50cccd9157d5c400ebb09670b1a3acb212464b82d3f6517642a.png"}},{"node":{"relativePath":"2025.1.3/python_api/images/ba32c7f94c59cf9763ce558df0c544576eb20bba70b571832aaa114d66949d39.png"}},{"node":{"relativePath":"2025.1.3/python_api/images/e19720c194fa1710ad3b156de4ffa66acf09615a8bc1053df738a911bd17ff8d.png"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/data.json"}},{"node":{"relativePath":"2025.1.3/python_api/images/f62606db07fe3b4533455d176cc72ad94137fa8dcd1ceb337b0c7453e517bd4c.png"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/fem.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/geometry.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/modules.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/namespace.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/toolbox.json"}},{"node":{"relativePath":"2026.5.0/python_api/images/1bc683f8ed41278a74bcce75644df35d78ec1feb40c32317f0c3aff9a115838d.png"}},{"node":{"relativePath":"2026.5.0/python_api/images/3a6eafcefc4ccc7087bc952e6154acf8b71c38d64d788099f46c4d0d489c0350.png"}},{"node":{"relativePath":"2026.5.0/python_api/images/569fdfeb70ca31ce08dcea0897aa094248e24ede4570d1c9bb3921aa45aaf61e.png"}},{"node":{"relativePath":"2026.5.0/python_api/images/58e5f7c4ab4f255a8faa0e5711e93bad50a50f88f2e1318e674d3a71df269208.png"}},{"node":{"relativePath":"2026.5.0/python_api/images/79d8885f3fe81f5135487e41035ea8495ef07708e12a133bf7d17ee1151ce166.png"}},{"node":{"relativePath":"2026.5.0/python_api/images/912c2f47c877d50cccd9157d5c400ebb09670b1a3acb212464b82d3f6517642a.png"}},{"node":{"relativePath":"2026.5.0/python_api/images/ba32c7f94c59cf9763ce558df0c544576eb20bba70b571832aaa114d66949d39.png"}},{"node":{"relativePath":"2026.5.0/python_api/images/e19720c194fa1710ad3b156de4ffa66acf09615a8bc1053df738a911bd17ff8d.png"}},{"node":{"relativePath":"2026.5.0/python_api/images/f62606db07fe3b4533455d176cc72ad94137fa8dcd1ceb337b0c7453e517bd4c.png"}},{"node":{"relativePath":"2024.1.3/python_api/images/1bc683f8ed41278a74bcce75644df35d78ec1feb40c32317f0c3aff9a115838d.png"}},{"node":{"relativePath":"2024.1.3/python_api/images/3a6eafcefc4ccc7087bc952e6154acf8b71c38d64d788099f46c4d0d489c0350.png"}},{"node":{"relativePath":"2024.1.3/python_api/images/569fdfeb70ca31ce08dcea0897aa094248e24ede4570d1c9bb3921aa45aaf61e.png"}},{"node":{"relativePath":"2024.1.3/python_api/images/58e5f7c4ab4f255a8faa0e5711e93bad50a50f88f2e1318e674d3a71df269208.png"}},{"node":{"relativePath":"2024.1.3/python_api/images/79d8885f3fe81f5135487e41035ea8495ef07708e12a133bf7d17ee1151ce166.png"}},{"node":{"relativePath":"2024.1.3/python_api/images/912c2f47c877d50cccd9157d5c400ebb09670b1a3acb212464b82d3f6517642a.png"}},{"node":{"relativePath":"2024.1.3/python_api/images/ba32c7f94c59cf9763ce558df0c544576eb20bba70b571832aaa114d66949d39.png"}},{"node":{"relativePath":"2024.1.3/python_api/images/e19720c194fa1710ad3b156de4ffa66acf09615a8bc1053df738a911bd17ff8d.png"}},{"node":{"relativePath":"2024.1.3/python_api/images/f62606db07fe3b4533455d176cc72ad94137fa8dcd1ceb337b0c7453e517bd4c.png"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/data.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/fem.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/geometry.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/modules.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/namespace.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/toolbox.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/fem/hypercube.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/fem/tensor_gll.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/api.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/paths.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/modules/near_surface.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/modules/waveform_db.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/modules/source_inversion.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/absorbing_boundary.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/attenuation.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/chunked_interface.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mask_generators.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh_block.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/models_1D.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/numba_utils.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/tools.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/simple_mesh.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/unstructured_mesh.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/unstructured_mesh_utils.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/iteration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/mappings.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/methods.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/misfits.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/models.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/preconditioner.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/smoothing.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/tasks.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/utils.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/domain.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/meshing.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/project.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/toolbox/detail.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/toolbox/helpers.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/toolbox/ses3d.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/toolbox/toolbox_geotech.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/toolbox/toolbox.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/data/io.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/functions.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/paths.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/fem/derivatives.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/fem/element_nodes.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/fem/hypercube.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/fem/sem.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/geometry/coordinates.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/acoustic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/attenuation.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/base_materials.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/elastic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/visco.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/data_structures.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/simple_mesh.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/tools.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/modules/near_surface.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/modules/source_inversion.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/modules/waveform_db.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/data_normalizations.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/iteration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/mappings.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/methods.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/misfits.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/models.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/preconditioner.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/smoothing.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/tasks.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/domain.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/meshing.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/project.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/project_configuration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/version.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/toolbox/detail.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/toolbox/helpers.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/toolbox/ses3d.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/toolbox/toolbox.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/toolbox/toolbox_geotech.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/data/io.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/data/processing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/fem/derivatives.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/fem/element_nodes.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/fem/error_estimations.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/fem/hypercube.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/fem/integrals.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/fem/sem.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/functions.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/geometry/coordinates.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/acoustic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/attenuation.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/base_materials.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/elastic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/patches.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/visco.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/recipes.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/tools.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/simple_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/modules/near_surface.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/modules/source_inversion.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/modules/waveform_db.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/data_normalizations.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/iteration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/mappings.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/methods.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/misfits.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/models.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/preconditioner.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/smoothing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/tasks.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/domain.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/meshing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/project.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/project_configuration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/version.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/toolbox/detail.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/toolbox/helpers.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/toolbox/ses3d.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/toolbox/toolbox.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/toolbox/toolbox_geotech.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/data/io.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/data/processing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/fem/derivatives.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/fem/element_nodes.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/fem/error_estimations.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/fem/hypercube.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/fem/integrals.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/fem/sem.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/functions.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/geometry/coordinates.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/acoustic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/attenuation.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/base_materials.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/elastic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/patches.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/visco.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/recipes.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/simple_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/tools.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/modules/near_surface.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/modules/source_inversion.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/modules/waveform_db.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/data_normalizations.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/iteration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/mappings.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/methods.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/misfits.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/models.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/preconditioner.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/smoothing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/tasks.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/domain.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/meshing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/project.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/project_configuration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/version.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/toolbox/detail.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/toolbox/helpers.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/toolbox/ses3d.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/toolbox/toolbox.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/toolbox/toolbox_geotech.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/data_proxies.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_block.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_data.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_collection.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_data_backends.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_data_collection.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_data_collection_proxy.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_misfit.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_misfit_collection.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_window_and_weight_set.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/receiver_channel.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/types.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/wavefield_compression.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/boundary.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/receiver.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/simulation.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/source.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/base_site.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/functions.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/concrete_sites.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/job.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/remote_io_site.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/salvus_job.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/salvus_job_array.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/site_utils.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/task_chain.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/types.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/modules/near_surface/processing.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/modules/source_inversion/source_inversion.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/modules/waveform_db/utils.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/modules/waveform_db/waveform_db.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/detail.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/interface.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/layered_model.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/utils.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh/deformed_regular_grid.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh/run_mesher.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh/smoothiesem.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh_block/generators.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh_block/mesh_block.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh_block/mesh_block_collection.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh_block/mesh_block_utils.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/simple_mesh/basic_mesh.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/tools/transforms.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/methods/lbfgs.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/methods/trustregion.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/mappings/mappings.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/misfits/cross_correlation_time_shift.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/misfits/deprecated.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/misfits/gradient_test.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/misfits/graph_space_optimal_transport.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/misfits/l2_misfit.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/misfits/normalization.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/misfits/phase_misfit.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/misfits/time_frequency_phase_misfit.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/models/generic_model.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/models/structured_model.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/models/unstructured_model.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/models/util.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/action.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/event_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/entity_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/inversion_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/misfit_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/types.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/simulation_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/visualization.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/waveform_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/bathymetry.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/data_selection_configuration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/inverse_problem_configuration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/event_configuration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/mesh_configuration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/misfit_configuration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/model.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/processing.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/project_configuration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/simulation_configuration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/topography.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/waveform_simulation_configuration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/domain/dim2.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/data_selection.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/io.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/toolbox/helpers/interpolate.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/toolbox/helpers/toolbox_helpers.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/toolbox/helpers/wavefield_output.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/data_proxies.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_block.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_collection.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_data.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_data_backends.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_data_collection.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_data_collection_proxy.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_misfit.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_misfit_collection.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_window_and_weight_set.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/receiver_channel.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/source_mechanism.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/types.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/wavefield_compression.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/base_executor.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/executor_utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/functions.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/implementations.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/job.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/remote_io_executor.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/salvus_job.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/salvus_job_array.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/task_chain.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/types.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/boundary.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/receiver.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/simulation.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/source.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/geometry/coordinates/coordinates.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/geometry/coordinates/references.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/geometry/coordinates/utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/acoustic/elliptical_hexagonal.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/acoustic/hexagonal.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/acoustic/isotropic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/acoustic/orthotropic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/elastic/cubic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/elastic/hexagonal.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/elastic/isotropic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/elastic/monoclinic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/elastic/orthotropic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/elastic/triclinic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/visco/acoustic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/material/visco/elastic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/absorbing_boundary.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/connectivity.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/mask_generators.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/optimize_dt.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/point_sorting.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/spherical.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/tensorized_elements.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/data_structures/mesh_block.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/data_structures/unstructured_mesh.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/detail.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/interface.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/layered_model.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/simple_mesh/basic_mesh.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/tools/transforms.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/modules/near_surface/processing.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/modules/source_inversion/source_inversion.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/modules/waveform_db/utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/modules/waveform_db/waveform_db.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/data_normalizations/l2_energy_per_measurement.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/data_normalizations/normalized_misfit.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/mappings/mappings.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/methods/lbfgs.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/methods/trustregion.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/misfits/cross_correlation_time_shift.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/misfits/deprecated.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/misfits/gradient_test.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/misfits/graph_space_optimal_transport.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/misfits/l2_misfit.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/misfits/phase_misfit.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/misfits/time_frequency_phase_misfit.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/models/generic_model.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/models/structured_model.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/models/unstructured_model.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/models/util.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/action.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/attachment_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/entity_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/event_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/inversion_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/misfit_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/simulation_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/types.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/visualization.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/waveform_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/bathymetry.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/data_selection_configuration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/event_configuration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/inverse_problem_configuration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/mesh_configuration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/misfit_configuration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/model.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/processing.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/simulation_configuration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/topography.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/waveform_simulation_configuration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/domain/dim2.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/data_selection.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/io.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/version/salvus_project_version.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/toolbox/helpers/interpolate.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/toolbox/helpers/toolbox_helpers.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/toolbox/helpers/wavefield_output.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/data/processing/trace_processing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/data_proxies.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_block.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_collection.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_data.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_data_backends.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_data_collection.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_data_collection_proxy.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_misfit_collection.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_misfit.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_window_and_weight_set.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/receiver_channel.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/source_mechanism.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/types.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/wavefield_compression.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/base_executor.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/direct.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/executor_utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/functions.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/implementations.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/job.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/mpi.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/remote_io_executor.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/salvus_job.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/salvus_job_array.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/task_chain.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/types.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/boundary.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/memory.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/receiver.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/simulation.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/source.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/geometry/coordinates/coordinates.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/geometry/coordinates/references.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/geometry/coordinates/utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/acoustic/elliptical_hexagonal.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/acoustic/hexagonal.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/acoustic/orthotropic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/attenuation/conversions.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/attenuation/linear_solids.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/attenuation/visualization.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/elastic/cubic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/elastic/monoclinic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/elastic/orthotropic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/elastic/triclinic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/patches/approx_oracle_plugins.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/utils/compute_symbolic_jacobian.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/utils/wavelength_oracle.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/visco/acoustic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/visco/elastic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/absorbing_boundary.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/connectivity.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/distributed_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/dual.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/mask_generators.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/optimize_dt.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/point_sorting.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/spherical.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/tensorized_elements.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/wrappers.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/detail.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/interface.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/layered_model.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/serialization.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/chunked_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/common.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/distributed_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/mesh_block.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/unstructured_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/simple_mesh/basic_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/tools/transforms.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/modules/near_surface/processing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/modules/source_inversion/source_inversion.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/modules/waveform_db/utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/modules/waveform_db/waveform_db.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/mappings/mappings.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/data_normalizations/l2_energy_per_measurement.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/data_normalizations/normalized_misfit.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/misfits/cross_correlation_time_shift.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/misfits/deprecated.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/misfits/gradient_test.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/misfits/graph_space_optimal_transport.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/misfits/l2_misfit.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/misfits/phase_misfit.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/misfits/time_frequency_phase_misfit.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/methods/lbfgs.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/methods/trustregion.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/models/block_model.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/models/data_structures.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/models/distributed_block_model.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/models/generic_model.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/models/structured_model.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/models/unstructured_model.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/action.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/models/util.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/attachment_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/entity_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/event_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/inversion_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/misfit_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/simulation_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/types.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/visualization.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/waveform_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/bathymetry.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/data_selection_configuration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/event_configuration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/inverse_problem_configuration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/mesh_configuration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/misfit_configuration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/model.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/processing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/simulation_configuration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/topography.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/waveform_simulation_configuration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/domain/dim2.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/domain/utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/data_selection.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/io.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/mpi_workflows.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/version/salvus_project_version.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/toolbox/helpers/interpolate.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/toolbox/helpers/toolbox_helpers.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/toolbox/helpers/wavefield_output.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/data/processing/trace_processing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/data_proxies.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_block.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_collection.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_data.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_data_backends.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_data_collection.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_data_collection_proxy.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_misfit.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_misfit_collection.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_window_and_weight_set.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/receiver_channel.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/source_mechanism.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/types.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/wavefield_compression.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/base_executor.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/direct.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/executor_utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/functions.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/implementations.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/job.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/mpi.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/remote_io_executor.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/salvus_job.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/salvus_job_array.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/task_chain.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/types.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/boundary.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/memory.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/receiver.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/simulation.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/source.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/geometry/coordinates/coordinates.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/geometry/coordinates/references.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/geometry/coordinates/utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/acoustic/elliptical_hexagonal.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/acoustic/hexagonal.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/acoustic/orthotropic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/attenuation/conversions.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/attenuation/linear_solids.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/attenuation/visualization.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/elastic/cubic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/elastic/monoclinic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/elastic/orthotropic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/elastic/triclinic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/utils/compute_symbolic_jacobian.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/utils/wavelength_oracle.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/patches/approx_oracle_plugins.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/visco/acoustic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/visco/elastic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/absorbing_boundary.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/connectivity.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/distributed_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/mask_generators.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/dual.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/optimize_dt.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/point_sorting.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/spherical.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/tensorized_elements.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/wrappers.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/chunked_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/chain_complex.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/common.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/distributed_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/mesh_block.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/unstructured_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/detail.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/interface.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/layered_model.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/serialization.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/simple_mesh/basic_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/tools/transforms.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/modules/near_surface/processing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/modules/source_inversion/source_inversion.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/modules/waveform_db/utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/modules/waveform_db/waveform_db.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/data_normalizations/l2_energy_per_measurement.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/data_normalizations/normalized_misfit.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/mappings/mappings.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/methods/lbfgs.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/methods/trustregion.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/misfits/cross_correlation_time_shift.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/misfits/deprecated.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/misfits/gradient_test.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/misfits/graph_space_optimal_transport.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/misfits/l2_misfit.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/misfits/phase_misfit.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/misfits/time_frequency_phase_misfit.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/models/block_model.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/models/data_structures.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/models/distributed_block_model.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/models/generic_model.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/models/structured_model.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/models/unstructured_model.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/models/util.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/bathymetry.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/data_selection_configuration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/event_configuration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/inverse_problem_configuration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/mesh_configuration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/misfit_configuration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/model.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/processing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/simulation_configuration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/topography.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/waveform_simulation_configuration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/action.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/attachment_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/entity_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/event_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/inversion_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/misfit_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/simulation_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/types.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/visualization.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/waveform_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/domain/dim2.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/domain/utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/data_selection.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/io.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/mpi_workflows.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/version/salvus_project_version.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/toolbox/helpers/interpolate.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/toolbox/helpers/toolbox_helpers.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/toolbox/helpers/wavefield_output.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/data_proxies/seis_io_data_proxy.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_data_backends/hdf5_data_backend.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_data_backends/asdf_data_backend.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_data_backends/segy_data_backend.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/collections/event_data_backends/xarray_data_backend.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/receiver/cartesian.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/receiver/seismology.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/source/transformations.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/concrete_sites/grid_engine.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/concrete_sites/local.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/concrete_sites/pbs.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/concrete_sites/lsf.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/concrete_sites/slurm.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/concrete_sites/ssh.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/task_chain/local_task_chain_runner.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/task_chain/run_task_chain_bash_file.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/task_chain/task_chain.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/task_chain/task_chain_controller.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/task_chain/task_chain_runner.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/task_chain/task_chain_site_config.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/detail/detail.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/detail/mesh_from_domain.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/detail/realize.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/interface/curve.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/interface/detail.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/interface/hyperplane.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/interface/surface.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/modules/near_surface/processing/geophone_response.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/modules/near_surface/processing/point_to_line_source_conversion.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/layered_model/bm.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/layered_model/detail.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/layered_model/filters.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/layered_model/layer.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/layered_model/layered_model.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/layered_model/reductions.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/acoustic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/elastic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/parameter.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/visco.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol/meshing_protocol.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/utils/blend.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/utils/compute_ellipticity.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/utils/flood.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/utils/split_layered_model.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh_block/generators/cartesian.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/opt/misfits/deprecated/phase_misfit.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/action/action_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/action/inversion.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/action/exploration.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/action/seismology.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/action/validation.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/visualization/notebook_visualization_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/visualization/seismology_visualization_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/visualization/visualization_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/bathymetry/cartesian.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/bathymetry/spherical.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/model/background.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/model/utils.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/model/volume.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/processing/seismology.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/topography/cartesian.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/topography/spherical.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/io/converters.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/data_selection/seismology.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/io/seisio.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing/block_processing.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing/processing_templates.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing/seismology.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing/signal_processing.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/data_proxies/hdf5_data_proxy.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/data_proxies/seis_io_data_proxy.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_data_backends/asdf_data_backend.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_data_backends/hdf5_data_backend.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_data_backends/segy_data_backend.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/collections/event_data_backends/xarray_data_backend.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/implementations/grid_engine.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/implementations/local.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/implementations/lsf.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/implementations/pbs.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/implementations/slurm.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/implementations/ssh.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/task_chain/local_task_chain_runner.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/task_chain/run_task_chain_with_python.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/task_chain/task_chain.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/task_chain/task_chain_controller.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/task_chain/task_chain_runner.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/task_chain/task_chain_site_config.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/receiver/cartesian.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/receiver/seismology.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/source/srf_file_reader.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/source/srf_to_salvus_sources.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/source/srf_utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/source/transformations.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/basic.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/deformations.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/extrude.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/io.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/material_operations.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/metrics.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/parallel_utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/refinements.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/side_sets.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/spatial_gradients.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/data_structures/mesh_block/mesh_block.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/data_structures/mesh_block/mesh_block_collection.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/data_structures/mesh_block/mesh_block_utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/detail/detail.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/detail/direct.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/detail/mesh_from_domain.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/detail/realize.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/interface/curve.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/interface/detail.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/interface/hyperplane.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/interface/surface.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/layered_model/bm.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/layered_model/detail.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/layered_model/filters.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/layered_model/layer.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/layered_model/layered_model.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/layered_model/reductions.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/meshing_protocol.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/refinement_policy.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/utils/blend.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/utils/compute_ellipticity.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/utils/flood.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/utils/split_layered_model.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/modules/near_surface/processing/geophone_response.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/modules/near_surface/processing/point_to_line_source_conversion.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/opt/misfits/deprecated/phase_misfit.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/action/action_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/action/exploration.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/action/inversion.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/action/seismology.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/action/validation.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/visualization/notebook_visualization_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/visualization/seismology_visualization_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/visualization/visualization_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/bathymetry/cartesian.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/bathymetry/spherical.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/model/background.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/model/utils.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/model/volume.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/processing/seismology.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/topography/cartesian.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/topography/spherical.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/data_selection/seismology.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/io/converters.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/io/seisio.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing/block_processing.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing/processing_templates.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing/signal_processing.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing/seismology.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_data_backends/asdf_data_backend.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_data_backends/hdf5_data_backend.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/event_data_backends/xarray_data_backend.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/data_proxies/hdf5_data_proxy.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/collections/data_proxies/seis_io_data_proxy.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/direct/simulations.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/mpi/simulations.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/mpi/utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/implementations/flux.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/implementations/grid_engine.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/implementations/local.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/implementations/lsf.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/implementations/pbs.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/implementations/slurm.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/implementations/ssh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/task_chain/local_task_chain_runner.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/task_chain/task_chain.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/task_chain/run_task_chain_with_python.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/task_chain/task_chain_controller.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/task_chain/task_chain_runner.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/task_chain/task_chain_site_config.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/receiver/seismology.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/receiver/cartesian.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/source/cartesian.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/source/srf_to_salvus_sources.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/source/srf_file_reader.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/source/transformations.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/source/srf_utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/distributed_mesh/broadcast.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/distributed_mesh/convert.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/distributed_mesh/construct_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/distributed_mesh/mesh_from_domain_mpi.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/distributed_mesh/mesh_to_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/distributed_mesh/reduce.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/distributed_mesh/scatter.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/basic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/distributed_mesh/submesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/deformations.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/dmplex.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/io.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/extrude.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/material_operations.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/metrics.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/parallel_utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/qc.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/refinements.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/side_sets.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/detail/detail.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/algorithms/unstructured_mesh/spatial_gradients.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/detail/mesh_from_domain.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/detail/realize.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/detail/direct.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/interface/curve.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/interface/detail.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/interface/hyperplane.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/interface/surface.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/layered_model/detail.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/layered_model/filters.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/layered_model/bm.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/layered_model/layered_model.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/layered_model/layer.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/layered_model/plot.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/layered_model/reductions.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/refinement_policy.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/meshing_protocol.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/serialization/write_to_h5.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/serialization/read_from_h5.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/utils/blend.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/utils/compute_ellipticity.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/utils/flood.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/chunked_mesh/chunked_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/utils/split_layered_model.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/mesh_block/mesh_block.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/distributed_mesh/distributed_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/mesh_block/mesh_block_collection.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/mesh_block/mesh_block_utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/linear_solids.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/section.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/migration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/serialization.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/side_sets.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/unstructured_mesh/unstructured_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/modules/near_surface/processing/point_to_line_source_conversion.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/modules/near_surface/processing/geophone_response.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/action/action_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/action/exploration.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/opt/misfits/deprecated/phase_misfit.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/action/inversion.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/action/seismology.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/action/validation.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/visualization/notebook_visualization_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/visualization/visualization_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/visualization/seismology_visualization_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/bathymetry/cartesian.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/model/background.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/bathymetry/spherical.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/model/volume.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/model/utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/processing/seismology.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/topography/spherical.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/topography/cartesian.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/data_selection/seismology.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/io/converters.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/io/seisio.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/mpi_workflows/run_simulations_from_project.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing/processing_templates.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing/seismology.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing/block_processing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing/signal_processing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/data_proxies/hdf5_data_proxy.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/data_proxies/seis_io_data_proxy.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_data_backends/hdf5_data_backend.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_data_backends/asdf_data_backend.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/collections/event_data_backends/xarray_data_backend.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/implementations/local.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/implementations/flux.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/implementations/grid_engine.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/direct/simulations.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/implementations/lsf.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/implementations/pbs.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/implementations/slurm.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/implementations/ssh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/mpi/simulations.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/task_chain/run_task_chain_with_python.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/task_chain/task_chain.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/task_chain/local_task_chain_runner.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/mpi/utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/task_chain/task_chain_controller.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/task_chain/task_chain_runner.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/task_chain/task_chain_site_config.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/receiver/seismology.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/receiver/cartesian.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/source/cartesian.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/source/srf_to_salvus_sources.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/source/srf_utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/source/srf_file_reader.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/source/transformations.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/distributed_mesh/convert.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/distributed_mesh/construct_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/distributed_mesh/mesh_from_domain_mpi.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/distributed_mesh/reduce.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/distributed_mesh/mpi_communication.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/distributed_mesh/mesh_to_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/distributed_mesh/scatter.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/distributed_mesh/submesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/basic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/chain_complex.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/deformations.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/dmplex.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/extrude.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/io.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/parallel_utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/metrics.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/material_operations.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/qc.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/refinements.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/spatial_gradients.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/side_sets.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/chain_complex/chain_complex.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/chunked_mesh/chunked_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/distributed_mesh/distributed_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/mesh_block/mesh_block.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/mesh_block/mesh_block_utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/mesh_block/mesh_block_collection.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/detail/detail.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/detail/direct.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/unstructured_mesh/unstructured_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/detail/mesh_from_domain.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/detail/realize.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/linear_solids.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/migration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/section.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/serialization.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/side_sets.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/interface/curve.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/interface/detail.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/interface/surface.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/interface/hyperplane.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/refinement_policy.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/meshing_protocol.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/layered_model/detail.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/layered_model/bm.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/layered_model/filters.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/layered_model/layered_model.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/layered_model/layer.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/layered_model/reductions.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/layered_model/plot.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/serialization/read_from_h5.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/serialization/write_to_h5.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/utils/blend.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/utils/compute_ellipticity.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/utils/flood.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/utils/split_layered_model.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/modules/near_surface/processing/geophone_response.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/opt/misfits/deprecated/phase_misfit.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/modules/near_surface/processing/point_to_line_source_conversion.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/bathymetry/spherical.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/bathymetry/cartesian.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/model/background.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/model/utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/model/volume.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/topography/cartesian.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/processing/seismology.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/action/action_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/topography/spherical.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/action/exploration.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/action/seismology.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/action/inversion.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/visualization/notebook_visualization_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/action/validation.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/visualization/seismology_visualization_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/visualization/visualization_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/data_selection/seismology.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/io/seisio.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/io/converters.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing/block_processing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing/processing_templates.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/mpi_workflows/run_simulations_from_project.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing/seismology.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing/signal_processing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/receiver/cartesian/collections.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/receiver/seismology/collections.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/source/cartesian/collections.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/acoustic/isotropic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/acoustic/transversely_isotropic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/elastic/anisotropic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/elastic/cubic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/elastic/hexagonal.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/elastic/isotropic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/elastic/monoclinic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/elastic/orthotropic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/elastic/triclinic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/visco/acoustic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/visco/elastic.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/detail.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_constant.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_doubling.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_tripling.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_constant.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_detail.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_variable.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_vertical_refine.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/action/exploration/exploration_action_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/action/inversion/inversion_action_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/action/seismology/seismology_action_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/components/action/validation/validation_action_component.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/model/background/homogeneous.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/model/background/one_dimensional.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/model/volume/cartesian.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/configuration/model/volume/seismology.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/data_selection/seismology/receiver_weighting.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/data_selection/seismology/window_picking.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/io/converters/seisio_to_block_data.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/io/seisio/compression.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/io/seisio/seisio.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing/block_processing/adjust_length.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing/block_processing/convolve.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing/block_processing/resample.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing/block_processing/taper.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing/seismology/processing_templates.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/processing/signal_processing/bandpass.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/compute_misfits_and_gradients.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/detail.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/results.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/task_generators.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/receiver/cartesian/collections.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/receiver/seismology/collections.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/source/cartesian/collections.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/detail/direct/coordinate_systems.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/detail/direct/special_cases.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/detail.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_constant.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_doubling.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_tripling.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_constant.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_detail.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_vertical_refine.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_variable.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/refinement_policy/simple_post_refinement.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/action/exploration/exploration_action_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/action/inversion/inversion_action_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/action/seismology/seismology_action_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/components/action/validation/validation_action_component.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/model/background/homogeneous.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/model/background/one_dimensional.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/model/volume/cartesian.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/configuration/model/volume/seismology.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/data_selection/seismology/receiver_weighting.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/data_selection/seismology/window_picking.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/io/converters/seisio_to_block_data.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/io/seisio/compression.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/io/seisio/seisio.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing/block_processing/adjust_length.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing/block_processing/convolve.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing/block_processing/resample.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing/block_processing/taper.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing/seismology/processing_templates.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/processing/signal_processing/bandpass.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/detail.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/prebuilt_workflows.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/receiver/cartesian/collections.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/receiver/seismology/collections.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/source/cartesian/collections.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/detail/direct/coordinate_systems.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/detail/direct/special_cases.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/compute_coarsening_policies.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/detail.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_constant.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_doubling.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_tripling.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_constant.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_detail.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_variable.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_vertical_refine.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/meshing_protocol/refinement_policy/simple_post_refinement.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/assembly.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/comparison.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/fields.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/interpolation.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/itertools.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/lifting.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/mass_matrix.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/points.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/section.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/transform.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/migration/unstructured_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/serialization/global_element_ids.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/serialization/hdf5.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/data_structures/salvus_mesh/serialization/vtk_utils.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/action/exploration/exploration_action_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/action/inversion/inversion_action_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/action/seismology/seismology_action_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/components/action/validation/validation_action_component.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/model/background/homogeneous.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/model/background/one_dimensional.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/model/volume/cartesian.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/configuration/model/volume/seismology.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/data_selection/seismology/receiver_weighting.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/data_selection/seismology/window_picking.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/io/converters/seisio_to_block_data.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/io/seisio/compression.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/io/seisio/seisio.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing/block_processing/adjust_length.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing/block_processing/convolve.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing/block_processing/resample.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing/block_processing/taper.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing/seismology/processing_templates.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/processing/signal_processing/bandpass.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/detail.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/prebuilt_workflows.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/receiver/cartesian/collections.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/receiver/seismology/collections.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/source/cartesian/collections.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/chain_complex/cell_topology_to_chain_complex.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/chain_complex/chain_complex_to_cell_topology.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/chain_complex/io.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/chain_complex/merge_k_cell.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/algorithms/unstructured_mesh/chain_complex/split_k_cell.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/detail/direct/coordinate_systems.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/detail/direct/special_cases.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/assembly.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/comparison.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/fields.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/interpolation.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/itertools.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/lifting.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/mass_matrix.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/points.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/section.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/algorithms/transform.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/migration/unstructured_mesh.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/serialization/global_element_ids.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/serialization/hdf5.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/data_structures/salvus_mesh/serialization/vtk_utils.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/compute_coarsening_policies.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/detail.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_constant.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_doubling.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/interlayer_tripling.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_constant.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_detail.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_variable.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/coarsening_policy/intralayer_vertical_refine.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/meshing_protocol/refinement_policy/simple_post_refinement.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/model/background/homogeneous.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/model/background/one_dimensional.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/model/volume/cartesian.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/configuration/model/volume/seismology.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/action/exploration/exploration_action_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/action/seismology/seismology_action_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/action/inversion/inversion_action_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/components/action/validation/validation_action_component.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/data_selection/seismology/receiver_weighting.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/data_selection/seismology/window_picking.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/io/converters/seisio_to_block_data.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/io/seisio/compression.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/io/seisio/seisio.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing/block_processing/adjust_length.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing/block_processing/convolve.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing/block_processing/resample.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing/block_processing/taper.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing/seismology/processing_templates.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/processing/signal_processing/bandpass.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/detail.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/prebuilt_workflows.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/elastic/anisotropic/dim2.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/elastic/anisotropic/dim3.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/acoustic/transversely_isotropic/dim2.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/layered_meshing/material/acoustic/transversely_isotropic/dim3.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/task_generators/generate_cleanup_task.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/task_generators/generate_misfit_computation_task.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/task_generators/generate_modify_input_file_task.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/task_generators/generate_store_mesh_in_shared_memory_context_function.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/results/failed_result.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/results/functions.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/results/misfit_and_gradient_result.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/results/misfit_result.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/tools/task_chains/compute_misfits_and_gradients/results/result_collection.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/layered_meshing/detail/direct/special_cases/smoothiesem.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/failed_result.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/functions.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/misfit_and_gradient_result.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/misfit_result.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/result_collection.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/waveform_result.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_cleanup_task.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_misfit_computation_task.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_modify_input_file_task.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_store_mesh_in_shared_memory_context_function.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/mesh/layered_meshing/detail/direct/special_cases/smoothiesem.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed/algorithms.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed/distributed_mesh_building.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed/task_generators.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/distributed_smoothing.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/task_generators.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/failed_mesh_chunk_result.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/failed_result.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/functions.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/mesh_chunk_result.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/misfit_and_gradient_result.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/misfit_result.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/result_collection.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/waveform_result.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_cleanup_task.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_context_manager_function.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_misfit_computation_task.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_modify_input_file_task.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/mesh/layered_meshing/detail/direct/special_cases/smoothiesem.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed/algorithms.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed/distributed_mesh_building.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed/task_generators.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/failed_mesh_chunk_result.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/failed_result.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/functions.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/mesh_chunk_result.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/misfit_and_gradient_result.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/misfit_result.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/result_collection.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/results/waveform_result.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/distributed_smoothing.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/task_generators.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_cleanup_task.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_context_manager_function.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_misfit_computation_task.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/task_generators/generate_modify_input_file_task.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed/task_generators/mesh_construction.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed/task_generators/shared_memory_mesh_context.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed/task_generators/mesh_construction.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/mesh_from_domain_distributed/task_generators/shared_memory_mesh_context.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/task_generators/generate_cleanup_task.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/task_generators/generate_create_halo_extended_mesh_task.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/task_generators/generate_setup_diffusion_equations_task.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/task_generators/generate_trim_halo_extended_mesh_task.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/task_generators/generate_cleanup_task.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/task_generators/generate_create_halo_extended_mesh_task.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/task_generators/generate_setup_diffusion_equations_task.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/tools/task_chains/prebuilt_workflows/smoothing_distributed/task_generators/generate_trim_halo_extended_mesh_task.json"}},{"node":{"relativePath":"0.12.16/salvus_compute_api/salvus_compute_api.md"}},{"node":{"relativePath":"0.12.16/salvus_flow_schemas/salvus_flow_schemas.json"}},{"node":{"relativePath":"2024.1.3/salvus_compute_api/salvus_compute_api.md"}},{"node":{"relativePath":"2024.1.3/salvus_flow_schemas/salvus_flow_schemas.json"}},{"node":{"relativePath":"2025.1.3/salvus_compute_api/salvus_compute_api.md"}},{"node":{"relativePath":"2025.1.3/salvus_flow_schemas/salvus_flow_schemas.json"}},{"node":{"relativePath":"2026.5.0/salvus_compute_api/salvus_compute_api.md"}},{"node":{"relativePath":"2026.5.0/salvus_flow_schemas/salvus_flow_schemas.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/orientation.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/orientation.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/stf.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/project/domain/dim3.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/stf.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/project/domain/dim3.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/stf.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/acoustic/isotropic.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/elastic/hexagonal.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/project/domain/dim3.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/stf.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/acoustic/isotropic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/elastic/hexagonal.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/project/domain/dim3.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/source/cartesian.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/simple_config/source/seismology.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/flow/sites/concrete_sites/local_hpc.json"}},{"node":{"relativePath":"0.12.16/python_api/salvus/mesh/mesh_block/generators/spherical.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/executors/implementations/local_hpc.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/source/cartesian.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/flow/simple_config/source/seismology.json"}},{"node":{"relativePath":"2024.1.3/python_api/salvus/mesh/data_structures/unstructured_mesh/unstructured_mesh.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/executors/implementations/local_hpc.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/flow/simple_config/source/seismology.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/executors/implementations/local_hpc.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/flow/simple_config/source/seismology.json"}},{"node":{"relativePath":"2025.1.3/python_api/salvus/material/elastic/isotropic.json"}},{"node":{"relativePath":"2026.5.0/python_api/salvus/material/elastic/isotropic.json"}}]}},"pageContext":{"id":"08a3faff-cb7f-5c41-aaa5-177131fb7e64"}},
    "staticQueryHashes": ["1756726491","1865182279","3419370438","3597190305","4112489441","519097329"]}