EQcorrscan tutorials ==================== Welcome to EQcorrscan - this package is designed to compute earthquake detections using a paralleled matched-filter network cross-correlation routine, and analyse the results. EQcorrscan is divided into two main sub-modules, the **core** and **utils** sub-modules. The core sub-module contains the main, high-level functions: :template_gen: A series of routines to generate templates for match-filter detection from continuous or cut data, with pick-times either defined manually, or defined in event files; :match_filter: The main matched-filter routines, this is split into several smaller functions to allow python-based parallel-processing; :subspace: Subspace detection routine based on |Harris2006|. :lag_calc: Routines for calculating optimal lag-times for events detected by the match-filter routine, these lags can then be used to define new picks for high accuracy re-locations. Some other high-level functions are included in the :doc:`utils ` sub-module and are documented here with tutorials: :mag_calc: Simple local magnitude calculation and high-precision relative moment calculation using singular-value decomposition. :clustering: Routines for clustering earthquakes based on a range of metircs using agglomorative clustering methods. The **utils** sub-module contains useful, but small functions. These functions are rarely cpu intensive, but perform vital operations, such as finding peaks in noisy data (:doc:`findpeaks `), converting a database to hypoDD formatted files and computing cross-correlations between detections for |hypoDD| (a double difference relocation software) (:doc:`catalog_to_dd `), calculating magnitudes (:doc:`mag_calc `), clustering detections (:doc:`clustering `), stacking detections (:doc:`stacking `), making plots (:doc:`plotting `), and processing seismic data in the same way repeatedly using |Obspy|'s functionality (:doc:`pre_processing `). As of EQcorrscan v.0.4.0, output is controlled by the |logging| module. This allows the user to decide now much output is needed (via the `level` option), and where output should be sent (either to a file, stdout, or both). By default, if no logging parameters are set before calling EQcorrscan functions only messages of WARNING or above are printed to stdout. To make things a little prettier you can begin your work using something like: .. code-block:: python import logging logging.basicConfig( level=logging.INFO, format="%(asctime)s\t%(name)s\t%(levelname)s\t%(message)s") This will output messages at level INFO and above (quite verbose), in messages like: .. code-block:: python 2018-06-25 22:48:17,113 eqcorrscan.utils.pre_processing INFO Working on: NZ.CPWZ.10.EHZ For more options, see the |logginghowto| guide. The following is an expanding set of tutorials that should take you through some of the key functionality of the EQcorrscan package. The tutorials are a (slow) work in progress to convert to jupyter notebook. If you have anything you want to see in the tutorials please let us know on github. .. toctree:: :numbered: :titlesonly: tutorials/quick_start.ipynb tutorials/matched-filter.ipynb tutorials/template-creation.rst tutorials/subspace.rst tutorials/mag-calc.rst tutorials/clustering.rst .. |Harris2006| raw:: html Harris (2006) .. |HypoDD| raw:: html HypoDD .. |Obspy| raw:: html Obspy .. |logging| raw:: html Logging .. |logginghowto| raw:: html Logging HOWTO