Structural joint inversion of SRT and SWA data

DOI

Structural joint inversion code and data

Context and methodology

Research domain and contextThis 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 datasetThe 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 datasetThe 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 structureThe repository is organized as follows:

/sjiContains the core Python implementation of the joint inversion algorithm.

/examplesContains 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.

  1. Create synthetic model

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

  1. Create synthetic data

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

  1. Create inversion meshes

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

  1. 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.

  1. 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 requirementsThe 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 resourcesNo 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 expectationsThe 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 caveatsNo 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.

LicensingThe python codes are released under the MIT license.

Identifier
DOI https://doi.org/10.48436/2zfz8-kb782
Related Identifier IsVersionOf https://doi.org/10.48436/y283m-f2797
Metadata Access https://researchdata.tuwien.ac.at/oai2d?verb=GetRecord&metadataPrefix=oai_datacite&identifier=oai:researchdata.tuwien.ac.at:2zfz8-kb782
Provenance
Creator Roser, Nathalie Sophie
Publisher TU Wien
Publication Year 2026
Rights Creative Commons Attribution 4.0 International; MIT License; https://creativecommons.org/licenses/by/4.0/legalcode; https://opensource.org/licenses/MIT
OpenAccess true
Contact tudata(at)tuwien.ac.at
Representation
Resource Type Software
Version 1
Discipline Other