Giter Site home page Giter Site logo

jayjayhx / disp_codes Goto Github PK

View Code? Open in Web Editor NEW

This project forked from arjundatta23/disp_codes

0.0 0.0 0.0 4.36 MB

A collection of seismological codes imlpementing three array-based techniques for measuring seismic surface wave phase velocity dispersion (multi-mode)

Shell 0.01% Python 1.85% PostScript 98.14%

disp_codes's Introduction

<<<<<<< HEAD

dispersion_codes

Code accompanying Datta (2019):

Datta, A (2019). On the application of the fk-MUSIC method to measurement of multimode surface wave phase velocity dispersion from receiver arrays. Journal of Seismology, 23(2), 243-260.

Refer to the above for any abbreviations/acronyms used in this README.

This package consists of three main programs, implementing the three methods discussed in Datta (2019):

  1. disp_ParkMethod/implement_park.py: implements the frequency-domain slant stack technique.
  2. disp_fkMUSIC/implement_MUSIC.py: implements the fk-MUSIC technique.
  3. disp_ucd/implement_ucd.py: implements the UC-diagram technique.

The programs rely on some extraneous modules, which are available as separate repositories: https://github.com/arjundatta23/array_proc https://github.com/arjundatta23/signal_proc https://github.com/arjundatta23/SW1D_earthsr

Apart from the three main programs, this package consists of a few supplementary programs or scripts which perform ancillary functions related to storage or presentation of results. These supplementary programs are described in sepaate README files within the "disp_ucd" and "disp_fkMUSIC" directories.

This parent README discusses only the three main programs.


I. BASIC CODE USAGE

This package is based on the ObsPy Python framework (https://github.com/obspy/obspy/wiki) and works with SAC-format input seismograms. All three main programs have the same usage format:

python

Here is (the path to) a directory containing all the input seismograms (in SAC format) and is the extension (along with the leading dot) of the file names for the seismograms. All input seismograms must have the same .

Hence for instance, to run the frequency-domain slant-stack code on the provided example directory, do

python disp_ParkMethod/implement_park.py example_2010181072232 .LHZ

Note that the input directory "example_2010181072232" contains other files apart from seismograms, but the code considers only those files in the directory which end, in this case, with ".LHZ".

The fk-MUSIC and UC-diagram codes are run in exactly the same way.


II. INTERACTIVE USER PROMPTS

All three programs take a number of user inputs before/after running their respective algorithms. Here I first describe those that are common to all three and then those of each program individually.

Common user inputs/prompts: (not necessarily consecutive, may be separated by other prompts specific to a particular method)

  1. "Enter frequency range of interest (Hz): " f1 and f2 are lower and upper bounds of frequency in Hz. This defines the frequency range in which calculations are performed.
  2. "Use all stations (y/n): " This gives the user the option of using all stations/seismograms in , or only a subset of them. Enter 'y' if all are to be used. If you enter 'n', you will face the following prompt: 2a. "Start and end station numbers: " . x1 and x2 are integers denoting station numbers, when stations are ordered according to epicentral distance. If number of stations is N, "1" denotes the nearest (to source) station in the profile and "N" denotes the farthest. Each of x1 and x2 can be any integer in the range 1-N, with x1 less than x2. The ordering of stations is done internally by the code but the user needs to know the numbers of stations (in the ordered profile) he/she wishes to include in the analysis. This can be known using the "modules_common/seisarray_data.py" module.

NB: this code is meant to be used with data from roughly linear arrays of stations so that an ordering based on epicentral distance leads to a record section type ordering.


III. USER CONTROLS IN THE SOURCE CODE

windowing etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.