SeisFlows is an open-source, Python-based waveform inversion package that tackles the problems of seismic wavefield simulation, full waveform inversion, seismic migration, and adjoint tomography on a variety of compute systems, from laptops to supercomputers. Seisflows is built on top of external numerical solvers to make it easier for users to run large, complicated workflows with lots of moving parts.
The design principles of SeisFlows include:
- Driven through: command line Interface + dynamically generated parameter file.
- Inheritance-based design for generalized workflows and plug-and-play functionality.
- Automated workflows with checkpointing, pre-written job scheduler interactions, and verbose logging.
-
Please see Read the Docs for install instructions, examples, and API documentation.
-
SeisFlows is housed package under the adjTomo organization which contains tools for computational seismology. SeisFlows has strong ties to the SPECFEM community.
-
If you find any issues, have questions, or would like to join the community, please feel free to open up a GitHub Issue or start a discussion.
If you use this package in your own research, please cite the following papers:
-
Bryant Chow, Yoshihiro Kaneko, Carl Tape, Ryan Modrak, John Townend, An automated workflow for adjoint tomography —waveform misfits and synthetic inversions for the North Island, New Zealand, Geophysical Journal International, Volume 223, Issue 3, December 2020, Pages 1461–1480, https://doi.org/10.1093/gji/ggaa381
-
Ryan Modrak, Dmitry Borisov, Matthieu Lefebvre, Jeroen Tromp; SeisFlows—Flexible waveform inversion software, Computers & Geosciences, Volume 115, June 2018, Pages 88-95, https://doi.org/10.1016/j.cageo.2018.02.004