Salvus 0.12.1
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
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.
Add basic timing statistics for the tasks of an iteration.
A summary is printed in the Stats tab of the iteration widget.
Reduce the memory overhead of dealing with many event-dependent gradients.
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.
Add ability to recover from failed preconditioner tasks and provide error logs of failed smoothing jobs.
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.