Files
2025/share/doc/seiscomp/html/apps/msrtsimul.html

349 lines
21 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>msrtsimul &#8212; SeisComP Release documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/seiscomp.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=72bcf2f2" />
<link rel="stylesheet" type="text/css" href="../_static/seiscomp.css?v=c6da7ce6" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/seiscomp.js"></script>
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=823bb831"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=4825356b"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="scardac" href="scardac.html" />
<link rel="prev" title="access" href="access.html" />
</head>
<body>
<div class="header">
<div class="container">
<div class="brand">
<img class="logo" src="../_static/brands/seiscomp/text/white.svg"/>
<!-- span class="title">SeisComP Release</span -->
<span class="version">6.9.0</span>
</div>
</div>
</div>
<div class="nav">
<div class="container">
<div class="content"><a class="pull-right" id="sidebar-toggle">TOC</a>
<div class="related" role="navigation" aria-label="related navigation">
<ul>
<li class="right">
<a href="../genindex.html" title="General Index"
accesskey="I">
index
</a>
</li>
<li class="right">
<a href="scardac.html" title="scardac"
accesskey="N">
next
</a>
</li>
<li class="right">
<a href="access.html" title="access"
accesskey="P">
previous
</a>
</li>
<li class="nav-item nav-item-0">
<a href="../index.html">Home</a>
</li>
<li class="nav-item nav-item-1">
<a href="../modules.html" >Modules</a>
</li>
<li class="nav-item nav-item-2">
<a href="../toc/acquisition.html" accesskey="U">Acquisition</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="msrtsimul">
<span id="id1"></span><h1>msrtsimul<a class="headerlink" href="#msrtsimul" title="Permalink to this heading"></a></h1>
<p><strong>MiniSEED real time playback and simulation</strong></p>
<section id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
<p>msrtsimul simulates a real-time data acquisition by injecting miniSEED data from a
file into the seedlink buffer via the mseedfifo plugin for seedlink. It can be
used for simulating real-time conditions in playbacks for whole-system
demonstrations, user training, etc.</p>
<p>The data is played back as if they were recorded at current time. Therefore,
creation times and the actual data times including pick times, event times etc.
will be <strong>obscured</strong>. <a class="reference internal" href="#sec-msrtsimul-historic"><span class="std std-ref">Historic playbacks</span></a> allow
keeping the actual data times.</p>
<div class="admonition hint">
<p class="admonition-title">Hint</p>
<ul class="simple">
<li><p>Playbacks on production systems are normally not recommended.</p></li>
<li><p>For real-time playbacks, the data must be sorted by end time. This
requirement may be violated. Use <a class="reference internal" href="scmssort.html#scmssort"><span class="std std-ref">scmssort</span></a> for sorting the data by
(end) time.</p></li>
<li><p>Stop <a class="reference internal" href="slarchive.html#slarchive"><span class="std std-ref">slarchive</span></a> before running msrtsimul for avoiding that data with
wrong times are archived.</p></li>
<li><p>Normally, <a class="reference internal" href="seedlink.html#seedlink"><span class="std std-ref">seedlink</span></a> assumes that the data is provided in records of
512 bytes. msrtsimul issues a warning when detecting a record of other size.</p></li>
<li><p>Data available in other record sizes can be repacked to 512 bytes by
external software such as <strong class="program">msrepack</strong> available with
<span id="id2"><em>libmseed - The miniSEED data format library</em> [<a class="reference internal" href="../base/references.html#id147" title="libmseed - The miniSEED data format library. GitHub, 2017. URL: https://github.com/EarthScope/libmseed/wiki.">32</a>]</span>.</p></li>
<li><p>Applications other than standard <a class="reference internal" href="seedlink.html#seedlink"><span class="std std-ref">seedlink</span></a> in <cite>SeisComP</cite> or
<a class="reference internal" href="seedlink.html#seedlink"><span class="std std-ref">seedlink</span></a> compiled specifically may accept other record sizes. For
accepting these records use msrtsimul with <code class="xref std std-option docutils literal notranslate"><span class="pre">--unlimited</span></code>.</p></li>
</ul>
</div>
<section id="non-default-seedlink-pipes">
<h3>Non-default seedlink pipes<a class="headerlink" href="#non-default-seedlink-pipes" title="Permalink to this heading"></a></h3>
<p>By default, msrtsimul writes the data into the mseedfifo pipe
<em>$SEISCOMP_ROOT/var/run/seedlink/mseedfifo</em>.
If the data is to be written into the pipe of a <strong class="program">seedlink</strong> alias or
into any other pipe, the pipe name must be adjusted. Use the option</p>
<ul class="simple">
<li><p><code class="xref std std-option docutils literal notranslate"><span class="pre">--seedlink</span></code> to replace <em>seedlink</em> by another name, e.g. a seedlink instance
created as an alias, <strong>seedlink-test</strong>. This would write into
<em>$SEISCOMP_ROOT/var/run/seedlink-test/mseedfifo</em>.</p></li>
<li><p><code class="xref std std-option docutils literal notranslate"><span class="pre">--stdout</span></code> to write to standard output and then redirect to any other location.</p></li>
</ul>
</section>
<section id="historic-playbacks">
<span id="sec-msrtsimul-historic"></span><h3>Historic playbacks<a class="headerlink" href="#historic-playbacks" title="Permalink to this heading"></a></h3>
<p>You may use msrtsimul with the <code class="xref std std-option docutils literal notranslate"><span class="pre">-m</span></code> <em>historic</em> option to maintain the
time of the records,
thus the times of picks, amplitudes, origins, etc. but not the creation times.
Applying <code class="xref std std-option docutils literal notranslate"><span class="pre">-m</span></code> <em>historic</em> will feed the data into the seedlink buffer at the time
of the records. The time of the system is untouched. GUI, processing modules, logging,
etc. will run with current system time. The historic mode allows to process waveforms
with the stream inventory valid at the time when the data were recorded including
streams closed at current time.</p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>When repeating historic playbacks, the waveforms are fed multiple times to the
seedlink buffer and the resulting picks are also repeated with the same pick
times. This may confuse the real-time system. Therefore, seedlink and other modules
creating or processing picks should be
stopped, the seedlink buffer should be cleared and the processing
modules should be restarted to clear the buffers before starting the
historic playbacks. Make sure <a class="reference internal" href="scautopick.html#scautopick"><span class="std std-ref">scautopick</span></a> is configured or started with
the <code class="xref std std-option docutils literal notranslate"><span class="pre">--playback</span></code> option. Example:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>seiscomp<span class="w"> </span>stop
rm<span class="w"> </span>-rf<span class="w"> </span><span class="nv">$SEISCOMP_ROOT</span>/var/lib/seedlink/buffer
seiscomp<span class="w"> </span>start
msrtsimul<span class="w"> </span>...
</pre></div>
</div>
</div>
</section>
<section id="seedlink-setup">
<h3>seedlink setup<a class="headerlink" href="#seedlink-setup" title="Permalink to this heading"></a></h3>
<p>For supporting msrtsimul activate the <a class="reference internal" href="seedlink.html#confval-msrtsimul"><code class="xref std std-confval docutils literal notranslate"><span class="pre">msrtsimul</span></code></a> parameter in the
seedlink module configuration (<code class="file docutils literal notranslate"><span class="pre">seedlink.cfg</span></code>), update the configuration
and restart seedlink before running msrtsimul:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>seiscomp<span class="w"> </span>update-config<span class="w"> </span>seedlink
seiscomp<span class="w"> </span>restart<span class="w"> </span>seedlink
msrtsimul<span class="w"> </span>...
</pre></div>
</div>
</section>
<section id="examples">
<h3>Examples<a class="headerlink" href="#examples" title="Permalink to this heading"></a></h3>
<ol class="arabic">
<li><p>Playback miniSEED waveforms in real time with verbose output:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span>msrtsimul<span class="w"> </span>-v<span class="w"> </span>miniSEED-file
</pre></div>
</div>
</li>
<li><p>Playback miniSEED waveforms in historic mode. This may require <a class="reference internal" href="scautopick.html#scautopick"><span class="std std-ref">scautopick</span></a>
to be started with the option <em>playback</em>:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>msrtsimul<span class="w"> </span>-v<span class="w"> </span>-m<span class="w"> </span>historic<span class="w"> </span>miniSEED-file
</pre></div>
</div>
</li>
<li><p>Feed the data into the buffer of a specific seedlink instance, e.g. <em>seedlink-test</em>:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>msrtsimul<span class="w"> </span>-v<span class="w"> </span>--seedlink<span class="w"> </span>seedlink-test<span class="w"> </span>miniSEED-file
</pre></div>
</div>
</li>
</ol>
</section>
</section>
<section id="module-configuration">
<span id="msrtsimul-configuration"></span><h2>Module Configuration<a class="headerlink" href="#module-configuration" title="Permalink to this heading"></a></h2>
<div class="line-block">
<div class="line"><code class="file docutils literal notranslate"><span class="pre">etc/defaults/global.cfg</span></code></div>
<div class="line"><code class="file docutils literal notranslate"><span class="pre">etc/defaults/msrtsimul.cfg</span></code></div>
<div class="line"><code class="file docutils literal notranslate"><span class="pre">etc/global.cfg</span></code></div>
<div class="line"><code class="file docutils literal notranslate"><span class="pre">etc/msrtsimul.cfg</span></code></div>
<div class="line"><code class="file docutils literal notranslate"><span class="pre">~/.seiscomp/global.cfg</span></code></div>
<div class="line"><code class="file docutils literal notranslate"><span class="pre">~/.seiscomp/msrtsimul.cfg</span></code></div>
</div>
<p>msrtsimul inherits <a class="reference internal" href="global.html#global-configuration"><span class="std std-ref">global options</span></a>.</p>
</section>
<section id="command-line-options">
<h2>Command-Line Options<a class="headerlink" href="#command-line-options" title="Permalink to this heading"></a></h2>
<p><strong class="program">msrtsimul [OPTION] miniSEED-file</strong></p>
<section id="verbosity">
<h3>Verbosity<a class="headerlink" href="#verbosity" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-msrtsimul-h">
<span id="cmdoption-msrtsimul-help"></span><span class="sig-name descname"><span class="pre">-h</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--help</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-msrtsimul-h" title="Permalink to this definition"></a></dt>
<dd><p>Display this help message.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-msrtsimul-v">
<span id="cmdoption-msrtsimul-verbose"></span><span class="sig-name descname"><span class="pre">-v</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--verbose</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-msrtsimul-v" title="Permalink to this definition"></a></dt>
<dd><p>Verbose mode.</p>
</dd></dl>
</section>
<section id="playback">
<h3>Playback<a class="headerlink" href="#playback" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-msrtsimul-c">
<span id="cmdoption-msrtsimul-stdout"></span><span class="sig-name descname"><span class="pre">-c</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--stdout</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-msrtsimul-c" title="Permalink to this definition"></a></dt>
<dd><p>Write on standard output. The output my be redirected to a
specific mseedfifo path.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-msrtsimul-d">
<span id="cmdoption-msrtsimul-delays"></span><span class="sig-name descname"><span class="pre">-d</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--delays</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-msrtsimul-d" title="Permalink to this definition"></a></dt>
<dd><p>Add artificial delays.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-msrtsimul-j">
<span id="cmdoption-msrtsimul-jump"></span><span class="sig-name descname"><span class="pre">-j</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--jump</span></span><span class="sig-prename descclassname"> <span class="pre">float</span></span><a class="headerlink" href="#cmdoption-msrtsimul-j" title="Permalink to this definition"></a></dt>
<dd><p>Minutes to skip at the beginning.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-msrtsimul-m">
<span id="cmdoption-msrtsimul-mode"></span><span class="sig-name descname"><span class="pre">-m</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--mode</span></span><span class="sig-prename descclassname"> <span class="pre">string</span></span><a class="headerlink" href="#cmdoption-msrtsimul-m" title="Permalink to this definition"></a></dt>
<dd><p>Playback mode: choose between realtime and historic</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-msrtsimul-seedlink">
<span class="sig-name descname"><span class="pre">--seedlink</span></span><span class="sig-prename descclassname"> <span class="pre">string</span></span><a class="headerlink" href="#cmdoption-msrtsimul-seedlink" title="Permalink to this definition"></a></dt>
<dd><p>The seedlink module name. Useful if a seedlink alias or
non-standard names are used. Replaces seedlink
in the standard mseedfifo path.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-msrtsimul-s">
<span id="cmdoption-msrtsimul-speed"></span><span class="sig-name descname"><span class="pre">-s</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--speed</span></span><span class="sig-prename descclassname"> <span class="pre">float</span></span><a class="headerlink" href="#cmdoption-msrtsimul-s" title="Permalink to this definition"></a></dt>
<dd><p>Speed factor. 1 is normal speed.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-msrtsimul-test">
<span class="sig-name descname"><span class="pre">--test</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-msrtsimul-test" title="Permalink to this definition"></a></dt>
<dd><p>Test mode.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-msrtsimul-u">
<span id="cmdoption-msrtsimul-unlimited"></span><span class="sig-name descname"><span class="pre">-u</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--unlimited</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-msrtsimul-u" title="Permalink to this definition"></a></dt>
<dd><p>Allow miniSEED records which are not 512 bytes.</p>
</dd></dl>
</section>
</section>
</section>
<div id="anchors-bottom"></div>
</div>
<div class="sidebar" role="navigation" aria-label="main navigation">
<div id="anchors-top"></div>
<div id="anchors" class="content">
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>document.getElementById('searchbox').style.display = "block"</script>
<div>
<h3><a href="../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">msrtsimul</a><ul>
<li><a class="reference internal" href="#description">Description</a><ul>
<li><a class="reference internal" href="#non-default-seedlink-pipes">Non-default seedlink pipes</a></li>
<li><a class="reference internal" href="#historic-playbacks">Historic playbacks</a></li>
<li><a class="reference internal" href="#seedlink-setup">seedlink setup</a></li>
<li><a class="reference internal" href="#examples">Examples</a></li>
</ul>
</li>
<li><a class="reference internal" href="#module-configuration">Module Configuration</a></li>
<li><a class="reference internal" href="#command-line-options">Command-Line Options</a><ul>
<li><a class="reference internal" href="#verbosity">Verbosity</a></li>
<li><a class="reference internal" href="#playback">Playback</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="access.html"
title="previous chapter">access</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="scardac.html"
title="next chapter">scardac</a></p>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/apps/msrtsimul.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="horizontal layout content">
<a class="fade-in" href="https://www.gempa.de" target="_blank">
<img class="brand" src="../_static/brands/gempa.svg"/>
</a>
<div class="stretched align-center fitted content">
<div>
Version <b>6.9.0</b> Release
</div>
<div class="copyright">
Copyright &copy; gempa GmbH, GFZ Potsdam.
</div>
</div>
<a class="fade-in" href="https://www.gfz-potsdam.de" target="_blank">
<img class="brand" src="../_static/brands/gfz.svg"/>
</a>
</div>
</div>
</div>
</body>
</html>