Salvus 0.12.0
This is a new major release which comes with a big portion of internal changes.
Fortunately, there are only a few breaking changes on the user-facing API, which are mostly related to custom meshing functionality.
We’ve also used the opportunity to remove some deprecated functionality of the inversion component, and added several improvements related to resilience and performance.
Changes
Will now reinitialize the SSH site in case a socket has been closed.
Better sharing of existing SSH connections. Should reduce the number of necessary SSH connection reinitializations.
Added timings to the individual tasks of a TaskChain.
Removed the StructuredGrid2D, StructuredGrid3D and Skeleton classes and
replaced them with new MeshBlock and MeshBlockCollection classes.
This should have a minimal influence on most users - please contact us if you experience any issues.
Performance improvement of the adjoint mapping function when using cutouts around source or receiver locations.
Remove job submission settings from the inversion routines
iterate() and resume(). Specifying site_name,
ranks_per_job and wall_time_in_seconds_per_job is no longer
supported. Instead, the job_submission_settings either need to be passed to
the constructor of the InverseProblemConfiguration or by using
p.inversions.set_job_submission_configuration().
Add option to query simulations for specific compression settings.
Example:
p.simulations.query(
simulation_configuration="my_simulation",
misfit_configuration="my_misfit",
wavefield_compression=sn.WavefieldCompression(
forward_wavefield_sampling_interval=15
),
events=p.events.list(),
)Add the option to pass an element mask to Cartesian volume models. Useful, for instance, when you only want to interpolate parameters onto a specific subdomain of the mesh (i.e. only onto elastic elements).
Fix a bug that could occur in very specific circumstances when overwriting an existing bathymetry model.