Introduction

Description

Fast routines for seismic backprojection/beamforming for both CPU and GPU architectures.

beampower (BP) implements the beamformed network response introduced in Frank et al. (2014) in C and CUDA-C. This library can be used for event detection and location, but also for the imaging of large fault ruptures.

If you use BNR in research to be published, please reference the following articles:

  • Frank, William B., Nikolaï M. Shapiro, Allen L. Husker, Vladimir Kostoglodov, Alexey Romanenko, and Michel Campillo. (2014). Using systematically characterized low‐frequency earthquakes as a fault probe in Guerrero, Mexico. Journal of Geophysical Research: Solid Earth, doi: 10.1002/2014JB011457

  • Beaucé, Eric, William B. Frank, Anne Paul, Michel Campillo, and Robert D. van der Hilst (2019). Systematic detection of clustered seismicity beneath the Southwestern Alps. Journal of Geophysical Research: Solid Earth, doi: 10.1029/2019JB018110

beampower is available at https://github.com/ebeauce/beampower and can be downloaded with:

$ git clone https://github.com/ebeauce/beampower.git

Installation

You may need to edit the Makefile according to your OS (instructions in the Makefile’s comments).

From source

A simple make + whichever implementation does the trick. Possible make commands are:

$ make python_cpu
$ make python_gpu
$ pip install .

Required software/hardware:

  • A C compiler that supports OpenMP (default Mac OS compiler clang does not support OpenMP; gcc can be easily downloaded via homebrew),

  • CPU version: Python 3.x,

  • GPU version: Python 3.x and a discrete Nvidia graphics card that supports CUDA C with CUDA toolkit installed.

beampower is known to run well with gcc 6.2.X, and cuda 10.X.