.. _introduction: ********************** Introduction and Scope ********************** SeisComP is likely the most widely distributed software package for real-time monitoring of earthquakes and other seismic events. It provides automatic and interactive seismological data acquisition, processing and data exchange over the internet. Its data transmission protocol SeedLink has become a de facto world standard. |scname| convinces many seismologists and earthquake specialists at data and research centers, companies and governmental agencies world-wide by: * Powerful and reliable automatic data processing in real time or during post-processing * User-friendly and comprehensive graphical interfaces * Modern and well-maintained OpenSource software on GitHub :cite:p:`seiscomp-github` welcoming community contributions. The first work on what became |scname| today began nearly two decades ago with developments at :term:`GFZ` of plugins for digitizers. It is now continued by :term:`gempa GmbH` and GFZ. The :ref:`section on historical information ` provides details on the past and current releases. Features ======== Today |scname| includes the following features: * Data acquisition * Waveform archiving * Waveform data distribution * Data quality control * Data recording * Real-time data exchange * Network status monitoring * Real-time data processing * Automatic event detection and location * Interactive event detection and location * Automatic and interactive magnitude calculation * Interactive determination of focal mechanisms * Issuing event alerts * Event parameter archiving * Easy access to relevant information about stations, waveforms and recent earthquakes through graphical user interface and command-line tools * Python interface for developing custom scripts and modules. Software Design =============== The guidelines for the design of |scname| are: * Implementation of critical functions as standalone modules to guarantee the independence from other functions (e.g. picker, magnitude calculation, interactive analysis) * Easy implementation of custom modules * Independence of hard- and software * Ability of data exchange between different automatic real-time systems * Distribution of modules on several systems * Robust system for rapid and reliable earthquake solutions (especially during seismic crises) These design principles have given |scname| much robustness and flexibility to respond to new developments. The |scname| community is encouraged to contribute their |scname| source code on GitHub :cite:p:`seiscomp-github`. Examples and guidelines for generating code are given in the :ref:`developer section `. This Documentation ================== This documentation begins with an :ref:`overview` and a :ref:`concepts` section necessary for understanding and using |scname| successfully. The :ref:`Glossary section ` introduces technical terms. All important code changes are listed in the :ref:`change log `. When using |scname| or contributing source code, you should understand the :ref:`license terms `. If you actually make use of |scname| and publish the results, we ask you to give appropriate reference as set out on the :ref:`Citation section `. In the following section the documentation covers the :ref:`installation ` and how to configure and operate a working |scname| system. A few :ref:`tutorials` will guide you through a first example set up and further operations. The tutorials are followed by :ref:`detailed technical descriptions ` of each individual |scname| module, grouped by their general functionality: * Interactive analysis * Data acquisition * Inventory management * Automatic processing * Utilities and many more :ref:`extensions ` like descriptions of the :term:`RecordStream`, magnitude types, locators, GUI customizations, waveform filters or plugins. The final part of the documentation relates to :ref:`contributing your own source code ` to |scname|. This requires a deeper knowledge of the |scname| :ref:`data model` and other details. This part also includes guidelines for developers such as :ref:`coding conventions `, :ref:`unit tests ` and a :ref:`guide for contributing documentation `. :ref:`Some Python examples ` help you to get started quickly with programming for |scname|. |scname| is developed and distributed under the terms of the GNU :cite:t:`agpl`, as set out in the :ref:`license` section.