The best way to get started using Salvus is taking a look at the tutorials we collect here. The list will constantly grow in the future. Find something missing? Email us and suggest new topics!

Quick start

To run your first simulation with Salvus check out Lamb's problem. This tutorial covers all basic steps from creating a mesh, configuring sources and receivers, setting up a simulation, solving the wave equation and investigating its output.


This section collects an expanding series of reference use cases that you can use to learn the basics of Salvus. We have sections dedicated to basic API usage, exploration geophysics, and regional to global scale seismology, with more to come.

For more insights into specific topics, we recommend browsing through the other subfolders which offer a series of standalone notebooks.

Integration tests

Every time we change a single line of code in Salvus, we need to make sure that everything is still working properly and that the changes neither breaks pre-existing functionality nor backward compatibility. In order to ensure this, we use continuous integration, and run an extensive set of unit tests for different operating systems, different hardware, and different python versions.

Once all these tests pass, the new release candidate needs to go through another round of integration tests. At this stage, we combine all of the Salvus modules and check if they work together as expected by solving more comprehensive problems. For instance, we benchmark Salvus against (semi-)analytic solutions of the wave equation in simple media and compare waveforms to reference solutions provided by Instaseis.

You can click through a subset of our test suite using the navigation pane on the left.