Getting Started

Learn how to run an example, understand its outputs, and manipulate SeisFlows for your own research problems.

Running an example problem

SeisFlows can be run on your laptop alongside SPECFEM2D. There are a number of 2D example problems including toy simulation and inversion problems.

The following code block executes Example Problem 1, a synthetic homogeneous halfspace inversion. This example:

  • automatically downloads and compiles SPECFEM2D,

  • sets up starting and target homogeneous halfspace models,

  • runs a 1 iteration inversion.

cd <PATH_TO_WORKING_DIRECTORY>  # choose an empty working directory
seisflows examples run 1

Interested in what’s happening under the hood? See the example walkthrough for a step-by-step explanation of problem setup and execution.

Understanding SeisFlows

A User’s interaction with SeisFlows will have the same structure, whether they’re running a 2D laptop problem, or a 3D HPC problem. The following Docs pages can help you understand the key components of SeisFlows,

Training Material

  • New to SPECFEM? We hosted a 3-day virtual workshop for new users of SPECFEM in October, 2022. You can view all the recordings and workshop material here.

  • adjDocs houses training material related to SeisFlows, the adjTomo software suite, and SPECFEM. Have a look there for any related training or presentation material.

Running tests

SeisFlows has some unit/integration tests that ensure the capabilities of the package are working as intended. Tests should be run before and after any edits to the source code are made. To run the tests, from the top level seisflows directory:

cd seisflows/tests
pytest

If developing SeisFlows, please ensure that you run these tests before and after any changes are made to ensure that your changes do not break intended package functionality.