Welcome to

SurfQuake has been designed to streamline the workflow of estimating seismic source parameters. Comprehensive set of toolboxes automates the determination of arrival times, event locations, event magnitudes , attenuation, and moment tensor inversion. The software is programmed in Python 3 and offers the users the possibility of three programming levels for flexibility and customization.
- 
The Core Library allows users to integrate the core of surfQuake into their preexisting scripts, giving advanced users full control. 
- 
The Command Line Interface gives users access to an upper layer that simplifies the use of the core, enabling task execution through simple commands. 
- 
The Graphical User Interface (GUI): Wraps the SurfQuake core in a user-friendly interface, making it accessible to users who prefer visual interaction. The GUI is connected to a SQLite database to store all results, ensuring easy retrieval and management of data. 
News
Combine the flexibility of command-line tools, Python scripts, and Bash to supercharge your seismic trace processing and workflow:
- 
surfquake 0.1.6 by October 2025: New Coincidence Trigger tool 
- 
surfquake 0.1.6 by October 2025: New First Motion Polarity tool 
- 
surfquake 0.1.6 by September 2025: New Signal Processing Module 
Take a look at our recently published paper!
 See surfQuake open-source core code
            See surfQuake open-source core code
        
        
             Follow us on Twitter
            Follow us on Twitter
        
        
             Subscribe on YouTube
            Subscribe on YouTube
        
        
             Questions and Issues
            Questions and Issues
        
        
             Subscribe to news and future workshops
            Subscribe to news and future workshops
        
    ToolBoxes
- Create your Project
- Signal Processing
- Phase Picker
- Event Associator
- Coincidence Trigger
- Event Location
- Source Parameters
- First Motion Polarity
- Moment Tensor Inversion
- Data Base
- Utils
How to follow surfQuake Tutorial
The first step is to select which programming level is the most convenient for you. SurfQuake is divided into five Toolboxes: Picking, Association, Locate, Source, and Moment Tensor Inversion (MTI). Each toolbox link below contains a description of the software according to your programming level and an example.
Let's start with Project and then continue with the next toolboxes.
Case of Study and Supporting Materials
First: Case of study, contains a full example of using surfQuake with core Library Python scripts, Core Library bash script and expected results. Of course you can try to run the example using the GUI.
Second: Earth Velocity models examples. Event Location format and MTI format.
Cite surfQuake:
Cabieces, R., Junqueira, T. C., Harris, K., Relinque, J., Satriano, C. & Vackář, J: SurfQuake: A new Python toolbox for the workflow process of seismic sources, Seismological Research Letters, may 2025.