Collection of Python scripts to perform Eikonal Tomography

Overview

Python script - Eikonal tomography

v. 2021.03.20 for the latest version, please visit https://github.com/ekaestle

Author: Emanuel D. Kästle [email protected]

###########################

REFERENCES

###########################

The following article should be cited by anyone who uses this code:

Kästle, E. D., Molinari, I., Boschi, L., Kissling, E., & AlpArray Working Group. (2022). Azimuthal anisotropy from Eikonal Tomography: example from ambient-noise measurements in the AlpArray network. Geophysical Journal International, 229(1), 151-170.

###########################

INSTRUCTIONS

###########################

The Python scripts can be used to apply isotropic and azimuthally anisotropic Eikonal tomography after Lin et al. (2009). Detailed instructions on the principles of the Eikonal method and how this code works are given in the article referenced above.

Prerequisites

Python v.3.6 or above with the following packages: numpy, mpi4py, scipy, matplotlib, basemap, pyproj, cartopy optional: scikit-fmm, pillow (to use the fast-marching method and create synthetic data) recommended: spyder or another python editor

It is recommended to install Python and all required packages via Anaconda (executable installers and instructions for Linux/Windows/Mac can be found on the Anaconda webpage).

Once Anaconda is installed, create a new environment in a console window, for example: $ conda create -n py39 python=3.9 # or other supported Python version $ conda activate py39 # activate the newly created environment

Then, install all the required packages $ conda install numpy scipy matplotlib basemap pyproj cartopy mpi4py

The optional packages can be installed the same way $ conda install scikit-fmm pillow spyder=4

You should now be able to run the first example $ cd {path_to_this_folder}/synthetic_example_simple/ $ python eikonal_tomography.py

Running the synthetic examples

The input should be given as travel times between station pairs. An example input file is given in the synthetic_example_simple folder. The example dataset can be re-created with the provided script

$ python create_synthetic_data_simple.py

The creation of synthetic data requires that the FMM.py script is in the same folder.

The second synthetic example provided in the synthetic_example_publication/ folder re- creates the data presented in the above referenced article. Execution of this script will take very long. Finally, example_dataset_rayleigh.txt is created. The Eikonal tomography is applied by running

$ python eikonal_tomography.py

Inside the eikonal_tomography.py script, there is a header section with user-defined parameters. The function of these parameters is explained in the script itself and in the above-referenced article.

Running the Eikonal tomography script with an own dataset

Prepare one or several input files according to the scheme explained at the top of the eikonal_tomography.py script (compare example datasets in the synthetic_example_.../ folders).

Copy the eikonal_tomography.py script to a new folder. Adapt all the parameters in the USER-DEFINED PARAMETERS section of the script to your needs.

Run $ python eikonal_tomography.py

The results will appear in a newly created subfolder.

In case of questions/problems, feel free to contact [email protected]

References

Lin, F.-C., Ritzwoller, M. H., and Snieder, R. (2009). Eikonal tomography: surface wave tomography by phase front tracking across a regional broad-band seismic array. Geophysical Journal International, 177(3):1091–1110.

Owner
Emanuel Kästle
Emanuel Kästle
An interactive tool with which to explore the possible imaging performance of candidate ngEHT architectures.

ngEHTexplorer An interactive tool with which to explore the possible imaging performance of candidate ngEHT architectures. Welcome! ngEHTexplorer is a

Avery Broderick 7 Jan 28, 2022
MoBioTools A simple yet versatile toolkit to automatically setup quantum mechanics/molecular mechanics

A simple yet versatile toolkit to setup quantum mechanical/molecular mechanical (QM/MM) calculations from molecular dynamics trajectories.

MoBioChem 17 Nov 27, 2022
LinuxHelper - A collection of utilities for non-technical Linux users accessible via a GUI

Linux Helper A collection of utilities for non-technical Linux users accessible via a GUI This app is still in very early development, expect bugs and

Seth 7 Oct 03, 2022
Library for RadiaCode-101

RadiaCode Библиотека для работы с дозиметром RadiaCode-101, находится в разработке - API не стабилен и возможны изменения. Пример использования (backe

Maxim Andreev 56 Nov 29, 2022
Experimental proxy for dumping the unencrypted packet data from Brawl Stars (WIP)

Brawl Stars Proxy Experimental proxy for version 39.99 of Brawl Stars. It allows you to capture the packets being sent between the Brawl Stars client

4 Oct 29, 2021
Project Guide for ASAM OpenX standards

ASAM Project Guide Important This guide is a work in progress and subject to change! Hosted version available at: ASAM Project Guide (Link) Includes:

ASAM e.V. 2 Mar 17, 2022
Pypot ⚙️ A Python library for Dynamixel motor control

Pypot ⚙️ A Python library for Dynamixel motor control Pypot is a cross-platform Python library making it easy and fast to control custom robots based

Poppy Project 238 Nov 21, 2022
A simple weather app.

keather A simple weather app. This is currently not finished. Dependencies: yay -S python-beautifulsoup4 tk

1 Jan 09, 2022
Research using python - Guide for development of research code (using Anaconda Python)

Guide for development of research code (using Anaconda Python) TL;DR: One time s

Ziv Yaniv 1 Feb 01, 2022
Something like Asteroids but not really, done in CircuitPython

CircuitPython Staroids Something like Asteroids, done in CircuitPython. Works with FunHouse, MacroPad, Pybadge, EdgeBadge, CLUE, and Pygamer. circuitp

Tod E. Kurt 14 May 31, 2022
BOHB tune library template (included example)

BOHB-template 실행 방법 python main.py 2021-10-10 기준 tf keras 버전 (tunecallback 방식) 완료 tf gradienttape 버전 (train_iteration 방식) 완료 pytorch 버전은 구현 준비중 방법 소개

Seungwoo Han 5 Mar 24, 2022
a simple thing that i made for fun :trollface:

we-do-a-little-trolling about a simple thing that i made for fun. requirements and instructions first you need to install obs , then start the virtual

ranon rat 6 Jul 15, 2022
A general-purpose wallet generator, for supported coins only

2gen A general-purpose generator for keys. Designed for all cryptocurrencies supporting the Bitcoin format of keys and addresses. Functions To enable

Vlad Usatii 1 Jan 12, 2022
Convert long numbers into a human-readable format in Python

Convert long numbers into a human-readable format in Python

Alex Zaitsev 73 Dec 28, 2022
python scripts - mostly automation scripts

python python scripts - mostly automation scripts You can set your environment in various ways bash #!/bin/bash python - locally on remote host #!/bi

Enyi 1 Jan 05, 2022
python for windows extensions

This is the readme for the Python for Win32 (pywin32) extensions source code. See CHANGES.txt for recent changes. 'setup.py' is a standard distutils

27 Dec 08, 2022
My collection of mini-projects in various languages

Mini-Projects My collection of mini-projects in various languages About: This repository consists of a number of small projects. Most of these "mini-p

Siddhant Attavar 1 Jul 11, 2022
A python mathematics module

A python mathematics module

Fayas Noushad 4 Nov 28, 2021
Winxp_python3.6.15 - Python 3.6.15 For Windows XP SP3

This is Python version 3.6.15 Copyright (c) 2001-2021 Python Software Foundation. All rights reserved. See the end of this file for further copyright

Alex Free 13 Sep 11, 2022
A basic interpreted programming language written in python

shin A basic interpreted programming language written in python. extension You can use our own extension ".shin". Example: main.shin How to start Clon

12 Nov 04, 2022