Mondaic

Salvus 0.11.27

Released: 2021-03-01

The main feature in this release is a new method for the visualization / analysis of 2- or 3-D models and gradients. The addition of the function extract_model_to_regular_grid to the salvus.mesh.salvus_mesh_utils module allows users to regularly sample a given mesh given locations specified by an xarray dataset. Additional improvements include a more flexible API for surface topography in UTM domains, a memory use mitigation when running many shots with the same mesh, and the automatic up-casting of related types in certain schema (for example: “2 elements per wavelength” is now upcast to “2.0 elements per wavelength”).

Changes

SalvusFlow

Automatically cast integers to floats in many cases where objects expect floating point values to be set.

SalvusFlow

Copying simulation objects now, by default, only references a potentially attached mesh.

Many workflow have a large number of copied simulation objects which can result in a high memory usage if the meshes are copied as well.

The meshes can still be optionally copied with:

w_copy = w.copy(copy_mesh=True)
SalvusMesh

A new function named extract_model_to_regular_grid has been added to the salvus_mesh_utils module. This function performs an interpolation from a general, unstructured mesh (spherical or cartesian) to a set of points defined on a xarray dataset. This can be useful, for instance, to create slices through a model for efficient visualization and analysis. See the function’s docstring for additional examples, information, and tips.

Changes to Experimental Features

SalvusProject

A new parameter can optionally be passed to a cartesian SurfaceTopography object that restricts the mesh deformation above a given z-value. This is useful, for instance, when placing a layer (i.e. the atmosphere) above a free surface with topography. Related constructors (such as SurfaceTopography.from_gmrt_file() optionally take this parameter as well.