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. .. code:: bash cd # choose an empty working directory seisflows examples run 1 Interested in what's happening under the hood? See the `example walkthrough <2D_example_walkthrough.html>`__ 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, * `Command line tool `__: Learn to operate SeisFlows from the terminal * `Working directory `__: Understand the structure of generated by a SeisFlows workflow * `Parameter file `__: Figure out how to decipher the SeisFlows YAML parameter file * `Setting up on a cluster `__: Follow along on setting up SeisFlows on your HPC system * `Background `__: Learn about how the SeisFlows source code is structured * `Extend the package `__: Become a SeisFlows contributor * `API `__: Source code reference manual 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: .. code:: bash 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.