swiss-seismological-service / scrtdd

Double Difference Relocator for SeisComP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

/***************************************************************************
 *   Copyright (C) by ETHZ/SED                                             *
 *                                                                         *
 * This program is free software: you can redistribute it and/or modify    *
 * it under the terms of the GNU Affero General Public License as published*
 * by the Free Software Foundation, either version 3 of the License, or    *
 * (at your option) any later version.                                     *
 *                                                                         *
 * This program is distributed in the hope that it will be useful,         *
 * but WITHOUT ANY WARRANTY; without even the implied warranty of          *
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           *
 * GNU Affero General Public License for more details.                     *
 *                                                                         *
 *                                                                         *
 *   Developed by Luca Scarabello, Tobias Diehl                            *
 *                                                                         *
 ***************************************************************************/

DOI

Please cite the code as:

"Luca Scarabello & Tobias Diehl (2021). swiss-seismological-service/scrtdd. Zenodo doi: 10.5281/zenodo.5337361"

Description

rtDD is a SeisComP extension module that implements Double-Difference event relocation both in Real-Time, one event at the time, and classic offline mode, where an earthquake catalog is relocated as a whole.

rtDD contains a C++ library for double-difference inversion which doesn't depend on SeisComP and can be used in other systems. See for example pyrtdd.

rtDD acknowledges support from Geothermica

Documentation

You can find the online documentation at https://docs.gempa.de/scrtdd/current/

Installation from binaries

You can find compiled version of this module at https://data.gempa.de/packages/Public/. The installation file is a compressed tar archive containing the binary distribution of this module, which can be extracted in your SeisComP installation folder.

Installation from source code

In order to use this module the sources have to be merged into the SeisComP sources, then SeisComP can be compiled and installed as usual. Follow the up-to-date procedure at https://github.com/SeisComP/seiscomp

#
# get SeisComP (follow official documentation)
#
git clone https://github.com/SeisComP/seiscomp.git seiscomp
cd seiscomp/src/base
git clone https://github.com/SeisComP/common.git
git clone https://github.com/SeisComP/main.git
[...etc...]

#
# Add rtdd into SeisComP
#
cd seiscomp/src/extras
git clone https://github.com/swiss-seismological-service/scrtdd.git

#
# Compile code as per SeisComP official documentation
#
...

To update rtDD to a new version:

#
# go to rtDD folder
#
cd seiscomp/src/extras/scrtdd

#
# fetch the changes that happened on rtDD repository
#
git fetch origin -p --tags

#
# checkout the new version
#
git checkout master
git rebase origin/master

Tests

If tests were enabled during the compilation of SeiComP then scrtdd can be tested running the following command in the build folder: .

seiscomp/build$ ctest -R test_hdd

Alternatively scrtdd can be tested together with the whole SeisComP test suite with:

seiscomp/build$ make test

See SeisComP's unit testing guide.

Please note that due to the size of the NonLinLoc grids, not all the transformation are tested. To let the tests cover all the implemented transformations the script libs/hdd/test/data/nll/generate.ch should be run, which will generate the missing grids.

About

Double Difference Relocator for SeisComP


Languages

Language:C++ 54.7%Language:Pascal 14.2%Language:PostScript 7.3%Language:SourcePawn 7.1%Language:Assembly 6.7%Language:OpenEdge ABL 6.7%Language:Python 1.4%Language:Shell 0.7%Language:HTML 0.6%Language:CMake 0.3%Language:xBase 0.1%