Skip to main content

Pyfk is the python version of FK used to calculate the Green's function and the synthetic waveforms for the 1D Earth model.

Project description

https://github.com/ziyixi/pyfk/workflows/pyfk/badge.svg https://codecov.io/gh/ziyixi/pyfk/branch/master/graph/badge.svg?token=5EL7IDTYLJ https://img.shields.io/badge/docs-dev-blue.svg https://badge.fury.io/py/pyfk.svg https://anaconda.org/ziyixi/pyfk/badges/version.svg https://anaconda.org/ziyixi/pyfk/badges/platforms.svg

About

PyFK is the python port of FK used to calculate the Green’s function and the synthetic waveforms for the 1D Earth model.

The main features of this package are:

  • Compute the Green’s function for the explosion, single force, and double couple source using the frequency-wavenumber method.

  • Compute the static displacements and corresponding Green’s function.

  • Compute the synthetic waveforms by convolving Green’s function with the seismic source.

  • Use the seismic data format of Obspy, which is easy to perform the signal processing.

And the package is unique as:

  • all the code is written in pure python, and it’s compatible with Unix-like systems including Mac and Linux. The Windows is not supported, as the package uses the complex number in Cython, which uses the C99 standard of “complex.h” that has not been supported by the Visual Studio compiler.

  • it uses Cython to speed up the computationally expensive part (mainly the wavenumber integration).

  • The package has also provided three modes:

    • Serial mode: the serial version implements the FK algorithm in Python.

    • Parallel mode on CPU: the wavenumber integration can be paralleled by MPI.

    • Parallel mode on GPU: the wavenumber integration can also be paralleled by CUDA on GPU.

Installation

The serial version and the parallel version on GPU can be simply installed using pip:

pip install pyfk

Or conda:

conda install -c ziyixi pyfk

It’s also easy to install the MPI enabled version:

PYFK_USE_MPI=1 pip install pyfk[mpi]

Extra packages including numba and cupy will be required to enable the GPU mode. For more details about the Installation, you can refer to the Installing part of the document.

Todo

The current bugs to fix or features to provide are listed in TODO.

License

PyFK is a free software: you can redistribute it and modify it under the terms of the Apache License. A copy of this license is provided in LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfk-0.3.0.tar.gz (382.8 kB view details)

Uploaded Source

File details

Details for the file pyfk-0.3.0.tar.gz.

File metadata

  • Download URL: pyfk-0.3.0.tar.gz
  • Upload date:
  • Size: 382.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.0b1 CPython/3.9.12 Linux/5.13.0-1021-azure

File hashes

Hashes for pyfk-0.3.0.tar.gz
Algorithm Hash digest
SHA256 d74cd6f3635c5e4d8955890986a159756a7ddf356fdb68fd3a8399c3bdff9373
MD5 e33b36720e75a91c234ae710a20f9b5e
BLAKE2b-256 1d33097821f4138ad15e0dd0f43a97f1aa0375740d560f42b43897f73edabfd3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page