Published January 14, 2026 | Version 1
Software Open

Structural joint inversion of SRT and SWA data

  • 1. ROR icon TU Wien

Description

Structural joint inversion code and data

Context and methodology

Research domain and context
This software and accompanying dataset were developed in the context of research on joint inversion approaches in geophysics. The work focuses on the development and evaluation of a structural joint inversion algorithm that integrates seismic refraction tomography (SRT) and surface wave analysis (SWA) data within a unified inversion framework.

Purpose of the software and dataset
The primary research output is a Python implementation of a joint inversion algorithm. The accompanying dataset serves a demonstration and validation purpose, enabling users to reproduce example results, explore the behavior of the algorithm, and test modifications or extensions. The dataset is not intended as a comprehensive benchmark, but rather as a reproducible and transparent illustration of the algorithm’s application.

Creation of the software and dataset
The joint inversion algorithm was developed and implemented by the author. The dataset consists of synthetic data, generated specifically for demonstration purposes. Scripts for generating the synthetic data are included as part of the software distribution, ensuring full transparency and reproducibility of the examples.

 

Technical details

Dataset and code structure
The repository is organized as follows:

  • /sji
    Contains the core Python implementation of the joint inversion algorithm.

  • /examples
    Contains two example applications demonstrating the use of the software:

    • Model A/

      • data/ (synthetic input data for Model A)

    • Model B/

      • data/ (synthetic input data for Model B)

Each example includes scripts that can be executed to create the synthetic data and run the joint inversion workflow.

The data sets includes mesh files (.bms) and the synthetic data and model vectors, as well as sensor positions (.syn, .dat, .txt) stored as plain-text, ASCII-encoded files. All data files are generated using the provided scripts. Functions to import the different data types can be found in the provided scripts as well.

 

Running the example scripts

1. Plot settings and synthetic model design

  • Plotting preferences and the synthetic model design are defined in the script: settings.py.

2. Create synthetic model

  • Model vectors and mesh for the synthetic model are created by executing script: 1_create_model.py.

3. Create synthetic data

  • The synthetic data files for SRT and SWA are created by executing script: 2_create_syn_data.py.

4. Create inversion meshes

  • To create the inversion meshes and store them as .bms files run script: 3_create_invmesh.py.

5. Run the conventional inversion

  • A conventional deterministic inversion can be performed for both methods using script: 4_conventional_inversion.py.
  • The script contains code chunks to save the final model estimates and create a simple plot of the models.

6. Run the joint inversion

  • To run the joint inversion approach run script: 5_joint_inversion.py.
  • The script contains code chunks to save the final model estimates and create a simple plot of the models.

 

Software requirements
The inversion alorithm is implemented in Python. The following dependencies are required:

  • pygimli 1.5.3

  • scipy 1.15.2

  • matplotlib 3.10.0

  • seaborn 0.13.2

  • pandas 2.2.3

  • disba 0.7.0

The file requirements.txt, included in the downloadable material, lists all required dependencies as well. 

Additional resources
No external documentation beyond the source code is provided. The repository contains the full implementation of the algorithm as well as scripts for data generation and example execution.

Further details

Reuse expectations
The software and dataset are intended to be reused, adapted, and extended. Users may apply the algorithm to their own datasets, modify the implementation, or build upon it for further methodological development.

Limitations and caveats
No specific limitations beyond those inherent to synthetic demonstration data are currently known. Users should be aware that the provided datasets are illustrative and may not reflect the complexity of real-world geophysical data.

Licensing
The python codes are released under the MIT license.

Files

README.txt

Files (1.0 MiB)

NameSize
md5:f21c2ade88e1b7b10ad5dd42dfb4b693
4.5 KiBPreview Download
md5:f9f553e94d02f7d9e59376bacfe1e1fb
91 BytesPreview Download
md5:50bec5388112c3a9f3f1965c0a911345
1.0 MiBPreview Download