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
This repository contains the code for the python introduction lab

This repository contains the code for the python introduction lab. The purpose is to have a fairly simple python assignment that introduces the basic features and tools of python

1 Jan 24, 2022
Function Plotter✨

Function-Plotter Build With : Python PyQt5 unittest matplotlib Getting Started This is an list of needed instructions to set up your project locally,

Ahmed Lotfy 3 Jan 06, 2022
UniPD exam dates finder

UniPD exam dates finder Find dates for exams at UniPD Usage ./finder.py courses.csv It's suggested to save output to a file: ./finder.py courses.csv

Davide Peressoni 1 Jan 25, 2022
A Lynx that manages a group that puts the federation first.

Lynx Super Federation Management Group Lynx was created to manage your groups on telegram and focuses on the Lynx Federation. I made this to root out

Unknown 2 Nov 01, 2022
Helps compare between New and Old Tax Regime.

Income-Tax-Calculator Helps compare between New and Old Tax Regime. Sample Console Input/Output

2 Jan 10, 2022
PIP VA TASHQI KUTUBXONALAR

39-dars PIP VA TASHQI KUTUBXONALAR KIRISH Avvalgi darsimizda Python bilan birga o'rnatluvchi, standart kutubxona va undagi ba'zi foydali modullar bila

Sayfiddin 3 Nov 25, 2021
Python Example Project Structure

Python Example Project Structure Example of statuses that can be in readme: Visit my docs for the full documentation, examples and guides. With this p

1 Oct 31, 2021
Controller state monitor plugin for EVA ICS

eva-plugin-cmon Controller status monitor plugin for EVA ICS Monitors connected controllers status in SFA and pushes measurements into an external Inf

Altertech 1 Nov 06, 2021
Woltcheck - Python script to check if a wolt restaurant is ready to deliver to your location

woltcheck Python script to check if a wolt restaurant is ready to deliver to you

30 Sep 13, 2022
Empresas do Brasil (CNPJs)

Biblioteca em Python que coleta informações cadastrais de empresas do Brasil (CNPJ) obtidas de fontes oficiais (Receita Federal) e exporta para um formato legível por humanos (CSV ou JSON).

BR-API: Democratizando dados do Brasil. 8 Aug 17, 2022
Inspect the resources of your android projects and understand which ones are not being used and could potentially be removed.

Android Resources Checker What This program will inspect the resources of your app and help you understand which ones are not being used and could pot

Fábio Carballo 39 Feb 08, 2022
SpellingBeeSolver - This program generates solutions to NYT style spelling bee problems.

SpellingBeeSolver This program generates solutions to NYT style spelling bee problems. The initial version of this program is being written in Python

1 Jan 01, 2022
Anki for desktop computers

Anki This repo contains the source code for the computer version of Anki. If you'd like to try development builds of Anki but don't feel comfortable b

Ankitects 12.9k Jan 09, 2023
Request ID propagation for ASGI apps

ASGI Correlation ID middleware Middleware for loading and receiving correlation IDs from request HTTP headers, and making them available in applicatio

snok 170 Jan 02, 2023
A timer for bird lovers, plays a random birdcall while displaying its image and info.

Birdcall Timer A timer for bird lovers. Siriema hatchling by Junior Peres Junior Background My partner needed a customizable timer for sitting and sta

Marcelo Sanches 1 Jul 08, 2022
Data Structures and Algorithms Python - Practice data structures and algorithms in python with few small projects

Data Structures and Algorithms All the essential resources and template code nee

Hesham 13 Dec 01, 2022
The first Python 1v1.lol triggerbot working with colors !

1v1.lol TriggerBot Afin d'utiliser mon triggerbot, vous devez activer le plein écran sur 1v1.lol sur votre naviguateur (quelque-soit ce dernier). Vous

Venax 5 Jul 25, 2022
Data-driven Computer Science UoB

COMS20011_2021 Data-driven Computer Science UoB Staff Laurence Aitchison [ 6 May 16, 2022

tgEasy | Easy for a Brighter Shine | Monkey Patcher Addon for Pyrogram

tgEasy | Easy for a Brighter Shine | Monkey Patcher Addon for Pyrogram

Jayant Hegde Kageri 35 Nov 12, 2022
This is a menu driven Railway Reservation Project which is mainly based on the python-mysql connectivity.

Online-Railway-Reservation-System This is a menu driven Railway Reservation Project which is mainly based on the python-mysql connectivity. The projec

Ananya Gupta 1 Jan 09, 2022