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
Groupe du projet Python en 2TL2-4

Présentation Projet EpheCom Ce logiciel a été développé dans le cadre scolaire. EpheCom est un logiciel de communications - vocale et écrite - en temp

1 Dec 26, 2021
Expense Tracker is a very good tool to keep track of your expenseditures and the total money you saved.

Expense Tracker is a very good tool to keep track of your expenseditures and the total money you saved.

Shreejan Dolai 9 Dec 31, 2022
The goal of this program was to find the most common color in my living room.

The goal of this program was to find the most common color in my living room. I found a dataset online with colors names and their corr

1 Nov 09, 2021
A server shell for you to play with Powered by Django + Nginx + Postgres + Bootstrap + Celery.

A server shell for you to play with Powered by Django + Nginx + Postgres + Bootstrap + Celery.

Mengting Song 1 Jan 10, 2022
How to build an Fahrenheit to Celsius Converter in Python

Generally to measure the temperature we make use of one of these two popular units i.e. Fahrenheit & Celsius.

PyLaboratory 0 Feb 07, 2022
Jarvis Python BOT acts like Google-assistance

Jarvis-Python-BOT Jarvis Python BOT acts like Google-assistance Setup Add Mail ID (Gmail) in the file at line no 82.

Ishan Jogalekar 1 Jan 08, 2022
Tutorial on Tempo, Beat and Downbeat estimation

Tempo, Beat and Downbeat Estimation By Matthew E. P. Davies, Sebastian Böck and Magdalena Fuentes Resources and Jupyter Book for the ISMIR 2021 tutori

49 Nov 06, 2022
Includes Chapters for Python Crash Course session.

python-crash-course Includes Chapters for Python Crash Course session. What will you learn: Python Essentials Creating Server Writing REST API Writing

Vineet Rao 3 Feb 17, 2021
Hspice-Wave-Generator is a tool used to quickly generate stimuli souces of hspice format

Hspice-Wave-Generator is a tool used to quickly generate stimuli souces of hspice format. All the stimuli sources are based on `pwl` function of HSPICE and the specific complex operations of writing

3 Aug 02, 2022
Poetry plugin to bundle projects into various formats

Poetry bundle plugin This package is a plugin that allows the bundling of Poetry projects into various formats. Installation The easiest way to instal

Poetry 54 Jan 02, 2023
Experimental Brawl Stars v36.218 server emulator written in Python.

Brawl Stars v36 Experimental Brawl Stars v36.218 server emulator written in Python. Requirements: Python 3.7 or higher colorama Running the server In

8 Oct 31, 2021
A webdav demo using a virtual filesystem that serves a random status of whether a cat in a box is dead or alive.

A webdav demo using a virtual filesystem that serves a random status of whether a cat in a box is dead or alive.

Marshall Conover 2 Jan 12, 2022
FantasyBballHelper - Espn Fantasy Basketball Helper

ESPN FANTASY BASKETBALL HELPER The simple goal of this project is to allow fanta

1 Jan 18, 2022
Add all JuliaLang unicode abbreviations to AutoKey.

Autokey Unicode characters Usage This script adds all the unicode character abbreviations supported by Julia to autokey. However, instead of [TAB], th

Randolf Scholz 49 Dec 02, 2022
Data derived from the OpenType specification

This package currently provides the opentypespec.tags module, which exports FEATURE_TAGS, SCRIPT_TAGS, LANGUAGE_TAGS and BASELINE_TAGS dictionaries, representing data from the Layout Tag Registry

Simon Cozens 4 Dec 01, 2022
Python script for the radio in the Junior float.

hoco radio 2021 Python script for the radio in the Junior float. Populate the ./music directory with 2 or more .wav files and run radio2.py. On the Ra

Kevin Yu 2 Jan 18, 2022
SysCFG R/W Utility written in Swift

MagicCFG SysCFG R/W Utility written in Swift MagicCFG is one of our first, successful applications that we launched last year. The app makes it possib

Jan Fabel 82 Aug 08, 2022
An experimental Python-to-C transpiler and domain specific language for embedded high-performance computing

An experimental Python-to-C transpiler and domain specific language for embedded high-performance computing

Andrea Zanelli 562 Dec 28, 2022
WATTS provides a set of Python classes that can manage simulation workflows for multiple codes where information is exchanged at a coarse level

WATTS (Workflow and Template Toolkit for Simulation) provides a set of Python classes that can manage simulation workflows for multiple codes where information is exchanged at a coarse level.

13 Dec 23, 2022
Run Windows Applications on Linux as if they are native, Use linux applications to launch files files located in windows vm without needing to install applications on vm. With easy to use configuration GUI

Run Windows Applications on Linux as if they are native, Use linux applications to launch files files located in windows vm without needing to install applications on vm. With easy to use configurati

Casu Al Snek 2k Jan 02, 2023