Mondaic

Salvus 0.12.0

Released: 2022-04-30

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

SalvusFlow

Will now reinitialize the SSH site in case a socket has been closed.

SalvusFlow

Better sharing of existing SSH connections. Should reduce the number of necessary SSH connection reinitializations.

SalvusFlow

Added timings to the individual tasks of a TaskChain.

SalvusMesh API CHANGE

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.

SalvusOpt

Performance improvement of the adjoint mapping function when using cutouts around source or receiver locations.

SalvusProject

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().

SalvusProject

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(),
)
SalvusProject

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).

SalvusProject

Fix a bug that could occur in very specific circumstances when overwriting an existing bathymetry model.