Skip to content

DeepWave-KAUST/B-IntraSeismic-pub

Repository files navigation

B-IntraSeismic

This repository contains the source code and reproducible materials for the paper "Bayesian Seismic Inversion with Implicit Neural Representations" by J. Romero, W. Heidrich, and M. Ravasi.

Project Structure

  • 📂 bintraseismic: A Python library with the core implementation of the B-IntraSeismic models (BIS and BIS-Flow), data loaders, and utility functions.
  • 📂 data: Contains preprocessed NPZ files of the Marmousi synthetic and Volve field data used in the experiments and the instructions to download the raw data.
  • 📂 notebooks: Jupyter notebooks demonstrating the application of B-IntraSeismic to the Marmousi, Volve, and Sleipner datasets.
  • 📂 scripts: Slurm scripts for running the inversion experiments on a high-performance computing (HPC) cluster.

Getting Started 👾 🤖

To reproduce the results, use the environment.yml file for environment setup.

Execute the following command:

./install_env.sh

The installation takes some time. If you see Done! in your terminal, the setup is complete.

Finally, run:

pip install -e . 

in the folder where the setup.py file is located.

Always activate the environment with:

conda activate bis

How to Run

Jupyter Notebooks

The notebooks cover:

  • 📙 marmousi/: Analytical (Numerical), RTO, BIS, and BIS-Flow inversions for the Marmousi dataset.
  • 📙 sleipner/: BIS and BIS-Flow inversions for the 3D Sleipner dataset.
  • 📙 volve/: BIS and BIS-Flow inversions for the 2D Volve dataset.

Slurm Scripts

For large-scale experiments, you can use the Slurm scripts provided in the scripts/ directory. These are configured to run the main inversion modules on an HPC cluster.

From the Command Line

You can also run the inversion scripts directly from the command line. From the project root directory, you can run an experiment like this:

python bintraseismic/inversion/bisflow.py --config bintraseismic/config/config_bisflow_marmousi.yaml

The results, including plots and .npz files, will be automatically saved to a timestamped directory inside the results/ folder.

Each inversion method (bis, bisflow, numerical, rto) has its own script in bintraseismic/inversion/ and corresponding configuration files in bintraseismic/config/. You can customize the .yaml configuration files to change experiment parameters.

Disclaimer

Experiments were conducted on an AMD EPYC 7713 64-Core processor equipped with a single NVIDIA A100 GPU. Different hardware may require alternate environment configurations.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages