Mondaic

Salvus 0.12.1

Released: 2022-05-16

This release provides several small improvements for making inversion workflows more resilient and more robust.

Furthermore, we added easier support for arbitrary boundary conditions through the WaveformSimulationConfiguration.

Changes

SalvusFlow

Add an normalization option for the misfit and adjoint source computation.

The adjoint source is aware of this operation and Salvus will make sure it is correct.

SalvusOpt

Add basic timing statistics for the tasks of an iteration. A summary is printed in the Stats tab of the iteration widget.

SalvusOpt

Reduce the memory overhead of dealing with many event-dependent gradients.

SalvusProject

Add support for specifying boundary conditions in the WaveformSimulationConfiguration. This is useful for Dirichlet-type boundaries or absorbing boundaries of a UnstructuredMeshSimulationConfiguration. Boundaries specified here will be applied in addition to ocean load and/or absorbing boundaries specified as AbsorbingBoundaryParameters in the SimulationConfiguration. A ValueError is raised for duplicated conditions on a side set.

SalvusProject

Add ability to recover from failed preconditioner tasks and provide error logs of failed smoothing jobs.

SalvusProject

Add ability to recover from failed misfit computations. If a misfit computation fails for one more events during compute_misfits, the simulation results are considered corrupted and will be automatically deleted. This means that those simulations will be resubmitted when calling compute_misfits again.

This helps, for instance, to recover from corrupted ASDF files in case they have not have been written or downloaded correctly.