Salvus 0.11.27
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
Automatically cast integers to floats in many cases where objects expect floating point values to be set.
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)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
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.