[installation] Init with inital config for global

This commit is contained in:
2025-10-30 15:08:17 +01:00
commit 7640b452ed
3678 changed files with 2200095 additions and 0 deletions

View File

@ -0,0 +1,956 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>caps &#8212; CAPS: Common Acquisition Protocol Server documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/gempa.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/gempa.css?v=c960eebf" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/gempa.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=b3ba4146"></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" />
</head>
<body>
<div class="header">
<div class="container">
<img class="background" src="../_static/icon.png"/>
<div class="content">
<span class="title">CAPS: Common Acquisition Protocol Server </span>
<span class="version">2025.254#f0c77b29e</span></h1>
</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="nav-item nav-item-0">
<a href="../index.html">Home</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="caps">
<span id="id1"></span><h1>caps<a class="headerlink" href="#caps" title="Permalink to this heading"></a></h1>
<p><strong>Realtime and archive waveform server</strong></p>
<section id="module-configuration">
<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/caps.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/caps.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/caps.cfg</span></code></div>
</div>
<p>caps inherits <a class="reference internal" href="global.html#global-configuration"><span class="std std-ref">global options</span></a>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Modules/plugins may require a license file. The default path to license
files is <code class="file docutils literal notranslate"><span class="pre">&#64;DATADIR&#64;/licenses/</span></code> which can be overridden by global
configuration of the parameter <code class="xref std std-confval docutils literal notranslate"><span class="pre">gempa.licensePath</span></code>. Example:</p>
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span>gempa.licensePath = @CONFIGDIR@/licenses
</pre></div>
</div>
</div>
<div class="admonition note" id="as">
<p class="admonition-title">Note</p>
<p><strong>AS.*</strong>
<em>CAPS server control parameters</em></p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.filebase">
<span class="sig-name descname"><span class="pre">AS.filebase</span></span><a class="headerlink" href="#confval-AS.filebase" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">&#64;ROOTDIR&#64;/var/lib/caps/archive</span></code></p>
<p>Type: <em>string</em></p>
<p>Defines the path to the archive directory.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.port">
<span class="sig-name descname"><span class="pre">AS.port</span></span><a class="headerlink" href="#confval-AS.port" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">18002</span></code></p>
<p>Type: <em>int</em></p>
<p>Defines the server port for client requests.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.clientBufferSize">
<span class="sig-name descname"><span class="pre">AS.clientBufferSize</span></span><a class="headerlink" href="#confval-AS.clientBufferSize" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">16384</span></code></p>
<p>Unit: <em>B</em></p>
<p>Type: <em>int</em></p>
<p>Size of the client buffer in bytes. In case the client fails to read the buffered data
in time (buffer overflow) the connection falls back to archive requests.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.minDelay">
<span class="sig-name descname"><span class="pre">AS.minDelay</span></span><a class="headerlink" href="#confval-AS.minDelay" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">-1</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>int</em></p>
<p>Limits the retrieval of real-time data. The value
specifies the maximum relative end time of the time range
to be requested. The maximum absolute end time is
now - minDelay. This is only valid for FDSNWS and WWS.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.inventory">
<span class="sig-name descname"><span class="pre">AS.inventory</span></span><a class="headerlink" href="#confval-AS.inventory" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>path</em></p>
<p>The path to an optional inventory XML file with SeisComP3
schema. This inventory information is used by WWS to populate
the channel coordinates. In future possibly more endpoints
will make use of it.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.logRequests">
<span class="sig-name descname"><span class="pre">AS.logRequests</span></span><a class="headerlink" href="#confval-AS.logRequests" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">false</span></code></p>
<p>Type: <em>boolean</em></p>
<p>Whether to maintain a request log file or not. Each request
will be logged and partly traced.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.logAnonymousIP">
<span class="sig-name descname"><span class="pre">AS.logAnonymousIP</span></span><a class="headerlink" href="#confval-AS.logAnonymousIP" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">false</span></code></p>
<p>Type: <em>boolean</em></p>
<p>Log only parts of the IP to respect users privacy.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.logPurge">
<span class="sig-name descname"><span class="pre">AS.logPurge</span></span><a class="headerlink" href="#confval-AS.logPurge" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">false</span></code></p>
<p>Type: <em>boolean</em></p>
<p>Whether to maintain a purge log file or not. Each purge
operation will be logged.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.allow">
<span class="sig-name descname"><span class="pre">AS.allow</span></span><a class="headerlink" href="#confval-AS.allow" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>list:string</em></p>
<p>List of IPs which are allowed to access the caps(s) port.
By default access is unrestricted.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.deny">
<span class="sig-name descname"><span class="pre">AS.deny</span></span><a class="headerlink" href="#confval-AS.deny" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>list:string</em></p>
<p>List of IPs which are not allowed to access the caps(s) port.
By default access is unrestricted.</p>
</dd></dl>
<div class="admonition note" id="as-filebase">
<p class="admonition-title">Note</p>
<p><strong>AS.filebase.*</strong>
<em>File buffer control parameters</em></p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.filebase.logFile">
<span class="sig-name descname"><span class="pre">AS.filebase.logFile</span></span><a class="headerlink" href="#confval-AS.filebase.logFile" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>path</em></p>
<p>The path to the archive log file which contains the
stream start and end times. By default it is written
to $filebase/archive.log.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.filebase.keep">
<span class="sig-name descname"><span class="pre">AS.filebase.keep</span></span><a class="headerlink" href="#confval-AS.filebase.keep" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">*.*.*.*:-1</span></code></p>
<p>Type: <em>list:string</em></p>
<p>Number of days to keep data per stream ID before
&quot;AS.filebase.purge.referenceTime&quot;. For
stream-specific configuration create a list of pairs
consisting of stream ID : days. Separate pairs by
comma. The first occurrence in the list takes priority.</p>
<p>Example keeping all streams but AM.* and GR.* for 14 days:</p>
<p>GR.*:-1, AM.*.*.*:365, *.*.*.*:14</p>
<p>Default (empty parameter) or -1: keep all data forever.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.filebase.preallocationSize">
<span class="sig-name descname"><span class="pre">AS.filebase.preallocationSize</span></span><a class="headerlink" href="#confval-AS.filebase.preallocationSize" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">65535</span></code></p>
<p>Unit: <em>B</em></p>
<p>Type: <em>int</em></p>
<p>Preallocation size of data files in bytes. Some file system allow to reserve
disk space for files in advance. Especially on spinning disks the read
performance will be improved if data can be read sequentially. The speed is
traded for disk space consumed by the file since its size will be a multiple
of the specified value. Set the value to 0 to disable this feature.</p>
</dd></dl>
<div class="admonition note" id="as-filebase-cache">
<p class="admonition-title">Note</p>
<p><strong>AS.filebase.cache.*</strong>
<em>CAPS does not keep all files of all streams open. It</em>
<em>tries to keep open the most frequently used files and closes</em>
<em>all others. The more files CAPS can keep open the faster</em>
<em>the population of the archive. The limit of open</em>
<em>files depends on the security settings of the user under</em>
<em>which CAPS is running.</em></p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.filebase.cache.openFileLimit">
<span class="sig-name descname"><span class="pre">AS.filebase.cache.openFileLimit</span></span><a class="headerlink" href="#confval-AS.filebase.cache.openFileLimit" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">250</span></code></p>
<p>Type: <em>int</em></p>
<p>The maximum number of open files. Because a stream
file can have an associated index file this value
is half of the physically opened files in worst case.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.filebase.cache.unusedFileLimit">
<span class="sig-name descname"><span class="pre">AS.filebase.cache.unusedFileLimit</span></span><a class="headerlink" href="#confval-AS.filebase.cache.unusedFileLimit" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">1000</span></code></p>
<p>Type: <em>int</em></p>
<p>Limit of cached files in total. This value affects also
files that are actually explicitly closed by the
application. CAPS will keep them open (respecting
the openFileLimit parameter) as long as possible and
preserve a file handle to speed up reopening the
file later.</p>
</dd></dl>
<span class="target" id="as-filebase-params"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.filebase.params.writeMetaOnClose">
<span class="sig-name descname"><span class="pre">AS.filebase.params.writeMetaOnClose</span></span><a class="headerlink" href="#confval-AS.filebase.params.writeMetaOnClose" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">false</span></code></p>
<p>Type: <em>boolean</em></p>
<p>This is an optimization to write the datafile meta record only
on file close and not every time a new record has been added
to a file. To save IO bandwidth when handling many channels,
this could be helpful.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.filebase.params.alignIndexPages">
<span class="sig-name descname"><span class="pre">AS.filebase.params.alignIndexPages</span></span><a class="headerlink" href="#confval-AS.filebase.params.alignIndexPages" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">false</span></code></p>
<p>Type: <em>boolean</em></p>
<p>This forces to align index pages in the file at 4k boundaries.
In order to achieve that, NULL chunks must be inserted to
allow padding. This will lead to less device page updates
but slightly larger data files.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.filebase.params.priority">
<span class="sig-name descname"><span class="pre">AS.filebase.params.priority</span></span><a class="headerlink" href="#confval-AS.filebase.params.priority" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">0</span></code></p>
<p>Type: <em>int</em></p>
<p>A value greater than 0 will raise the write thread
priority to the given value. This value is in
accordance to the pthread_setschedparam function.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.filebase.params.q">
<span class="sig-name descname"><span class="pre">AS.filebase.params.q</span></span><a class="headerlink" href="#confval-AS.filebase.params.q" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">1000</span></code></p>
<p>Type: <em>int</em></p>
<p>The real-time notification queue size.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.filebase.params.concurrency">
<span class="sig-name descname"><span class="pre">AS.filebase.params.concurrency</span></span><a class="headerlink" href="#confval-AS.filebase.params.concurrency" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">1</span></code></p>
<p>Type: <em>int</em></p>
<p>The number of concurrent writes to the database. The
higher the value the more concurrent write operations
are issued distributed across the files. A single file
can only be updated sequentially. This value is most
effective if many records of different channels are
pushed, like the output of scmssort.</p>
</dd></dl>
<div class="admonition note" id="as-filebase-purge">
<p class="admonition-title">Note</p>
<p><strong>AS.filebase.purge.*</strong>
<em>Parameters controlling IO resources occupied by the purge operation.</em>
<em>The deletion of many data files at once may have a significant impact</em>
<em>on the server performance. E.g. if the server did not run for a while</em>
<em>or the keep parameter was reduced significantly, the purge operation</em>
<em>may slow down the processing of real-time data.</em></p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.filebase.purge.referenceTime">
<span class="sig-name descname"><span class="pre">AS.filebase.purge.referenceTime</span></span><a class="headerlink" href="#confval-AS.filebase.purge.referenceTime" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">EndTime</span></code></p>
<p>Type: <em>string</em></p>
<p>Values: <code class="docutils literal notranslate"><span class="pre">EndTime,Now</span></code></p>
<p>The reference time defining the end of the time window
to keep the data. The window length is set by
&quot;AS.filebase.keep&quot;.
Data outside the window will be purged. Available values:</p>
<p>EndTime: The reference time is the end time per stream.
This keeps older data if no more recent data arrive.</p>
<p>Now: The reference time is current time. This
deletes old data even if no recent data arrive.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.filebase.purge.idleTime">
<span class="sig-name descname"><span class="pre">AS.filebase.purge.idleTime</span></span><a class="headerlink" href="#confval-AS.filebase.purge.idleTime" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">5</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>double</em></p>
<p>Idle time between two purge runs.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.filebase.purge.initIdleTime">
<span class="sig-name descname"><span class="pre">AS.filebase.purge.initIdleTime</span></span><a class="headerlink" href="#confval-AS.filebase.purge.initIdleTime" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">0</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>double</em></p>
<p>Idle time before the first purge run starts. Normally
after a start the server tries to catch up all data which
might be an IO intensive operation. In case of a huge archive the purge
operation slow downs the read/write performace of the system too. To
reduce the load at start it is a good idea to postpone this operation.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.filebase.purge.maxProcessTime">
<span class="sig-name descname"><span class="pre">AS.filebase.purge.maxProcessTime</span></span><a class="headerlink" href="#confval-AS.filebase.purge.maxProcessTime" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">1</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>double</em></p>
<p>Maximum processing time for one purge run. If exceeded the
purge task will pause for AS.filebase.purge.idleTime
seconds freeing IO resources.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.filebase.purge.startTime">
<span class="sig-name descname"><span class="pre">AS.filebase.purge.startTime</span></span><a class="headerlink" href="#confval-AS.filebase.purge.startTime" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">00:30</span></code></p>
<p>Type: <em>string</em></p>
<p>Time of the day when to run the daily purge run. Time is in UTC.</p>
</dd></dl>
<div class="admonition note" id="as-ssl">
<p class="admonition-title">Note</p>
<p><strong>AS.SSL.*</strong>
<em>Parameters for SSL-based data requests</em></p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.SSL.port">
<span class="sig-name descname"><span class="pre">AS.SSL.port</span></span><a class="headerlink" href="#confval-AS.SSL.port" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>int</em></p>
<p>Defines the SSL server port for client requests. By default
SSL requests are disabled.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.SSL.certificate">
<span class="sig-name descname"><span class="pre">AS.SSL.certificate</span></span><a class="headerlink" href="#confval-AS.SSL.certificate" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Defines the path to the SSL certificate to use.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.SSL.key">
<span class="sig-name descname"><span class="pre">AS.SSL.key</span></span><a class="headerlink" href="#confval-AS.SSL.key" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Defines the path to the private SSL key to use. This key
is not shared with clients.</p>
</dd></dl>
<div class="admonition note" id="as-auth">
<p class="admonition-title">Note</p>
<p><strong>AS.auth.*</strong>
<em>Parameters controlling the authentication system for data requests</em>
<em>based on user ID, IP addresses, access roles and access control lists.</em></p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.auth.backend">
<span class="sig-name descname"><span class="pre">AS.auth.backend</span></span><a class="headerlink" href="#confval-AS.auth.backend" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">basic</span></code></p>
<p>Type: <em>string</em></p>
<p>The server provides an authentication plug-in interface. An authentication plugin
implements access control checks. It is free where it gets the access information from e.g
from a local database/file or a remote server. The option sets which authentication plugin
should be used for authentication. Dont forget to load the plugin in the plugin section.
The basic plugin is built-in.</p>
</dd></dl>
<div class="admonition note" id="as-auth-basic">
<p class="admonition-title">Note</p>
<p><strong>AS.auth.basic.*</strong>
<em>Basic authentication parameters. The configuration can</em>
<em>be reloaded without restarting the server. Use</em>
<em>“seiscomp reload caps`” to reload the</em>
<em>authentication parameters without a restart.</em></p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.auth.basic.access-list">
<span class="sig-name descname"><span class="pre">AS.auth.basic.access-list</span></span><a class="headerlink" href="#confval-AS.auth.basic.access-list" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">&#64;SYSTEMCONFIGDIR&#64;/caps/access.cfg</span></code></p>
<p>Type: <em>file</em></p>
<p>Path to the access control list controlling access based on rules.
By default access is unrestricted. Allow rules are evaluated first.</p>
<p>AM.DENY = 127.0.0.1</p>
<p>AM.ALLOW = 127.0.0.1</p>
<p>This example rule set prohibits all AM network stations for localhost because
the DENY rule is evaluated after the ALLOW rule.</p>
<p>IP restrictions apply to the guest user only. In addition to IPs the access can
be also restricted by user or group. In the latter case
the &quot;%&quot; must be placed in front of the group name. Here an example:</p>
<p>AM.ALLOW = %users</p>
<p>AM.R44F5.ALLOW = sysop</p>
<p>Rules are evaluated on the basis of one another. This can lead to misunderstandings. Here an
example:</p>
<p>AM.ALLOW = sysop</p>
<p>This rule will allow the AM network for sysop only. But</p>
<p>DENY = %users
AM.ALLOW = sysop</p>
<p>will allow the access to the AM network for all users except those are member of the group users.</p>
</dd></dl>
<span class="target" id="as-auth-basic-users"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.auth.basic.users.shadow">
<span class="sig-name descname"><span class="pre">AS.auth.basic.users.shadow</span></span><a class="headerlink" href="#confval-AS.auth.basic.users.shadow" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">&#64;SYSTEMCONFIGDIR&#64;/caps/shadow.cfg</span></code></p>
<p>Type: <em>file</em></p>
<p>Location of the users authentication file. For each user one line
of the following format must exist:</p>
<p>username:encrypted_pwd</p>
<p>To encrypt the password mkpasswd can be used. It is recommended to
apply a strong algorithm such as sha-256 or sha-512. The command</p>
<p>u=sysop pw=`mkpasswd -m sha-512` &amp;&amp; echo $u:$pw</p>
<p>generates one line for user &quot;sysop&quot;.
Add the line to the authentication file.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.auth.basic.users.passwd">
<span class="sig-name descname"><span class="pre">AS.auth.basic.users.passwd</span></span><a class="headerlink" href="#confval-AS.auth.basic.users.passwd" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">&#64;SYSTEMCONFIGDIR&#64;/caps/passwd.cfg</span></code></p>
<p>Type: <em>file</em></p>
<p>Location of the users access control file. Each
line starts with a user ID (uid) or a group ID (gid)
and a list of access properties in the form:</p>
<p>uid:prop1,prop2</p>
<p>or</p>
<p>%gid:prop1,prop2</p>
<p>&quot;%&quot; indicates a gid instead of a uid.
The properties grant access to certain CAPS
features. Supported access property values are:
read, write, admin.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.auth.basic.users.group">
<span class="sig-name descname"><span class="pre">AS.auth.basic.users.group</span></span><a class="headerlink" href="#confval-AS.auth.basic.users.group" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">&#64;SYSTEMCONFIGDIR&#64;/caps/group.cfg</span></code></p>
<p>Type: <em>file</em></p>
<p>Location of the optional group file. Each line maps a group id
to a list of users in format</p>
<p>gid:user1,user2,user3</p>
</dd></dl>
<span class="target" id="as-plugins"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.plugins.port">
<span class="sig-name descname"><span class="pre">AS.plugins.port</span></span><a class="headerlink" href="#confval-AS.plugins.port" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">18003</span></code></p>
<p>Type: <em>int</em></p>
<p>Defines the server port to use for plugin connections.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.plugins.allow">
<span class="sig-name descname"><span class="pre">AS.plugins.allow</span></span><a class="headerlink" href="#confval-AS.plugins.allow" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>list:string</em></p>
<p>List of IPs which are allowed to access the plugin port.
By default access is unrestricted.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.plugins.deny">
<span class="sig-name descname"><span class="pre">AS.plugins.deny</span></span><a class="headerlink" href="#confval-AS.plugins.deny" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>list:string</em></p>
<p>List of IPs which are not allowed to access the plugin port.
By default access is unrestricted.</p>
</dd></dl>
<span class="target" id="as-plugins-ssl"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.plugins.SSL.port">
<span class="sig-name descname"><span class="pre">AS.plugins.SSL.port</span></span><a class="headerlink" href="#confval-AS.plugins.SSL.port" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>int</em></p>
<p>Defines the SSL server port to use for plugin SSL connections.
The SSL port is disabled by default.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.plugins.SSL.certificate">
<span class="sig-name descname"><span class="pre">AS.plugins.SSL.certificate</span></span><a class="headerlink" href="#confval-AS.plugins.SSL.certificate" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Defines the path to the SSL certificate to use.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.plugins.SSL.key">
<span class="sig-name descname"><span class="pre">AS.plugins.SSL.key</span></span><a class="headerlink" href="#confval-AS.plugins.SSL.key" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Defines the path to the private SSL key to use. This key
is not shared with clients.</p>
</dd></dl>
<div class="admonition note" id="as-http">
<p class="admonition-title">Note</p>
<p><strong>AS.http.*</strong>
<em>Web interface control parameters</em></p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.http.port">
<span class="sig-name descname"><span class="pre">AS.http.port</span></span><a class="headerlink" href="#confval-AS.http.port" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>int</em></p>
<p>Defines the server port for HTTP connections. By default the Web interface is disabled.</p>
<p>Typical value: 18081</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.http.allow">
<span class="sig-name descname"><span class="pre">AS.http.allow</span></span><a class="headerlink" href="#confval-AS.http.allow" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>list:string</em></p>
<p>List of IPs which are allowed to access the http(s) port.
By default access is unrestricted.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.http.deny">
<span class="sig-name descname"><span class="pre">AS.http.deny</span></span><a class="headerlink" href="#confval-AS.http.deny" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>list:string</em></p>
<p>List of IPs which are not allowed to access the http(s) port.
By default access is unrestricted.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.http.resolveProxyClient">
<span class="sig-name descname"><span class="pre">AS.http.resolveProxyClient</span></span><a class="headerlink" href="#confval-AS.http.resolveProxyClient" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">false</span></code></p>
<p>Type: <em>boolean</em></p>
<p>Sets if the X-Forwarded-For HTTP header is evaluated to
retrieve the real client IP address from a proxy server.
This is important if the web frontend is behind a proxy,
e.g. Apache. Since data access is configured per IP, the
real IP is required to grant access to requested channels.
Enabling this opens a possible security hole as clients
can then easily spoof their IP if the proxy does not
correctly maintain this header or if CAPS does not run
behind a proxy.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.http.disableBasicAuthorization">
<span class="sig-name descname"><span class="pre">AS.http.disableBasicAuthorization</span></span><a class="headerlink" href="#confval-AS.http.disableBasicAuthorization" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">false</span></code></p>
<p>Type: <em>boolean</em></p>
<p>Controls whether basic authorization is enabled or not.
In case you are running CAPS behind a proxy which already
configures basic authorization then enable this flag.
If basic authorization is disabled then the default
HTTP user should have access without a password.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.http.fdsnws">
<span class="sig-name descname"><span class="pre">AS.http.fdsnws</span></span><a class="headerlink" href="#confval-AS.http.fdsnws" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Sets the optional relative FDSNWS path which is being
used by the CAPS frontend client. Do not append
&quot;fdsnws/dataselect/1/query&quot; as this is done
automatically. Set it to &quot;/&quot; if the CAPS
frontend is running with a relative path behind e.g.
Nginx.</p>
</dd></dl>
<div class="admonition note" id="as-http-ssl">
<p class="admonition-title">Note</p>
<p><strong>AS.http.SSL.*</strong>
<em>Use https instead of http when setting the following parameters</em></p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.http.SSL.port">
<span class="sig-name descname"><span class="pre">AS.http.SSL.port</span></span><a class="headerlink" href="#confval-AS.http.SSL.port" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>int</em></p>
<p>Defines the server port for HTTPS connections.
By default the SSL Web interface is disabled.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.http.SSL.certificate">
<span class="sig-name descname"><span class="pre">AS.http.SSL.certificate</span></span><a class="headerlink" href="#confval-AS.http.SSL.certificate" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Defines the path to the SSL certificate to use.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.http.SSL.key">
<span class="sig-name descname"><span class="pre">AS.http.SSL.key</span></span><a class="headerlink" href="#confval-AS.http.SSL.key" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Defines the path to the private SSL key to use. This
key is not shared with clients.</p>
</dd></dl>
<div class="admonition note" id="as-fdsnws">
<p class="admonition-title">Note</p>
<p><strong>AS.FDSNWS.*</strong>
<em>FDSNWS control parameters for dataselect. The FDSNWS service</em>
<em>is provided through the “AS.http.port”.</em></p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.FDSNWS.maxTimeWindow">
<span class="sig-name descname"><span class="pre">AS.FDSNWS.maxTimeWindow</span></span><a class="headerlink" href="#confval-AS.FDSNWS.maxTimeWindow" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">0</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>int</em></p>
<p>Maximum length of time window per request. A value
greater than zero limits the maximum request time window
including all data. 0 disables the limit.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.FDSNWS.maxRequests">
<span class="sig-name descname"><span class="pre">AS.FDSNWS.maxRequests</span></span><a class="headerlink" href="#confval-AS.FDSNWS.maxRequests" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">1000</span></code></p>
<p>Type: <em>int</em></p>
<p>Maximum number of requests per post. A value greater than
or equal to zero limits the number
of request lines per POST request.</p>
</dd></dl>
<div class="admonition note" id="as-wws">
<p class="admonition-title">Note</p>
<p><strong>AS.WWS.*</strong>
<em>Winston waveform server (WWS) control parameters. When set,</em>
<em>CAPS will also serve WWS.</em></p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.WWS.port">
<span class="sig-name descname"><span class="pre">AS.WWS.port</span></span><a class="headerlink" href="#confval-AS.WWS.port" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>int</em></p>
<p>Server port for WWS connections. Please note that
inventory information (see AS.inventory) is required to
fully support WWS requests otherwise empty values for
the channel location and unit will be returned.</p>
<p>Default (no value): The WWS interface is disabled.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.WWS.maxTimeWindow">
<span class="sig-name descname"><span class="pre">AS.WWS.maxTimeWindow</span></span><a class="headerlink" href="#confval-AS.WWS.maxTimeWindow" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">90000</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>int</em></p>
<p>Maximum length of time window in seconds per request.
A value greater than zero limits the maximum request time window
including all data. 0 disables the limit.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.WWS.maxRequests">
<span class="sig-name descname"><span class="pre">AS.WWS.maxRequests</span></span><a class="headerlink" href="#confval-AS.WWS.maxRequests" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">100</span></code></p>
<p>Type: <em>int</em></p>
<p>A value greater than or equal to zero limits the number
of request lines per POST request.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.WWS.allow">
<span class="sig-name descname"><span class="pre">AS.WWS.allow</span></span><a class="headerlink" href="#confval-AS.WWS.allow" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>list:string</em></p>
<p>List of IPs which are allowed to access the WWS port.
By default access is unrestricted.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-AS.WWS.deny">
<span class="sig-name descname"><span class="pre">AS.WWS.deny</span></span><a class="headerlink" href="#confval-AS.WWS.deny" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>list:string</em></p>
<p>List of IPs which are not allowed to access the WWS port.
By default access is unrestricted.</p>
</dd></dl>
</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">caps [options]</strong></p>
<section id="generic">
<span id="id2"></span><h3>Generic<a class="headerlink" href="#generic" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-h">
<span id="cmdoption-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-h" title="Permalink to this definition"></a></dt>
<dd><p>Show help message.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-V">
<span id="cmdoption-version"></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">--version</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-V" title="Permalink to this definition"></a></dt>
<dd><p>Show version information.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-config-file">
<span class="sig-name descname"><span class="pre">--config-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-config-file" title="Permalink to this definition"></a></dt>
<dd><p>Use alternative configuration file. When this option is
used the loading of all stages is disabled. Only the
given configuration file is parsed and used. To use
another name for the configuration create a symbolic
link of the application or copy it. Example:
scautopick -&gt; scautopick2.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-plugins">
<span class="sig-name descname"><span class="pre">--plugins</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-plugins" title="Permalink to this definition"></a></dt>
<dd><p>Load given plugins.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-D">
<span id="cmdoption-daemon"></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">--daemon</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-D" title="Permalink to this definition"></a></dt>
<dd><p>Run as daemon. This means the application will fork itself
and doesnt need to be started with &amp;.</p>
</dd></dl>
</section>
<section id="verbosity">
<span id="id3"></span><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-verbosity">
<span class="sig-name descname"><span class="pre">--verbosity</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-verbosity" title="Permalink to this definition"></a></dt>
<dd><p>Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info,
4:debug.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-v">
<span id="cmdoption-v"></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">--v</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-v" title="Permalink to this definition"></a></dt>
<dd><p>Increase verbosity level (may be repeated, eg. -vv).</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-q">
<span id="cmdoption-quiet"></span><span class="sig-name descname"><span class="pre">-q</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">--quiet</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-q" title="Permalink to this definition"></a></dt>
<dd><p>Quiet mode: no logging output.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-print-component">
<span class="sig-name descname"><span class="pre">--print-component</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-print-component" title="Permalink to this definition"></a></dt>
<dd><p>For each log entry print the component right after the
log level. By default the component output is enabled
for file output but disabled for console output.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-component">
<span class="sig-name descname"><span class="pre">--component</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-component" title="Permalink to this definition"></a></dt>
<dd><p>Limit the logging to a certain component. This option can
be given more than once.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-s">
<span id="cmdoption-syslog"></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">--syslog</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-s" title="Permalink to this definition"></a></dt>
<dd><p>Use syslog logging backend. The output usually goes to
/var/lib/messages.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-l">
<span id="cmdoption-lockfile"></span><span class="sig-name descname"><span class="pre">-l</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">--lockfile</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-l" title="Permalink to this definition"></a></dt>
<dd><p>Path to lock file.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-console">
<span class="sig-name descname"><span class="pre">--console</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-console" title="Permalink to this definition"></a></dt>
<dd><p>Send log output to stdout.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-debug">
<span class="sig-name descname"><span class="pre">--debug</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-debug" title="Permalink to this definition"></a></dt>
<dd><p>Execute in debug mode.
Equivalent to --verbosity=4 --console=1 .</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-trace">
<span class="sig-name descname"><span class="pre">--trace</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-trace" title="Permalink to this definition"></a></dt>
<dd><p>Execute in trace mode.
Equivalent to --verbosity=4 --console=1 --print-component=1
--print-context=1 .</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-log-file">
<span class="sig-name descname"><span class="pre">--log-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-log-file" title="Permalink to this definition"></a></dt>
<dd><p>Use alternative log file.</p>
</dd></dl>
</section>
<section id="server">
<span id="id4"></span><h3>Server<a class="headerlink" href="#server" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-p">
<span id="cmdoption-server-port"></span><span class="sig-name descname"><span class="pre">-p</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">--server-port</span></span><span class="sig-prename descclassname"> <span class="pre">int</span></span><a class="headerlink" href="#cmdoption-p" title="Permalink to this definition"></a></dt>
<dd><p>Overrides configuration parameter <a class="reference internal" href="../base/configuration.html#confval-AS.port"><code class="xref std std-confval docutils literal notranslate"><span class="pre">AS.port</span></code></a>.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-server-ssl-port">
<span class="sig-name descname"><span class="pre">--server-ssl-port</span></span><span class="sig-prename descclassname"> <span class="pre">int</span></span><a class="headerlink" href="#cmdoption-server-ssl-port" title="Permalink to this definition"></a></dt>
<dd><p>Overrides configuration parameter <a class="reference internal" href="../base/configuration.html#confval-AS.SSL.port"><code class="xref std std-confval docutils literal notranslate"><span class="pre">AS.SSL.port</span></code></a>.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-P">
<span id="cmdoption-plugin-port"></span><span class="sig-name descname"><span class="pre">-P</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">--plugin-port</span></span><span class="sig-prename descclassname"> <span class="pre">int</span></span><a class="headerlink" href="#cmdoption-P" title="Permalink to this definition"></a></dt>
<dd><p>Overrides configuration parameter <a class="reference internal" href="../base/configuration.html#confval-AS.plugins.port"><code class="xref std std-confval docutils literal notranslate"><span class="pre">AS.plugins.port</span></code></a>.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-http-port">
<span class="sig-name descname"><span class="pre">--http-port</span></span><span class="sig-prename descclassname"> <span class="pre">int</span></span><a class="headerlink" href="#cmdoption-http-port" title="Permalink to this definition"></a></dt>
<dd><p>Overrides configuration parameter <a class="reference internal" href="../base/configuration.html#confval-AS.http.port"><code class="xref std std-confval docutils literal notranslate"><span class="pre">AS.http.port</span></code></a>.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-read-only">
<span class="sig-name descname"><span class="pre">--read-only</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-read-only" title="Permalink to this definition"></a></dt>
<dd><p>Do not store any packets.</p>
</dd></dl>
</section>
<section id="test">
<span id="id5"></span><h3>Test<a class="headerlink" href="#test" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-configtest">
<span class="sig-name descname"><span class="pre">--configtest</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-configtest" title="Permalink to this definition"></a></dt>
<dd><p>Run a configuration file syntax test. It parses the
configuration files and either reports Syntax Ok or detailed
information about the particular syntax error.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-print-access">
<span class="sig-name descname"><span class="pre">--print-access</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-print-access" title="Permalink to this definition"></a></dt>
<dd><p>Print access information for one or more channels from a
given IP and a user with password, format: NET.STA.LOC.CHA,
e.g.,</p>
<p>IP check</p>
<p>caps --print-access GE.*.*.* 127.0.0.1</p>
<p>IP and user:password check</p>
<p>caps --print-access GE.APE.*.* --user gempa:gempa 127.0.0.1</p>
<p>The stream ID filter supports wildcards. Use option -v to
enable the trace mode to get detailed information about the
rule evaluation.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-u">
<span id="cmdoption-user"></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">--user</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-u" title="Permalink to this definition"></a></dt>
<dd><p>Server user and password. Format: user:password .</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="#">caps</a><ul>
<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="#generic">Generic</a></li>
<li><a class="reference internal" href="#verbosity">Verbosity</a></li>
<li><a class="reference internal" href="#server">Server</a></li>
<li><a class="reference internal" href="#test">Test</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/apps/caps.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="content">
Release <b></b> version <b>2025.254#f0c77b29e</b>
<div class="copyright">
&copy; Copyright <a href="https://www.gempa.de">2013, gempa GmbH.</a>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,706 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>caps2caps &#8212; CAPS: Common Acquisition Protocol Server documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/gempa.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/gempa.css?v=c960eebf" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/gempa.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=b3ba4146"></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="crex2caps" href="crex2caps.html" />
<link rel="prev" title="Data Acquisition and Manipulation by Plugins" href="../base/plugins.html" />
</head>
<body>
<div class="header">
<div class="container">
<img class="background" src="../_static/icon.png"/>
<div class="content">
<span class="title">CAPS: Common Acquisition Protocol Server </span>
<span class="version">2025.254#f0c77b29e</span></h1>
</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="crex2caps.html" title="crex2caps"
accesskey="N">
next
</a>
</li>
<li class="right">
<a href="../base/plugins.html" title="Data Acquisition and Manipulation by Plugins"
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="../base/plugins.html" accesskey="U">Data Acquisition and Manipulation by Plugins</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="caps2caps">
<span id="id1"></span><h1>caps2caps<a class="headerlink" href="#caps2caps" title="Permalink to this heading"></a></h1>
<p><strong>caps2caps synchronizes CAPS servers in real-time</strong></p>
<section id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
<p><em>caps2caps</em> can connect two <cite>CAPS</cite> server instances to synchronize the data
in real time. When one server 1 fails and the
other one, server 2, continues to operate, the server 1 can back fill the data
as soon as it becomes alive again.</p>
<p><em>caps2caps</em> can run on either side to pull the data from the other server or to
push the data to this server:</p>
<ul class="simple">
<li><p>For <strong>pulling data</strong> from a remote to a local server configure the input and the
output parameters with the remote and the local server, respectively.</p></li>
<li><p>For <strong>pushing data</strong> from a local to a remote server configure the input and the
output parameters with the local and the remote server, respectively.</p></li>
</ul>
<figure class="align-center" id="id12">
<span id="fig-caps2caps"></span><a class="reference internal image-reference" href="../_images/caps2caps.png"><img alt="../_images/caps2caps.png" src="../_images/caps2caps.png" style="width: 18cm;" /></a>
<figcaption>
<p><span class="caption-text">caps2caps instances connecting two <cite>CAPS</cite> servers pulling data from the
remote into the local server.</span><a class="headerlink" href="#id12" title="Permalink to this image"></a></p>
</figcaption>
</figure>
</section>
<section id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this heading"></a></h2>
<ul>
<li><p>Run caps2caps as daemon module.</p>
<ol class="arabic">
<li><p>Configure input and output hosts (<a class="reference internal" href="caps_plugin.html#confval-input.address"><code class="xref std std-confval docutils literal notranslate"><span class="pre">input.address</span></code></a>,
<a class="reference internal" href="sproc2caps.html#confval-output.address"><code class="xref std std-confval docutils literal notranslate"><span class="pre">output.address</span></code></a>) in caps2caps module configuration,
<code class="file docutils literal notranslate"><span class="pre">caps2caps.cfg</span></code>.</p></li>
<li><p>Enable and start caps2caps</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>seiscomp<span class="w"> </span><span class="nb">enable</span><span class="w"> </span>caps2caps
seiscomp<span class="w"> </span>start<span class="w"> </span>caps2caps
</pre></div>
</div>
</li>
</ol>
</li>
<li><p>Run caps2caps on demand in a terminal with specific, explicitly specifying
input and output hosts without encryption</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>caps2caps<span class="w"> </span>-I<span class="w"> </span>caps://inputServer:18002<span class="w"> </span>-O<span class="w"> </span>caps://outputServer:18003
</pre></div>
</div>
<p>The same as above but with encrypted data transfer controlled by user name and
password</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>caps2caps<span class="w"> </span>-I<span class="w"> </span>capss://user:password@inputServer:18002<span class="w"> </span>-O<span class="w"> </span>capss://user:password@inputServer:output:18003
</pre></div>
</div>
</li>
<li><p>Pull or push data depending on module configuration but ignore the journal
file. This allows resending the data</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>caps2caps<span class="w"> </span>-j<span class="w"> </span><span class="s2">&quot;&quot;</span>
</pre></div>
</div>
</li>
</ul>
</section>
<section id="module-configuration">
<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/caps2caps.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/caps2caps.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/caps2caps.cfg</span></code></div>
</div>
<p>caps2caps inherits <a class="reference internal" href="global.html#global-configuration"><span class="std std-ref">global options</span></a>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Modules/plugins may require a license file. The default path to license
files is <code class="file docutils literal notranslate"><span class="pre">&#64;DATADIR&#64;/licenses/</span></code> which can be overridden by global
configuration of the parameter <code class="xref std std-confval docutils literal notranslate"><span class="pre">gempa.licensePath</span></code>. Example:</p>
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span>gempa.licensePath = @CONFIGDIR@/licenses
</pre></div>
</div>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-streams">
<span class="sig-name descname"><span class="pre">streams</span></span><a class="headerlink" href="#confval-streams" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Comma separated list of streams. Stream format: NET.STA.LOC.CHA.
Streams may contain wildcards</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-begin">
<span class="sig-name descname"><span class="pre">begin</span></span><a class="headerlink" href="#confval-begin" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Start time of data time window, default is GMT. Date time format:
[YYYY-MM-DD HH:MM:SS].</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-end">
<span class="sig-name descname"><span class="pre">end</span></span><a class="headerlink" href="#confval-end" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>End time of data time window. Date time format:
[YYYY-MM-DD HH:MM:SS].</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-maxDays">
<span class="sig-name descname"><span class="pre">maxDays</span></span><a class="headerlink" href="#confval-maxDays" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">-1</span></code></p>
<p>Unit: <em>day</em></p>
<p>Type: <em>int</em></p>
<p>Maximum number of days to acquire regardless if the time window
is configured or read from journal. A value of 0 or less disables
the check.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-days">
<span class="sig-name descname"><span class="pre">days</span></span><a class="headerlink" href="#confval-days" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">-1</span></code></p>
<p>Unit: <em>day</em></p>
<p>Type: <em>int</em></p>
<p>Use to set the start time of data time window n days before the current time.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-daysBefore">
<span class="sig-name descname"><span class="pre">daysBefore</span></span><a class="headerlink" href="#confval-daysBefore" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">-1</span></code></p>
<p>Unit: <em>day</em></p>
<p>Type: <em>int</em></p>
<p>Use to set the end time of data time window n days before the current time.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-timeWindowUpdateInterval">
<span class="sig-name descname"><span class="pre">timeWindowUpdateInterval</span></span><a class="headerlink" href="#confval-timeWindowUpdateInterval" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">-1</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>int</em></p>
<p>Sets the interval in seconds at which the relative request
time window defined by option days and/or daysBefore is
updated.
Use a value less or equal zero to disable the update.
This feature is supported in archive mode only.
A typical use case is when data has to be transmitted
continuously with a time delay.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-maxRealTimeGap">
<span class="sig-name descname"><span class="pre">maxRealTimeGap</span></span><a class="headerlink" href="#confval-maxRealTimeGap" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">-1</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>int</em></p>
<p>Sets the maximum real-time data gap in seconds. This means,
if the start time of the requested time window of a channel
is before this value with respect to the current system time
then the request is split into a real-time request starting
at system time - marginRealTimeGap and a backfill request
from requested start time to time - marginRealTimeGap.
That prioritizes real-time data and backfills old data in
parallel.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-marginRealTimeGap">
<span class="sig-name descname"><span class="pre">marginRealTimeGap</span></span><a class="headerlink" href="#confval-marginRealTimeGap" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">60</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>int</em></p>
<p>The time margin used to request real-time data in combination
with maxRealTimeGap with respect to system time.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-realtime">
<span class="sig-name descname"><span class="pre">realtime</span></span><a class="headerlink" href="#confval-realtime" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">true</span></code></p>
<p>Type: <em>boolean</em></p>
<p>Enable real-time mode. Archived data is not fetched.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-outOfOrder">
<span class="sig-name descname"><span class="pre">outOfOrder</span></span><a class="headerlink" href="#confval-outOfOrder" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">false</span></code></p>
<p>Type: <em>boolean</em></p>
<p>Enable out of order mode. Allows transfering data
which is not in timely order.</p>
</dd></dl>
<div class="admonition note" id="input">
<p class="admonition-title">Note</p>
<p><strong>input.*</strong>
<em>Configuration of data input host.</em></p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-input.address">
<span class="sig-name descname"><span class="pre">input.address</span></span><a class="headerlink" href="#confval-input.address" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>URL. Format: [[caps|capss]://][user:pass&#64;]host[:port] .</p>
</dd></dl>
<div class="admonition note" id="output">
<p class="admonition-title">Note</p>
<p><strong>output.*</strong>
<em>Configuration of data output host.</em></p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.address">
<span class="sig-name descname"><span class="pre">output.address</span></span><a class="headerlink" href="#confval-output.address" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">localhost:18003</span></code></p>
<p>Type: <em>string</em></p>
<p>URL. Format: [[caps|capss]://][user:pass&#64;]host[:port] .</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.bufferSize">
<span class="sig-name descname"><span class="pre">output.bufferSize</span></span><a class="headerlink" href="#confval-output.bufferSize" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">1048576</span></code></p>
<p>Unit: <em>byte</em></p>
<p>Type: <em>uint</em></p>
<p>Size of the packet buffer.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.backfillingBufferSize">
<span class="sig-name descname"><span class="pre">output.backfillingBufferSize</span></span><a class="headerlink" href="#confval-output.backfillingBufferSize" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">0</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>uint</em></p>
<p>Length of backfilling buffer which is a tool to mitigate
out-of-order data. Whenever a gap is detected, records
will be held in a buffer and not sent out. Records are
flushed from front to back if the buffer size is
exceeded. A value of 0 disables this feature.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.mseed">
<span class="sig-name descname"><span class="pre">output.mseed</span></span><a class="headerlink" href="#confval-output.mseed" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">false</span></code></p>
<p>Type: <em>boolean</em></p>
<p>Enable Steim2 encoding for received RAW packets.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.timeout">
<span class="sig-name descname"><span class="pre">output.timeout</span></span><a class="headerlink" href="#confval-output.timeout" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">60</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>int</em></p>
<p>Timeout when sending a packet. If the timeout expires,
the connection will be closed and re-established.</p>
</dd></dl>
<span class="target" id="journal"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-journal.file">
<span class="sig-name descname"><span class="pre">journal.file</span></span><a class="headerlink" href="#confval-journal.file" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">&#64;ROOTDIR&#64;/var/run/caps2caps/journal</span></code></p>
<p>Type: <em>string</em></p>
<p>File to store stream states.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-journal.flush">
<span class="sig-name descname"><span class="pre">journal.flush</span></span><a class="headerlink" href="#confval-journal.flush" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">10</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>uint</em></p>
<p>Flush stream states to disk in the given interval.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-journal.waitForAck">
<span class="sig-name descname"><span class="pre">journal.waitForAck</span></span><a class="headerlink" href="#confval-journal.waitForAck" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">60</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>uint</em></p>
<p>Wait when a sync has been forced, up to given seconds.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-journal.waitForLastAck">
<span class="sig-name descname"><span class="pre">journal.waitForLastAck</span></span><a class="headerlink" href="#confval-journal.waitForLastAck" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">5</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>uint</em></p>
<p>Wait on shutdown to receive acknownledgement messages, up to the
given seconds.</p>
</dd></dl>
</section>
<section id="command-line-options">
<h2>Command-Line Options<a class="headerlink" href="#command-line-options" title="Permalink to this heading"></a></h2>
<section id="generic">
<span id="id2"></span><h3>Generic<a class="headerlink" href="#generic" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-h">
<span id="cmdoption-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-h" title="Permalink to this definition"></a></dt>
<dd><p>Show help message.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-V">
<span id="cmdoption-version"></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">--version</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-V" title="Permalink to this definition"></a></dt>
<dd><p>Show version information.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-config-file">
<span class="sig-name descname"><span class="pre">--config-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-config-file" title="Permalink to this definition"></a></dt>
<dd><p>Use alternative configuration file. When this option is
used the loading of all stages is disabled. Only the
given configuration file is parsed and used. To use
another name for the configuration create a symbolic
link of the application or copy it. Example:
scautopick -&gt; scautopick2.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-plugins">
<span class="sig-name descname"><span class="pre">--plugins</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-plugins" title="Permalink to this definition"></a></dt>
<dd><p>Load given plugins.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-D">
<span id="cmdoption-daemon"></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">--daemon</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-D" title="Permalink to this definition"></a></dt>
<dd><p>Run as daemon. This means the application will fork itself
and doesnt need to be started with &amp;.</p>
</dd></dl>
</section>
<section id="verbosity">
<span id="id3"></span><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-verbosity">
<span class="sig-name descname"><span class="pre">--verbosity</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-verbosity" title="Permalink to this definition"></a></dt>
<dd><p>Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info,
4:debug.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-v">
<span id="cmdoption-v"></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">--v</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-v" title="Permalink to this definition"></a></dt>
<dd><p>Increase verbosity level (may be repeated, eg. -vv).</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-q">
<span id="cmdoption-quiet"></span><span class="sig-name descname"><span class="pre">-q</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">--quiet</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-q" title="Permalink to this definition"></a></dt>
<dd><p>Quiet mode: no logging output.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-print-component">
<span class="sig-name descname"><span class="pre">--print-component</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-print-component" title="Permalink to this definition"></a></dt>
<dd><p>For each log entry print the component right after the
log level. By default the component output is enabled
for file output but disabled for console output.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-component">
<span class="sig-name descname"><span class="pre">--component</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-component" title="Permalink to this definition"></a></dt>
<dd><p>Limit the logging to a certain component. This option can
be given more than once.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-s">
<span id="cmdoption-syslog"></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">--syslog</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-s" title="Permalink to this definition"></a></dt>
<dd><p>Use syslog logging backend. The output usually goes to
/var/lib/messages.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-l">
<span id="cmdoption-lockfile"></span><span class="sig-name descname"><span class="pre">-l</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">--lockfile</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-l" title="Permalink to this definition"></a></dt>
<dd><p>Path to lock file.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-console">
<span class="sig-name descname"><span class="pre">--console</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-console" title="Permalink to this definition"></a></dt>
<dd><p>Send log output to stdout.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-debug">
<span class="sig-name descname"><span class="pre">--debug</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-debug" title="Permalink to this definition"></a></dt>
<dd><p>Execute in debug mode.
Equivalent to --verbosity=4 --console=1 .</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-trace">
<span class="sig-name descname"><span class="pre">--trace</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-trace" title="Permalink to this definition"></a></dt>
<dd><p>Execute in trace mode.
Equivalent to --verbosity=4 --console=1 --print-component=1
--print-context=1 .</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-log-file">
<span class="sig-name descname"><span class="pre">--log-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-log-file" title="Permalink to this definition"></a></dt>
<dd><p>Use alternative log file.</p>
</dd></dl>
</section>
<section id="id4">
<span id="id5"></span><h3>Input<a class="headerlink" href="#id4" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-I">
<span id="cmdoption-input"></span><span class="sig-name descname"><span class="pre">-I</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">--input</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-I" title="Permalink to this definition"></a></dt>
<dd><p>Overrides configuration parameter <a class="reference internal" href="caps_plugin.html#confval-input.address"><code class="xref std std-confval docutils literal notranslate"><span class="pre">input.address</span></code></a>.</p>
<p>URL of data input host. Format:
[[caps|capss]://][user:password&#64;]host[:port] .</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-max-real-time-gap">
<span class="sig-name descname"><span class="pre">--max-real-time-gap</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-max-real-time-gap" title="Permalink to this definition"></a></dt>
<dd><p>Maximum length of data gap after reconnecting. If exceeded,
a real-time stream and backfilling stream will be created in
parallel. Setting this value will give highest priority to
real-time streams, e.g., for rapid response systems.</p>
</dd></dl>
</section>
<section id="streams">
<span id="id6"></span><h3>Streams<a class="headerlink" href="#streams" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-i">
<span id="cmdoption-inventory"></span><span class="sig-name descname"><span class="pre">-i</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">--inventory</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-i" title="Permalink to this definition"></a></dt>
<dd><p>Inventory XML defining the streams to add.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-A">
<span id="cmdoption-add-stream"></span><span class="sig-name descname"><span class="pre">-A</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">--add-stream</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-A" title="Permalink to this definition"></a></dt>
<dd><p>List of streamIDs [NET.STA.LOC.CHA] to add. Wildcards are
supported. Use comma-separation without blanks for multiple
IDs.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-begin">
<span class="sig-name descname"><span class="pre">--begin</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-begin" title="Permalink to this definition"></a></dt>
<dd><p>Start time of data request. Applied only on streams not
found in the journal. Format: YYYY-MM-DD hh:mm:ss.sss.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-end">
<span class="sig-name descname"><span class="pre">--end</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-end" title="Permalink to this definition"></a></dt>
<dd><p>End time of data request. Format: YYYY-MM-DD hh:mm:ss.sss.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-max-days">
<span class="sig-name descname"><span class="pre">--max-days</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-max-days" title="Permalink to this definition"></a></dt>
<dd><p>Unit: <em>day</em></p>
<p>Maximum number of days to acquire regardless if the time
window is configured or read from journal. A value of 0 or
less disables the check.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-days">
<span class="sig-name descname"><span class="pre">--days</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-days" title="Permalink to this definition"></a></dt>
<dd><p>Unit: <em>day</em></p>
<p>Begin of data request time window given as days before current time.
Applied only on streams not found in the journal.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-days-before">
<span class="sig-name descname"><span class="pre">--days-before</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-days-before" title="Permalink to this definition"></a></dt>
<dd><p>Unit: <em>day</em></p>
<p>End of data request time window given as number of days
before current time.</p>
</dd></dl>
</section>
<section id="mode">
<span id="id7"></span><h3>Mode<a class="headerlink" href="#mode" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-archive">
<span class="sig-name descname"><span class="pre">--archive</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-archive" title="Permalink to this definition"></a></dt>
<dd><p>Disable real-time mode. Only archived data is fetched and
missing records are ignored.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-out-of-order">
<span class="sig-name descname"><span class="pre">--out-of-order</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-out-of-order" title="Permalink to this definition"></a></dt>
<dd><p>Use to enable out-of-order mode. Allows transfering data
which is not in timely order.</p>
</dd></dl>
</section>
<section id="id8">
<span id="id9"></span><h3>Output<a class="headerlink" href="#id8" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-O">
<span id="cmdoption-output"></span><span class="sig-name descname"><span class="pre">-O</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">--output</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-O" title="Permalink to this definition"></a></dt>
<dd><p>Overrides configuration parameter <a class="reference internal" href="sproc2caps.html#confval-output.address"><code class="xref std std-confval docutils literal notranslate"><span class="pre">output.address</span></code></a>.</p>
<p>URL of data output host. Format:
[[caps|capss]://][user:password&#64;]host[:port] .</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-b">
<span id="cmdoption-buffer-size"></span><span class="sig-name descname"><span class="pre">-b</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">--buffer-size</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-b" title="Permalink to this definition"></a></dt>
<dd><p>Size (bytes) of the journal buffer. If exceeded, a sync of
the journal is forced.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-mseed">
<span class="sig-name descname"><span class="pre">--mseed</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-mseed" title="Permalink to this definition"></a></dt>
<dd><p>Enables Steim2 encoding for received RAW packets.</p>
</dd></dl>
</section>
<section id="id10">
<span id="id11"></span><h3>Journal<a class="headerlink" href="#id10" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-j">
<span id="cmdoption-journal"></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">--journal</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-j" title="Permalink to this definition"></a></dt>
<dd><p>Journal file to store stream states. Use an empty string to
ignore the journal file which will transfer the data
independent of previous transfers.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-flush">
<span class="sig-name descname"><span class="pre">--flush</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-flush" title="Permalink to this definition"></a></dt>
<dd><p>Unit: <em>s</em></p>
<p>Flush stream states to disk every given seconds.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-waitForAck">
<span class="sig-name descname"><span class="pre">--waitForAck</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-waitForAck" title="Permalink to this definition"></a></dt>
<dd><p>Unit: <em>s</em></p>
<p>Wait when a sync has been forced, up to the given seconds.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-w">
<span id="cmdoption-waitForLastAck"></span><span class="sig-name descname"><span class="pre">-w</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">--waitForLastAck</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-w" title="Permalink to this definition"></a></dt>
<dd><p>Unit: <em>s</em></p>
<p>Wait on shutdown to receive acknowledgment messages, up
to the given seconds.</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="#">caps2caps</a><ul>
<li><a class="reference internal" href="#description">Description</a></li>
<li><a class="reference internal" href="#examples">Examples</a></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="#generic">Generic</a></li>
<li><a class="reference internal" href="#verbosity">Verbosity</a></li>
<li><a class="reference internal" href="#id4">Input</a></li>
<li><a class="reference internal" href="#streams">Streams</a></li>
<li><a class="reference internal" href="#mode">Mode</a></li>
<li><a class="reference internal" href="#id8">Output</a></li>
<li><a class="reference internal" href="#id10">Journal</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="../base/plugins.html"
title="previous chapter">Data Acquisition and Manipulation by Plugins</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="crex2caps.html"
title="next chapter">crex2caps</a></p>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/apps/caps2caps.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="content">
Release <b></b> version <b>2025.254#f0c77b29e</b>
<div class="copyright">
&copy; Copyright <a href="https://www.gempa.de">2013, gempa GmbH.</a>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,456 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>caps_plugin &#8212; CAPS: Common Acquisition Protocol Server documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/gempa.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/gempa.css?v=c960eebf" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/gempa.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=b3ba4146"></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" />
</head>
<body>
<div class="header">
<div class="container">
<img class="background" src="../_static/icon.png"/>
<div class="content">
<span class="title">CAPS: Common Acquisition Protocol Server </span>
<span class="version">2025.254#f0c77b29e</span></h1>
</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="nav-item nav-item-0">
<a href="../index.html">Home</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="caps-plugin">
<span id="id1"></span><h1>caps_plugin<a class="headerlink" href="#caps-plugin" title="Permalink to this heading"></a></h1>
<p><strong>Transfers data from CAPS to SeedLink server</strong></p>
<section id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
<p>CAPS! server plugin that receives raw data via the CAPS! protocol and
sends raw or compressed data to Seedlink or to standard out.</p>
</section>
<section id="configuration">
<h2>Configuration<a class="headerlink" href="#configuration" title="Permalink to this heading"></a></h2>
<p>The caps_plugin can be configured as any other Seedlink plugins, e.g.
via <a class="reference external" href="https://docs.gempa.de/seiscomp3/current/apps/scconfig.html">scconfig</a>.
The configuration is shown using the SC250 station of the SW network as an example.
To start <cite>scconfig</cite> run:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>&gt;<span class="w"> </span>seiscomp<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>scconfig
</pre></div>
</div>
<p>Select Bindings from the panel switch. The bindings panel shown in
figure <a class="reference internal" href="#fig-scconfig-bindings-panel"><span class="std std-ref">Bindings panel</span></a> configures a station for a module. It is separated into three main areas:</p>
<ul class="simple">
<li><p>the station tree (red + orange)</p></li>
<li><p>the binding content (green)</p></li>
<li><p>the module tree (blue)</p></li>
</ul>
<figure class="align-default" id="id8">
<span id="fig-scconfig-bindings-panel"></span><a class="reference internal image-reference" href="../_images/scconfig_bindings_panel.png"><img alt="../_images/scconfig_bindings_panel.png" src="../_images/scconfig_bindings_panel.png" style="width: 17cm;" /></a>
<figcaption>
<p><span class="caption-text">Bindings panel</span><a class="headerlink" href="#id8" title="Permalink to this image"></a></p>
</figcaption>
</figure>
<p>Open the context menu of the view below the station tree and select
Add network to add a new network. Fill in the network name SW into
the input form and press OK. A double click on the network SW shows
the associated stations. Add a new Station SC250 in the same way as
done before for the network.
Figure Figure <a class="reference internal" href="#fig-scconfig-add-station"><span class="std std-ref">Station tree of the SW network</span></a> shows the current station tree.</p>
<figure class="align-default" id="id9">
<span id="fig-scconfig-add-station"></span><a class="reference internal image-reference" href="../_images/scconfig_add_station.png"><img alt="../_images/scconfig_add_station.png" src="../_images/scconfig_add_station.png" style="width: 17cm;" /></a>
<figcaption>
<p><span class="caption-text">Station tree of the SW network</span><a class="headerlink" href="#id9" title="Permalink to this image"></a></p>
</figcaption>
</figure>
<p>To complete the configuration open the station SC250 in the station
tree and use the context menu to add a new binding for Seedlink.
Go to the sources section of the binding content, select CAPS and press
the button on left side of the selection box. Leave the upcoming input
form blank and press OK. Subsequently click on the triangle besides
the CAPS label and set up the caps_plugin. Supported encodings are
STEIM1 and STEIM2. Use an empty encoding string to create raw
miniSEED packets.
Figure <a class="reference internal" href="#fig-scconfig-binding-conf"><span class="std std-ref">CAPS Binding configuration</span></a> shows an example configuration.</p>
<figure class="align-default" id="id10">
<span id="fig-scconfig-binding-conf"></span><a class="reference internal image-reference" href="../_images/scconfig_binding_conf.png"><img alt="../_images/scconfig_binding_conf.png" src="../_images/scconfig_binding_conf.png" style="width: 17cm;" /></a>
<figcaption>
<p><span class="caption-text">CAPS Binding configuration</span><a class="headerlink" href="#id10" title="Permalink to this image"></a></p>
</figcaption>
</figure>
<p>Press CTRL+S to save all changes. Afterwards switch to the System panel,
select Seedlink in the module list and press Update configuration.</p>
</section>
<section id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this heading"></a></h2>
<p>The caps plugin can also be used as a command-line tool to request data.
The data will be sent to standard out.</p>
<section id="command-line-help">
<h3>Command-line help<a class="headerlink" href="#command-line-help" title="Permalink to this heading"></a></h3>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>&gt;<span class="w"> </span>seiscomp<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>bash
&gt;<span class="w"> </span><span class="nv">$SEISCOMP_ROOT</span>/share/plugins/seedlink/caps_plugin<span class="w"> </span>-h
</pre></div>
</div>
</section>
<section id="data-file-request">
<h3>Data file request<a class="headerlink" href="#data-file-request" title="Permalink to this heading"></a></h3>
<p>Submit the request to the CAPS server to download miniSEED data to a file,
e.g. data.mseed:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>seiscomp<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>bash
&gt;<span class="w"> </span><span class="nv">$SEISCOMP_ROOT</span>/share/plugins/seedlink/caps_plugin<span class="w"> </span>-I<span class="w"> </span>localhost:18002<span class="w"> </span>-A<span class="w"> </span>SW.SC250..HH?<span class="w"> </span><span class="se">\</span>
--encoding<span class="w"> </span>STEIM2<span class="w"> </span>caps2sl.localhost.18002.state<span class="w"> </span><span class="se">\</span>
--begin<span class="w"> </span><span class="s2">&quot;2013-08-01 00:00:00&quot;</span><span class="w"> </span>--end<span class="w"> </span><span class="s2">&quot;2013-08-01 01:00:00&quot;</span><span class="w"> </span><span class="se">\</span>
--dump<span class="w"> </span>&gt;<span class="w"> </span>data.mseed
</pre></div>
</div>
<p>Submit the request based on the request file to the CAPS server to
ownload miniSEED data to a file, e.g. data.mseed:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>seiscomp<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>bash
&gt;<span class="w"> </span><span class="nv">$SEISCOMP_ROOT</span>/share/plugins/seedlink/caps_plugin<span class="w"> </span>-I<span class="w"> </span>localhost:18002<span class="w"> </span>-f<span class="w"> </span>streams_list<span class="w"> </span><span class="se">\</span>
--encoding<span class="w"> </span>STEIM2<span class="w"> </span>caps2sl.localhost.18002.state<span class="w"> </span><span class="se">\</span>
--begin<span class="w"> </span><span class="s2">&quot;2013-08-01 00:00:00&quot;</span><span class="w"> </span>--end<span class="w"> </span><span class="s2">&quot;2013-08-01 01:00:00&quot;</span><span class="w"> </span><span class="se">\</span>
--dump<span class="w"> </span>&gt;<span class="w"> </span>data.mseed
</pre></div>
</div>
<p>Request file, e.g. streams_list:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>SW.SC254..*
SW.SC250..HH?
SW.*..HHZ
</pre></div>
</div>
</section>
</section>
<section id="module-configuration">
<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/caps_plugin.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/caps_plugin.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/caps_plugin.cfg</span></code></div>
</div>
<p>caps_plugin inherits <a class="reference internal" href="global.html#global-configuration"><span class="std std-ref">global options</span></a>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Modules/plugins may require a license file. The default path to license
files is <code class="file docutils literal notranslate"><span class="pre">&#64;DATADIR&#64;/licenses/</span></code> which can be overridden by global
configuration of the parameter <code class="xref std std-confval docutils literal notranslate"><span class="pre">gempa.licensePath</span></code>. Example:</p>
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span>gempa.licensePath = @CONFIGDIR@/licenses
</pre></div>
</div>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-journal">
<span class="sig-name descname"><span class="pre">journal</span></span><a class="headerlink" href="#confval-journal" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>File to store stream states. Use an empty string to log to standard out.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-archive">
<span class="sig-name descname"><span class="pre">archive</span></span><a class="headerlink" href="#confval-archive" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">false</span></code></p>
<p>Type: <em>boolean</em></p>
<p>Disables realtime mode. Only archived data is fetched.</p>
</dd></dl>
<span class="target" id="input"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-input.address">
<span class="sig-name descname"><span class="pre">input.address</span></span><a class="headerlink" href="#confval-input.address" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">localhost:18002</span></code></p>
<p>Type: <em>string</em></p>
<p>CAPS URL to fetch data from, format: [[caps|capss]://][user:pass&#64;]host[:port]</p>
</dd></dl>
</section>
<section id="command-line-options">
<h2>Command-Line Options<a class="headerlink" href="#command-line-options" title="Permalink to this heading"></a></h2>
<section id="generic">
<span id="id2"></span><h3>Generic<a class="headerlink" href="#generic" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-h">
<span id="cmdoption-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-h" title="Permalink to this definition"></a></dt>
<dd><p>Show help message.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-V">
<span id="cmdoption-version"></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">--version</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-V" title="Permalink to this definition"></a></dt>
<dd><p>Show version information.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-config-file">
<span class="sig-name descname"><span class="pre">--config-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-config-file" title="Permalink to this definition"></a></dt>
<dd><p>Use alternative configuration file. When this option is
used the loading of all stages is disabled. Only the
given configuration file is parsed and used. To use
another name for the configuration create a symbolic
link of the application or copy it. Example:
scautopick -&gt; scautopick2.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-plugins">
<span class="sig-name descname"><span class="pre">--plugins</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-plugins" title="Permalink to this definition"></a></dt>
<dd><p>Load given plugins.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-D">
<span id="cmdoption-daemon"></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">--daemon</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-D" title="Permalink to this definition"></a></dt>
<dd><p>Run as daemon. This means the application will fork itself
and doesnt need to be started with &amp;.</p>
</dd></dl>
</section>
<section id="verbosity">
<span id="id3"></span><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-verbosity">
<span class="sig-name descname"><span class="pre">--verbosity</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-verbosity" title="Permalink to this definition"></a></dt>
<dd><p>Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info,
4:debug.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-v">
<span id="cmdoption-v"></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">--v</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-v" title="Permalink to this definition"></a></dt>
<dd><p>Increase verbosity level (may be repeated, eg. -vv).</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-q">
<span id="cmdoption-quiet"></span><span class="sig-name descname"><span class="pre">-q</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">--quiet</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-q" title="Permalink to this definition"></a></dt>
<dd><p>Quiet mode: no logging output.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-print-component">
<span class="sig-name descname"><span class="pre">--print-component</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-print-component" title="Permalink to this definition"></a></dt>
<dd><p>For each log entry print the component right after the
log level. By default the component output is enabled
for file output but disabled for console output.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-component">
<span class="sig-name descname"><span class="pre">--component</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-component" title="Permalink to this definition"></a></dt>
<dd><p>Limit the logging to a certain component. This option can
be given more than once.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-s">
<span id="cmdoption-syslog"></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">--syslog</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-s" title="Permalink to this definition"></a></dt>
<dd><p>Use syslog logging backend. The output usually goes to
/var/lib/messages.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-l">
<span id="cmdoption-lockfile"></span><span class="sig-name descname"><span class="pre">-l</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">--lockfile</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-l" title="Permalink to this definition"></a></dt>
<dd><p>Path to lock file.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-console">
<span class="sig-name descname"><span class="pre">--console</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-console" title="Permalink to this definition"></a></dt>
<dd><p>Send log output to stdout.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-debug">
<span class="sig-name descname"><span class="pre">--debug</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-debug" title="Permalink to this definition"></a></dt>
<dd><p>Execute in debug mode.
Equivalent to --verbosity=4 --console=1 .</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-trace">
<span class="sig-name descname"><span class="pre">--trace</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-trace" title="Permalink to this definition"></a></dt>
<dd><p>Execute in trace mode.
Equivalent to --verbosity=4 --console=1 --print-component=1
--print-context=1 .</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-log-file">
<span class="sig-name descname"><span class="pre">--log-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-log-file" title="Permalink to this definition"></a></dt>
<dd><p>Use alternative log file.</p>
</dd></dl>
</section>
<section id="plugin">
<span id="id4"></span><h3>Plugin<a class="headerlink" href="#plugin" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-I">
<span id="cmdoption-input"></span><span class="sig-name descname"><span class="pre">-I</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">--input</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-I" title="Permalink to this definition"></a></dt>
<dd><p>Overrides configuration parameter <a class="reference internal" href="#confval-input.address"><code class="xref std std-confval docutils literal notranslate"><span class="pre">input.address</span></code></a>.</p>
</dd></dl>
</section>
<section id="streams">
<span id="id5"></span><h3>Streams<a class="headerlink" href="#streams" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-A">
<span id="cmdoption-add-stream"></span><span class="sig-name descname"><span class="pre">-A</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">--add-stream</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-A" title="Permalink to this definition"></a></dt>
<dd><p>List of stream IDs [net.sta.loc.cha] to add, wildcards are supported</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-f">
<span id="cmdoption-stream-file"></span><span class="sig-name descname"><span class="pre">-f</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">--stream-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-f" title="Permalink to this definition"></a></dt>
<dd><p>Path to stream-file. The stream file may contain a list of streams IDs [net.sta.loc.cha]</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-begin">
<span class="sig-name descname"><span class="pre">--begin</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-begin" title="Permalink to this definition"></a></dt>
<dd><p>Request start time</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-end">
<span class="sig-name descname"><span class="pre">--end</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-end" title="Permalink to this definition"></a></dt>
<dd><p>Request end time</p>
</dd></dl>
</section>
<section id="mode">
<span id="id6"></span><h3>Mode<a class="headerlink" href="#mode" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-archive">
<span class="sig-name descname"><span class="pre">--archive</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-archive" title="Permalink to this definition"></a></dt>
<dd><p>Overrides configuration parameter <a class="reference internal" href="#confval-archive"><code class="xref std std-confval docutils literal notranslate"><span class="pre">archive</span></code></a>.</p>
</dd></dl>
</section>
<section id="output">
<span id="id7"></span><h3>Output<a class="headerlink" href="#output" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-dump">
<span class="sig-name descname"><span class="pre">--dump</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-dump" title="Permalink to this definition"></a></dt>
<dd><p>Dump all received data to stdout and dont push the data to SeedLink</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-encoding">
<span class="sig-name descname"><span class="pre">--encoding</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-encoding" title="Permalink to this definition"></a></dt>
<dd><p>Preferred data output encoding</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-0">
<span id="cmdoption-1"></span><span class="sig-name descname"><span class="pre">-I</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">--input</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-0" title="Permalink to this definition"></a></dt>
<dd><p>Data input host</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-j">
<span id="cmdoption-journal"></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">--journal</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-j" title="Permalink to this definition"></a></dt>
<dd><p>Overrides configuration parameter <a class="reference internal" href="#confval-journal"><code class="xref std std-confval docutils literal notranslate"><span class="pre">journal</span></code></a>.</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="#">caps_plugin</a><ul>
<li><a class="reference internal" href="#description">Description</a></li>
<li><a class="reference internal" href="#configuration">Configuration</a></li>
<li><a class="reference internal" href="#examples">Examples</a><ul>
<li><a class="reference internal" href="#command-line-help">Command-line help</a></li>
<li><a class="reference internal" href="#data-file-request">Data file request</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="#generic">Generic</a></li>
<li><a class="reference internal" href="#verbosity">Verbosity</a></li>
<li><a class="reference internal" href="#plugin">Plugin</a></li>
<li><a class="reference internal" href="#streams">Streams</a></li>
<li><a class="reference internal" href="#mode">Mode</a></li>
<li><a class="reference internal" href="#output">Output</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/apps/caps_plugin.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="content">
Release <b></b> version <b>2025.254#f0c77b29e</b>
<div class="copyright">
&copy; Copyright <a href="https://www.gempa.de">2013, gempa GmbH.</a>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,541 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>capssds &#8212; CAPS: Common Acquisition Protocol Server documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/gempa.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/gempa.css?v=c960eebf" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/gempa.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=b3ba4146"></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" />
</head>
<body>
<div class="header">
<div class="container">
<img class="background" src="../_static/icon.png"/>
<div class="content">
<span class="title">CAPS: Common Acquisition Protocol Server </span>
<span class="version">2025.254#f0c77b29e</span></h1>
</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="nav-item nav-item-0">
<a href="../index.html">Home</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="capssds">
<span id="id1"></span><h1>capssds<a class="headerlink" href="#capssds" title="Permalink to this heading"></a></h1>
<p><strong>Virtual overlay file system presenting a CAPS archive directory as a
read-only SDS archive.</strong></p>
<section id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
<p><strong class="program">capssds</strong> is a virtual overlay file system presenting a CAPS archive
directory as a read-only <a class="reference internal" href="../base/glossary.html#term-SDS"><span class="xref std std-term">SDS</span></a> archive with no extra disk space
requirement.</p>
<p>CAPS Directory and file names are mapped. An application reading from a file
will only see <a class="reference internal" href="../base/glossary.html#term-miniSeed"><span class="xref std std-term">miniSEED</span></a> records ordered by record start time. You may
connect to the virtual SDS archive using the RecordStream SDS or directly read
the single <a class="reference internal" href="../base/glossary.html#term-miniSeed"><span class="xref std std-term">miniSEED</span></a> file. Other seismological software such as ObsPy or
Seisan may read directly from the SDS archive of the files therein.</p>
</section>
<section id="usage">
<span id="sec-capssds-usage"></span><h2>Usage<a class="headerlink" href="#usage" title="Permalink to this heading"></a></h2>
<p>The virtual file system may be mounted by an unprivileged system user like
<cite>sysop</cite> or configured by the <cite>root</cite> user to be automatically mounted on machine
startup via an <cite>/etc/fstab</cite> entry or an systemd mount script.</p>
<p>The following sections assume that the CAPS archive is located under
<cite>/home/sysop/seiscomp/var/lib/caps/archive</cite> and the SDS archive should appear
under <cite>/tmp/sds</cite> with all files and directories being owned by the
<cite>sysop</cite> user.</p>
<p>Regardless which of the following mount strategies is chosen make sure to
create the target directory first:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>mkdir<span class="w"> </span>-p<span class="w"> </span>/tmp/sds
</pre></div>
</div>
<section id="unpriviledged-user">
<span id="sec-capssds-usage-unpriv"></span><h3>Unpriviledged user<a class="headerlink" href="#unpriviledged-user" title="Permalink to this heading"></a></h3>
<p>Mount the archive:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>capssds<span class="w"> </span>~/seiscomp/var/lib/caps/archive<span class="w"> </span>/tmp/sds
</pre></div>
</div>
<p>Unmount the archive:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>fusermount<span class="w"> </span>-u<span class="w"> </span>/tmp/sds
</pre></div>
</div>
</section>
<section id="system-administrator-etc-fstab">
<span id="sec-capssds-usage-fstab"></span><h3>System administrator - /etc/fstab<a class="headerlink" href="#system-administrator-etc-fstab" title="Permalink to this heading"></a></h3>
<p>Create the /etc/fstab entry:</p>
<div class="highlight-plaintext notranslate"><div class="highlight"><pre><span></span>/home/sysop/seiscomp/var/lib/caps/archive /tmp/sds fuse.capssds defaults 0 0
</pre></div>
</div>
<p>Alternatively you may define mount options, e.g., to deactivate the auto mount,
grant the user the option to mount the directory himself or use the sloppy_size
feature:</p>
<div class="highlight-plaintext notranslate"><div class="highlight"><pre><span></span>/home/sysop/seiscomp/var/lib/caps/archive /tmp/sds fuse.capssds fuse.capssds noauto,exact_size,user 0 0
</pre></div>
</div>
<p>Mount the archive:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>mount<span class="w"> </span>/tmp/sds
</pre></div>
</div>
<p>Unmount the archive:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>umount<span class="w"> </span>/tmp/sds
</pre></div>
</div>
</section>
<section id="system-administrator-systemd">
<span id="sec-capssds-usage-systemd"></span><h3>System administrator - systemd<a class="headerlink" href="#system-administrator-systemd" title="Permalink to this heading"></a></h3>
<p>Create the following file under <cite>/etc/systemd/system/tmp-sds.mount</cite>.
Please note that the file name must match the path specified under <cite>Where</cite> with
all slashes replaced by a dash:</p>
<div class="highlight-ini notranslate"><div class="highlight"><pre><span></span><span class="k">[Unit]</span>
<span class="na">Description</span><span class="o">=</span><span class="s">Mount CAPS archive as readonly miniSEED SDS</span>
<span class="na">After</span><span class="o">=</span><span class="s">network.target</span>
<span class="k">[Mount]</span>
<span class="na">What</span><span class="o">=</span><span class="s">/home/sysop/var/lib/caps/archive</span>
<span class="na">Where</span><span class="o">=</span><span class="s">/tmp/sds</span>
<span class="na">Type</span><span class="o">=</span><span class="s">fuse.capssds</span>
<span class="na">Options</span><span class="o">=</span><span class="s">defaults,allow_other</span>
<span class="k">[Install]</span>
<span class="na">WantedBy</span><span class="o">=</span><span class="s">multi-user.target</span>
</pre></div>
</div>
<p>Mount the archive:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>systemctl<span class="w"> </span>start<span class="w"> </span>tmp-sds.mount
</pre></div>
</div>
<p>Unmount the archive:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>systemctl<span class="w"> </span>stop<span class="w"> </span>tmp-sds.mount
</pre></div>
</div>
<p>Automatic startup:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>systemctl<span class="w"> </span><span class="nb">enable</span><span class="w"> </span>tmp-sds.mount
</pre></div>
</div>
</section>
</section>
<section id="implementation-details">
<span id="sec-capssds-impl"></span><h2>Implementation Details<a class="headerlink" href="#implementation-details" title="Permalink to this heading"></a></h2>
<p><strong class="program">capssds</strong> makes use of the FUSE <span id="id2">[<a class="reference internal" href="../base/references.html#id145" title="Filesystem in Userspace Kernel Module. Linux Kernel Organization. URL: https://www.kernel.org/doc/html/next/filesystems/fuse.html.">2</a>]</span> is a userspace
filesystem framework provided by the Linux kernel as well as the libfuse
<span id="id3">[<a class="reference internal" href="../base/references.html#id160" title="Filesystem in Userspace Library. GitHub. URL: https://github.com/libfuse/libfuse.">3</a>]</span> user space library.</p>
<p>The file system provides only read access to the data files and implements only
<a class="reference internal" href="#sec-capssds-impl-ops"><span class="std std-ref">basic operations</span></a> required to list and read data files.
It has to fulfill 2 main tasks, the <a class="reference internal" href="#sec-capssds-impl-pathmap"><span class="std std-ref">Path mapping</span></a>
of CAPS and SDS directory tree entries and the <a class="reference internal" href="#sec-capssds-impl-conv"><span class="std std-ref">Data file conversion</span></a>.
<a class="reference internal" href="#sec-capssds-impl-perf"><span class="std std-ref">Caches</span></a> are used the improve the performance.</p>
<section id="supported-operations">
<span id="sec-capssds-impl-ops"></span><h3>Supported operations<a class="headerlink" href="#supported-operations" title="Permalink to this heading"></a></h3>
<ul class="simple">
<li><p><cite>init</cite> - initializes the file system</p></li>
<li><p><cite>getattr</cite> - get file and directory attributes such as size and access rights</p></li>
<li><p><cite>access</cite> - check for specific access rights</p></li>
<li><p><cite>open</cite> - open a file</p></li>
<li><p><cite>read</cite> - read data at a specific file position</p></li>
<li><p><cite>readdir</cite> - list directory entries</p></li>
<li><p><cite>release</cite> - release a file handle</p></li>
<li><p><cite>destroy</cite> - shutdown the file system</p></li>
</ul>
<p>Please refer to
<a class="reference external" href="https://github.com/libfuse/libfuse/blob/master/include/fuse.h">fuse.h</a>
for a complete list of fuse operations.</p>
</section>
<section id="path-mapping">
<span id="sec-capssds-impl-pathmap"></span><h3>Path mapping<a class="headerlink" href="#path-mapping" title="Permalink to this heading"></a></h3>
<p>CAPS uses a <a class="reference internal" href="../base/archive.html#sec-archive"><span class="std std-ref">comparable directory structure</span></a> to SDS with
three differences:</p>
<ul class="simple">
<li><p>The channel does not use the <cite>.D</cite> prefix.</p></li>
<li><p>The day of year index is zero-based (0-365) where as SDS uses an index
starting with 1 (1-366).</p></li>
<li><p>CAPS data files use the extension <cite>.data</cite>.</p></li>
</ul>
<p>The following example shows the translation from a CAPS data file path to an SDS
file path for the stream AM.R0F05.00.SHZ for data on January 1st 2025:</p>
<p><cite>2025/AM/R0F05/SHZ/AM.R0F05.00.SHZ.2025.000.data -&gt; 2025/AM/R0F05/SHZ.D/AM.R0F05.00.SHZ.D.2025.001</cite></p>
<p>Directories and file names not fulfilling the <a class="reference internal" href="../base/glossary.html#term-miniSeed"><span class="xref std std-term">miniSEED</span></a> format
specification are not listed.</p>
</section>
<section id="data-file-conversion">
<span id="sec-capssds-impl-conv"></span><h3>Data file conversion<a class="headerlink" href="#data-file-conversion" title="Permalink to this heading"></a></h3>
<p>A <a class="reference internal" href="../base/archive.html#sec-caps-archive-file-format"><span class="std std-ref">CAPS data file</span></a> contains records of
certain types in the order of their arrival together with a record index for
record lookup and sorting. If a process reads data, only <a class="reference internal" href="../base/glossary.html#term-miniSeed"><span class="xref std std-term">miniSEED</span></a> records
contained in the CAPS data file are returned in order of the records start time
and not the order of arrival. Likewise only <a class="reference internal" href="../base/glossary.html#term-miniSeed"><span class="xref std std-term">miniSEED</span></a> records are counted
for the reported file size unless the <cite>-o sloppy-size</cite> option is specified.</p>
</section>
<section id="performance-optimization">
<span id="sec-capssds-impl-perf"></span><h3>Performance optimization<a class="headerlink" href="#performance-optimization" title="Permalink to this heading"></a></h3>
<p>When a file is opened all <a class="reference internal" href="../base/glossary.html#term-miniSeed"><span class="xref std std-term">miniSEED</span></a> records are copied to a memory
buffer. This allows fast index based data access at the cost of main memory
consumption. The number or simultaneously opened data files can be configured
through the <cite>-o cached_files</cite> option and must match the available memory size.
If an application tries to open more files than available, the action will fail.</p>
<p>To obtain the mapped SDS file size the CAPS data file must be scanned for
<cite>miniSEED</cite> records. Although only the header data is read this is still an
expensive operation for hundreds of files. A file size cache is used containing
up to <cite>-o cached_file_sizes</cite> entries each consuming 56 bytes of memory. File
sizes recently accessed are pushed to the front of the cache. A cache item is
invalidated if the modification time of the CAPS data file is more recent than
the entry creation time.</p>
<p>If your use case does not require the listing of the exact file size, you may
use the <cite>-o sloppy-size</cite> option which will stop generating the <a class="reference internal" href="../base/glossary.html#term-miniSeed"><span class="xref std std-term">miniSEED</span></a>
file size and will return the size of the CAPS file instead.</p>
</section>
</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">capstool [options] [capsdir] mountpoint</strong></p>
<section id="file-system-specific-options">
<span id="id4"></span><h3>File-system specific options<a class="headerlink" href="#file-system-specific-options" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-o">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">caps_dir=DIR</span></span><a class="headerlink" href="#cmdoption-o" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">Current</span> <span class="pre">working</span> <span class="pre">directory</span></code></p>
<p>Path to the CAPS archive directory.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-0">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">sloppy_size</span></span><a class="headerlink" href="#cmdoption-0" title="Permalink to this definition"></a></dt>
<dd><p>Return the size of the CAPS data file instead of summing
up the size of all MSEED records. Although there is a
cache for the MSEED file size calculating the real size is
an expensive operation. If your use case does not depend
on the exact size you may activate this flag for speedup.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-1">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">cached_file_sizes=int</span></span><a class="headerlink" href="#cmdoption-1" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">100000</span></code></p>
<p>Type: <em>int</em></p>
<p>Number of file sizes to cache. Used when sloppy_size is
off to avoid unnecessary recomputation of MSEED sizes. A
cache entry is valid as long as neither the mtime nor
size of the CAPS data file changed. Each entry consumes
56 bytes of memory.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-2">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">cached_files=int</span></span><a class="headerlink" href="#cmdoption-2" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">100</span></code></p>
<p>Type: <em>int</em></p>
<p>Number of CAPS data files to cache (100). The file
handle for each cached file will be kept open to speed
up data access.</p>
</dd></dl>
</section>
<section id="fuse-options">
<span id="id5"></span><h3>FUSE Options<a class="headerlink" href="#fuse-options" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-h">
<span id="cmdoption-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-h" title="Permalink to this definition"></a></dt>
<dd><p>Print this help text.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-V">
<span id="cmdoption-version"></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">--version</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-V" title="Permalink to this definition"></a></dt>
<dd><p>Print version.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-d">
<span class="sig-name descname"><span class="pre">-d</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-d" title="Permalink to this definition"></a></dt>
<dd><p>Enable debug output (implies -f).</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-3">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">debug</span></span><a class="headerlink" href="#cmdoption-3" title="Permalink to this definition"></a></dt>
<dd><p>Enable debug output (implies -f).</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-f">
<span class="sig-name descname"><span class="pre">-f</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-f" title="Permalink to this definition"></a></dt>
<dd><p>Enable foreground operation.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-s">
<span class="sig-name descname"><span class="pre">-s</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-s" title="Permalink to this definition"></a></dt>
<dd><p>Disable multi-threaded operation.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-4">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">clone_fd</span></span><a class="headerlink" href="#cmdoption-4" title="Permalink to this definition"></a></dt>
<dd><p>Use separate fuse device fd for each thread (may improve performance).</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-5">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">max_idle_threads=int</span></span><a class="headerlink" href="#cmdoption-5" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">-1</span></code></p>
<p>Type: <em>int</em></p>
<p>The maximum number of idle worker threads allowed.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-6">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">max_threads=int</span></span><a class="headerlink" href="#cmdoption-6" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">10</span></code></p>
<p>Type: <em>int</em></p>
<p>The maximum number of worker threads allowed.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-7">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">kernel_cache</span></span><a class="headerlink" href="#cmdoption-7" title="Permalink to this definition"></a></dt>
<dd><p>Cache files in kernel.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-8">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">[no]auto_cache</span></span><a class="headerlink" href="#cmdoption-8" title="Permalink to this definition"></a></dt>
<dd><p>Enable caching based on modification times.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-9">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">no_rofd_flush</span></span><a class="headerlink" href="#cmdoption-9" title="Permalink to this definition"></a></dt>
<dd><p>Disable flushing of read-only fd on close.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-10">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">umask=M</span></span><a class="headerlink" href="#cmdoption-10" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>octal</em></p>
<p>Set file permissions.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-11">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">uid=N</span></span><a class="headerlink" href="#cmdoption-11" title="Permalink to this definition"></a></dt>
<dd><p>Set file owner.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-12">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">gid=N</span></span><a class="headerlink" href="#cmdoption-12" title="Permalink to this definition"></a></dt>
<dd><p>Set file group.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-13">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">entry_timeout=T</span></span><a class="headerlink" href="#cmdoption-13" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">1</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>float</em></p>
<p>Cache timeout for names.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-14">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">negative_timeout=T</span></span><a class="headerlink" href="#cmdoption-14" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">0</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>float</em></p>
<p>Cache timeout for deleted names.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-15">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">attr_timeout=T</span></span><a class="headerlink" href="#cmdoption-15" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">1</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>float</em></p>
<p>Cache timeout for attributes.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-16">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">ac_attr_timeout=T</span></span><a class="headerlink" href="#cmdoption-16" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">attr_timeout</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>float</em></p>
<p>Auto cache timeout for attributes.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-17">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">noforget</span></span><a class="headerlink" href="#cmdoption-17" title="Permalink to this definition"></a></dt>
<dd><p>Never forget cached inodes.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-18">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">remember=T</span></span><a class="headerlink" href="#cmdoption-18" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">0</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>float</em></p>
<p>Remember cached inodes for T seconds.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-19">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">modules=M1[:M2...]</span></span><a class="headerlink" href="#cmdoption-19" title="Permalink to this definition"></a></dt>
<dd><p>Names of modules to push onto filesystem stack.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-20">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">allow_other</span></span><a class="headerlink" href="#cmdoption-20" title="Permalink to this definition"></a></dt>
<dd><p>Allow access by all users.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-21">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">allow_root</span></span><a class="headerlink" href="#cmdoption-21" title="Permalink to this definition"></a></dt>
<dd><p>Allow access by root.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-22">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">auto_unmount</span></span><a class="headerlink" href="#cmdoption-22" title="Permalink to this definition"></a></dt>
<dd><p>Auto unmount on process termination.</p>
</dd></dl>
</section>
<section id="options-for-subdir-module">
<span id="id6"></span><h3>Options for subdir module<a class="headerlink" href="#options-for-subdir-module" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-23">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">subdir=DIR</span></span><a class="headerlink" href="#cmdoption-23" title="Permalink to this definition"></a></dt>
<dd><p>Prepend this directory to all paths (mandatory).</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-24">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">[no]rellinks</span></span><a class="headerlink" href="#cmdoption-24" title="Permalink to this definition"></a></dt>
<dd><p>Transform absolute symlinks to relative.</p>
</dd></dl>
</section>
<section id="options-for-iconv-module">
<span id="id7"></span><h3>Options for iconv module<a class="headerlink" href="#options-for-iconv-module" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-25">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">from_code=CHARSET</span></span><a class="headerlink" href="#cmdoption-25" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">UTF-8</span></code></p>
<p>Original encoding of file names.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-26">
<span class="sig-name descname"><span class="pre">-o</span></span><span class="sig-prename descclassname"> <span class="pre">to_code=CHARSET</span></span><a class="headerlink" href="#cmdoption-26" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">UTF-8</span></code></p>
<p>New encoding of the file names.</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="#">capssds</a><ul>
<li><a class="reference internal" href="#description">Description</a></li>
<li><a class="reference internal" href="#usage">Usage</a><ul>
<li><a class="reference internal" href="#unpriviledged-user">Unpriviledged user</a></li>
<li><a class="reference internal" href="#system-administrator-etc-fstab">System administrator - /etc/fstab</a></li>
<li><a class="reference internal" href="#system-administrator-systemd">System administrator - systemd</a></li>
</ul>
</li>
<li><a class="reference internal" href="#implementation-details">Implementation Details</a><ul>
<li><a class="reference internal" href="#supported-operations">Supported operations</a></li>
<li><a class="reference internal" href="#path-mapping">Path mapping</a></li>
<li><a class="reference internal" href="#data-file-conversion">Data file conversion</a></li>
<li><a class="reference internal" href="#performance-optimization">Performance optimization</a></li>
</ul>
</li>
<li><a class="reference internal" href="#command-line-options">Command-Line Options</a><ul>
<li><a class="reference internal" href="#file-system-specific-options">File-system specific options</a></li>
<li><a class="reference internal" href="#fuse-options">FUSE Options</a></li>
<li><a class="reference internal" href="#options-for-subdir-module">Options for subdir module</a></li>
<li><a class="reference internal" href="#options-for-iconv-module">Options for iconv module</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/apps/capssds.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="content">
Release <b></b> version <b>2025.254#f0c77b29e</b>
<div class="copyright">
&copy; Copyright <a href="https://www.gempa.de">2013, gempa GmbH.</a>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,459 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>capstool &#8212; CAPS: Common Acquisition Protocol Server documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/gempa.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/gempa.css?v=c960eebf" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/gempa.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=b3ba4146"></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" />
</head>
<body>
<div class="header">
<div class="container">
<img class="background" src="../_static/icon.png"/>
<div class="content">
<span class="title">CAPS: Common Acquisition Protocol Server </span>
<span class="version">2025.254#f0c77b29e</span></h1>
</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="nav-item nav-item-0">
<a href="../index.html">Home</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="capstool">
<span id="id1"></span><h1>capstool<a class="headerlink" href="#capstool" title="Permalink to this heading"></a></h1>
<p><strong>CAPS command-line interface (CLI) client.</strong></p>
<section id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
<p>capstool is a CAPS client application for retrieving data and listing available
streams from an operational CAPS server.</p>
</section>
<section id="applications">
<h2>Applications<a class="headerlink" href="#applications" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>Connectivity test to a CAPS server (<a class="reference internal" href="caps.html#cmdoption-P"><code class="xref std std-option docutils literal notranslate"><span class="pre">-P</span></code></a>).</p></li>
<li><p>Request of available streams (<a class="reference internal" href="#cmdoption-Q"><code class="xref std std-option docutils literal notranslate"><span class="pre">-Q</span></code></a>, <a class="reference internal" href="caps2caps.html#cmdoption-I"><code class="xref std std-option docutils literal notranslate"><span class="pre">-I</span></code></a>). The result set may
vary depending on the clients IP address or the user name used for the
connection.</p></li>
<li><p>Data retrieval to stdout or individual files (<a class="reference internal" href="capssds.html#cmdoption-o"><code class="xref std std-option docutils literal notranslate"><span class="pre">-o</span></code></a>). Data may be
requested in order of sampling time or time of arrival (<a class="reference internal" href="#cmdoption-ooo"><code class="xref std std-option docutils literal notranslate"><span class="pre">--ooo</span></code></a>). It may
also be retrieved downsampled to 1Hz (<a class="reference internal" href="#cmdoption-D"><code class="xref std std-option docutils literal notranslate"><span class="pre">--heli</span></code></a>).</p></li>
<li><p>Data quality control by listing gaps (<a class="reference internal" href="#cmdoption-G"><code class="xref std std-option docutils literal notranslate"><span class="pre">-G</span></code></a>), continous data segments
(<a class="reference internal" href="#cmdoption-S"><code class="xref std std-option docutils literal notranslate"><span class="pre">-S</span></code></a>) or record arrival times (<a class="reference internal" href="#cmdoption-M"><code class="xref std std-option docutils literal notranslate"><span class="pre">-M</span></code></a>).</p></li>
<li><p>Data cleanup on the server side (<a class="reference internal" href="#cmdoption-purge"><code class="xref std std-option docutils literal notranslate"><span class="pre">--purge</span></code></a>).</p></li>
<li><p>Retrieval of server statistics (<a class="reference internal" href="#cmdoption-X"><code class="xref std std-option docutils literal notranslate"><span class="pre">-X</span></code></a>).</p></li>
</ul>
</section>
<section id="input">
<h2>Input<a class="headerlink" href="#input" title="Permalink to this heading"></a></h2>
<p>The program reads requests from file or from standard input if no file is specified.
The request format is defined as follows:</p>
<div class="highlight-params notranslate"><div class="highlight"><pre><span></span>YYYY,MM,DD,HH,MM,SS YYYY,MM,DD,HH,MM,SS Network Station [Location] Channel
</pre></div>
</div>
<p>Each request line contains a start and an end time followed by a stream id. The
fields Network, Station, Channel and Location support wild cards (*). The latter
one is optional. For matching all locations please use the * symbol, if empty
it assumes that only empty locations are being requested.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>The request lines can be generated for a particular event using
<span id="id2"><em>scevtstreams</em> [<a class="reference internal" href="../base/references.html#id256" title="scevtstreams. SeisComP module. URL: https://docs.gempa.de/seiscomp/current/apps/scevtstreams.html.">15</a>]</span> as of the SeisComP3 release Jakarta-2018.xxx.</p>
</div>
<p>Example:</p>
<div class="highlight-params notranslate"><div class="highlight"><pre><span></span>2010,02,18,12,00,00 2010,02,18,12,10,00 GE WLF BH*
2010,02,18,12,00,00 2010,02,18,12,10,00 GE VSU 00 BH*
</pre></div>
</div>
</section>
<section id="output">
<h2>Output<a class="headerlink" href="#output" title="Permalink to this heading"></a></h2>
<p>The output format differs by record type. Below is an overview of the available
formats.</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 50.0%" />
<col style="width: 50.0%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Record type</p></th>
<th class="head"><p>Output data format</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>RAW</p></td>
<td><p>ASCII SLIST</p></td>
</tr>
<tr class="row-odd"><td><p>MSEED</p></td>
<td><p>MSEED</p></td>
</tr>
<tr class="row-even"><td><p>ANY</p></td>
<td><p>Stored data format</p></td>
</tr>
</tbody>
</table>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>When retrieving miniSEED data the records are not necessarily sorted by time.
However, sorting by time is required, e.g., for processing in playbacks.
Use <span id="id3"><em>scmssort</em> [<a class="reference internal" href="../base/references.html#id266" title="scmssort. SeisComP module. URL: https://docs.gempa.de/seiscomp/current/apps/scmssort.html.">16</a>]</span> for sorting the records by time. Example:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>scmssort<span class="w"> </span>-E<span class="w"> </span>-u<span class="w"> </span>data.mseed<span class="w"> </span>&gt;<span class="w"> </span>data_sorted.mseed
</pre></div>
</div>
</div>
</section>
<section id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this heading"></a></h2>
<ul>
<li><p><strong>List available streams:</strong></p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>capstool<span class="w"> </span>-H<span class="w"> </span>localhost:18002<span class="w"> </span>-Q
</pre></div>
</div>
</li>
<li><p><strong>Secured connection:</strong></p>
<p>Connect via Secure Sockets Layer (SSL) and supply credentials for
authentication.</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>capstool<span class="w"> </span>-H<span class="w"> </span>localhost:18002<span class="w"> </span>-s<span class="w"> </span>-c<span class="w"> </span>user:password<span class="w"> </span>-Q
</pre></div>
</div>
</li>
<li><p><strong>Time-based request without request file:</strong></p>
<p>Request file to load miniSEED data for some GE stations:</p>
<div class="highlight-params notranslate"><div class="highlight"><pre><span></span>2010,02,18,12,00,00 2010,02,18,12,10,00 GE WLF BH*
2010,02,18,12,00,00 2010,02,18,12,10,00 GE VSU BH*
</pre></div>
</div>
<p>Submit the request in <code class="file docutils literal notranslate"><span class="pre">req.txt</span></code> to the CAPS server, and download miniSEED
data to the file <code class="file docutils literal notranslate"><span class="pre">data.mseed</span></code>.</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>capstool<span class="w"> </span>-H<span class="w"> </span>localhost:18002<span class="w"> </span>-o<span class="w"> </span>data.mseed<span class="w"> </span>req.txt
</pre></div>
</div>
</li>
<li><p><strong>Time-based request without request file:</strong></p>
<p>Request miniSEED data from a CAPS server. Provide request parameters from
standard input. Write the miniSEED data to standard output. Re-direct the
output and append it to a file, e.g., <code class="file docutils literal notranslate"><span class="pre">data.mseed</span></code>:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="nb">echo</span><span class="w"> </span><span class="s2">&quot;2015,11,08,10,47,00 2015,11,08,11,00,00 * * BH?&quot;</span><span class="w"> </span><span class="p">|</span><span class="se">\</span>
capstool<span class="w"> </span>-H<span class="w"> </span>localhost:18002<span class="w"> </span>&gt;&gt;<span class="w"> </span>data.mseed
</pre></div>
</div>
</li>
<li><p><strong>Event-based request:</strong></p>
<p>Request miniSEED data from a CAPS server for a particular event with ID &lt;eventID&gt;.
Provide the request file using <span id="id4"><em>scevtstreams</em> [<a class="reference internal" href="../base/references.html#id256" title="scevtstreams. SeisComP module. URL: https://docs.gempa.de/seiscomp/current/apps/scevtstreams.html.">15</a>]</span>. Write the miniSEED data
to standard output. Re-direct the output to a file, e.g., <code class="file docutils literal notranslate"><span class="pre">&lt;eventID&gt;.mseed</span></code>.</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>scevtstreams<span class="w"> </span>-d<span class="w"> </span>mysql://sysop:sysop@localhost/seiscomp<span class="w"> </span>-E<span class="w"> </span>&lt;eventID&gt;<span class="w"> </span>--caps<span class="w"> </span>&gt;<span class="w"> </span>req.txt
capstool<span class="w"> </span>-H<span class="w"> </span>localhost:18002<span class="w"> </span>req.txt<span class="w"> </span>&gt;<span class="w"> </span>&lt;eventID&gt;.mseed
</pre></div>
</div>
</li>
<li><p><strong>Video data:</strong></p>
<p>Request to load video data from Station HILO. Request file:</p>
<div class="highlight-params notranslate"><div class="highlight"><pre><span></span>2013,08,01,00,00,00 2013,08,01,00,30,00 VZ HILO WLS CAM
2013,08,01,00,00,00 2013,08,01,00,30,00 VZ HILO WLS CAM
</pre></div>
</div>
<p>Submit the request in <code class="file docutils literal notranslate"><span class="pre">req.txt</span></code> to the CAPS server, and download the video data
to files using the given pattern:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>capstool<span class="w"> </span>-H<span class="w"> </span>localhost:18002<span class="w"> </span>-o<span class="w"> </span><span class="s2">&quot;%H%M%S.%f&quot;</span><span class="w"> </span>req.txt
</pre></div>
</div>
</li>
</ul>
</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">capstool [options]</strong></p>
<section id="options">
<span id="id5"></span><h3>Options<a class="headerlink" href="#options" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-h">
<span id="cmdoption-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-h" title="Permalink to this definition"></a></dt>
<dd><p>Show a help message and exit.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-H">
<span id="cmdoption-host"></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">--host</span></span><span class="sig-prename descclassname"> <span class="pre">HOST[:PORT]</span></span><a class="headerlink" href="#cmdoption-H" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">localhost:18002</span></code></p>
<p>Host and optionally port of the CAPS server (default is localhost:18002).</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-s">
<span id="cmdoption-ssl"></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">--ssl</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-s" title="Permalink to this definition"></a></dt>
<dd><p>Use secure socket layer (SSL).</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-c">
<span id="cmdoption-credentials"></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">--credentials</span></span><span class="sig-prename descclassname"> <span class="pre">USER[:PASSWORD]</span></span><a class="headerlink" href="#cmdoption-c" title="Permalink to this definition"></a></dt>
<dd><p>Authentication credentials. If the password is omitted, it is asked for on command-line.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-P">
<span id="cmdoption-ping"></span><span class="sig-name descname"><span class="pre">-P</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">--ping</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-P" title="Permalink to this definition"></a></dt>
<dd><p>Retrieve server version information and exit.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-Q">
<span class="sig-name descname"><span class="pre">-Q</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-Q" title="Permalink to this definition"></a></dt>
<dd><p>Print availability extents of all data streams.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-I">
<span id="cmdoption-info-streams"></span><span class="sig-name descname"><span class="pre">-I</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">--info-streams</span></span><span class="sig-prename descclassname"> <span class="pre">FILTER</span></span><a class="headerlink" href="#cmdoption-I" title="Permalink to this definition"></a></dt>
<dd><p>Like -Q but with a use a regular filter expression for the requested streams, e.g., AM.*.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-filter-list">
<span class="sig-name descname"><span class="pre">--filter-list</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-filter-list" title="Permalink to this definition"></a></dt>
<dd><p>Identical to -I.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-mtime">
<span class="sig-name descname"><span class="pre">--mtime</span></span><span class="sig-prename descclassname"> <span class="pre">[start]:[end]</span></span><a class="headerlink" href="#cmdoption-mtime" title="Permalink to this definition"></a></dt>
<dd><p>Restrict request to record modification time window. Time format:
%Y,%m,%d[,%H[,%M[,%S[,%f]]]]</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-X">
<span id="cmdoption-info-server"></span><span class="sig-name descname"><span class="pre">-X</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">--info-server</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-X" title="Permalink to this definition"></a></dt>
<dd><p>Request server statistics in JSON format.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-modified-after">
<span class="sig-name descname"><span class="pre">--modified-after</span></span><span class="sig-prename descclassname"> <span class="pre">TIME</span></span><a class="headerlink" href="#cmdoption-modified-after" title="Permalink to this definition"></a></dt>
<dd><p>Limit server statistics request to data modified after specific time. Time format:
%Y,%m,%d[,%H[,%M[,%S[,%f]]]]</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-force">
<span class="sig-name descname"><span class="pre">--force</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-force" title="Permalink to this definition"></a></dt>
<dd><p>Disable any confirmation prompts.</p>
</dd></dl>
</section>
<section id="options-request-file-no-data-download">
<span id="id6"></span><h3>Options (request file, no data download)<a class="headerlink" href="#options-request-file-no-data-download" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-G">
<span id="cmdoption-print-gaps"></span><span class="sig-name descname"><span class="pre">-G</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">--print-gaps</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-G" title="Permalink to this definition"></a></dt>
<dd><p>Request list of data gaps.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-S">
<span id="cmdoption-print-segments"></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">--print-segments</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-S" title="Permalink to this definition"></a></dt>
<dd><p>Request list of continuous data segments.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-tolerance">
<span class="sig-name descname"><span class="pre">--tolerance</span></span><span class="sig-prename descclassname"> <span class="pre">SECONDS</span></span><a class="headerlink" href="#cmdoption-tolerance" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">0</span></code></p>
<p>Threshold in seconds defining a data gap (decimal point, microsecond precision).</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-R">
<span id="cmdoption-Resolution"></span><span class="sig-name descname"><span class="pre">-R</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">--Resolution</span></span><span class="sig-prename descclassname"> <span class="pre">DAYS</span></span><a class="headerlink" href="#cmdoption-R" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">0</span></code></p>
<p>The resolution in multiple of days of the returned data segments or gaps. A value of 0 returns
segments based on stored data records. A value larger than zero will return the minimum and
maximum data time of one, two or more days. Consecutive segments will be merged if end and start
time are within the tolerance.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-print-stat">
<span class="sig-name descname"><span class="pre">--print-stat</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-print-stat" title="Permalink to this definition"></a></dt>
<dd><p>Request storage information with a granularity of one day.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-purge">
<span class="sig-name descname"><span class="pre">--purge</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-purge" title="Permalink to this definition"></a></dt>
<dd><p>Deletes data from CAPS archive with a granularity of one
day. Any data file intersecting with the time window
will be purged. The user requires the purge permission.</p>
</dd></dl>
</section>
<section id="options-request-file-and-data-download">
<span id="id7"></span><h3>Options (request file and data download)<a class="headerlink" href="#options-request-file-and-data-download" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-o">
<span id="cmdoption-output-file"></span><span class="sig-name descname"><span class="pre">-o</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">--output-file</span></span><span class="sig-prename descclassname"> <span class="pre">FILE</span></span><a class="headerlink" href="#cmdoption-o" title="Permalink to this definition"></a></dt>
<dd><p>Output file for received data (default: -). The file name is used as a prefix with the
extension added based on the record type (MSEED, RAW, ANY, META, HELI). Multiple files are
created if mixed data types are received. For ANY records the file name may contain the
following format controls: %Y - year, %j - day of year, %H - hour, %M - minute, %S - second, %F
- format.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-any-date-format">
<span class="sig-name descname"><span class="pre">--any-date-format</span></span><span class="sig-prename descclassname"> <span class="pre">FORMAT</span></span><a class="headerlink" href="#cmdoption-any-date-format" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">%Y%m%d_%H%M%S</span></code></p>
<p>Date format to use for any files, see man strftime.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-t">
<span id="cmdoption-temp-file"></span><span class="sig-name descname"><span class="pre">-t</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">--temp-file</span></span><span class="sig-prename descclassname"> <span class="pre">FILE</span></span><a class="headerlink" href="#cmdoption-t" title="Permalink to this definition"></a></dt>
<dd><p>Use temporary file to store data. On success move to output-file.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-rt">
<span class="sig-name descname"><span class="pre">--rt</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-rt" title="Permalink to this definition"></a></dt>
<dd><p>Enable real time mode.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-ooo">
<span class="sig-name descname"><span class="pre">--ooo</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-ooo" title="Permalink to this definition"></a></dt>
<dd><p>Request data in order of transmission time instead of sampling time.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-out-of-order">
<span class="sig-name descname"><span class="pre">--out-of-order</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-out-of-order" title="Permalink to this definition"></a></dt>
<dd><p>Identical to --ooo.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-D">
<span id="cmdoption-heli"></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">--heli</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-D" title="Permalink to this definition"></a></dt>
<dd><p>Request down-sampled data (1Hz). The server will taper, bandpass filter and re-sample the data.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-itaper">
<span class="sig-name descname"><span class="pre">--itaper</span></span><span class="sig-prename descclassname"> <span class="pre">SECONDS</span></span><a class="headerlink" href="#cmdoption-itaper" title="Permalink to this definition"></a></dt>
<dd><p>Timespan in SECONDS for the one-sided cosine taper.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-bandpass">
<span class="sig-name descname"><span class="pre">--bandpass</span></span><span class="sig-prename descclassname"> <span class="pre">RANGE</span></span><a class="headerlink" href="#cmdoption-bandpass" title="Permalink to this definition"></a></dt>
<dd><p>Corner frequency RANGE of the bandpass filter, e.g., 1.0:4.0.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-M">
<span id="cmdoption-meta"></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">--meta</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-M" title="Permalink to this definition"></a></dt>
<dd><p>Request record meta data only.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-v">
<span id="cmdoption-version"></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">--version</span></span><span class="sig-prename descclassname"> <span class="pre">VERSION</span></span><a class="headerlink" href="#cmdoption-v" title="Permalink to this definition"></a></dt>
<dd><p>Request a specific format version. Currently only supported in meta requests.</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="#">capstool</a><ul>
<li><a class="reference internal" href="#description">Description</a></li>
<li><a class="reference internal" href="#applications">Applications</a></li>
<li><a class="reference internal" href="#input">Input</a></li>
<li><a class="reference internal" href="#output">Output</a></li>
<li><a class="reference internal" href="#examples">Examples</a></li>
<li><a class="reference internal" href="#command-line-options">Command-Line Options</a><ul>
<li><a class="reference internal" href="#options">Options</a></li>
<li><a class="reference internal" href="#options-request-file-no-data-download">Options (request file, no data download)</a></li>
<li><a class="reference internal" href="#options-request-file-and-data-download">Options (request file and data download)</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/apps/capstool.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="content">
Release <b></b> version <b>2025.254#f0c77b29e</b>
<div class="copyright">
&copy; Copyright <a href="https://www.gempa.de">2013, gempa GmbH.</a>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,390 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>crex2caps &#8212; CAPS: Common Acquisition Protocol Server documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/gempa.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/gempa.css?v=c960eebf" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/gempa.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=b3ba4146"></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="data2caps" href="data2caps.html" />
<link rel="prev" title="caps2caps" href="caps2caps.html" />
</head>
<body>
<div class="header">
<div class="container">
<img class="background" src="../_static/icon.png"/>
<div class="content">
<span class="title">CAPS: Common Acquisition Protocol Server </span>
<span class="version">2025.254#f0c77b29e</span></h1>
</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="data2caps.html" title="data2caps"
accesskey="N">
next
</a>
</li>
<li class="right">
<a href="caps2caps.html" title="caps2caps"
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="../base/plugins.html" accesskey="U">Data Acquisition and Manipulation by Plugins</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="crex2caps">
<span id="id1"></span><h1>crex2caps<a class="headerlink" href="#crex2caps" title="Permalink to this heading"></a></h1>
<p><strong>CREX CAPS plugin. Reads CREX data from file and pushes the data into the given CAPS server.</strong></p>
<section id="module-configuration">
<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/crex2caps.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/crex2caps.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/crex2caps.cfg</span></code></div>
</div>
<p>crex2caps inherits <a class="reference internal" href="global.html#global-configuration"><span class="std std-ref">global options</span></a>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Modules/plugins may require a license file. The default path to license
files is <code class="file docutils literal notranslate"><span class="pre">&#64;DATADIR&#64;/licenses/</span></code> which can be overridden by global
configuration of the parameter <code class="xref std std-confval docutils literal notranslate"><span class="pre">gempa.licensePath</span></code>. Example:</p>
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span>gempa.licensePath = @CONFIGDIR@/licenses
</pre></div>
</div>
</div>
<span class="target" id="input"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-input.readFrom">
<span class="sig-name descname"><span class="pre">input.readFrom</span></span><a class="headerlink" href="#confval-input.readFrom" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Read input files from this file</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-input.directory">
<span class="sig-name descname"><span class="pre">input.directory</span></span><a class="headerlink" href="#confval-input.directory" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Watch this directory for incoming input files</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-input.watchEvents">
<span class="sig-name descname"><span class="pre">input.watchEvents</span></span><a class="headerlink" href="#confval-input.watchEvents" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">close_write</span></code></p>
<p>Type: <em>string</em></p>
<p>Listen for specific inotify event(s). If ommitted, close_write events are listened for. Events:
access - file or directory contents were read,
modify - file or directory contents were written,
attrib - file or directory attributes changed,
close_write - file or directory closed, after being opened in writable mode,
close_nowrite - file or directory closed, after being opened in read-only mode
close - file or directory closed, regardless of read/write mode
open - file or directory opened
moved_to - file or directory moved to watched directory
moved_from - file or directory moved from watched directory
move - file or directory moved to or from watched directory
create - file or directory created within watched directory
delete - file or directory deleted within watched directory
delete_self - file or directory was deleted
unmount - file system containing file or directory unmounted</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-input.watchPattern">
<span class="sig-name descname"><span class="pre">input.watchPattern</span></span><a class="headerlink" href="#confval-input.watchPattern" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Process any events whose filename matches the specified regular expression</p>
</dd></dl>
<span class="target" id="output"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-output.host">
<span class="sig-name descname"><span class="pre">output.host</span></span><a class="headerlink" href="#confval-output.host" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">localhost</span></code></p>
<p>Type: <em>string</em></p>
<p>Data output host</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.port">
<span class="sig-name descname"><span class="pre">output.port</span></span><a class="headerlink" href="#confval-output.port" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">18003</span></code></p>
<p>Type: <em>int</em></p>
<p>Data output port</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.bufferSize">
<span class="sig-name descname"><span class="pre">output.bufferSize</span></span><a class="headerlink" href="#confval-output.bufferSize" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">1048576</span></code></p>
<p>Type: <em>uint</em></p>
<p>Size (bytes) of the packet buffer</p>
</dd></dl>
<span class="target" id="streams"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-streams.file">
<span class="sig-name descname"><span class="pre">streams.file</span></span><a class="headerlink" href="#confval-streams.file" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>File to read streams from. Each line defines a mapping between a station and stream id. Line format is [ID NET.STA].</p>
</dd></dl>
</section>
<section id="command-line-options">
<h2>Command-Line Options<a class="headerlink" href="#command-line-options" title="Permalink to this heading"></a></h2>
<section id="generic">
<span id="id2"></span><h3>Generic<a class="headerlink" href="#generic" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-h">
<span id="cmdoption-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-h" title="Permalink to this definition"></a></dt>
<dd><p>Show help message.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-V">
<span id="cmdoption-version"></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">--version</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-V" title="Permalink to this definition"></a></dt>
<dd><p>Show version information.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-config-file">
<span class="sig-name descname"><span class="pre">--config-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-config-file" title="Permalink to this definition"></a></dt>
<dd><p>Use alternative configuration file. When this option is
used the loading of all stages is disabled. Only the
given configuration file is parsed and used. To use
another name for the configuration create a symbolic
link of the application or copy it. Example:
scautopick -&gt; scautopick2.</p>
</dd></dl>
</section>
<section id="verbosity">
<span id="id3"></span><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-verbosity">
<span class="sig-name descname"><span class="pre">--verbosity</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-verbosity" title="Permalink to this definition"></a></dt>
<dd><p>Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info,
4:debug.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-v">
<span id="cmdoption-v"></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">--v</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-v" title="Permalink to this definition"></a></dt>
<dd><p>Increase verbosity level (may be repeated, eg. -vv).</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-q">
<span id="cmdoption-quiet"></span><span class="sig-name descname"><span class="pre">-q</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">--quiet</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-q" title="Permalink to this definition"></a></dt>
<dd><p>Quiet mode: no logging output.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-print-component">
<span class="sig-name descname"><span class="pre">--print-component</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-print-component" title="Permalink to this definition"></a></dt>
<dd><p>For each log entry print the component right after the
log level. By default the component output is enabled
for file output but disabled for console output.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-component">
<span class="sig-name descname"><span class="pre">--component</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-component" title="Permalink to this definition"></a></dt>
<dd><p>Limit the logging to a certain component. This option can
be given more than once.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-s">
<span id="cmdoption-syslog"></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">--syslog</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-s" title="Permalink to this definition"></a></dt>
<dd><p>Use syslog logging backend. The output usually goes to
/var/lib/messages.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-l">
<span id="cmdoption-lockfile"></span><span class="sig-name descname"><span class="pre">-l</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">--lockfile</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-l" title="Permalink to this definition"></a></dt>
<dd><p>Path to lock file.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-console">
<span class="sig-name descname"><span class="pre">--console</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-console" title="Permalink to this definition"></a></dt>
<dd><p>Send log output to stdout.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-debug">
<span class="sig-name descname"><span class="pre">--debug</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-debug" title="Permalink to this definition"></a></dt>
<dd><p>Execute in debug mode.
Equivalent to --verbosity=4 --console=1 .</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-trace">
<span class="sig-name descname"><span class="pre">--trace</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-trace" title="Permalink to this definition"></a></dt>
<dd><p>Execute in trace mode.
Equivalent to --verbosity=4 --console=1 --print-component=1
--print-context=1 .</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-log-file">
<span class="sig-name descname"><span class="pre">--log-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-log-file" title="Permalink to this definition"></a></dt>
<dd><p>Use alternative log file.</p>
</dd></dl>
</section>
<section id="id4">
<span id="id5"></span><h3>Input<a class="headerlink" href="#id4" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-station">
<span class="sig-name descname"><span class="pre">--station</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-station" title="Permalink to this definition"></a></dt>
<dd><p>Sets the station and sampling interval to use. Format is [net.sta&#64;?]</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-f">
<span id="cmdoption-file"></span><span class="sig-name descname"><span class="pre">-f</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">--file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-f" title="Permalink to this definition"></a></dt>
<dd><p>Load CREX data directly from file</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-read-from">
<span class="sig-name descname"><span class="pre">--read-from</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-read-from" title="Permalink to this definition"></a></dt>
<dd><p>Read input files from this file</p>
</dd></dl>
</section>
<section id="id6">
<span id="id7"></span><h3>Output<a class="headerlink" href="#id6" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-H">
<span id="cmdoption-host"></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">--host</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-H" title="Permalink to this definition"></a></dt>
<dd><p>Data output host</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-p">
<span id="cmdoption-port"></span><span class="sig-name descname"><span class="pre">-p</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">--port</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-p" title="Permalink to this definition"></a></dt>
<dd><p>Data output port</p>
</dd></dl>
</section>
<section id="id8">
<span id="id9"></span><h3>Streams<a class="headerlink" href="#id8" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-streams-file">
<span class="sig-name descname"><span class="pre">--streams-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-streams-file" title="Permalink to this definition"></a></dt>
<dd><p>File to read streams from. Each line defines a mapping between a station and stream id. Line format is [ID NET.STA].</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="#">crex2caps</a><ul>
<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="#generic">Generic</a></li>
<li><a class="reference internal" href="#verbosity">Verbosity</a></li>
<li><a class="reference internal" href="#id4">Input</a></li>
<li><a class="reference internal" href="#id6">Output</a></li>
<li><a class="reference internal" href="#id8">Streams</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="caps2caps.html"
title="previous chapter">caps2caps</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="data2caps.html"
title="next chapter">data2caps</a></p>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/apps/crex2caps.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="content">
Release <b></b> version <b>2025.254#f0c77b29e</b>
<div class="copyright">
&copy; Copyright <a href="https://www.gempa.de">2013, gempa GmbH.</a>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,263 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>data2caps &#8212; CAPS: Common Acquisition Protocol Server documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/gempa.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/gempa.css?v=c960eebf" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/gempa.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=b3ba4146"></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="gdi2caps" href="gdi2caps.html" />
<link rel="prev" title="crex2caps" href="crex2caps.html" />
</head>
<body>
<div class="header">
<div class="container">
<img class="background" src="../_static/icon.png"/>
<div class="content">
<span class="title">CAPS: Common Acquisition Protocol Server </span>
<span class="version">2025.254#f0c77b29e</span></h1>
</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="gdi2caps.html" title="gdi2caps"
accesskey="N">
next
</a>
</li>
<li class="right">
<a href="crex2caps.html" title="crex2caps"
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="../base/plugins.html" accesskey="U">Data Acquisition and Manipulation by Plugins</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="data2caps">
<span id="id1"></span><h1>data2caps<a class="headerlink" href="#data2caps" title="Permalink to this heading"></a></h1>
<p><strong>Send data in easy-to-change formats to CAPS.</strong></p>
<section id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
<p><em>data2caps</em> reads data from file and send them in <a class="reference internal" href="../base/archive.html#sec-pt-raw"><span class="std std-ref">RAW format</span></a>
to a CAPS server. The list of supported file formats can be easily extended
allowing to import almost any custom data file containing time series. The data
samples are converted to integer values. A multiplier can be applied to reach
the desired precision. The multiplier can be passed by the command-line option
<a class="reference internal" href="#cmdoption-m"><code class="xref std std-option docutils literal notranslate"><span class="pre">--multiplier</span></code></a>. During data processing the multiplier must be considered.
The best way to do so is to correct the gain in the <a class="reference internal" href="../base/glossary.html#term-inventory"><span class="xref std std-term">inventory</span></a> by the
multiplier.</p>
<p>Supported file formats which can be given along with <a class="reference internal" href="#cmdoption-f"><code class="xref std std-option docutils literal notranslate"><span class="pre">--format</span></code></a>:</p>
<ul>
<li><p>slist</p>
<div class="highlight-properties notranslate"><div class="highlight"><pre><span></span><span class="na">TIMESERIES</span><span class="w"> </span><span class="s">AM_ABCDE_00_SHZ_R, 8226 samples, 50 sps, 2020-01-01T10:20:03.862000, SLIST, FLOAT, M/S</span>
<span class="na">0.000134157</span>
<span class="na">0.000286938</span>
<span class="na">...</span>
</pre></div>
</div>
<p>data2caps assumes files with exactly one block of data starting, e.g., with
<em>TIMESERIES</em>. Files containing multiple blocks must be split into multiple
one-block files before processing these files individually with data2caps. For
splitting you may use external programs, e.g., csplit.</p>
<p>Example for processing one file, <em>vz.data.raw</em>, containing multiple blocks:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>csplit<span class="w"> </span>-z<span class="w"> </span>vz.data.raw<span class="w"> </span>/TIMESERIES/<span class="w"> </span><span class="s1">&#39;{*}&#39;</span>
<span class="k">for</span><span class="w"> </span>i<span class="w"> </span><span class="k">in</span><span class="w"> </span>xx*<span class="p">;</span><span class="w"> </span><span class="k">do</span><span class="w"> </span>data2caps<span class="w"> </span>-i<span class="w"> </span><span class="nv">$i</span><span class="w"> </span>-f<span class="w"> </span>flist<span class="p">;</span><span class="w"> </span><span class="k">done</span>
</pre></div>
</div>
</li>
<li><p>unavco</p>
<p>The format supports tilt and pressure data on the data website of <span id="id2"><em>Unavco - Strain &amp; Seismic</em> [<a class="reference internal" href="../base/references.html#id318" title="Unavco - Strain &amp; Seismic. EarthScope Consortium. URL: https://www.unavco.org/data/strain-seismic/strain-seismic.html.">8</a>]</span>
in the versions</p>
<ul class="simple">
<li><p>version 1.0: Requires to set the network code using <a class="reference internal" href="#cmdoption-n"><code class="xref std std-option docutils literal notranslate"><span class="pre">--network</span></code></a> since the
it is not provided within the data files.</p></li>
<li><p>version 1.1</p></li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<ul class="simple">
<li><p>The versions 1.0 and 1.1 are automatically recognized.</p></li>
<li><p>If no multiplier is speficied by <a class="reference internal" href="#cmdoption-m"><code class="xref std std-option docutils literal notranslate"><span class="pre">--multiplier</span></code></a>, unit conversion is
applied to the data for maintaining high resolution in <a class="reference internal" href="../base/glossary.html#term-miniSeed"><span class="xref std std-term">miniSEED</span></a> format:</p>
<ul>
<li><p>hPa : Pa</p></li>
<li><p>microradians : nRad</p></li>
</ul>
</li>
</ul>
</div>
</li>
</ul>
<p>If no input file is given, <strong class="program">data2caps</strong> creates a generic data series and sends
it to the CAPS server.</p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>The CAPS server to which data2caps should send data to must be up and running.</p>
</div>
</section>
<section id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this heading"></a></h2>
<ul>
<li><p>Send data from a file in slist format to a CAPS server on <em>localhost:18003</em>:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>data2caps<span class="w"> </span>-H<span class="w"> </span>localhost:18003<span class="w"> </span>-i<span class="w"> </span>AM.ABCDE.00.SHZ-acc.slist<span class="w"> </span>-f<span class="w"> </span>slist
</pre></div>
</div>
</li>
<li><p>Send tilt data from a file in unavco 1.1 format to a CAPS server on <em>localhost:18003</em>.
The data is automatically converted from myRad (microradiant) to nRad (nanoradiant):</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>data2caps<span class="w"> </span>-H<span class="w"> </span>localhost:18003<span class="w"> </span>-i<span class="w"> </span>B2012327816TiltYuRad.txt<span class="w"> </span>-f<span class="w"> </span>unavco
</pre></div>
</div>
</li>
</ul>
</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">data2caps [options]</strong></p>
<section id="options">
<span id="id3"></span><h3>Options<a class="headerlink" href="#options" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-H">
<span id="cmdoption-host"></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">--host</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-H" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">localhost</span></code></p>
<p>Data output host. Format: host:port. Port 18003 is assumed
if not given explicitly. Default: localhost:18003.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-h">
<span id="cmdoption-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-h" title="Permalink to this definition"></a></dt>
<dd><p>Print help.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-i">
<span id="cmdoption-input"></span><span class="sig-name descname"><span class="pre">-i</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">--input</span></span><span class="sig-prename descclassname"> <span class="pre">file</span></span><a class="headerlink" href="#cmdoption-i" title="Permalink to this definition"></a></dt>
<dd><p>Name of input data file.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-f">
<span id="cmdoption-format"></span><span class="sig-name descname"><span class="pre">-f</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">--format</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-f" title="Permalink to this definition"></a></dt>
<dd><p>Values: <code class="docutils literal notranslate"><span class="pre">slist,unavco</span></code></p>
<p>Format of input data file. Supported: slist, unavco.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-m">
<span id="cmdoption-multiplier"></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">--multiplier</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-m" title="Permalink to this definition"></a></dt>
<dd><p>Multiplier applied to data samples for generating integers.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-n">
<span id="cmdoption-network"></span><span class="sig-name descname"><span class="pre">-n</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">--network</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-n" title="Permalink to this definition"></a></dt>
<dd><p>Network code to be used for the data. Required for format unavco in
version 1.0 since this format does not provide a network code.</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="#">data2caps</a><ul>
<li><a class="reference internal" href="#description">Description</a></li>
<li><a class="reference internal" href="#examples">Examples</a></li>
<li><a class="reference internal" href="#command-line-options">Command-Line Options</a><ul>
<li><a class="reference internal" href="#options">Options</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="crex2caps.html"
title="previous chapter">crex2caps</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="gdi2caps.html"
title="next chapter">gdi2caps</a></p>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/apps/data2caps.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="content">
Release <b></b> version <b>2025.254#f0c77b29e</b>
<div class="copyright">
&copy; Copyright <a href="https://www.gempa.de">2013, gempa GmbH.</a>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,325 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>gdi2caps &#8212; CAPS: Common Acquisition Protocol Server documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/gempa.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/gempa.css?v=c960eebf" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/gempa.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=b3ba4146"></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="ngl2caps" href="ngl2caps.html" />
<link rel="prev" title="data2caps" href="data2caps.html" />
</head>
<body>
<div class="header">
<div class="container">
<img class="background" src="../_static/icon.png"/>
<div class="content">
<span class="title">CAPS: Common Acquisition Protocol Server </span>
<span class="version">2025.254#f0c77b29e</span></h1>
</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="ngl2caps.html" title="ngl2caps"
accesskey="N">
next
</a>
</li>
<li class="right">
<a href="data2caps.html" title="data2caps"
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="../base/plugins.html" accesskey="U">Data Acquisition and Manipulation by Plugins</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="gdi2caps">
<span id="id1"></span><h1>gdi2caps<a class="headerlink" href="#gdi2caps" title="Permalink to this heading"></a></h1>
<p><strong>CAPS import module for Guralp GDI server.</strong></p>
<section id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
<p>The Güralp Data Interconnect plugin(GDI) requests data from one or multiple GDI
servers and sends it to a CAPS server. The communication between a GDI server
and the plugin itself is based on the GDI client library whereas outgoing
packets are send through the CAPS client library. Depending on the configuration
outgoing packets are converted on-the-fly into MSEED by the CAPS client library.
The plugin supports the following GDI sample formats:</p>
<ul class="simple">
<li><p>INT32</p></li>
<li><p>INT16</p></li>
<li><p>IEEE32FLOAT</p></li>
<li><p>TEXT</p></li>
</ul>
</section>
<section id="backfilling">
<h2>Backfilling<a class="headerlink" href="#backfilling" title="Permalink to this heading"></a></h2>
<p>By default backfilling of unordered packets is enabled and the buffer size is
set to 180 seconds. With backfilling enabled The CAPS client library ensures
that all packets within this time window are send in order to the remote CAPS
server. The buffer size can be changed in the plugin configuration. A value of
zero disables the backfilling.</p>
</section>
<section id="connection-handling">
<h2>Connection handling<a class="headerlink" href="#connection-handling" title="Permalink to this heading"></a></h2>
<section id="caps-connection">
<h3>CAPS Connection<a class="headerlink" href="#caps-connection" title="Permalink to this heading"></a></h3>
<p>All packets forwarded to the CAPS client library are stored in a local packet
buffer and are removed when they have been acknowledged by the remote CAPS
server. If a packet could not be send the plugin closes the connection and
tries to reconnect in a certain interval. If the packet buffer is exceeded the
packet is droped and the client library returns with an error.</p>
</section>
<section id="gdi-connection">
<h3>GDI Connection<a class="headerlink" href="#gdi-connection" title="Permalink to this heading"></a></h3>
<p>For each configured GDI connection the plugin opens a connection to the remote
GDI server. The plugin requests real time data only, the retrievel of “historic”
data is not supported yet. Every second the plugin checks the connection state.
If the state is GDI_State_Out_Of_Sync it closes the connection and tries to
reconnect in a certain interval.</p>
</section>
</section>
<section id="module-configuration">
<h2>Module Configuration<a class="headerlink" href="#module-configuration" title="Permalink to this heading"></a></h2>
<div class="admonition note">
<p class="admonition-title">Note</p>
<ul>
<li><p>gdi2caps is a standalone module and does not inherit
<a class="reference internal" href="global.html#global-configuration"><span class="std std-ref">global options</span></a>.</p></li>
<li><p>Modules/plugins may require a license file. The default path to license
files is <code class="file docutils literal notranslate"><span class="pre">&#64;DATADIR&#64;/licenses/</span></code> which can be overridden by module
configuration of the parameter <code class="xref std std-confval docutils literal notranslate"><span class="pre">gempa.licensePath</span></code>. Example:</p>
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span>gempa.licensePath = @CONFIGDIR@/licenses
</pre></div>
</div>
</li>
</ul>
</div>
<div class="line-block">
<div class="line"><code class="file docutils literal notranslate"><span class="pre">etc/defaults/gdi2caps.cfg</span></code></div>
<div class="line"><code class="file docutils literal notranslate"><span class="pre">etc/gdi2caps.cfg</span></code></div>
<div class="line"><code class="file docutils literal notranslate"><span class="pre">~/.seiscomp/gdi2caps.cfg</span></code></div>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-mapping">
<span class="sig-name descname"><span class="pre">mapping</span></span><a class="headerlink" href="#confval-mapping" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>strings</em></p>
<p>List of station name mappings separated by comma. Each list
entry has the format [name]:[alias]</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-mseed">
<span class="sig-name descname"><span class="pre">mseed</span></span><a class="headerlink" href="#confval-mseed" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">false</span></code></p>
<p>Type: <em>boolean</em></p>
<p>Enable MSEED encoding.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-selectors">
<span class="sig-name descname"><span class="pre">selectors</span></span><a class="headerlink" href="#confval-selectors" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>list:string</em></p>
<p>Format: [loc.cha, …]. Wildcards are supported.</p>
</dd></dl>
<span class="target" id="caps"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-caps.address">
<span class="sig-name descname"><span class="pre">caps.address</span></span><a class="headerlink" href="#confval-caps.address" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>CAPS server address. Format is [address[:port]].</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-caps.backFillingBufferSize">
<span class="sig-name descname"><span class="pre">caps.backFillingBufferSize</span></span><a class="headerlink" href="#confval-caps.backFillingBufferSize" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">180</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>int</em></p>
<p>Length of backfilling buffer. Whenever a hole is detected, records
will be held in a buffer and not sent out. Records are flushed from
front to back if the buffer size is exceeded.</p>
</dd></dl>
<div class="admonition note" id="profiles-name">
<span id="profiles"></span><p class="admonition-title">Note</p>
<p><strong>profiles.$name.*</strong>
$name is a placeholder for the name to be used.</p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-profiles.-name.source">
<span class="sig-name descname"><span class="pre">profiles.$name.source</span></span><a class="headerlink" href="#confval-profiles.-name.source" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>GDI server address in format [host]:[port]. If port
is omitted, 1565 is assumed.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-profiles.-name.identifier">
<span class="sig-name descname"><span class="pre">profiles.$name.identifier</span></span><a class="headerlink" href="#confval-profiles.-name.identifier" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>GDI connection identifying name. If two connections
using the same name the first connection will be
closed from the server.
If omitted, the hostname is used.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-profiles.-name.mapping">
<span class="sig-name descname"><span class="pre">profiles.$name.mapping</span></span><a class="headerlink" href="#confval-profiles.-name.mapping" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>strings</em></p>
<p>List of station name mappings separated by comma. Each
entry has the format [name]:[alias]</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-profiles.-name.selectors">
<span class="sig-name descname"><span class="pre">profiles.$name.selectors</span></span><a class="headerlink" href="#confval-profiles.-name.selectors" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>list:string</em></p>
<p>List of selectors separated by comma. Each entry
has the format [loc.cha]. Wildcards are supported.</p>
</dd></dl>
</section>
<section id="bindings-parameters">
<h2>Bindings Parameters<a class="headerlink" href="#bindings-parameters" title="Permalink to this heading"></a></h2>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-address">
<span class="sig-name descname"><span class="pre">address</span></span><a class="headerlink" href="#confval-address" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>GDI server address in format [host]:[port]. If port
is omitted, 1565 is assumed.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-identifier">
<span class="sig-name descname"><span class="pre">identifier</span></span><a class="headerlink" href="#confval-identifier" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>GDI connection identifying name. If two connections
using the same name the first connection will be
closed from the server.
If omitted, the hostname is used.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-0">
<span class="sig-name descname"><span class="pre">mapping</span></span><a class="headerlink" href="#confval-0" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>strings</em></p>
<p>List of station name mappings separated by comma. Each list
entry has the format [name]:[alias]</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-1">
<span class="sig-name descname"><span class="pre">selectors</span></span><a class="headerlink" href="#confval-1" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>list:string</em></p>
<p>List of selectors separated by comma. Each entry
has the format [loc.cha]. Wildcards are supported.</p>
</dd></dl>
</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="#">gdi2caps</a><ul>
<li><a class="reference internal" href="#description">Description</a></li>
<li><a class="reference internal" href="#backfilling">Backfilling</a></li>
<li><a class="reference internal" href="#connection-handling">Connection handling</a><ul>
<li><a class="reference internal" href="#caps-connection">CAPS Connection</a></li>
<li><a class="reference internal" href="#gdi-connection">GDI Connection</a></li>
</ul>
</li>
<li><a class="reference internal" href="#module-configuration">Module Configuration</a></li>
<li><a class="reference internal" href="#bindings-parameters">Bindings Parameters</a></li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="data2caps.html"
title="previous chapter">data2caps</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="ngl2caps.html"
title="next chapter">ngl2caps</a></p>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/apps/gdi2caps.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="content">
Release <b></b> version <b>2025.254#f0c77b29e</b>
<div class="copyright">
&copy; Copyright <a href="https://www.gempa.de">2013, gempa GmbH.</a>
</div>
</div>
</div>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,730 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>ngl2caps &#8212; CAPS: Common Acquisition Protocol Server documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/gempa.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/gempa.css?v=c960eebf" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/gempa.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=b3ba4146"></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="orb2caps" href="orb2caps.html" />
<link rel="prev" title="gdi2caps" href="gdi2caps.html" />
</head>
<body>
<div class="header">
<div class="container">
<img class="background" src="../_static/icon.png"/>
<div class="content">
<span class="title">CAPS: Common Acquisition Protocol Server </span>
<span class="version">2025.254#f0c77b29e</span></h1>
</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="orb2caps.html" title="orb2caps"
accesskey="N">
next
</a>
</li>
<li class="right">
<a href="gdi2caps.html" title="gdi2caps"
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="../base/plugins.html" accesskey="U">Data Acquisition and Manipulation by Plugins</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="ngl2caps">
<span id="id1"></span><h1>ngl2caps<a class="headerlink" href="#ngl2caps" title="Permalink to this heading"></a></h1>
<p><strong>NGL CAPS plugin. Reads GNSS data in kenv format and sends it to CAPS.</strong></p>
<section id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
<p>Read GNSS data in kenv format, convert to RAW and send to a CAPS server.</p>
</section>
<section id="waveform-data">
<h2>Waveform Data<a class="headerlink" href="#waveform-data" title="Permalink to this heading"></a></h2>
<section id="format-describtions">
<h3>Format describtions<a class="headerlink" href="#format-describtions" title="Permalink to this heading"></a></h3>
<ul>
<li><p><strong>kenv Format</strong>:
Final 5 min rapid solutions from stations [stat]:
<a class="reference external" href="http://geodesy.unr.edu/gps_timeseries/rapids_5min/kenv/[stat]/">http://geodesy.unr.edu/gps_timeseries/rapids_5min/kenv/[stat]/</a></p>
<ul>
<li><p>Sample rate: 1/300 sps</p></li>
<li><p>Example: <a class="reference external" href="http://geodesy.unr.edu/gps_timeseries/rapids_5min/kenv/0ALM/">http://geodesy.unr.edu/gps_timeseries/rapids_5min/kenv/0ALM/</a></p></li>
<li><p>Format (<a class="reference external" href="http://geodesy.unr.edu/gps_timeseries/README_kenv.txt">http://geodesy.unr.edu/gps_timeseries/README_kenv.txt</a>):</p>
<div class="highlight-properties notranslate"><div class="highlight"><pre><span></span><span class="na">----------------------------------------</span>
<span class="na">.kenv</span><span class="w"> </span><span class="s">format (east,north,up time series)</span>
<span class="na">----------------------------------------</span>
<span class="na">Note</span><span class="o">:</span><span class="w"> </span><span class="s">first line of .kenv contains header fields to help human interpretation.</span>
<span class="na">Column</span><span class="w"> </span><span class="s">Header Example Description</span>
<span class="na">------</span><span class="w"> </span><span class="s">----------- --------- ------------------------------------</span>
<span class="w"> </span><span class="na">1</span><span class="w"> </span><span class="s">site JPLM 4-character station ID</span>
<span class="w"> </span><span class="na">2</span><span class="w"> </span><span class="s">sec-J2000 3705278100 GPS seconds since 2000-01-01 12:00:00</span>
<span class="w"> </span><span class="na">3</span><span class="w"> </span><span class="s">__MJD 55833 Modified Julian Day for GPS day</span>
<span class="w"> </span><span class="na">4</span><span class="w"> </span><span class="s">year 2011 Year</span>
<span class="w"> </span><span class="na">5</span><span class="w"> </span><span class="s">mm 9 Month</span>
<span class="w"> </span><span class="na">6</span><span class="w"> </span><span class="s">dd 29 Day of month</span>
<span class="w"> </span><span class="na">7</span><span class="w"> </span><span class="s">doy 272 Day of year</span>
<span class="w"> </span><span class="na">8</span><span class="w"> </span><span class="s">s-day 10800 Seconds of the GPS day</span>
<span class="w"> </span><span class="na">9</span><span class="w"> </span><span class="s">___e-ref(m) -0.202261 East from reference longitude in llh</span>
<span class="na">10</span><span class="w"> </span><span class="s">___n-ref(m) 0.079096 North from reference latitude in llh</span>
<span class="na">11</span><span class="w"> </span><span class="s">___v-ref(m) -0.025883 Up from reference height in llh</span>
<span class="na">12</span><span class="w"> </span><span class="s">_e-mean(m) -0.015904 East from daily mean position</span>
<span class="na">13</span><span class="w"> </span><span class="s">_n-mean(m) -0.000944 North from daily mean position</span>
<span class="na">14</span><span class="w"> </span><span class="s">_v-mean(m) 0.000232 Up from daily mean position</span>
<span class="na">15</span><span class="w"> </span><span class="s">sig_e(m) 0.005700 Sigma east</span>
<span class="na">16</span><span class="w"> </span><span class="s">sig_n(m) 0.006875 Sigma north</span>
<span class="na">17</span><span class="w"> </span><span class="s">sig_v(m) 0.021739 Sigma up</span>
</pre></div>
</div>
</li>
</ul>
</li>
<li><p>RINEX data web server: <a class="reference external" href="http://geodesy.unr.edu/magnet/rinex/">http://geodesy.unr.edu/magnet/rinex/</a></p></li>
</ul>
</section>
<section id="data-sources">
<h3>Data sources<a class="headerlink" href="#data-sources" title="Permalink to this heading"></a></h3>
<p>kenv data are provided by Nevada Geodetic Laboratory, NGL
(<a class="reference external" href="http://geodesy.unr.edu/">http://geodesy.unr.edu/</a>):</p>
<ul>
<li><p><strong>Preferred:</strong> Rapid data, 24 hours latency, 5 minutes sps, 1 ZIP file per year:
<a class="reference external" href="http://geodesy.unr.edu/NGLStationPages/RapidStationList">http://geodesy.unr.edu/NGLStationPages/RapidStationList</a></p>
<p>Archives:
<a class="reference external" href="http://geodesy.unr.edu/gps_timeseries/kenv/">http://geodesy.unr.edu/gps_timeseries/kenv/</a></p>
<p>Example for one station, 1 year:
<a class="reference external" href="http://geodesy.unr.edu/gps_timeseries/kenv/0ABI/0ABI.2022.kenv.zip">http://geodesy.unr.edu/gps_timeseries/kenv/0ABI/0ABI.2022.kenv.zip</a></p>
</li>
<li><p>Ultra-rapid data, 1 hour latency, 5 minutes sps (may have many gaps and outages):
<a class="reference external" href="http://geodesy.unr.edu/NGLStationPages/UltraStationList">http://geodesy.unr.edu/NGLStationPages/UltraStationList</a></p>
<p>Hourly upload:
<a class="reference external" href="http://geodesy.unr.edu/gps_timeseries/ultracombo/kenv/2022/141/">http://geodesy.unr.edu/gps_timeseries/ultracombo/kenv/2022/141/</a></p>
<p>Archives:
<a class="reference external" href="http://geodesy.unr.edu/gps_timeseries/kenv/">http://geodesy.unr.edu/gps_timeseries/kenv/</a></p>
</li>
<li><p>Final 24 h solutions from stations [stat]:
<a class="reference external" href="http://geodesy.unr.edu/gps_timeseries/txyz/IGS14/[stat].txyz2">http://geodesy.unr.edu/gps_timeseries/txyz/IGS14/[stat].txyz2</a></p>
<p>Example: <a class="reference external" href="http://geodesy.unr.edu/gps_timeseries/txyz/IGS14/ARIS.txyz2">http://geodesy.unr.edu/gps_timeseries/txyz/IGS14/ARIS.txyz2</a></p>
</li>
</ul>
</section>
<section id="fetch-data">
<h3>Fetch data<a class="headerlink" href="#fetch-data" title="Permalink to this heading"></a></h3>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Data on the NGL server are zipped files, one file per year.
Geoffrey Blewitt why this is:</p>
<p>“We zip into yearly files which are updated every week. The actual day it is
updated varies depending on when other necessary inputs are ready, such as
JPL orbit files, and weather model files from TU Vienna, and ocean loading
files from Chalmers, Sweden. So, you would not want to check every day, but
I would say every Wednesday would typically work.
Its also important to note that while we process Final data every week,
often we include newly discovered or late data that can go as far back as
1994. So, we are not just incrementing with a new week of files.</p>
<p>On the technical side, we zip the data into yearly files to reduce the number
of “inodes” (files) on our server, which can slow things down when attempting
to seek files, and in the past has overloaded the server with maximum number
of inodes.</p>
<p>Zipping files has speeded up our operations considerably and allows us to
process all the worlds GPS geodetic data (currently &gt; 18,000 stations).
It also allows for efficient backup, which can take far too long with
individual files.”</p>
</div>
<p>For fetching data from the server above adjust:</p>
<ul class="simple">
<li><p><em>year</em> year to consider as set in the file name. Use “” for all.</p></li>
<li><p><em>url</em></p></li>
<li><p><em>outPut</em>: target directory of fetched files</p></li>
</ul>
<p>in the Python script provided with the source code:
<code class="file docutils literal notranslate"><span class="pre">ngl/plugin/tools/fetchFilesFromWeb.py</span></code> and use it:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>python<span class="w"> </span>fetchFilesFromWeb.py
</pre></div>
</div>
<p>Change to the target directory and unpack the files:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span><span class="w"> </span><span class="o">[</span>target<span class="o">]</span>
unzip<span class="w"> </span>*
gunzip<span class="w"> </span>*
</pre></div>
</div>
<p>Running ngl2caps converts data to RAW and sends them to the CAPS server. The
assumed physical unit of the output data is <strong>nanometer</strong> and the original data
are assumed in units of <strong>meter</strong>. The conversion is applied by the <code class="xref std std-confval docutils literal notranslate"><span class="pre">gain</span></code>
which is therefore <strong>1000,000,000</strong> by default.
<strong>Make sure to generate the inventory with the correct gain and gainUnit.</strong>
If data are stored in “nm” and gainUnit of the stream in the inventory is “m” (SI unit),
the gain in the inventory must be <img class="math" src="../_images/math/18e6c1d83efdf6b796704284b4f52eb7bc826135.png" alt="10^{-09}"/>. Example:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>ngl2caps<span class="w"> </span>--debug<span class="w"> </span>-p<span class="w"> </span><span class="o">[</span>target<span class="w"> </span>directory<span class="o">]</span><span class="w"> </span>--gain<span class="w"> </span><span class="m">1000000000</span>
</pre></div>
</div>
</section>
<section id="output-streams">
<h3>Output streams<a class="headerlink" href="#output-streams" title="Permalink to this heading"></a></h3>
<p>The plugin writes the following parameter to the header of the output data.</p>
<table class="docutils align-left">
<colgroup>
<col style="width: 20.0%" />
<col style="width: 20.0%" />
<col style="width: 10.0%" />
<col style="width: 50.0%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>group</p></th>
<th class="head"><p>parameter</p></th>
<th class="head"><p>added</p></th>
<th class="head"><p>value/remark</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>network</p></td>
<td><p>code</p></td>
<td><p>x</p></td>
<td><p>from input parameter</p></td>
</tr>
<tr class="row-odd"><td><p>network</p></td>
<td><p>start time</p></td>
<td><p>x</p></td>
<td><p>from input parameter</p></td>
</tr>
<tr class="row-even"><td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr class="row-odd"><td><p>station</p></td>
<td><p>code</p></td>
<td><p>x</p></td>
<td><p>from input file</p></td>
</tr>
<tr class="row-even"><td><p>station</p></td>
<td><p>start time</p></td>
<td><p>x</p></td>
<td><p>same as network</p></td>
</tr>
<tr class="row-odd"><td><p>station</p></td>
<td><p>coordinates</p></td>
<td><p>x</p></td>
<td><p>from input file</p></td>
</tr>
<tr class="row-even"><td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr class="row-odd"><td><p>sensor location</p></td>
<td><p>code</p></td>
<td><p>x</p></td>
<td><p>from input parameter</p></td>
</tr>
<tr class="row-even"><td><p>sensor location</p></td>
<td><p>start</p></td>
<td><p>x</p></td>
<td><p>same as network</p></td>
</tr>
<tr class="row-odd"><td><p>sensor location</p></td>
<td><p>elevation</p></td>
<td><p>x</p></td>
<td><p>same as station</p></td>
</tr>
<tr class="row-even"><td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr class="row-odd"><td><p>stream</p></td>
<td><p>code</p></td>
<td><p>x</p></td>
<td><p>from band + [XYZ][ZNE]</p></td>
</tr>
<tr class="row-even"><td></td>
<td></td>
<td></td>
<td><p>from band + [X][ZNE] : derived data, daily mean removed</p></td>
</tr>
<tr class="row-odd"><td></td>
<td></td>
<td></td>
<td><p>from band + [Y][ZNE] : raw data</p></td>
</tr>
<tr class="row-even"><td></td>
<td></td>
<td></td>
<td><p>from band + [Z][ZNE] : sigma data</p></td>
</tr>
</tbody>
</table>
</section>
</section>
<section id="inventory">
<h2>Inventory<a class="headerlink" href="#inventory" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><p>Access to different stations lists and formats: <a class="reference external" href="http://geodesy.unr.edu/PlugNPlayPortal.php">http://geodesy.unr.edu/PlugNPlayPortal.php</a></p></li>
<li><p>Station list (HTML): <a class="reference external" href="http://geodesy.unr.edu/NGLStationPages/GlobalStationList">http://geodesy.unr.edu/NGLStationPages/GlobalStationList</a></p></li>
<li><p>Station list (TXT, 1/300 sps, 24 hour latency):
<a class="reference external" href="http://geodesy.unr.edu/NGLStationPages/DataHoldingsRapid5min.txt">http://geodesy.unr.edu/NGLStationPages/DataHoldingsRapid5min.txt</a></p></li>
<li><p>Details about stations [stat]: <a class="reference external" href="http://geodesy.unr.edu/NGLStationPages/stations/[stat].sta">http://geodesy.unr.edu/NGLStationPages/stations/[stat].sta</a></p></li>
<li><p>Station table with coordinates:
<a class="reference external" href="http://plugandplay.unavco.org:8080/unrgsac/gsacapi/site/search#tabId3153-1">http://plugandplay.unavco.org:8080/unrgsac/gsacapi/site/search#tabId3153-1</a></p></li>
</ul>
<p><span class="xref std std-ref">table2inv</span> can be used for conversion of a station table to <a class="reference internal" href="../base/glossary.html#term-SCML"><span class="xref std std-term">SCML</span></a>.</p>
</section>
<section id="module-configuration">
<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/ngl2caps.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/ngl2caps.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/ngl2caps.cfg</span></code></div>
</div>
<p>ngl2caps inherits <a class="reference internal" href="global.html#global-configuration"><span class="std std-ref">global options</span></a>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Modules/plugins may require a license file. The default path to license
files is <code class="file docutils literal notranslate"><span class="pre">&#64;DATADIR&#64;/licenses/</span></code> which can be overridden by global
configuration of the parameter <code class="xref std std-confval docutils literal notranslate"><span class="pre">gempa.licensePath</span></code>. Example:</p>
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span>gempa.licensePath = @CONFIGDIR@/licenses
</pre></div>
</div>
</div>
<div class="admonition note" id="input">
<p class="admonition-title">Note</p>
<p><strong>input.*</strong>
<em>Parameters controlling the input of event information and</em>
<em>reception of GNSS data.</em></p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-input.readFrom">
<span class="sig-name descname"><span class="pre">input.readFrom</span></span><a class="headerlink" href="#confval-input.readFrom" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Read input data from this file.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-input.directory">
<span class="sig-name descname"><span class="pre">input.directory</span></span><a class="headerlink" href="#confval-input.directory" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Watch this directory for incoming input files.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-input.watchEvents">
<span class="sig-name descname"><span class="pre">input.watchEvents</span></span><a class="headerlink" href="#confval-input.watchEvents" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">close_write</span></code></p>
<p>Type: <em>string</em></p>
<p>Listen for specific inotify event(s).
If ommitted, close_write events are listened for. Events:</p>
<p>access - file or directory contents were read,</p>
<p>modify - file or directory contents were written,</p>
<p>attrib - file or directory attributes changed,</p>
<p>close_write - file or directory closed, after being opened in writable mode,</p>
<p>close_nowrite - file or directory closed, after being opened in read-only mode,</p>
<p>close - file or directory closed, regardless of read/write mode,</p>
<p>open - file or directory opened,</p>
<p>moved_to - file or directory moved to watched directory,</p>
<p>moved_from - file or directory moved from watched directory,</p>
<p>move - file or directory moved to or from watched directory,</p>
<p>create - file or directory created within watched directory,</p>
<p>delete - file or directory deleted within watched directory,</p>
<p>delete_self - file or directory was deleted,</p>
<p>unmount - file system containing file or directory unmounted.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-input.watchPattern">
<span class="sig-name descname"><span class="pre">input.watchPattern</span></span><a class="headerlink" href="#confval-input.watchPattern" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Process any events whose filename matches the specified regular expression</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-input.leapSecondsFile">
<span class="sig-name descname"><span class="pre">input.leapSecondsFile</span></span><a class="headerlink" href="#confval-input.leapSecondsFile" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">&#64;DATADIR&#64;/caps/plugins/ngl2caps/leapseconds.txt</span></code></p>
<p>Type: <em>string</em></p>
<p>Name of file with leap seconds.</p>
</dd></dl>
<div class="admonition note" id="streams">
<p class="admonition-title">Note</p>
<p><strong>streams.*</strong>
<em>Parameters controlling the processing of received data.</em></p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-streams.networkCode">
<span class="sig-name descname"><span class="pre">streams.networkCode</span></span><a class="headerlink" href="#confval-streams.networkCode" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">NG</span></code></p>
<p>Type: <em>string</em></p>
<p>Network code to use.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-streams.locationCode">
<span class="sig-name descname"><span class="pre">streams.locationCode</span></span><a class="headerlink" href="#confval-streams.locationCode" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Location code to use.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-streams.bandCode">
<span class="sig-name descname"><span class="pre">streams.bandCode</span></span><a class="headerlink" href="#confval-streams.bandCode" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">U</span></code></p>
<p>Type: <em>string</em></p>
<p>Band code of streams to use. Streams will be formed as
[band][sensor type][component].</p>
</dd></dl>
<div class="admonition note" id="output">
<p class="admonition-title">Note</p>
<p><strong>output.*</strong>
<em>Parameters controlling the output of received data.</em></p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.host">
<span class="sig-name descname"><span class="pre">output.host</span></span><a class="headerlink" href="#confval-output.host" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">localhost</span></code></p>
<p>Type: <em>string</em></p>
<p>Data output host.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.port">
<span class="sig-name descname"><span class="pre">output.port</span></span><a class="headerlink" href="#confval-output.port" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">18003</span></code></p>
<p>Type: <em>int</em></p>
<p>Data output port.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.bufferSize">
<span class="sig-name descname"><span class="pre">output.bufferSize</span></span><a class="headerlink" href="#confval-output.bufferSize" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">1048576</span></code></p>
<p>Type: <em>uint</em></p>
<p>Size (bytes) of the packet buffer.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.gain">
<span class="sig-name descname"><span class="pre">output.gain</span></span><a class="headerlink" href="#confval-output.gain" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">1000000</span></code></p>
<p>Type: <em>float</em></p>
<p>Apply given gain to samples.</p>
</dd></dl>
</section>
<section id="command-line-options">
<h2>Command-Line Options<a class="headerlink" href="#command-line-options" title="Permalink to this heading"></a></h2>
<section id="generic">
<span id="id2"></span><h3>Generic<a class="headerlink" href="#generic" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-h">
<span id="cmdoption-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-h" title="Permalink to this definition"></a></dt>
<dd><p>Show help message.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-V">
<span id="cmdoption-version"></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">--version</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-V" title="Permalink to this definition"></a></dt>
<dd><p>Show version information.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-config-file">
<span class="sig-name descname"><span class="pre">--config-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-config-file" title="Permalink to this definition"></a></dt>
<dd><p>Use alternative configuration file. When this option is
used the loading of all stages is disabled. Only the
given configuration file is parsed and used. To use
another name for the configuration create a symbolic
link of the application or copy it. Example:
scautopick -&gt; scautopick2.</p>
</dd></dl>
</section>
<section id="verbosity">
<span id="id3"></span><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-verbosity">
<span class="sig-name descname"><span class="pre">--verbosity</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-verbosity" title="Permalink to this definition"></a></dt>
<dd><p>Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info,
4:debug.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-v">
<span id="cmdoption-v"></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">--v</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-v" title="Permalink to this definition"></a></dt>
<dd><p>Increase verbosity level (may be repeated, eg. -vv).</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-q">
<span id="cmdoption-quiet"></span><span class="sig-name descname"><span class="pre">-q</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">--quiet</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-q" title="Permalink to this definition"></a></dt>
<dd><p>Quiet mode: no logging output.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-print-component">
<span class="sig-name descname"><span class="pre">--print-component</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-print-component" title="Permalink to this definition"></a></dt>
<dd><p>For each log entry print the component right after the
log level. By default the component output is enabled
for file output but disabled for console output.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-component">
<span class="sig-name descname"><span class="pre">--component</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-component" title="Permalink to this definition"></a></dt>
<dd><p>Limit the logging to a certain component. This option can
be given more than once.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-s">
<span id="cmdoption-syslog"></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">--syslog</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-s" title="Permalink to this definition"></a></dt>
<dd><p>Use syslog logging backend. The output usually goes to
/var/lib/messages.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-l">
<span id="cmdoption-lockfile"></span><span class="sig-name descname"><span class="pre">-l</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">--lockfile</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-l" title="Permalink to this definition"></a></dt>
<dd><p>Path to lock file.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-console">
<span class="sig-name descname"><span class="pre">--console</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-console" title="Permalink to this definition"></a></dt>
<dd><p>Send log output to stdout.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-debug">
<span class="sig-name descname"><span class="pre">--debug</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-debug" title="Permalink to this definition"></a></dt>
<dd><p>Execute in debug mode.
Equivalent to --verbosity=4 --console=1 .</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-trace">
<span class="sig-name descname"><span class="pre">--trace</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-trace" title="Permalink to this definition"></a></dt>
<dd><p>Execute in trace mode.
Equivalent to --verbosity=4 --console=1 --print-component=1
--print-context=1 .</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-log-file">
<span class="sig-name descname"><span class="pre">--log-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-log-file" title="Permalink to this definition"></a></dt>
<dd><p>Use alternative log file.</p>
</dd></dl>
</section>
<section id="input-event">
<span id="id4"></span><h3>Input event<a class="headerlink" href="#input-event" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-d">
<span id="cmdoption-directory"></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">--directory</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-d" title="Permalink to this definition"></a></dt>
<dd><p>Watch this directory for incoming event input files. By
default the current directory is watched.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-watch-pattern">
<span class="sig-name descname"><span class="pre">--watch-pattern</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-watch-pattern" title="Permalink to this definition"></a></dt>
<dd><p>Process any event file which file name matches the specified
regular expression.</p>
</dd></dl>
</section>
<section id="input-waveforms">
<span id="id5"></span><h3>Input waveforms<a class="headerlink" href="#input-waveforms" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-f">
<span id="cmdoption-file"></span><span class="sig-name descname"><span class="pre">-f</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">--file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-f" title="Permalink to this definition"></a></dt>
<dd><p>Read kenv data directly from this given file.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-p">
<span id="cmdoption-read-from"></span><span class="sig-name descname"><span class="pre">-p</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">--read-from</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-p" title="Permalink to this definition"></a></dt>
<dd><p>Read all kenv files from this directory path. Only
considered if file is not given.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-0">
<span id="cmdoption-leap-file"></span><span class="sig-name descname"><span class="pre">-l</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">--leap-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-0" title="Permalink to this definition"></a></dt>
<dd><p>Path to leap seconds file.</p>
</dd></dl>
</section>
<section id="filter">
<span id="id6"></span><h3>Filter<a class="headerlink" href="#filter" title="Permalink to this heading"></a></h3>
</section>
<section id="id7">
<span id="id8"></span><h3>Streams<a class="headerlink" href="#id7" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-network-code">
<span class="sig-name descname"><span class="pre">--network-code</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-network-code" title="Permalink to this definition"></a></dt>
<dd><p>Network code to use.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-location-code">
<span class="sig-name descname"><span class="pre">--location-code</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-location-code" title="Permalink to this definition"></a></dt>
<dd><p>Sensor location code to use.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-1">
<span class="sig-name descname"><span class="pre">--location-code</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-1" title="Permalink to this definition"></a></dt>
<dd><p>Band code to use. Streams will be formed as [band code][xyz][ZNE].</p>
</dd></dl>
</section>
<section id="id9">
<span id="id10"></span><h3>Output<a class="headerlink" href="#id9" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-H">
<span id="cmdoption-host"></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">--host</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-H" title="Permalink to this definition"></a></dt>
<dd><p>Data output host.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-P">
<span id="cmdoption-port"></span><span class="sig-name descname"><span class="pre">-P</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">--port</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-P" title="Permalink to this definition"></a></dt>
<dd><p>Data output port.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-g">
<span id="cmdoption-gain"></span><span class="sig-name descname"><span class="pre">-g</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">--gain</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-g" title="Permalink to this definition"></a></dt>
<dd><p>Gain value multiplied to the data for unit conversion to nm.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-u">
<span id="cmdoption-gain-unit"></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">--gain-unit</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-u" title="Permalink to this definition"></a></dt>
<dd><p>Gain unit to write to data file.</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="#">ngl2caps</a><ul>
<li><a class="reference internal" href="#description">Description</a></li>
<li><a class="reference internal" href="#waveform-data">Waveform Data</a><ul>
<li><a class="reference internal" href="#format-describtions">Format describtions</a></li>
<li><a class="reference internal" href="#data-sources">Data sources</a></li>
<li><a class="reference internal" href="#fetch-data">Fetch data</a></li>
<li><a class="reference internal" href="#output-streams">Output streams</a></li>
</ul>
</li>
<li><a class="reference internal" href="#inventory">Inventory</a></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="#generic">Generic</a></li>
<li><a class="reference internal" href="#verbosity">Verbosity</a></li>
<li><a class="reference internal" href="#input-event">Input event</a></li>
<li><a class="reference internal" href="#input-waveforms">Input waveforms</a></li>
<li><a class="reference internal" href="#filter">Filter</a></li>
<li><a class="reference internal" href="#id7">Streams</a></li>
<li><a class="reference internal" href="#id9">Output</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="gdi2caps.html"
title="previous chapter">gdi2caps</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="orb2caps.html"
title="next chapter">orb2caps</a></p>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/apps/ngl2caps.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="content">
Release <b></b> version <b>2025.254#f0c77b29e</b>
<div class="copyright">
&copy; Copyright <a href="https://www.gempa.de">2013, gempa GmbH.</a>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,182 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>orb2caps &#8212; CAPS: Common Acquisition Protocol Server documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/gempa.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/gempa.css?v=c960eebf" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/gempa.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=b3ba4146"></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="rs2caps" href="rs2caps.html" />
<link rel="prev" title="ngl2caps" href="ngl2caps.html" />
</head>
<body>
<div class="header">
<div class="container">
<img class="background" src="../_static/icon.png"/>
<div class="content">
<span class="title">CAPS: Common Acquisition Protocol Server </span>
<span class="version">2025.254#f0c77b29e</span></h1>
</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="rs2caps.html" title="rs2caps"
accesskey="N">
next
</a>
</li>
<li class="right">
<a href="ngl2caps.html" title="ngl2caps"
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="../base/plugins.html" accesskey="U">Data Acquisition and Manipulation by Plugins</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="orb2caps">
<span id="id1"></span><h1>orb2caps<a class="headerlink" href="#orb2caps" title="Permalink to this heading"></a></h1>
<p><strong>Provides miniSEED data from an Antelope ORB. Operates on the Antelope system.</strong></p>
<section id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
<p>The orb2caps plugin is an application independent of SeisComP transferring real
time data from an Antelope ORB to a <a class="reference internal" href="../base/server.html#sec-caps-server"><span class="std std-ref">CAPS server</span></a>. The
plugin is configured and it runs on the same machine as the Antelope system. All
data is encoded as <a class="reference internal" href="../base/glossary.html#term-miniSeed"><span class="xref std std-term">miniSEED</span></a> Steim2 on the server side prior to transfer.</p>
</section>
<section id="setup">
<h2>Setup<a class="headerlink" href="#setup" title="Permalink to this heading"></a></h2>
<ol class="arabic">
<li><p>Copy the <strong class="program">orb2caps</strong> binary to Antelope bin folder of the respective
Antelope version. Example:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>cp<span class="w"> </span>orb2caps<span class="w"> </span>/opt/antelope/<span class="o">[</span>version<span class="o">]</span>/bin/
</pre></div>
</div>
</li>
<li><p>Edit <code class="file docutils literal notranslate"><span class="pre">rtexec.pf</span></code> in the rtsystem folder</p>
<ul>
<li><p>add entry in process table:</p>
<div class="highlight-properties notranslate"><div class="highlight"><pre><span></span><span class="na">Processes</span><span class="w"> </span><span class="s">&amp;Tbl{</span>
<span class="na">...</span>
<span class="c1"># &lt;name&gt; &lt;executable including parameters&gt;</span>
<span class="na">orb2caps</span><span class="w"> </span><span class="s">orb2caps -m &#39;OM.*/MGENC/(ACC|M100|MBB)&#39; localhost:6510 192.168.20.130:18003</span>
<span class="na">}</span>
</pre></div>
</div>
</li>
<li><p>add entry in run list for automatic startup:</p>
<div class="highlight-properties notranslate"><div class="highlight"><pre><span></span><span class="na">Run</span><span class="w"> </span><span class="s">&amp;Arr{</span>
<span class="na">...</span>
<span class="c1"># name of registered process</span>
<span class="na">orb2caps</span>
<span class="na">}</span>
</pre></div>
</div>
</li>
</ul>
</li>
<li><p>Check if the plugin is running:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>ps<span class="w"> </span>aux<span class="w"> </span><span class="p">|</span><span class="w"> </span>grep<span class="w"> </span>orb2caps
</pre></div>
</div>
</li>
</ol>
</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="#">orb2caps</a><ul>
<li><a class="reference internal" href="#description">Description</a></li>
<li><a class="reference internal" href="#setup">Setup</a></li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="ngl2caps.html"
title="previous chapter">ngl2caps</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="rs2caps.html"
title="next chapter">rs2caps</a></p>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/apps/orb2caps.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="content">
Release <b></b> version <b>2025.254#f0c77b29e</b>
<div class="copyright">
&copy; Copyright <a href="https://www.gempa.de">2013, gempa GmbH.</a>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,216 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>rifftool &#8212; CAPS: Common Acquisition Protocol Server documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/gempa.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/gempa.css?v=c960eebf" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/gempa.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=b3ba4146"></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" />
</head>
<body>
<div class="header">
<div class="container">
<img class="background" src="../_static/icon.png"/>
<div class="content">
<span class="title">CAPS: Common Acquisition Protocol Server </span>
<span class="version">2025.254#f0c77b29e</span></h1>
</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="nav-item nav-item-0">
<a href="../index.html">Home</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="rifftool">
<span id="id1"></span><h1>rifftool<a class="headerlink" href="#rifftool" title="Permalink to this heading"></a></h1>
<p><strong>CAPS data file analysis tool</strong></p>
<section id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
<p>The CAPS server uses the RIFF file format for data archiving. <strong class="program">rifftool</strong>
may be used to analyse the RIFF container, check data integrity, print record
statistics and meta data, and to extract raw data stored in the files. The
output depends on the selected operational mode and is written to stdout.</p>
<p><strong class="program">rifftool</strong> addresses files directly without a request to the
<a class="reference internal" href="../base/server.html#sec-caps-server"><span class="std std-ref">CAPS server</span></a>. This is in contrast to <a class="reference internal" href="capstool.html#capstool"><span class="std std-ref">capstool</span></a>
which makes server requests. Hence, rifftool can be used to extract data
files to, e.g., in miniSEED format, even if the CAPS server is not operational.</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 10.0%" />
<col style="width: 90.0%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Mode; “Description”</p></th>
<th class="head"></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>chunks</p></td>
<td><p>Dump individual RIFF chunks including size, position and meta information specific to individual chunk type.</p></td>
</tr>
<tr class="row-odd"><td><p>index</p></td>
<td><p>Dump the CAPS record index organized in a B+ tree (BPT).</p></td>
</tr>
<tr class="row-even"><td><p>data</p></td>
<td><p>Dump the raw data stored in the CAPS records. The format is specific to the record type and different record types may be mixed in one file. E.g., if all records are of type miniSEED then the result will be a miniSEED conform file with the records sorted by sampling time.</p></td>
</tr>
<tr class="row-odd"><td><p>check</p></td>
<td><p>Check data integrity by validating the record order. Additional check assertions may be enabled through parameters.</p></td>
</tr>
<tr class="row-even"><td><p>records</p></td>
<td><p>Dump meta data of all records.</p></td>
</tr>
<tr class="row-odd"><td><p>gaps</p></td>
<td><p>Dump data gaps found in a file.</p></td>
</tr>
<tr class="row-even"><td><p>overlaps</p></td>
<td><p>Dump data overlaps found in a file.</p></td>
</tr>
</tbody>
</table>
</section>
<section id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this heading"></a></h2>
<ul>
<li><p>Dump list of record meta data to stdout</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>rifftool<span class="w"> </span>records<span class="w"> </span>NET.STA.LOC.CHA.2022.000.data
</pre></div>
</div>
</li>
<li><p>Write the raw data stored in the CAPS records to new file</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>rifftool<span class="w"> </span>data<span class="w"> </span>NET.STA.LOC.CHA.2022.000.data<span class="w"> </span>&gt;<span class="w"> </span>data.mseed
</pre></div>
</div>
</li>
<li><p>Print gaps to stdout</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>rifftool<span class="w"> </span>gaps<span class="w"> </span>NET.STA.LOC.CHA.2022.000.data
</pre></div>
</div>
</li>
<li><p>Check data integrity by validating the record order</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>rifftool<span class="w"> </span>check<span class="w"> </span>NET.STA.LOC.CHA.2022.000.data
</pre></div>
</div>
</li>
</ul>
</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">rifftool [options] mode file</strong></p>
<p>Mode is one of: check, chunks, data, index, gaps, overlaps, records</p>
<section id="check-assertions">
<span id="id2"></span><h3>Check Assertions<a class="headerlink" href="#check-assertions" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-no-gaps">
<span class="sig-name descname"><span class="pre">--no-gaps</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-no-gaps" title="Permalink to this definition"></a></dt>
<dd><p>Assert data file contains no gaps.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-no-overlaps">
<span class="sig-name descname"><span class="pre">--no-overlaps</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-no-overlaps" title="Permalink to this definition"></a></dt>
<dd><p>Assert no overlaps in data file.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-no-data-type-change">
<span class="sig-name descname"><span class="pre">--no-data-type-change</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-no-data-type-change" title="Permalink to this definition"></a></dt>
<dd><p>Assert no data type changes among records of same data file.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-no-sampling-rate-change">
<span class="sig-name descname"><span class="pre">--no-sampling-rate-change</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-no-sampling-rate-change" title="Permalink to this definition"></a></dt>
<dd><p>Assert no sampling rate change among records of same data file.</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="#">rifftool</a><ul>
<li><a class="reference internal" href="#description">Description</a></li>
<li><a class="reference internal" href="#examples">Examples</a></li>
<li><a class="reference internal" href="#command-line-options">Command-Line Options</a><ul>
<li><a class="reference internal" href="#check-assertions">Check Assertions</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/apps/rifftool.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="content">
Release <b></b> version <b>2025.254#f0c77b29e</b>
<div class="copyright">
&copy; Copyright <a href="https://www.gempa.de">2013, gempa GmbH.</a>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,734 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>rs2caps &#8212; CAPS: Common Acquisition Protocol Server documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/gempa.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/gempa.css?v=c960eebf" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/gempa.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=b3ba4146"></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="rtpd2caps" href="rtpd2caps.html" />
<link rel="prev" title="orb2caps" href="orb2caps.html" />
</head>
<body>
<div class="header">
<div class="container">
<img class="background" src="../_static/icon.png"/>
<div class="content">
<span class="title">CAPS: Common Acquisition Protocol Server </span>
<span class="version">2025.254#f0c77b29e</span></h1>
</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="rtpd2caps.html" title="rtpd2caps"
accesskey="N">
next
</a>
</li>
<li class="right">
<a href="orb2caps.html" title="orb2caps"
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="../base/plugins.html" accesskey="U">Data Acquisition and Manipulation by Plugins</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="rs2caps">
<span id="id1"></span><h1>rs2caps<a class="headerlink" href="#rs2caps" title="Permalink to this heading"></a></h1>
<p><strong>Recordstream data acquisition plugin</strong></p>
<section id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
<p><em>rs2caps</em> uses the <cite>SeisComP</cite> <span id="id2"><em>RecordStream</em> [<a class="reference internal" href="../base/references.html#id225" title="RecordStream. SeisComP interface. URL: https://docs.gempa.de/seiscomp/current/apps/global_recordstream.html.">6</a>]</span> to feed data into <a class="reference internal" href="caps.html#caps"><span class="std std-ref">caps</span></a>
of to stdout.</p>
</section>
<section id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this heading"></a></h2>
<ul>
<li><p>Inject data into the CAPS server:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>seiscomp<span class="w"> </span>start<span class="w"> </span>caps
rs2caps<span class="w"> </span>-I<span class="w"> </span>data.mseed<span class="w"> </span>--passthrough
</pre></div>
</div>
<p>Read the <a class="reference internal" href="../base/examples.html#sec-caps-example-offline"><span class="std std-ref">examples section</span></a> to learn how to
use <em>rs2caps</em> to input data into the CAPS server.</p>
</li>
<li><p>Read data from the file <em>data.mseed</em> resample to 10 Hz sample rate by the
RecordStream and write the resulting data to stdout:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>rs2caps<span class="w"> </span>-I<span class="w"> </span>resample://file?rate<span class="o">=</span><span class="m">10</span>/data.mseed<span class="w"> </span>--passthrough<span class="w"> </span>--dump-packets<span class="w"> </span>--mseed<span class="w"> </span>&gt;<span class="w"> </span>test.mseed
</pre></div>
</div>
<p>You may join the command with <span id="id3"><em>capstool</em> [<a class="reference internal" href="../base/references.html#id120" title="capstool. gempa plugin. URL: https://docs.gempa.de/caps/current/apps/capstool.html.">10</a>]</span> and <span id="id4"><em>scmssort</em> [<a class="reference internal" href="../base/references.html#id266" title="scmssort. SeisComP module. URL: https://docs.gempa.de/seiscomp/current/apps/scmssort.html.">16</a>]</span>:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">echo</span><span class="w"> </span><span class="s2">&quot;2024,01,01,00,00,00 2024,01,01,00,10,00 * * * *&quot;</span><span class="w"> </span><span class="p">|</span><span class="w"> </span>capstool<span class="w"> </span>-H<span class="w"> </span>localhost<span class="w"> </span><span class="p">|</span><span class="se">\</span>
rs2caps<span class="w"> </span>-I<span class="w"> </span>resample://file?rate<span class="o">=</span><span class="m">10</span>/-<span class="w"> </span>--passthrough<span class="w"> </span>--dump-packets<span class="w"> </span>--mseed<span class="w"> </span><span class="p">|</span><span class="se">\</span>
scmssort<span class="w"> </span>-E<span class="w"> </span>&gt;<span class="w"> </span>test.mseed
</pre></div>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>A similar action with additional data processing may be executed using
<a class="reference internal" href="sproc2caps.html#sproc2caps"><span class="std std-ref">sproc2caps</span></a>.</p>
</div>
</li>
</ul>
</section>
<section id="module-configuration">
<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/rs2caps.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/rs2caps.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/rs2caps.cfg</span></code></div>
</div>
<p>rs2caps inherits <a class="reference internal" href="global.html#global-configuration"><span class="std std-ref">global options</span></a>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Modules/plugins may require a license file. The default path to license
files is <code class="file docutils literal notranslate"><span class="pre">&#64;DATADIR&#64;/licenses/</span></code> which can be overridden by global
configuration of the parameter <code class="xref std std-confval docutils literal notranslate"><span class="pre">gempa.licensePath</span></code>. Example:</p>
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span>gempa.licensePath = @CONFIGDIR@/licenses
</pre></div>
</div>
</div>
<span class="target" id="output"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-output.address">
<span class="sig-name descname"><span class="pre">output.address</span></span><a class="headerlink" href="#confval-output.address" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">localhost:18003</span></code></p>
<p>Type: <em>string</em></p>
<p>Data output URL [[caps|capss]://][user:pass&#64;]host[:port]. This parameter
superseds the host and port parameter of previous versions and takes precedence.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.host">
<span class="sig-name descname"><span class="pre">output.host</span></span><a class="headerlink" href="#confval-output.host" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">localhost</span></code></p>
<p>Type: <em>string</em></p>
<p>Data output host. Deprecated: Use output.address instead.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.port">
<span class="sig-name descname"><span class="pre">output.port</span></span><a class="headerlink" href="#confval-output.port" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">18003</span></code></p>
<p>Type: <em>int</em></p>
<p>Data output port. Deprecated: Use output.address instead.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.timeout">
<span class="sig-name descname"><span class="pre">output.timeout</span></span><a class="headerlink" href="#confval-output.timeout" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">60</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>int</em></p>
<p>Timeout when sending a packet. If the timeout expires
the connection will be closed and re-established.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.maxFutureEndTime">
<span class="sig-name descname"><span class="pre">output.maxFutureEndTime</span></span><a class="headerlink" href="#confval-output.maxFutureEndTime" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">120</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>int</em></p>
<p>Maximum allowed relative end time for packets. If the packet
end time is greater than the current time plus this value,
the packet will be discarded. By default this value is set
to 120 seconds.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.bufferSize">
<span class="sig-name descname"><span class="pre">output.bufferSize</span></span><a class="headerlink" href="#confval-output.bufferSize" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">1048576</span></code></p>
<p>Unit: <em>bytes</em></p>
<p>Type: <em>uint</em></p>
<p>Size (bytes) of the packet buffer.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.backFillingBufferSize">
<span class="sig-name descname"><span class="pre">output.backFillingBufferSize</span></span><a class="headerlink" href="#confval-output.backFillingBufferSize" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">0</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>int</em></p>
<p>Length of backfilling buffer. Whenever a gap is detected, records
will be held in a buffer and not sent out. Records are flushed from
front to back if the buffer size is exceeded.</p>
</dd></dl>
<span class="target" id="output-mseed"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-output.mseed.enable">
<span class="sig-name descname"><span class="pre">output.mseed.enable</span></span><a class="headerlink" href="#confval-output.mseed.enable" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">false</span></code></p>
<p>Type: <em>boolean</em></p>
<p>Enable on-the-fly miniSEED
encoding. If the encoder does not support the input
type of a packet it will be forwarded. Re-encoding of
miniSEED packets is not supported.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.mseed.encoding">
<span class="sig-name descname"><span class="pre">output.mseed.encoding</span></span><a class="headerlink" href="#confval-output.mseed.encoding" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">Steim2</span></code></p>
<p>Type: <em>string</em></p>
<p>miniSEED encoding to use. (Uncompressed, Steim1 or Steim2)</p>
</dd></dl>
<span class="target" id="streams"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-streams.begin">
<span class="sig-name descname"><span class="pre">streams.begin</span></span><a class="headerlink" href="#confval-streams.begin" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Start time of data time window, default GMT</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-streams.end">
<span class="sig-name descname"><span class="pre">streams.end</span></span><a class="headerlink" href="#confval-streams.end" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>End time of data time window</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-streams.days">
<span class="sig-name descname"><span class="pre">streams.days</span></span><a class="headerlink" href="#confval-streams.days" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">-1</span></code></p>
<p>Unit: <em>day</em></p>
<p>Type: <em>int</em></p>
<p>Use to set the start time of data time window n days before the current time.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-streams.daysBefore">
<span class="sig-name descname"><span class="pre">streams.daysBefore</span></span><a class="headerlink" href="#confval-streams.daysBefore" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">-1</span></code></p>
<p>Unit: <em>day</em></p>
<p>Type: <em>int</em></p>
<p>Use to set the end time of data time window n days before the current time.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-streams.passthrough">
<span class="sig-name descname"><span class="pre">streams.passthrough</span></span><a class="headerlink" href="#confval-streams.passthrough" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">false</span></code></p>
<p>Type: <em>boolean</em></p>
<p>Do not subscribe to any stream and
accept everything a record source is
passing. This is useful in combination
with files.</p>
</dd></dl>
<span class="target" id="journal"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-journal.file">
<span class="sig-name descname"><span class="pre">journal.file</span></span><a class="headerlink" href="#confval-journal.file" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">&#64;ROOTDIR&#64;/var/run/rs2caps/journal</span></code></p>
<p>Type: <em>string</em></p>
<p>File to store stream states</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-journal.flush">
<span class="sig-name descname"><span class="pre">journal.flush</span></span><a class="headerlink" href="#confval-journal.flush" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">10</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>uint</em></p>
<p>Flush stream states to disk every n seconds</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-journal.waitForAck">
<span class="sig-name descname"><span class="pre">journal.waitForAck</span></span><a class="headerlink" href="#confval-journal.waitForAck" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">60</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>uint</em></p>
<p>Wait when a sync has been forced, up to n seconds</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-journal.waitForLastAck">
<span class="sig-name descname"><span class="pre">journal.waitForLastAck</span></span><a class="headerlink" href="#confval-journal.waitForLastAck" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">5</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>uint</em></p>
<p>Wait on shutdown to receive acknownledgement messages, up to n seconds</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-journal.syncWithBindings">
<span class="sig-name descname"><span class="pre">journal.syncWithBindings</span></span><a class="headerlink" href="#confval-journal.syncWithBindings" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">false</span></code></p>
<p>Type: <em>boolean</em></p>
<p>Whether to synchronize the journal file with bindings.
If enabled then each time update-config is called, the
bound stations will be synchronized with the current
journal file. Unbound stations will be removed from
the journal. Synchronizing with bindings will disable
reading the inventory.</p>
</dd></dl>
<span class="target" id="statuslog"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-statusLog.enable">
<span class="sig-name descname"><span class="pre">statusLog.enable</span></span><a class="headerlink" href="#confval-statusLog.enable" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">false</span></code></p>
<p>Type: <em>boolean</em></p>
<p>Log information status information e.g.
max bytes buffered</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-statusLog.flush">
<span class="sig-name descname"><span class="pre">statusLog.flush</span></span><a class="headerlink" href="#confval-statusLog.flush" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">10</span></code></p>
<p>Type: <em>uint</em></p>
<p>Flush status every n seconds to disk</p>
</dd></dl>
</section>
<section id="bindings-parameters">
<h2>Bindings Parameters<a class="headerlink" href="#bindings-parameters" title="Permalink to this heading"></a></h2>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-selectors">
<span class="sig-name descname"><span class="pre">selectors</span></span><a class="headerlink" href="#confval-selectors" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>list:string</em></p>
<p>List of stream selectors in format LOC.CHA.
If left empty all available streams will be requested.</p>
</dd></dl>
</section>
<section id="command-line-options">
<h2>Command-Line Options<a class="headerlink" href="#command-line-options" title="Permalink to this heading"></a></h2>
<section id="generic">
<span id="id5"></span><h3>Generic<a class="headerlink" href="#generic" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-h">
<span id="cmdoption-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-h" title="Permalink to this definition"></a></dt>
<dd><p>Show help message.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-V">
<span id="cmdoption-version"></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">--version</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-V" title="Permalink to this definition"></a></dt>
<dd><p>Show version information.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-D">
<span id="cmdoption-daemon"></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">--daemon</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-D" title="Permalink to this definition"></a></dt>
<dd><p>Run as daemon. This means the application will fork itself
and doesnt need to be started with &amp;.</p>
</dd></dl>
</section>
<section id="verbosity">
<span id="id6"></span><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-verbosity">
<span class="sig-name descname"><span class="pre">--verbosity</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-verbosity" title="Permalink to this definition"></a></dt>
<dd><p>Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info,
4:debug.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-v">
<span id="cmdoption-v"></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">--v</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-v" title="Permalink to this definition"></a></dt>
<dd><p>Increase verbosity level (may be repeated, eg. -vv).</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-q">
<span id="cmdoption-quiet"></span><span class="sig-name descname"><span class="pre">-q</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">--quiet</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-q" title="Permalink to this definition"></a></dt>
<dd><p>Quiet mode: no logging output.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-s">
<span id="cmdoption-syslog"></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">--syslog</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-s" title="Permalink to this definition"></a></dt>
<dd><p>Use syslog logging backend. The output usually goes to
/var/lib/messages.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-l">
<span id="cmdoption-lockfile"></span><span class="sig-name descname"><span class="pre">-l</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">--lockfile</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-l" title="Permalink to this definition"></a></dt>
<dd><p>Path to lock file.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-console">
<span class="sig-name descname"><span class="pre">--console</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-console" title="Permalink to this definition"></a></dt>
<dd><p>Send log output to stdout.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-debug">
<span class="sig-name descname"><span class="pre">--debug</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-debug" title="Permalink to this definition"></a></dt>
<dd><p>Execute in debug mode.
Equivalent to --verbosity=4 --console=1 .</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-trace">
<span class="sig-name descname"><span class="pre">--trace</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-trace" title="Permalink to this definition"></a></dt>
<dd><p>Execute in trace mode.
Equivalent to --verbosity=4 --console=1 --print-component=1
--print-context=1 .</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-log-file">
<span class="sig-name descname"><span class="pre">--log-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-log-file" title="Permalink to this definition"></a></dt>
<dd><p>Use alternative log file.</p>
</dd></dl>
</section>
<section id="records">
<span id="id7"></span><h3>Records<a class="headerlink" href="#records" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-record-driver-list">
<span class="sig-name descname"><span class="pre">--record-driver-list</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-record-driver-list" title="Permalink to this definition"></a></dt>
<dd><p>List all supported record stream drivers.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-I">
<span id="cmdoption-record-url"></span><span class="sig-name descname"><span class="pre">-I</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">--record-url</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-I" title="Permalink to this definition"></a></dt>
<dd><p>The recordstream source URL, format:
[<a class="reference external" href="service://">service://</a>]location[#type].
&quot;service&quot; is the name of the recordstream driver
which can be queried with &quot;--record-driver-list&quot;.
If &quot;service&quot; is not given, &quot;<a class="reference external" href="file://">file://</a>&quot; is
used.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-record-file">
<span class="sig-name descname"><span class="pre">--record-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-record-file" title="Permalink to this definition"></a></dt>
<dd><p>Specify a file as record source.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-record-type">
<span class="sig-name descname"><span class="pre">--record-type</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-record-type" title="Permalink to this definition"></a></dt>
<dd><p>Specify a type for the records being read.</p>
</dd></dl>
</section>
<section id="id8">
<span id="id9"></span><h3>Output<a class="headerlink" href="#id8" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-O">
<span id="cmdoption-output"></span><span class="sig-name descname"><span class="pre">-O</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">--output</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-O" title="Permalink to this definition"></a></dt>
<dd><p>Overrides configuration parameter <a class="reference internal" href="sproc2caps.html#confval-output.address"><code class="xref std std-confval docutils literal notranslate"><span class="pre">output.address</span></code></a>.</p>
<p>This is the CAPS server which shall receive the data.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-agent">
<span class="sig-name descname"><span class="pre">--agent</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-agent" title="Permalink to this definition"></a></dt>
<dd><p>Sets the agent string. Allows the server to identify the
application that sends data.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-b">
<span id="cmdoption-buffer-size"></span><span class="sig-name descname"><span class="pre">-b</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">--buffer-size</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-b" title="Permalink to this definition"></a></dt>
<dd><p>Size (bytes) of the journal buffer. If the value ist
exceeded, a synchronization of the journal is forced.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-backfilling">
<span class="sig-name descname"><span class="pre">--backfilling</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-backfilling" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">0</span></code></p>
<p>Buffer size in seconds for backfilling gaps.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-mseed">
<span class="sig-name descname"><span class="pre">--mseed</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-mseed" title="Permalink to this definition"></a></dt>
<dd><p>Enable on-the-fly miniSEED encoding. If the encoder does not
support the input type of a packet, it will be forwarded.
Re-encoding of miniSEED packets is not supported.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-encoding">
<span class="sig-name descname"><span class="pre">--encoding</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-encoding" title="Permalink to this definition"></a></dt>
<dd><p>miniSEED encoding to use: Uncompressed, Steim1 or Steim2.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-rec-len">
<span class="sig-name descname"><span class="pre">--rec-len</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-rec-len" title="Permalink to this definition"></a></dt>
<dd><p>miniSEED record length expressed as a power of
2. A 512 byte record would be 9.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-max-future-endtime">
<span class="sig-name descname"><span class="pre">--max-future-endtime</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-max-future-endtime" title="Permalink to this definition"></a></dt>
<dd><p>Maximum allowed relative end time for packets. If the packet
end time is greater than the current time plus this value,
the packet will be discarded. By default this value is set
to 120 seconds.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-dump-packets">
<span class="sig-name descname"><span class="pre">--dump-packets</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-dump-packets" title="Permalink to this definition"></a></dt>
<dd><p>Dump packets to stdout.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-test">
<span class="sig-name descname"><span class="pre">--test</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-test" title="Permalink to this definition"></a></dt>
<dd><p>Disable socket communication.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-dump">
<span class="sig-name descname"><span class="pre">--dump</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-dump" title="Permalink to this definition"></a></dt>
<dd><p>Dump all received data to stdout and dont use the input
port.</p>
</dd></dl>
</section>
<section id="id10">
<span id="id11"></span><h3>Journal<a class="headerlink" href="#id10" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-j">
<span id="cmdoption-journal"></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">--journal</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-j" title="Permalink to this definition"></a></dt>
<dd><p>File to store stream states. Use an empty string to log to
stdout.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-f">
<span id="cmdoption-flush"></span><span class="sig-name descname"><span class="pre">-f</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">--flush</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-f" title="Permalink to this definition"></a></dt>
<dd><p>Flush stream states to disk every n seconds.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-wait-for-ack">
<span class="sig-name descname"><span class="pre">--wait-for-ack</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-wait-for-ack" title="Permalink to this definition"></a></dt>
<dd><p>Wait when a sync has been forced, up to n seconds.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-w">
<span id="cmdoption-wait-for-last-ack"></span><span class="sig-name descname"><span class="pre">-w</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">--wait-for-last-ack</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-w" title="Permalink to this definition"></a></dt>
<dd><p>Wait on shutdown to receive acknownledgement messages, up to
the given number of seconds.</p>
</dd></dl>
</section>
<section id="status">
<span id="id12"></span><h3>Status<a class="headerlink" href="#status" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-status-log">
<span class="sig-name descname"><span class="pre">--status-log</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-status-log" title="Permalink to this definition"></a></dt>
<dd><p>Log information status information, e.g., max bytes buffered.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-status-flush">
<span class="sig-name descname"><span class="pre">--status-flush</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-status-flush" title="Permalink to this definition"></a></dt>
<dd><p>Flush status every n seconds to disk.</p>
</dd></dl>
</section>
<section id="id13">
<span id="id14"></span><h3>Streams<a class="headerlink" href="#id13" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-A">
<span id="cmdoption-add-stream"></span><span class="sig-name descname"><span class="pre">-A</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">--add-stream</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-A" title="Permalink to this definition"></a></dt>
<dd><p>StreamID [net.sta.loc.cha] to add.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-id-file">
<span class="sig-name descname"><span class="pre">--id-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-id-file" title="Permalink to this definition"></a></dt>
<dd><p>File to read stream IDs from.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-passthrough">
<span class="sig-name descname"><span class="pre">--passthrough</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-passthrough" title="Permalink to this definition"></a></dt>
<dd><p>Do not subscribe to any stream and accept everything a
record source is passing. This is useful in combination with
files.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-begin">
<span class="sig-name descname"><span class="pre">--begin</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-begin" title="Permalink to this definition"></a></dt>
<dd><p>Start time of data time window.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-end">
<span class="sig-name descname"><span class="pre">--end</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-end" title="Permalink to this definition"></a></dt>
<dd><p>End time of data time window.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-days">
<span class="sig-name descname"><span class="pre">--days</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-days" title="Permalink to this definition"></a></dt>
<dd><p>Unit: <em>day</em></p>
<p>Begin of data request time window given as days before current time.
Applied only on streams not found in the journal.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-days-before">
<span class="sig-name descname"><span class="pre">--days-before</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-days-before" title="Permalink to this definition"></a></dt>
<dd><p>Unit: <em>day</em></p>
<p>End of data request time window given as number of days
before current time.</p>
</dd></dl>
</section>
<section id="polling">
<span id="id15"></span><h3>Polling<a class="headerlink" href="#polling" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-poll">
<span class="sig-name descname"><span class="pre">--poll</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-poll" title="Permalink to this definition"></a></dt>
<dd><p>For non-streaming inputs polling can be
used to simulate real-time streaming.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-poll-window">
<span class="sig-name descname"><span class="pre">--poll-window</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-poll-window" title="Permalink to this definition"></a></dt>
<dd><p>Time window in seconds to be used with polling.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-poll-interval">
<span class="sig-name descname"><span class="pre">--poll-interval</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-poll-interval" title="Permalink to this definition"></a></dt>
<dd><p>Time interval in seconds used for polling.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-poll-serial">
<span class="sig-name descname"><span class="pre">--poll-serial</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-poll-serial" title="Permalink to this definition"></a></dt>
<dd><p>Will request each channel seperately rather all channels in
one request.</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="#">rs2caps</a><ul>
<li><a class="reference internal" href="#description">Description</a></li>
<li><a class="reference internal" href="#examples">Examples</a></li>
<li><a class="reference internal" href="#module-configuration">Module Configuration</a></li>
<li><a class="reference internal" href="#bindings-parameters">Bindings Parameters</a></li>
<li><a class="reference internal" href="#command-line-options">Command-Line Options</a><ul>
<li><a class="reference internal" href="#generic">Generic</a></li>
<li><a class="reference internal" href="#verbosity">Verbosity</a></li>
<li><a class="reference internal" href="#records">Records</a></li>
<li><a class="reference internal" href="#id8">Output</a></li>
<li><a class="reference internal" href="#id10">Journal</a></li>
<li><a class="reference internal" href="#status">Status</a></li>
<li><a class="reference internal" href="#id13">Streams</a></li>
<li><a class="reference internal" href="#polling">Polling</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="orb2caps.html"
title="previous chapter">orb2caps</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="rtpd2caps.html"
title="next chapter">rtpd2caps</a></p>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/apps/rs2caps.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="content">
Release <b></b> version <b>2025.254#f0c77b29e</b>
<div class="copyright">
&copy; Copyright <a href="https://www.gempa.de">2013, gempa GmbH.</a>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,477 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>rtpd2caps &#8212; CAPS: Common Acquisition Protocol Server documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/gempa.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/gempa.css?v=c960eebf" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/gempa.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=b3ba4146"></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="slink2caps" href="slink2caps.html" />
<link rel="prev" title="rs2caps" href="rs2caps.html" />
</head>
<body>
<div class="header">
<div class="container">
<img class="background" src="../_static/icon.png"/>
<div class="content">
<span class="title">CAPS: Common Acquisition Protocol Server </span>
<span class="version">2025.254#f0c77b29e</span></h1>
</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="slink2caps.html" title="slink2caps"
accesskey="N">
next
</a>
</li>
<li class="right">
<a href="rs2caps.html" title="rs2caps"
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="../base/plugins.html" accesskey="U">Data Acquisition and Manipulation by Plugins</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="rtpd2caps">
<span id="id1"></span><h1>rtpd2caps<a class="headerlink" href="#rtpd2caps" title="Permalink to this heading"></a></h1>
<p><strong>CAPS import module for MRF packets from RTPD server.</strong></p>
<section id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
<p>The RTPD plugin for CAPS collects DT and MRF packets through the REN protocol. It
is supposed to have very low latency suitable for real-time data transmission.</p>
<p>The RTPD plugin needs a configuration file which is usually created by its init
script. This configuration files lives under
<code class="file docutils literal notranslate"><span class="pre">$SEISCOMP_ROOT/var/lib/rtpd2caps.cfg</span></code>.
The init script reads the configuration from <code class="file docutils literal notranslate"><span class="pre">$SEISCOMP_ROOT/etc/rtpd2caps.cfg</span></code>
and the bindings from <code class="file docutils literal notranslate"><span class="pre">$SEISCOMP_ROOT/etc/key/rtpd2caps/*</span></code> and prepares the
above final configuration file.</p>
<p>The configuration used by rtpd2caps looks like this:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># Number of records to queue if the sink connection is not available</span>
<span class="nv">queue_size</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">20000</span>
<span class="c1"># Define the channel mapping. Each item is a tuple of source id composed</span>
<span class="c1"># of stream and channel and target location and stream code. The target code</span>
<span class="c1"># can be a single channel code (e.g. HNZ) or a combination of location and</span>
<span class="c1"># channel code (e.g. 00.HNZ). In case of DT packets the sampling interval</span>
<span class="c1"># must be specified after the channel code separated by &#39;@&#39;</span>
<span class="c1"># channels = 1.0:HNZ, 1.1:HN1, 1.2:HN2 MRF</span>
<span class="c1"># Starts a particular unit configuration. channel mapping can be overridden</span>
<span class="c1"># in a unit section as well.</span>
unit<span class="w"> </span>200B3
<span class="w"> </span><span class="c1"># Defines the output network code for this unit.</span>
<span class="w"> </span><span class="nv">network</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot;RT&quot;</span>
<span class="w"> </span><span class="c1"># Defines the output station code for this unit.</span>
<span class="w"> </span><span class="nv">station</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot;TEST1&quot;</span>
<span class="w"> </span><span class="c1"># The RTPD server address.</span>
<span class="w"> </span><span class="nv">address</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">1</span>.2.3.4:2543
<span class="w"> </span><span class="c1"># The CAPS server address.</span>
<span class="w"> </span><span class="nv">sink</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>localhost:18003
<span class="c1"># Another unit.</span>
unit<span class="w"> </span>200B4
<span class="w"> </span><span class="nv">network</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot;RT&quot;</span>
<span class="w"> </span><span class="nv">station</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">&quot;TEST2&quot;</span>
<span class="w"> </span><span class="nv">address</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">1</span>.2.3.4:2543
<span class="w"> </span><span class="nv">sink</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>localhost
</pre></div>
</div>
<p>A user does not need to create this configuration file manually if using the
plugin integrated into <cite>SeisComP</cite>. The rtpd2caps plugin can be configured as any other
<cite>SeisComP</cite> module, e.g. via <strong class="program">scconfig</strong>.</p>
<p>An example <cite>CAPS</cite> configuration to generate the configuration above can look like this:</p>
<p><code class="file docutils literal notranslate"><span class="pre">$SEISCOMP3_ROOT/etc/rtpd2caps.cfg</span></code></p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># RTP server address in format [host]:[port]. If port is omitted, 2543 is</span>
<span class="c1"># assumed. This is optional and only used if the address in a binding is</span>
<span class="c1"># omitted.</span>
<span class="nv">address</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">1</span>.2.3.4
<span class="c1"># CAPS server address to send data to in format [host]:[port]. If port is</span>
<span class="c1"># omitted, 18003 is assumed. This is optional and only used if the sink in a</span>
<span class="c1"># binding is omitted.</span>
<span class="nv">sink</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>localhost:18003
<span class="c1"># Channel mapping list where each item maps a REFTEK stream/channel id to a</span>
<span class="c1"># SEED channel code with optional location code. Format:</span>
<span class="c1"># {stream}.{channel}:[{loc}.]{cha}, e.g. 1.0:00.HHZ. This is the default used</span>
<span class="c1"># if a station binding does not define it explicitly.</span>
<span class="nv">channels</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">1</span>.0:HNZ,1.1:HN1,1.2:HN2
<span class="c1"># Number of packets that can be queued when a sink is not reachable.</span>
<span class="nv">queueSize</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">20000</span>
</pre></div>
</div>
<p><code class="file docutils literal notranslate"><span class="pre">$SEISCOMP3_ROOT/etc/key/rtpd2caps/station_RT_TEST1</span></code></p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># Mandatory REFTEK unit id (hex).</span>
<span class="nv">unit</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>200B3
</pre></div>
</div>
<p><code class="file docutils literal notranslate"><span class="pre">$SEISCOMP3_ROOT/etc/key/rtpd2caps/station_RT_TEST2</span></code></p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># Mandatory REFTEK unit id (hex).</span>
<span class="nv">unit</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>200B4
</pre></div>
</div>
</section>
<section id="test-examples">
<h2>Test examples<a class="headerlink" href="#test-examples" title="Permalink to this heading"></a></h2>
<p>To test a server and check what packages are available, rtpd2caps can be ran
in test and verify mode.</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span>rtpd2caps<span class="w"> </span>-H<span class="w"> </span><span class="m">1</span>.2.3.4<span class="w"> </span>--verify<span class="w"> </span>--test
Requested<span class="w"> </span>attributes:
DAS<span class="w"> </span><span class="s1">&#39;mask&#39;</span><span class="w"> </span><span class="o">(</span>at_dasid<span class="o">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">00000000</span>
Packet<span class="w"> </span>mask<span class="w"> </span><span class="o">(</span>at_pmask<span class="o">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>0x00004000
Stream<span class="w"> </span>mask<span class="w"> </span><span class="o">(</span>at_smask<span class="o">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>0x0000FFFF
Socket<span class="w"> </span>I/O<span class="w"> </span>timeout<span class="w"> </span><span class="o">(</span>at_timeo<span class="o">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">30</span>
TCP/IP<span class="w"> </span>transmit<span class="w"> </span>buffer<span class="w"> </span><span class="o">(</span>at_sndbuf<span class="o">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">0</span>
TCP/IP<span class="w"> </span>receive<span class="w"> </span>buffer<span class="w"> </span><span class="o">(</span>at_rcvbuf<span class="o">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">0</span>
blocking<span class="w"> </span>I/O<span class="w"> </span>flag<span class="w"> </span><span class="o">(</span>at_block<span class="o">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>TRUE
<span class="m">2013</span>:198-08:32:40<span class="w"> </span><span class="nb">local</span><span class="w"> </span><span class="o">[</span><span class="m">2195</span><span class="o">]</span><span class="w"> </span>Parameters:
<span class="m">2013</span>:198-08:32:40<span class="w"> </span><span class="nb">local</span><span class="w"> </span><span class="o">[</span><span class="m">2195</span><span class="o">]</span><span class="w"> </span>*<span class="w"> </span><span class="nv">queue_size</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">10000</span><span class="w"> </span>records
<span class="m">2013</span>:198-08:32:40<span class="w"> </span><span class="nb">local</span><span class="w"> </span><span class="o">[</span><span class="m">2195</span><span class="o">]</span><span class="w"> </span>*<span class="w"> </span><span class="nv">backfilling_buffer_size</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>0s
<span class="m">2013</span>:198-08:32:40<span class="w"> </span><span class="nb">local</span><span class="w"> </span><span class="o">[</span><span class="m">2195</span><span class="o">]</span><span class="w"> </span>Configured<span class="w"> </span><span class="m">1</span><span class="w"> </span>source<span class="o">(</span>s<span class="o">)</span><span class="w"> </span>and<span class="w"> </span><span class="m">0</span><span class="w"> </span>sink<span class="o">(</span>s<span class="o">)</span>
<span class="o">[</span>RTP<span class="w"> </span><span class="m">69</span>.15.146.174:2543<span class="o">]</span>
<span class="w"> </span>XX.YYYY<span class="w"> </span>unit<span class="w"> </span><span class="m">0</span>
<span class="m">2013</span>:198-08:32:40<span class="w"> </span><span class="nb">local</span><span class="w"> </span><span class="o">[</span><span class="m">2195</span><span class="o">]</span><span class="w"> </span>started<span class="w"> </span>reading<span class="w"> </span>from<span class="w"> </span>RTP<span class="w"> </span>server<span class="w"> </span>at<span class="w"> </span><span class="m">1</span>.2.3.4:2543
<span class="m">2013</span>:198-08:32:42<span class="w"> </span><span class="nb">local</span><span class="w"> </span><span class="o">[</span><span class="m">2195</span><span class="o">]</span><span class="w"> </span>Commands<span class="w"> </span>may<span class="w"> </span>not<span class="w"> </span>be<span class="w"> </span>sent
<span class="m">2013</span>:198-08:32:42<span class="w"> </span><span class="nb">local</span><span class="w"> </span><span class="o">[</span><span class="m">2195</span><span class="o">]</span><span class="w"> </span>connected<span class="w"> </span>to<span class="w"> </span><span class="m">1</span>.2.3.4:2543
Actual<span class="w"> </span>parameters:
DAS<span class="w"> </span><span class="s1">&#39;mask&#39;</span><span class="w"> </span><span class="o">(</span>at_dasid<span class="o">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">00000000</span>
Packet<span class="w"> </span>mask<span class="w"> </span><span class="o">(</span>at_pmask<span class="o">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>0x00004000
Stream<span class="w"> </span>mask<span class="w"> </span><span class="o">(</span>at_smask<span class="o">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>0x0000FFFF
Socket<span class="w"> </span>I/O<span class="w"> </span>timeout<span class="w"> </span><span class="o">(</span>at_timeo<span class="o">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">30</span>
TCP/IP<span class="w"> </span>transmit<span class="w"> </span>buffer<span class="w"> </span><span class="o">(</span>at_sndbuf<span class="o">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">0</span>
TCP/IP<span class="w"> </span>receive<span class="w"> </span>buffer<span class="w"> </span><span class="o">(</span>at_rcvbuf<span class="o">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">0</span>
blocking<span class="w"> </span>I/O<span class="w"> </span>flag<span class="w"> </span><span class="o">(</span>at_block<span class="o">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>TRUE
200B3<span class="w"> </span>stream<span class="w"> </span><span class="m">1</span>
<span class="w"> </span>chamap:<span class="w"> </span><span class="m">7</span>
<span class="w"> </span>chacnt:<span class="w"> </span><span class="m">3</span>
<span class="w"> </span>cha<span class="w"> </span>:<span class="w"> </span><span class="m">99</span>
<span class="w"> </span>dtype<span class="w"> </span>:<span class="w"> </span><span class="m">50</span>
<span class="w"> </span><span class="nb">time</span><span class="w"> </span>:<span class="w"> </span><span class="m">2013</span>.198<span class="w"> </span><span class="m">08</span>:33:39.714000
<span class="w"> </span>nsamp<span class="w"> </span>:<span class="w"> </span><span class="m">20</span>
<span class="w"> </span>bytes<span class="w"> </span>:<span class="w"> </span><span class="m">512</span>
<span class="w"> </span>rate<span class="w"> </span>:<span class="w"> </span><span class="m">100</span>
<span class="w"> </span>chans<span class="w"> </span>:<span class="w"> </span><span class="m">0</span>,<span class="w"> </span><span class="m">1</span>,<span class="w"> </span><span class="m">2</span>
200B3<span class="w"> </span>stream<span class="w"> </span><span class="m">1</span>
<span class="w"> </span>chamap:<span class="w"> </span><span class="m">7</span>
<span class="w"> </span>chacnt:<span class="w"> </span><span class="m">3</span>
<span class="w"> </span>cha<span class="w"> </span>:<span class="w"> </span><span class="m">99</span>
<span class="w"> </span>dtype<span class="w"> </span>:<span class="w"> </span><span class="m">50</span>
<span class="w"> </span><span class="nb">time</span><span class="w"> </span>:<span class="w"> </span><span class="m">2013</span>.198<span class="w"> </span><span class="m">08</span>:33:39.914000
<span class="w"> </span>nsamp<span class="w"> </span>:<span class="w"> </span><span class="m">20</span>
<span class="w"> </span>bytes<span class="w"> </span>:<span class="w"> </span><span class="m">512</span>
<span class="w"> </span>rate<span class="w"> </span>:<span class="w"> </span><span class="m">100</span>
<span class="w"> </span>chans<span class="w"> </span>:<span class="w"> </span><span class="m">0</span>,<span class="w"> </span><span class="m">1</span>,<span class="w"> </span><span class="m">2</span>
200B3<span class="w"> </span>stream<span class="w"> </span><span class="m">1</span>
<span class="w"> </span>chamap:<span class="w"> </span><span class="m">7</span>
<span class="w"> </span>chacnt:<span class="w"> </span><span class="m">3</span>
<span class="w"> </span>cha<span class="w"> </span>:<span class="w"> </span><span class="m">99</span>
<span class="w"> </span>dtype<span class="w"> </span>:<span class="w"> </span><span class="m">50</span>
<span class="w"> </span><span class="nb">time</span><span class="w"> </span>:<span class="w"> </span><span class="m">2013</span>.198<span class="w"> </span><span class="m">08</span>:33:40.114000
<span class="w"> </span>nsamp<span class="w"> </span>:<span class="w"> </span><span class="m">20</span>
<span class="w"> </span>bytes<span class="w"> </span>:<span class="w"> </span><span class="m">512</span>
<span class="w"> </span>rate<span class="w"> </span>:<span class="w"> </span><span class="m">100</span>
<span class="w"> </span>chans<span class="w"> </span>:<span class="w"> </span><span class="m">0</span>,<span class="w"> </span><span class="m">1</span>,<span class="w"> </span><span class="m">2</span>
200B3<span class="w"> </span>stream<span class="w"> </span><span class="m">1</span>
<span class="w"> </span>chamap:<span class="w"> </span><span class="m">7</span>
<span class="w"> </span>chacnt:<span class="w"> </span><span class="m">3</span>
<span class="w"> </span>cha<span class="w"> </span>:<span class="w"> </span><span class="m">99</span>
<span class="w"> </span>dtype<span class="w"> </span>:<span class="w"> </span><span class="m">50</span>
<span class="w"> </span><span class="nb">time</span><span class="w"> </span>:<span class="w"> </span><span class="m">2013</span>.198<span class="w"> </span><span class="m">08</span>:33:40.314000
<span class="w"> </span>nsamp<span class="w"> </span>:<span class="w"> </span><span class="m">20</span>
<span class="w"> </span>bytes<span class="w"> </span>:<span class="w"> </span><span class="m">512</span>
<span class="w"> </span>rate<span class="w"> </span>:<span class="w"> </span><span class="m">100</span>
<span class="w"> </span>chans<span class="w"> </span>:<span class="w"> </span><span class="m">0</span>,<span class="w"> </span><span class="m">1</span>,<span class="w"> </span><span class="m">2</span>
...
</pre></div>
</div>
</section>
<section id="module-configuration">
<h2>Module Configuration<a class="headerlink" href="#module-configuration" title="Permalink to this heading"></a></h2>
<div class="admonition note">
<p class="admonition-title">Note</p>
<ul>
<li><p>rtpd2caps is a standalone module and does not inherit
<a class="reference internal" href="global.html#global-configuration"><span class="std std-ref">global options</span></a>.</p></li>
<li><p>Modules/plugins may require a license file. The default path to license
files is <code class="file docutils literal notranslate"><span class="pre">&#64;DATADIR&#64;/licenses/</span></code> which can be overridden by module
configuration of the parameter <code class="xref std std-confval docutils literal notranslate"><span class="pre">gempa.licensePath</span></code>. Example:</p>
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span>gempa.licensePath = @CONFIGDIR@/licenses
</pre></div>
</div>
</li>
</ul>
</div>
<div class="line-block">
<div class="line"><code class="file docutils literal notranslate"><span class="pre">etc/defaults/rtpd2caps.cfg</span></code></div>
<div class="line"><code class="file docutils literal notranslate"><span class="pre">etc/rtpd2caps.cfg</span></code></div>
<div class="line"><code class="file docutils literal notranslate"><span class="pre">~/.seiscomp/rtpd2caps.cfg</span></code></div>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-address">
<span class="sig-name descname"><span class="pre">address</span></span><a class="headerlink" href="#confval-address" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>RTP server address in format [host]:[port]. If port
is omitted, 2543 is assumed. This is optional and only used
if the address in a binding is omitted.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-sink">
<span class="sig-name descname"><span class="pre">sink</span></span><a class="headerlink" href="#confval-sink" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>CAPS server address to send data to in format [host]:[port].
If port is omitted, 18003 is assumed. This is optional and only used
if the sink in a binding is omitted.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-channels">
<span class="sig-name descname"><span class="pre">channels</span></span><a class="headerlink" href="#confval-channels" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>list:string</em></p>
<p>Channel mapping list where each item maps a REFTEK
stream/channel id to a SEED channel code with optional
location code. Format: {stream}.{channel}:[{loc}.]{cha}, e.g.
1.0:00.HHZ. This is the default used if a station binding does
not define it explicitly.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-queueSize">
<span class="sig-name descname"><span class="pre">queueSize</span></span><a class="headerlink" href="#confval-queueSize" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">10000</span></code></p>
<p>Type: <em>int</em></p>
<p>Number of packets that can be queued when a sink is not reachable.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-backFillingBufferSize">
<span class="sig-name descname"><span class="pre">backFillingBufferSize</span></span><a class="headerlink" href="#confval-backFillingBufferSize" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">0</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>int</em></p>
<p>Length of backfilling buffer. Whenever a hole is detected, records
will be held in a buffer and not sent out. Records are flushed from
front to back if the buffer size is exceeded.</p>
</dd></dl>
</section>
<section id="bindings-parameters">
<h2>Bindings Parameters<a class="headerlink" href="#bindings-parameters" title="Permalink to this heading"></a></h2>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-unit">
<span class="sig-name descname"><span class="pre">unit</span></span><a class="headerlink" href="#confval-unit" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Mandatory REFTEK unit id (hex).</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-0">
<span class="sig-name descname"><span class="pre">address</span></span><a class="headerlink" href="#confval-0" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>RTP server address in format [host]:[port]. If port
is omitted, 2543 is assumed.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-1">
<span class="sig-name descname"><span class="pre">sink</span></span><a class="headerlink" href="#confval-1" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>CAPS server address to send data to in format [host]:[port].
If port is omitted, 18003 is assumed.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-2">
<span class="sig-name descname"><span class="pre">channels</span></span><a class="headerlink" href="#confval-2" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>list:string</em></p>
<p>Channel mapping list where each item maps a REFTEK
stream/channel id to a SEED channel code with optional
location code. Format: {stream}.{channel}:[{loc}.]{cha}, e.g.
1.0:00.HHZ.</p>
</dd></dl>
</section>
<section id="command-line-options">
<h2>Command-Line Options<a class="headerlink" href="#command-line-options" title="Permalink to this heading"></a></h2>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-h">
<span id="cmdoption-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-h" title="Permalink to this definition"></a></dt>
<dd><p>Print program usage and exit.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-H">
<span id="cmdoption-host"></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">--host</span></span><span class="sig-prename descclassname"> <span class="pre">address</span></span><a class="headerlink" href="#cmdoption-H" title="Permalink to this definition"></a></dt>
<dd><p>RTP server to connect to in format [host]:[port]. If port
is omitted, 2543 is assumed.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-S">
<span id="cmdoption-sink"></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">--sink</span></span><span class="sig-prename descclassname"> <span class="pre">address</span></span><a class="headerlink" href="#cmdoption-S" title="Permalink to this definition"></a></dt>
<dd><p>CAPS server to send data to in format [host]:[port]. If port
is omitted, 18003 is assumed.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-n">
<span id="cmdoption-queue-size"></span><span class="sig-name descname"><span class="pre">-n</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">--queue-size</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-n" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">10000</span></code></p>
<p>Maximum number of packages queued before
the sink connection becomes blocking.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-b">
<span id="cmdoption-backfilling-buffer-size"></span><span class="sig-name descname"><span class="pre">-b</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">--backfilling-buffer-size</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-b" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">0</span></code></p>
<p>Buffer size in seconds for backfilling holes.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-s">
<span id="cmdoption-syslog"></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">--syslog</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-s" title="Permalink to this definition"></a></dt>
<dd><p>Logs to syslog.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-f">
<span id="cmdoption-config-file"></span><span class="sig-name descname"><span class="pre">-f</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">--config-file</span></span><span class="sig-prename descclassname"> <span class="pre">path</span></span><a class="headerlink" href="#cmdoption-f" title="Permalink to this definition"></a></dt>
<dd><p>Path to configuration file to be used.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-log-file">
<span class="sig-name descname"><span class="pre">--log-file</span></span><span class="sig-prename descclassname"> <span class="pre">path</span></span><a class="headerlink" href="#cmdoption-log-file" title="Permalink to this definition"></a></dt>
<dd><p>Path to log file.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-verbosity">
<span class="sig-name descname"><span class="pre">--verbosity</span></span><span class="sig-prename descclassname"> <span class="pre">level</span></span><a class="headerlink" href="#cmdoption-verbosity" title="Permalink to this definition"></a></dt>
<dd><p>Log verbosity, 4=DEBUG, 3=INFO, 2=WARN, 1=ERR, 0=QUIET.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-debug">
<span class="sig-name descname"><span class="pre">--debug</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-debug" title="Permalink to this definition"></a></dt>
<dd><p>Set log level to DEBUG and log everything to stderr.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-verify">
<span class="sig-name descname"><span class="pre">--verify</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-verify" title="Permalink to this definition"></a></dt>
<dd><p>Dump package contents. This option is only useful for testing and debugging.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-test">
<span class="sig-name descname"><span class="pre">--test</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-test" title="Permalink to this definition"></a></dt>
<dd><p>Do not send any data to CAPS.</p>
</dd></dl>
</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="#">rtpd2caps</a><ul>
<li><a class="reference internal" href="#description">Description</a></li>
<li><a class="reference internal" href="#test-examples">Test examples</a></li>
<li><a class="reference internal" href="#module-configuration">Module Configuration</a></li>
<li><a class="reference internal" href="#bindings-parameters">Bindings Parameters</a></li>
<li><a class="reference internal" href="#command-line-options">Command-Line Options</a></li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="rs2caps.html"
title="previous chapter">rs2caps</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="slink2caps.html"
title="next chapter">slink2caps</a></p>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/apps/rtpd2caps.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="content">
Release <b></b> version <b>2025.254#f0c77b29e</b>
<div class="copyright">
&copy; Copyright <a href="https://www.gempa.de">2013, gempa GmbH.</a>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,576 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>slink2caps &#8212; CAPS: Common Acquisition Protocol Server documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/gempa.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/gempa.css?v=c960eebf" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/gempa.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=b3ba4146"></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="sproc2caps" href="sproc2caps.html" />
<link rel="prev" title="rtpd2caps" href="rtpd2caps.html" />
</head>
<body>
<div class="header">
<div class="container">
<img class="background" src="../_static/icon.png"/>
<div class="content">
<span class="title">CAPS: Common Acquisition Protocol Server </span>
<span class="version">2025.254#f0c77b29e</span></h1>
</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="sproc2caps.html" title="sproc2caps"
accesskey="N">
next
</a>
</li>
<li class="right">
<a href="rtpd2caps.html" title="rtpd2caps"
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="../base/plugins.html" accesskey="U">Data Acquisition and Manipulation by Plugins</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="slink2caps">
<span id="id1"></span><h1>slink2caps<a class="headerlink" href="#slink2caps" title="Permalink to this heading"></a></h1>
<p><strong>Data retrieval to CAPS using SeedLink plugins.</strong></p>
<section id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
<p><em>slink2caps</em> uses the available <a class="reference internal" href="../base/glossary.html#term-SeedLink"><span class="xref std std-term">SeedLink</span></a> plugins to feed data from other
sources into <a class="reference internal" href="caps.html#caps"><span class="std std-ref">caps</span></a> server. Data can be retrieved from any sources for
which a <a class="reference internal" href="../base/glossary.html#term-SeedLink"><span class="xref std std-term">SeedLink</span></a> plugin exists. The data will be converted into
<a class="reference internal" href="../base/archive.html#sec-pt-miniseed"><span class="std std-ref">MiniSeed</span></a> format or other formats depending on the plugin itself.</p>
<p>For retrieving data from a <a class="reference internal" href="caps.html#caps"><span class="std std-ref">caps</span></a> server you may use <a class="reference internal" href="capstool.html#capstool"><span class="std std-ref">capstool</span></a> or
<a class="reference internal" href="rifftool.html#rifftool"><span class="std std-ref">rifftool</span></a>.</p>
</section>
<section id="transient-packets">
<h2>Transient Packets<a class="headerlink" href="#transient-packets" title="Permalink to this heading"></a></h2>
<p>The plugin data acquisition and the CAPS outgoing connection is not
synchronized so that packets might be received by plugins but could not be forwarded to
CAPS since the plugin is not allowed to send data to the server or the server
is not reachable. In this case packets are in transient state and would be lost
on shutdown. To prevent packet loss the plugin stores all transient packets to
disk during shutdown by default. Configure <a class="reference internal" href="#confval-buffer"><code class="xref std std-confval docutils literal notranslate"><span class="pre">buffer</span></code></a> for using an
alternative location.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Keep in mind to remove the buffer file before starting the plugin in case you
wish to reset the data acquisition completely.</p>
</div>
</section>
<section id="module-setup">
<h2>Module Setup<a class="headerlink" href="#module-setup" title="Permalink to this heading"></a></h2>
<p>Very few configuration steps are required as a minium to use slink2caps:</p>
<ol class="arabic">
<li><p>Identify the <a class="reference internal" href="../base/glossary.html#term-SeedLink"><span class="xref std std-term">SeedLink</span></a> instance to consider. Lets assume in this
description this instance is <strong class="program">seedlink</strong>. In general you may use any
instance (alias) of <a class="reference internal" href="../base/glossary.html#term-SeedLink"><span class="xref std std-term">SeedLink</span></a>.</p></li>
<li><p>Configure the <a class="reference internal" href="../base/glossary.html#term-SeedLink"><span class="xref std std-term">SeedLink</span></a> instance to consider:</p>
<ul>
<li><p>Disable the time tables in module configuration (<code class="file docutils literal notranslate"><span class="pre">&#64;SYSTEMCONFIGDIR&#64;/seedlink.cfg</span></code>):</p>
<div class="highlight-properties notranslate"><div class="highlight"><pre><span></span><span class="na">plugins.chain.loadTimeTable</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">false</span>
</pre></div>
</div>
</li>
<li><p>Create bindings as usual for <a class="reference internal" href="../base/glossary.html#term-SeedLink"><span class="xref std std-term">SeedLink</span></a>.</p></li>
</ul>
</li>
<li><p>If any other instance than <strong class="program">seedlink</strong> is considered, then you need
to configure the parameters in the <span class="xref std std-ref">seedlink</span> section of the module
configuration of slink2caps.</p></li>
<li><p>Apply the configuration changes and stop the considered <a class="reference internal" href="../base/glossary.html#term-SeedLink"><span class="xref std std-term">SeedLink</span></a>
instance. Then, enable and start slink2caps:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>seiscomp<span class="w"> </span>stop<span class="w"> </span>seedlink
seiscomp<span class="w"> </span>disable<span class="w"> </span>seedlink
seiscomp<span class="w"> </span>update-config<span class="w"> </span>seedlink
seiscomp<span class="w"> </span><span class="nb">enable</span><span class="w"> </span>slink2caps
seisomp<span class="w"> </span>start<span class="w"> </span>slink2caps
</pre></div>
</div>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>The seedlink instance which is considered must not be running while using
slink2caps. E.g. when using <strong class="program">seedlink</strong> stop and disable this
instance first.</p>
</div>
</li>
</ol>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>As for many other <cite>SeisComP</cite> and gempa modules, you may create aliases from
slink2caps for running multiple instances with different configurations at
the same time. In this case you must adjust the <a class="reference internal" href="#confval-buffer"><code class="xref std std-confval docutils literal notranslate"><span class="pre">buffer</span></code></a> and the
<span class="xref std std-ref">journal.*</span> parameters.</p>
<p>You may create or remove a module alias using the <strong class="program">seiscomp</strong> tool,
e.g.:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>seiscomp<span class="w"> </span><span class="nb">alias</span><span class="w"> </span>create<span class="w"> </span>slink2caps-alias<span class="w"> </span>slink2caps
seiscomp<span class="w"> </span>--interactive<span class="w"> </span><span class="nb">alias</span><span class="w"> </span>remove<span class="w"> </span>slink2caps-alias
</pre></div>
</div>
</div>
</section>
<section id="module-configuration">
<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/slink2caps.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/slink2caps.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/slink2caps.cfg</span></code></div>
</div>
<p>slink2caps inherits <a class="reference internal" href="global.html#global-configuration"><span class="std std-ref">global options</span></a>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Modules/plugins may require a license file. The default path to license
files is <code class="file docutils literal notranslate"><span class="pre">&#64;DATADIR&#64;/licenses/</span></code> which can be overridden by global
configuration of the parameter <code class="xref std std-confval docutils literal notranslate"><span class="pre">gempa.licensePath</span></code>. Example:</p>
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span>gempa.licensePath = @CONFIGDIR@/licenses
</pre></div>
</div>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-buffer">
<span class="sig-name descname"><span class="pre">buffer</span></span><a class="headerlink" href="#confval-buffer" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">&#64;ROOTDIR&#64;/var/lib/slink2caps/buffer.mseed</span></code></p>
<p>Type: <em>path</em></p>
<p>Path to buffer file where transient packets are stored on disk during shutdown.
Transient means packets that have been received from input plugins,
e.g., chain_plugin but have not been acknowledged by CAPS. Without local storage
on disk those packets would be lost. During start the plugin
reads the buffer file and tries to send the packets again. Please keep in mind
to remove the buffer file before plugin start in case of the data
acquisition should be reset.</p>
</dd></dl>
<div class="admonition note" id="seedlink">
<p class="admonition-title">Note</p>
<p><strong>seedlink.*</strong>
<em>Data input control</em></p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-seedlink.config">
<span class="sig-name descname"><span class="pre">seedlink.config</span></span><a class="headerlink" href="#confval-seedlink.config" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">&#64;ROOTDIR&#64;/var/lib/seedlink/seedlink.ini</span></code></p>
<p>Type: <em>path</em></p>
<p>Path to Seedlink configuration file. Use the respective name
if seedlink runs as an alias.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-seedlink.name">
<span class="sig-name descname"><span class="pre">seedlink.name</span></span><a class="headerlink" href="#confval-seedlink.name" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">seedlink</span></code></p>
<p>Type: <em>string</em></p>
<p>Name of Seedlink configuration section. Use the respective name
if seedlink runs as an alias.</p>
</dd></dl>
<div class="admonition note" id="output">
<p class="admonition-title">Note</p>
<p><strong>output.*</strong>
<em>Data output control</em></p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.stdout">
<span class="sig-name descname"><span class="pre">output.stdout</span></span><a class="headerlink" href="#confval-output.stdout" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">false</span></code></p>
<p>Type: <em>boolean</em></p>
<p>Write miniSEED records to stdout instead of pushing them
to CAPS.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.address">
<span class="sig-name descname"><span class="pre">output.address</span></span><a class="headerlink" href="#confval-output.address" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">localhost:18003</span></code></p>
<p>Type: <em>string</em></p>
<p>Data output URL [[caps|capss]://][user:pass&#64;]host[:port]. This parameter
superseds the host and port parameter of previous versions and takes precedence.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.host">
<span class="sig-name descname"><span class="pre">output.host</span></span><a class="headerlink" href="#confval-output.host" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">localhost</span></code></p>
<p>Type: <em>string</em></p>
<p>Data output host. Deprecated: Use output.address instead.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.port">
<span class="sig-name descname"><span class="pre">output.port</span></span><a class="headerlink" href="#confval-output.port" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">18003</span></code></p>
<p>Type: <em>int</em></p>
<p>Data output port. Deprecated: Use output.address instead.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.timeout">
<span class="sig-name descname"><span class="pre">output.timeout</span></span><a class="headerlink" href="#confval-output.timeout" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">60</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>int</em></p>
<p>Timeout when sending a packet. If the timeout expires
the connection will be closed and re-established.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.maxFutureEndTime">
<span class="sig-name descname"><span class="pre">output.maxFutureEndTime</span></span><a class="headerlink" href="#confval-output.maxFutureEndTime" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">120</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>int</em></p>
<p>Maximum allowed relative end time for packets. If the packet
end time is greater than the current time plus this value,
the packet will be discarded. By default this value is set
to 120 seconds.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.bufferSize">
<span class="sig-name descname"><span class="pre">output.bufferSize</span></span><a class="headerlink" href="#confval-output.bufferSize" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">131072</span></code></p>
<p>Unit: <em>bytes</em></p>
<p>Type: <em>uint</em></p>
<p>Size (bytes) of the packet buffer</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.backFillingBufferSize">
<span class="sig-name descname"><span class="pre">output.backFillingBufferSize</span></span><a class="headerlink" href="#confval-output.backFillingBufferSize" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">0</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>int</em></p>
<p>Length of backfilling buffer. Whenever a gap is detected, records
will be held in a buffer and not sent out. Records are flushed from
front to back if the buffer size is exceeded.</p>
</dd></dl>
<span class="target" id="journal"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-journal.file">
<span class="sig-name descname"><span class="pre">journal.file</span></span><a class="headerlink" href="#confval-journal.file" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">&#64;ROOTDIR&#64;/var/run/rs2caps/journal</span></code></p>
<p>Type: <em>string</em></p>
<p>File to store stream states</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-journal.flush">
<span class="sig-name descname"><span class="pre">journal.flush</span></span><a class="headerlink" href="#confval-journal.flush" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">10</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>uint</em></p>
<p>Flush stream states to disk every n seconds</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-journal.waitForAck">
<span class="sig-name descname"><span class="pre">journal.waitForAck</span></span><a class="headerlink" href="#confval-journal.waitForAck" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">60</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>uint</em></p>
<p>Wait when a sync has been forced, up to n seconds</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-journal.waitForLastAck">
<span class="sig-name descname"><span class="pre">journal.waitForLastAck</span></span><a class="headerlink" href="#confval-journal.waitForLastAck" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">5</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>uint</em></p>
<p>Wait on shutdown to receive acknownledgement messages, up to n seconds</p>
</dd></dl>
<span class="target" id="statuslog"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-statusLog.enable">
<span class="sig-name descname"><span class="pre">statusLog.enable</span></span><a class="headerlink" href="#confval-statusLog.enable" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">false</span></code></p>
<p>Type: <em>boolean</em></p>
<p>Log information status information e.g.
max bytes buffered</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-statusLog.flush">
<span class="sig-name descname"><span class="pre">statusLog.flush</span></span><a class="headerlink" href="#confval-statusLog.flush" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">10</span></code></p>
<p>Type: <em>uint</em></p>
<p>Flush status every n seconds to disk</p>
</dd></dl>
</section>
<section id="command-line-options">
<h2>Command-Line Options<a class="headerlink" href="#command-line-options" title="Permalink to this heading"></a></h2>
<section id="generic">
<span id="id2"></span><h3>Generic<a class="headerlink" href="#generic" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-h">
<span id="cmdoption-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-h" title="Permalink to this definition"></a></dt>
<dd><p>Show help message.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-V">
<span id="cmdoption-version"></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">--version</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-V" title="Permalink to this definition"></a></dt>
<dd><p>Show version information.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-config-file">
<span class="sig-name descname"><span class="pre">--config-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-config-file" title="Permalink to this definition"></a></dt>
<dd><p>Use alternative configuration file. When this option is
used the loading of all stages is disabled. Only the
given configuration file is parsed and used. To use
another name for the configuration create a symbolic
link of the application or copy it. Example:
scautopick -&gt; scautopick2.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-plugins">
<span class="sig-name descname"><span class="pre">--plugins</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-plugins" title="Permalink to this definition"></a></dt>
<dd><p>Load given plugins.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-D">
<span id="cmdoption-daemon"></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">--daemon</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-D" title="Permalink to this definition"></a></dt>
<dd><p>Run as daemon. This means the application will fork itself
and doesnt need to be started with &amp;.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-f">
<span id="cmdoption-seedlink-config"></span><span class="sig-name descname"><span class="pre">-f</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">--seedlink-config</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-f" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">&#64;ROOTDIR&#64;/var/lib/seedlink/seedlink.ini</span></code></p>
<p>Path to Seedlink configuration file. Default: &#64;ROOTDIR&#64;/var/lib/seedlink/seedlink.ini</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-n">
<span id="cmdoption-section-name"></span><span class="sig-name descname"><span class="pre">-n</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">--section-name</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-n" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">seedlink</span></code></p>
<p>Name of Seedlink configuration section. Default: seedlink.</p>
</dd></dl>
</section>
<section id="verbosity">
<span id="id3"></span><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-verbosity">
<span class="sig-name descname"><span class="pre">--verbosity</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-verbosity" title="Permalink to this definition"></a></dt>
<dd><p>Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info,
4:debug.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-v">
<span id="cmdoption-v"></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">--v</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-v" title="Permalink to this definition"></a></dt>
<dd><p>Increase verbosity level (may be repeated, eg. -vv).</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-q">
<span id="cmdoption-quiet"></span><span class="sig-name descname"><span class="pre">-q</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">--quiet</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-q" title="Permalink to this definition"></a></dt>
<dd><p>Quiet mode: no logging output.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-print-component">
<span class="sig-name descname"><span class="pre">--print-component</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-print-component" title="Permalink to this definition"></a></dt>
<dd><p>For each log entry print the component right after the
log level. By default the component output is enabled
for file output but disabled for console output.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-component">
<span class="sig-name descname"><span class="pre">--component</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-component" title="Permalink to this definition"></a></dt>
<dd><p>Limit the logging to a certain component. This option can
be given more than once.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-s">
<span id="cmdoption-syslog"></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">--syslog</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-s" title="Permalink to this definition"></a></dt>
<dd><p>Use syslog logging backend. The output usually goes to
/var/lib/messages.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-l">
<span id="cmdoption-lockfile"></span><span class="sig-name descname"><span class="pre">-l</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">--lockfile</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-l" title="Permalink to this definition"></a></dt>
<dd><p>Path to lock file.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-console">
<span class="sig-name descname"><span class="pre">--console</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-console" title="Permalink to this definition"></a></dt>
<dd><p>Send log output to stdout.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-debug">
<span class="sig-name descname"><span class="pre">--debug</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-debug" title="Permalink to this definition"></a></dt>
<dd><p>Execute in debug mode.
Equivalent to --verbosity=4 --console=1 .</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-trace">
<span class="sig-name descname"><span class="pre">--trace</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-trace" title="Permalink to this definition"></a></dt>
<dd><p>Execute in trace mode.
Equivalent to --verbosity=4 --console=1 --print-component=1
--print-context=1 .</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-log-file">
<span class="sig-name descname"><span class="pre">--log-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-log-file" title="Permalink to this definition"></a></dt>
<dd><p>Use alternative log file.</p>
</dd></dl>
</section>
<section id="id4">
<span id="id5"></span><h3>Output<a class="headerlink" href="#id4" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-H">
<span id="cmdoption-host"></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">--host</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-H" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">localhost</span></code></p>
<p>Data output host. Default: localhost.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-p">
<span id="cmdoption-port"></span><span class="sig-name descname"><span class="pre">-p</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">--port</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-p" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">18003</span></code></p>
<p>Data output port. Default: 18003.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-c">
<span id="cmdoption-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-c" title="Permalink to this definition"></a></dt>
<dd><p>Write records to stdout.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-max-future-endtime">
<span class="sig-name descname"><span class="pre">--max-future-endtime</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-max-future-endtime" title="Permalink to this definition"></a></dt>
<dd><p>Maximum allowed relative end time for packets. If the packet
end time is greater than the current time plus this value,
the packet will be discarded. By default this value is set
to 120 seconds.</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="#">slink2caps</a><ul>
<li><a class="reference internal" href="#description">Description</a></li>
<li><a class="reference internal" href="#transient-packets">Transient Packets</a></li>
<li><a class="reference internal" href="#module-setup">Module Setup</a></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="#generic">Generic</a></li>
<li><a class="reference internal" href="#verbosity">Verbosity</a></li>
<li><a class="reference internal" href="#id4">Output</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="rtpd2caps.html"
title="previous chapter">rtpd2caps</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="sproc2caps.html"
title="next chapter">sproc2caps</a></p>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/apps/slink2caps.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="content">
Release <b></b> version <b>2025.254#f0c77b29e</b>
<div class="copyright">
&copy; Copyright <a href="https://www.gempa.de">2013, gempa GmbH.</a>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,818 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>sproc2caps &#8212; CAPS: Common Acquisition Protocol Server documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/gempa.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/gempa.css?v=c960eebf" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/gempa.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=b3ba4146"></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="test2caps" href="test2caps.html" />
<link rel="prev" title="slink2caps" href="slink2caps.html" />
</head>
<body>
<div class="header">
<div class="container">
<img class="background" src="../_static/icon.png"/>
<div class="content">
<span class="title">CAPS: Common Acquisition Protocol Server </span>
<span class="version">2025.254#f0c77b29e</span></h1>
</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="test2caps.html" title="test2caps"
accesskey="N">
next
</a>
</li>
<li class="right">
<a href="slink2caps.html" title="slink2caps"
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="../base/plugins.html" accesskey="U">Data Acquisition and Manipulation by Plugins</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="sproc2caps">
<span id="id1"></span><h1>sproc2caps<a class="headerlink" href="#sproc2caps" title="Permalink to this heading"></a></h1>
<p><strong>Recordstream data acquisition plugin that applies filter and/or a
mathematical expression to one or more data streams forming new streams</strong></p>
<section id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
<p>The sproc2caps plugin requests data from a <cite>SeisComP</cite> <span id="id2"><em>RecordStream</em> [<a class="reference internal" href="../base/references.html#id225" title="RecordStream. SeisComP interface. URL: https://docs.gempa.de/seiscomp/current/apps/global_recordstream.html.">6</a>]</span> in
real time or based on <a class="reference internal" href="#sproc-tw"><span class="std std-ref">time windows</span></a>,
<a class="reference internal" href="#sproc-filter"><span class="std std-ref">filters the data</span></a> and/or applies
<a class="reference internal" href="#sproc-expressions"><span class="std std-ref">mathematical expressions</span></a>. The processed data is sent
to a CAPS server or to stdout. Streams can be <a class="reference internal" href="#sproc-rename"><span class="std std-ref">renamed</span></a>.</p>
</section>
<section id="setup">
<h2>Setup<a class="headerlink" href="#setup" title="Permalink to this heading"></a></h2>
<section id="streams">
<h3>Streams<a class="headerlink" href="#streams" title="Permalink to this heading"></a></h3>
<p>The plugin reads the streams to subscribe to from a separate stream map file.
The location of the file can be either defined in the plugin configuration or
given as a command line argument:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>streams.map<span class="w"> </span><span class="o">=</span><span class="w"> </span>@DATADIR@/sproc2caps/streams.map
</pre></div>
</div>
<p>Each line of the stream map file defines n input streams and one output stream.
By definition at least one input and one output stream must be given. The last
argument in a line is the output stream. All other lines are input stream. Lines
beginning with a comment are ignored.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>The map file is required even if the stream codes remain the same. Without an
entry in the map file the input streams are not treated.</p>
</div>
<p>Example map file:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1">#Input 1 Input 2 ... Output</span>
XX.TEST1..HHZ<span class="w"> </span>XX.TEST2..HHZ<span class="w"> </span>...<span class="w"> </span>XX.TEST3..HHZ
</pre></div>
</div>
<p>Each stream entry may contain additional stream options e.g. for
<a class="reference internal" href="#sproc-filter"><span class="std std-ref">data filtering</span></a>. Options are indicated by “?”.</p>
<p>The following stream options are supported:</p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Name</p></th>
<th class="head"><p>Description</p></th>
<th class="head"><p>Example</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>filter</p></td>
<td><p>Filter string</p></td>
<td><p>filter=BW(4,0.7,2)</p></td>
</tr>
<tr class="row-odd"><td><p>unit</p></td>
<td><p>Output unit</p></td>
<td><p>unit=cm/s</p></td>
</tr>
<tr class="row-even"><td><p>expr</p></td>
<td><p>Expression to be used(Output only)</p></td>
<td><p>expr=x1+x2</p></td>
</tr>
</tbody>
</table>
<p>Examples of streams with stream options:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>XX.TEST1..HHZ?filter<span class="o">=</span>BW_HP<span class="o">(</span><span class="m">4</span>,0.1<span class="o">)</span>
XX.TEST2..HHZ?filter<span class="o">=</span>BW_HP<span class="o">(</span><span class="m">4</span>,0.1<span class="o">)</span>
XX.TEST3..HHZ?filter<span class="o">=</span>BW<span class="o">(</span><span class="m">4</span>,0.7,2<span class="o">)</span>?unit<span class="o">=</span>cm/s
</pre></div>
</div>
<p>For the given example the plugin assigns the following access variables to
the streams. The access variables can be used in the mathematical expression string.
The <em>unit</em> option provides an additional description of the stream. <em>unit</em>
does not modify the stream.</p>
<p>Access variables for N input streams:</p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>map,input</p></th>
<th class="head"><p>input 1</p></th>
<th class="head"><p>input 2</p></th>
<th class="head"><p></p></th>
<th class="head"><p>input N</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>stream</p></td>
<td><p>XX.TEST1..HHZ</p></td>
<td><p>XX.TEST2..HHZ</p></td>
<td><p></p></td>
<td><p>XX.TESTN..HHZ</p></td>
</tr>
<tr class="row-odd"><td><p>variable</p></td>
<td><p>x1</p></td>
<td><p>x2</p></td>
<td><p></p></td>
<td><p>xN</p></td>
</tr>
</tbody>
</table>
<p>When the mathematical expression is evaluated the xi will be replaced with the
sample of the corresponding stream at the sample time. The maximum number of
input streams is 3.</p>
</section>
<section id="filtering">
<span id="sproc-filter"></span><h3>Filtering<a class="headerlink" href="#filtering" title="Permalink to this heading"></a></h3>
<p>Input data can be filtered before <a class="reference internal" href="#sproc-expressions"><span class="std std-ref">mathematical expressions</span></a>
are applied. Filter grammar and all filters <span id="id3">[<a class="reference internal" href="../base/references.html#id143" title="Filter Grammar. SeisComP filter. URL: https://docs.gempa.de/seiscomp/current/base/filter-grammar.html.">4</a>]</span> known from
<cite>SeisComP</cite> can be considered. By default input data remain unfiltered.</p>
<p>Example for setting the filter in the map file:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>XX.TEST1..HHZ?filter<span class="o">=</span>BW<span class="o">(</span><span class="m">4</span>,0.7,2<span class="o">)</span><span class="w"> </span>XX.TEST2..HHZ<span class="w"> </span>XX.TEST3..HHZ
</pre></div>
</div>
</section>
<section id="expressions">
<span id="sproc-expressions"></span><h3>Expressions<a class="headerlink" href="#expressions" title="Permalink to this heading"></a></h3>
<p>The sproc plugin uses the C++ Mathematical Expression Library to evaluate
mathematical expressions. The library supports a wide range of mathematical
expressions. The complete feature list can be found <a class="reference external" href="http://www.partow.net/programming/exprtk/">here</a>. The number of
input variables depends on the number of input streams. The variables are numbered
consecutively from 1 to n: x1, x2, …, xn.</p>
<p>Example how to multiply 3 streams:</p>
<ul class="simple">
<li><p>via command-line:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>--expr<span class="o">=</span><span class="s2">&quot;x1*x2*x3&quot;</span>
</pre></div>
</div>
<ul class="simple">
<li><p>via config:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>streams.expr<span class="w"> </span><span class="o">=</span><span class="w"> </span>x1*x2*x3
</pre></div>
</div>
<ul class="simple">
<li><p>via stream options:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>XX.TEST1..HHZ<span class="w"> </span>XX.TEST2..HHZ<span class="w"> </span>XX.TEST3..HHZ<span class="w"> </span>XX.TESTOUT..HHZ?expr<span class="o">=</span>x1*x2*x3
</pre></div>
</div>
</section>
<section id="rename-streams">
<span id="sproc-rename"></span><h3>Rename Streams<a class="headerlink" href="#rename-streams" title="Permalink to this heading"></a></h3>
<p>In addition to applying mathematical expressions to streams, the plugin can be also used to
rename streams. With the following example we show how to map the streams <strong>GE.APE..BHE</strong> and
<strong>GE.BKNI..BHE</strong> to new stream ids and store the output streams in the same CAPS server:</p>
<ol class="arabic">
<li><p>Open the plugin configuration and create a clone of the input data stream with:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>streams.expr<span class="w"> </span><span class="o">=</span><span class="w"> </span>x1
</pre></div>
</div>
</li>
<li><p>Create the mapping file <strong>&#64;DATADIR&#64;/sproc2caps/streams.map</strong> with the following content</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Input Output</span>
GE.APE..BHE<span class="w"> </span>AB.APE..BHE
GE.BKNI..BHE<span class="w"> </span>GE.BKNI2..BHE
</pre></div>
</div>
</li>
</ol>
</section>
<section id="time-windows">
<span id="sproc-tw"></span><h3>Time windows<a class="headerlink" href="#time-windows" title="Permalink to this heading"></a></h3>
<p>Set the time windows using <em>begin</em> and <em>end</em> to set the start and the end times,
respectively. When no time window is given, real-time input data are considered.</p>
</section>
</section>
<section id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this heading"></a></h2>
<ol class="arabic">
<li><p>To map waveform data for a specific time window reading from a local CAPS server on
localhost:18002 and sending to the plugin port of the same CAPS server on localhost:18003 run:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sproc2caps<span class="w"> </span>--begin<span class="w"> </span><span class="s2">&quot;2019-01-01 00:00:00&quot;</span><span class="w"> </span>--end<span class="w"> </span><span class="s2">&quot;2019-01-01 01:00:00&quot;</span><span class="w"> </span>-I<span class="w"> </span><span class="s2">&quot;caps://localhost:18002&quot;</span><span class="w"> </span>-a<span class="w"> </span>localhost:18003
</pre></div>
</div>
<p>This will create duplicate data on the CAPS server if the map file renames the streams.
To remove the original streams:</p>
<ol class="arabic simple">
<li><p>Configure caps to keep the orignal data for 0 days</p></li>
<li><p>Restart or reload caps</p></li>
</ol>
</li>
<li><p>Read real-time data from an external seedlink server like with
<span id="id4">[<a class="reference internal" href="../base/references.html#id299" title="slinks2caps. gempa plugin. URL: https://docs.gempa.de/caps/current/apps/slink2caps.html#slink2caps.">21</a>]</span> but applying the mapping:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sproc2caps<span class="w"> </span>-I<span class="w"> </span><span class="s2">&quot;slink://host:18000&quot;</span><span class="w"> </span>-a<span class="w"> </span>localhost:18003
</pre></div>
</div>
</li>
<li><p>Read data from the file <em>data.mseed</em> resample to 10 Hz sample rate by the
RecordStream and write the resulting data to stdout. By applying
<a class="reference internal" href="#cmdoption-stop"><code class="xref std std-option docutils literal notranslate"><span class="pre">--stop</span></code></a> the processing stops when the data is read completely:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sproc2caps<span class="w"> </span>-I<span class="w"> </span>dec://file?rate<span class="o">=</span><span class="m">10</span>/data.mseed<span class="w"> </span>-d<span class="w"> </span>localhost<span class="w"> </span>--gain-in<span class="w"> </span><span class="m">1</span><span class="w"> </span>--gain-out<span class="w"> </span><span class="m">1</span><span class="w"> </span>--dump-packets<span class="w"> </span>--mseed<span class="w"> </span>--begin<span class="w"> </span><span class="s2">&quot;2000-01-01 00:00:00&quot;</span><span class="w"> </span>--stop<span class="w"> </span>&gt;<span class="w"> </span>test.mseed
</pre></div>
</div>
<p>You may join the command with <span id="id5"><em>capstool</em> [<a class="reference internal" href="../base/references.html#id120" title="capstool. gempa plugin. URL: https://docs.gempa.de/caps/current/apps/capstool.html.">10</a>]</span> and <span id="id6"><em>scmssort</em> [<a class="reference internal" href="../base/references.html#id266" title="scmssort. SeisComP module. URL: https://docs.gempa.de/seiscomp/current/apps/scmssort.html.">16</a>]</span>:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">echo</span><span class="w"> </span><span class="s2">&quot;2024,01,01,00,00,00 2024,01,01,00,10,00 * * * *&quot;</span><span class="w"> </span><span class="p">|</span><span class="w"> </span>capstool<span class="w"> </span>-H<span class="w"> </span>localhost<span class="w"> </span><span class="p">|</span><span class="se">\</span>
sproc2caps<span class="w"> </span>-I<span class="w"> </span>dec://file?rate<span class="o">=</span><span class="m">10</span>/-<span class="w"> </span>-d<span class="w"> </span>localhost<span class="w"> </span>--gain-in<span class="w"> </span><span class="m">1</span><span class="w"> </span>--gain-out<span class="w"> </span><span class="m">1</span><span class="w"> </span>--dump-packets<span class="w"> </span>--mseed<span class="w"> </span>--begin<span class="w"> </span><span class="s2">&quot;2000-01-01 00:00:00&quot;</span><span class="w"> </span>--stop<span class="w"> </span><span class="p">|</span><span class="se">\</span>
scmssort<span class="w"> </span>-E<span class="w"> </span>&gt;<span class="w"> </span>test.mseed
</pre></div>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>A similar action may be executed using <a class="reference internal" href="rs2caps.html#rs2caps"><span class="std std-ref">rs2caps</span></a>.</p>
</div>
</li>
</ol>
</section>
<section id="module-configuration">
<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/sproc2caps.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/sproc2caps.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/sproc2caps.cfg</span></code></div>
</div>
<p>sproc2caps inherits <a class="reference internal" href="global.html#global-configuration"><span class="std std-ref">global options</span></a>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Modules/plugins may require a license file. The default path to license
files is <code class="file docutils literal notranslate"><span class="pre">&#64;DATADIR&#64;/licenses/</span></code> which can be overridden by global
configuration of the parameter <code class="xref std std-confval docutils literal notranslate"><span class="pre">gempa.licensePath</span></code>. Example:</p>
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span>gempa.licensePath = @CONFIGDIR@/licenses
</pre></div>
</div>
</div>
<span class="target" id="journal"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-journal.file">
<span class="sig-name descname"><span class="pre">journal.file</span></span><a class="headerlink" href="#confval-journal.file" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">&#64;ROOTDIR&#64;/var/run/sproc2caps/journal</span></code></p>
<p>Type: <em>string</em></p>
<p>File to store stream states</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-journal.flush">
<span class="sig-name descname"><span class="pre">journal.flush</span></span><a class="headerlink" href="#confval-journal.flush" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">10</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>uint</em></p>
<p>Flush stream states to disk every n seconds</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-journal.waitForAck">
<span class="sig-name descname"><span class="pre">journal.waitForAck</span></span><a class="headerlink" href="#confval-journal.waitForAck" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">60</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>uint</em></p>
<p>Wait when a sync has been forced, up to n seconds</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-journal.waitForLastAck">
<span class="sig-name descname"><span class="pre">journal.waitForLastAck</span></span><a class="headerlink" href="#confval-journal.waitForLastAck" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">5</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>uint</em></p>
<p>Wait on shutdown to receive acknownledgement messages, up to n seconds</p>
</dd></dl>
<div class="admonition note" id="id7">
<p class="admonition-title">Note</p>
<p><strong>streams.*</strong>
<em>Configure operations applied to input streams and the stream mapping.</em></p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-streams.begin">
<span class="sig-name descname"><span class="pre">streams.begin</span></span><a class="headerlink" href="#confval-streams.begin" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Start time of data time window, default GMT</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-streams.end">
<span class="sig-name descname"><span class="pre">streams.end</span></span><a class="headerlink" href="#confval-streams.end" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>End time of data time window</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-streams.filter">
<span class="sig-name descname"><span class="pre">streams.filter</span></span><a class="headerlink" href="#confval-streams.filter" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">self</span></code></p>
<p>Type: <em>string</em></p>
<p>Sets the input filter</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-streams.expr">
<span class="sig-name descname"><span class="pre">streams.expr</span></span><a class="headerlink" href="#confval-streams.expr" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">x1</span> <span class="pre">+</span> <span class="pre">x2</span></code></p>
<p>Type: <em>string</em></p>
<p>Sets the mathematical expression</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-streams.map">
<span class="sig-name descname"><span class="pre">streams.map</span></span><a class="headerlink" href="#confval-streams.map" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">&#64;DATADIR&#64;/sproc2caps/streams.map</span></code></p>
<p>Type: <em>string</em></p>
<p>Absolute path to the stream map file. Each line
holds n input streams and one output stream.
Example:</p>
<p>CX.PB11..BHZ CX.PB11..BHZ</p>
<p>CX.PB11..BHZ CX.PB07..BHZ CX.PB11..BBZ</p>
</dd></dl>
<div class="admonition note" id="output">
<p class="admonition-title">Note</p>
<p><strong>output.*</strong>
<em>Configure the data output.</em></p>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.address">
<span class="sig-name descname"><span class="pre">output.address</span></span><a class="headerlink" href="#confval-output.address" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">localhost:18003</span></code></p>
<p>Type: <em>string</em></p>
<p>Data output URL [[caps|capss]://][user:pass&#64;]host[:port]. This parameter
superseds the host and port parameter of previous versions and takes precedence.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.host">
<span class="sig-name descname"><span class="pre">output.host</span></span><a class="headerlink" href="#confval-output.host" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">localhost</span></code></p>
<p>Type: <em>string</em></p>
<p>Data output host. Deprecated: Use output.address instead.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.port">
<span class="sig-name descname"><span class="pre">output.port</span></span><a class="headerlink" href="#confval-output.port" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">18003</span></code></p>
<p>Type: <em>int</em></p>
<p>Data output port. Deprecated: Use output.address instead.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.bufferSize">
<span class="sig-name descname"><span class="pre">output.bufferSize</span></span><a class="headerlink" href="#confval-output.bufferSize" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">1048576</span></code></p>
<p>Unit: <em>B</em></p>
<p>Type: <em>uint</em></p>
<p>Size (bytes) of the packet buffer</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.backfillingBufferSize">
<span class="sig-name descname"><span class="pre">output.backfillingBufferSize</span></span><a class="headerlink" href="#confval-output.backfillingBufferSize" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">180</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>uint</em></p>
<p>Length of backfilling buffer. Whenever a gap is detected, records
will be held in a buffer and not sent out. Records are flushed from
front to back if the buffer size is exceeded.</p>
</dd></dl>
<span class="target" id="output-mseed"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-output.mseed.enable">
<span class="sig-name descname"><span class="pre">output.mseed.enable</span></span><a class="headerlink" href="#confval-output.mseed.enable" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">true</span></code></p>
<p>Type: <em>boolean</em></p>
<p>Enable on-the-fly MiniSeed
encoding. If the encoder does not support the input
type of a packet it will be forwarded. Re encoding of
MiniSEED packets is not supported.</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.mseed.encoding">
<span class="sig-name descname"><span class="pre">output.mseed.encoding</span></span><a class="headerlink" href="#confval-output.mseed.encoding" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">Steim2</span></code></p>
<p>Type: <em>string</em></p>
<p>MiniSEED encoding to use. (Uncompressed, Steim1 or Steim2)</p>
</dd></dl>
<span class="target" id="statuslog"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-statusLog.enable">
<span class="sig-name descname"><span class="pre">statusLog.enable</span></span><a class="headerlink" href="#confval-statusLog.enable" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">false</span></code></p>
<p>Type: <em>boolean</em></p>
<p>Log information status information e.g.
max bytes buffered</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-statusLog.flush">
<span class="sig-name descname"><span class="pre">statusLog.flush</span></span><a class="headerlink" href="#confval-statusLog.flush" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">10</span></code></p>
<p>Unit: <em>s</em></p>
<p>Type: <em>uint</em></p>
<p>Flush status every n seconds to disk</p>
</dd></dl>
</section>
<section id="command-line-options">
<h2>Command-Line Options<a class="headerlink" href="#command-line-options" title="Permalink to this heading"></a></h2>
<section id="generic">
<span id="id8"></span><h3>Generic<a class="headerlink" href="#generic" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-h">
<span id="cmdoption-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-h" title="Permalink to this definition"></a></dt>
<dd><p>Show help message.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-V">
<span id="cmdoption-version"></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">--version</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-V" title="Permalink to this definition"></a></dt>
<dd><p>Show version information.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-D">
<span id="cmdoption-daemon"></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">--daemon</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-D" title="Permalink to this definition"></a></dt>
<dd><p>Run as daemon. This means the application will fork itself
and doesnt need to be started with &amp;.</p>
</dd></dl>
</section>
<section id="verbosity">
<span id="id9"></span><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-verbosity">
<span class="sig-name descname"><span class="pre">--verbosity</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-verbosity" title="Permalink to this definition"></a></dt>
<dd><p>Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info,
4:debug.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-v">
<span id="cmdoption-v"></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">--v</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-v" title="Permalink to this definition"></a></dt>
<dd><p>Increase verbosity level (may be repeated, eg. -vv).</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-q">
<span id="cmdoption-quiet"></span><span class="sig-name descname"><span class="pre">-q</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">--quiet</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-q" title="Permalink to this definition"></a></dt>
<dd><p>Quiet mode: no logging output.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-s">
<span id="cmdoption-syslog"></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">--syslog</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-s" title="Permalink to this definition"></a></dt>
<dd><p>Use syslog logging backend. The output usually goes to
/var/lib/messages.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-l">
<span id="cmdoption-lockfile"></span><span class="sig-name descname"><span class="pre">-l</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">--lockfile</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-l" title="Permalink to this definition"></a></dt>
<dd><p>Path to lock file.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-console">
<span class="sig-name descname"><span class="pre">--console</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-console" title="Permalink to this definition"></a></dt>
<dd><p>Send log output to stdout.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-debug">
<span class="sig-name descname"><span class="pre">--debug</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-debug" title="Permalink to this definition"></a></dt>
<dd><p>Execute in debug mode.
Equivalent to --verbosity=4 --console=1 .</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-log-file">
<span class="sig-name descname"><span class="pre">--log-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-log-file" title="Permalink to this definition"></a></dt>
<dd><p>Use alternative log file.</p>
</dd></dl>
</section>
<section id="records">
<span id="id10"></span><h3>Records<a class="headerlink" href="#records" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-record-driver-list">
<span class="sig-name descname"><span class="pre">--record-driver-list</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-record-driver-list" title="Permalink to this definition"></a></dt>
<dd><p>List all supported record stream drivers.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-I">
<span id="cmdoption-record-url"></span><span class="sig-name descname"><span class="pre">-I</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">--record-url</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-I" title="Permalink to this definition"></a></dt>
<dd><p>The recordstream source URL, format:
[<a class="reference external" href="service://">service://</a>]location[#type].
&quot;service&quot; is the name of the recordstream driver
which can be queried with &quot;--record-driver-list&quot;.
If &quot;service&quot; is not given, &quot;<a class="reference external" href="file://">file://</a>&quot; is
used.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-record-file">
<span class="sig-name descname"><span class="pre">--record-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-record-file" title="Permalink to this definition"></a></dt>
<dd><p>Specify a file as record source.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-record-type">
<span class="sig-name descname"><span class="pre">--record-type</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-record-type" title="Permalink to this definition"></a></dt>
<dd><p>Specify a type for the records being read.</p>
</dd></dl>
</section>
<section id="id11">
<span id="id12"></span><h3>Output<a class="headerlink" href="#id11" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-O">
<span id="cmdoption-output"></span><span class="sig-name descname"><span class="pre">-O</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">--output</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-O" title="Permalink to this definition"></a></dt>
<dd><p>Overrides configuration parameter <a class="reference internal" href="#confval-output.address"><code class="xref std std-confval docutils literal notranslate"><span class="pre">output.address</span></code></a>.</p>
<p>This is the CAPS server which shall receive the data.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-agent">
<span class="sig-name descname"><span class="pre">--agent</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-agent" title="Permalink to this definition"></a></dt>
<dd><p>Sets the agent string. Allows the server to identify the
application that sends data.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-b">
<span id="cmdoption-buffer-size"></span><span class="sig-name descname"><span class="pre">-b</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">--buffer-size</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-b" title="Permalink to this definition"></a></dt>
<dd><p>Size (bytes) of the journal buffer. If the value ist
exceeded, a synchronization of the journal is forced.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-backfilling">
<span class="sig-name descname"><span class="pre">--backfilling</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-backfilling" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">0</span></code></p>
<p>Buffer size in seconds for backfilling gaps.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-mseed">
<span class="sig-name descname"><span class="pre">--mseed</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-mseed" title="Permalink to this definition"></a></dt>
<dd><p>Enable on-the-fly miniSEED encoding. If the encoder does not
support the input type of a packet, it will be forwarded.
Re-encoding of miniSEED packets is not supported.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-encoding">
<span class="sig-name descname"><span class="pre">--encoding</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-encoding" title="Permalink to this definition"></a></dt>
<dd><p>miniSEED encoding to use: Uncompressed, Steim1 or Steim2.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-rec-len">
<span class="sig-name descname"><span class="pre">--rec-len</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-rec-len" title="Permalink to this definition"></a></dt>
<dd><p>miniSEED record length expressed as a power of
2. A 512 byte record would be 9.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-max-future-endtime">
<span class="sig-name descname"><span class="pre">--max-future-endtime</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-max-future-endtime" title="Permalink to this definition"></a></dt>
<dd><p>Maximum allowed relative end time for packets. If the packet
end time is greater than the current time plus this value,
the packet will be discarded. By default this value is set
to 120 seconds.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-dump-packets">
<span class="sig-name descname"><span class="pre">--dump-packets</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-dump-packets" title="Permalink to this definition"></a></dt>
<dd><p>Dump packets to stdout.</p>
</dd></dl>
</section>
<section id="id13">
<span id="id14"></span><h3>Journal<a class="headerlink" href="#id13" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-j">
<span id="cmdoption-journal"></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">--journal</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-j" title="Permalink to this definition"></a></dt>
<dd><p>File to store stream states. Use an empty string to log to
stdout.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-flush">
<span class="sig-name descname"><span class="pre">--flush</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-flush" title="Permalink to this definition"></a></dt>
<dd><p>Flush stream states to disk every n seconds.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-wait-for-ack">
<span class="sig-name descname"><span class="pre">--wait-for-ack</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-wait-for-ack" title="Permalink to this definition"></a></dt>
<dd><p>Wait when a sync has been forced, up to n seconds.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-w">
<span id="cmdoption-wait-for-last-ack"></span><span class="sig-name descname"><span class="pre">-w</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">--wait-for-last-ack</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-w" title="Permalink to this definition"></a></dt>
<dd><p>Wait on shutdown to receive acknownledgement messages, up to
the given number of seconds.</p>
</dd></dl>
</section>
<section id="status">
<span id="id15"></span><h3>Status<a class="headerlink" href="#status" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-status-log">
<span class="sig-name descname"><span class="pre">--status-log</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-status-log" title="Permalink to this definition"></a></dt>
<dd><p>Log information status information, e.g., max bytes buffered.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-status-flush">
<span class="sig-name descname"><span class="pre">--status-flush</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-status-flush" title="Permalink to this definition"></a></dt>
<dd><p>Flush status every n seconds to disk.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-stop">
<span class="sig-name descname"><span class="pre">--stop</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-stop" title="Permalink to this definition"></a></dt>
<dd><p>Stop processing when data acquisition is finished. The
finished signal depends on data source.</p>
</dd></dl>
</section>
<section id="id16">
<span id="id17"></span><h3>Streams<a class="headerlink" href="#id16" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-begin">
<span class="sig-name descname"><span class="pre">--begin</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-begin" title="Permalink to this definition"></a></dt>
<dd><p>Start time of data time window.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-end">
<span class="sig-name descname"><span class="pre">--end</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-end" title="Permalink to this definition"></a></dt>
<dd><p>End time of data time window.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-map">
<span class="sig-name descname"><span class="pre">--map</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-map" title="Permalink to this definition"></a></dt>
<dd><p>Stream map file.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-expr">
<span class="sig-name descname"><span class="pre">--expr</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-expr" title="Permalink to this definition"></a></dt>
<dd><p>Mathematical expression to be applied.</p>
</dd></dl>
</section>
<section id="test">
<span id="id18"></span><h3>Test<a class="headerlink" href="#test" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-gain-in">
<span class="sig-name descname"><span class="pre">--gain-in</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-gain-in" title="Permalink to this definition"></a></dt>
<dd><p>Gain that is applied to the input values.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-gain-out">
<span class="sig-name descname"><span class="pre">--gain-out</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-gain-out" title="Permalink to this definition"></a></dt>
<dd><p>Gain that is applied to the output values.</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="#">sproc2caps</a><ul>
<li><a class="reference internal" href="#description">Description</a></li>
<li><a class="reference internal" href="#setup">Setup</a><ul>
<li><a class="reference internal" href="#streams">Streams</a></li>
<li><a class="reference internal" href="#filtering">Filtering</a></li>
<li><a class="reference internal" href="#expressions">Expressions</a></li>
<li><a class="reference internal" href="#rename-streams">Rename Streams</a></li>
<li><a class="reference internal" href="#time-windows">Time windows</a></li>
</ul>
</li>
<li><a class="reference internal" href="#examples">Examples</a></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="#generic">Generic</a></li>
<li><a class="reference internal" href="#verbosity">Verbosity</a></li>
<li><a class="reference internal" href="#records">Records</a></li>
<li><a class="reference internal" href="#id11">Output</a></li>
<li><a class="reference internal" href="#id13">Journal</a></li>
<li><a class="reference internal" href="#status">Status</a></li>
<li><a class="reference internal" href="#id16">Streams</a></li>
<li><a class="reference internal" href="#test">Test</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="slink2caps.html"
title="previous chapter">slink2caps</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="test2caps.html"
title="next chapter">test2caps</a></p>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/apps/sproc2caps.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="content">
Release <b></b> version <b>2025.254#f0c77b29e</b>
<div class="copyright">
&copy; Copyright <a href="https://www.gempa.de">2013, gempa GmbH.</a>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,382 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>test2caps &#8212; CAPS: Common Acquisition Protocol Server documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/gempa.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/gempa.css?v=c960eebf" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/gempa.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=b3ba4146"></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="v4l2caps" href="v4l2caps.html" />
<link rel="prev" title="sproc2caps" href="sproc2caps.html" />
</head>
<body>
<div class="header">
<div class="container">
<img class="background" src="../_static/icon.png"/>
<div class="content">
<span class="title">CAPS: Common Acquisition Protocol Server </span>
<span class="version">2025.254#f0c77b29e</span></h1>
</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="v4l2caps.html" title="v4l2caps"
accesskey="N">
next
</a>
</li>
<li class="right">
<a href="sproc2caps.html" title="sproc2caps"
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="../base/plugins.html" accesskey="U">Data Acquisition and Manipulation by Plugins</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="test2caps">
<span id="id1"></span><h1>test2caps<a class="headerlink" href="#test2caps" title="Permalink to this heading"></a></h1>
<p><strong>Recordstream data acquisition plugin</strong></p>
<section id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
<p><strong class="program">test2caps</strong> allows to generate test signals which are send to a CAPS
server. This plugin is useful for testing and developing data acquisition or
processing modules.</p>
</section>
<section id="module-configuration">
<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/test2caps.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/test2caps.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/test2caps.cfg</span></code></div>
</div>
<p>test2caps inherits <a class="reference internal" href="global.html#global-configuration"><span class="std std-ref">global options</span></a>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Modules/plugins may require a license file. The default path to license
files is <code class="file docutils literal notranslate"><span class="pre">&#64;DATADIR&#64;/licenses/</span></code> which can be overridden by global
configuration of the parameter <code class="xref std std-confval docutils literal notranslate"><span class="pre">gempa.licensePath</span></code>. Example:</p>
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span>gempa.licensePath = @CONFIGDIR@/licenses
</pre></div>
</div>
</div>
</section>
<section id="command-line-options">
<h2>Command-Line Options<a class="headerlink" href="#command-line-options" title="Permalink to this heading"></a></h2>
<section id="general">
<span id="id2"></span><h3>General<a class="headerlink" href="#general" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-h">
<span id="cmdoption-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-h" title="Permalink to this definition"></a></dt>
<dd><p>Print help message</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-config">
<span class="sig-name descname"><span class="pre">--config</span></span><span class="sig-prename descclassname"> <span class="pre">file</span></span><a class="headerlink" href="#cmdoption-config" title="Permalink to this definition"></a></dt>
<dd><p>File to read configuration from</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-0">
<span id="cmdoption-1"></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-0" title="Permalink to this definition"></a></dt>
<dd><p>Print help message</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-verbosity">
<span class="sig-name descname"><span class="pre">--verbosity</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-verbosity" title="Permalink to this definition"></a></dt>
<dd><p>Verbosity level [0..4]</p>
</dd></dl>
</section>
<section id="stream">
<span id="id3"></span><h3>Stream<a class="headerlink" href="#stream" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-id">
<span class="sig-name descname"><span class="pre">--id</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-id" title="Permalink to this definition"></a></dt>
<dd><p>Comma separated list of stream IDs [net.sta.loc.cha] to use</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-id-file">
<span class="sig-name descname"><span class="pre">--id-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-id-file" title="Permalink to this definition"></a></dt>
<dd><p>File to read stream IDs from</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-begin">
<span class="sig-name descname"><span class="pre">--begin</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-begin" title="Permalink to this definition"></a></dt>
<dd><p>Start date and time of data stream</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-interval">
<span class="sig-name descname"><span class="pre">--interval</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-interval" title="Permalink to this definition"></a></dt>
<dd><p>Sampling interval to use, format is numerator/denominator</p>
</dd></dl>
</section>
<section id="mode">
<span id="id4"></span><h3>Mode<a class="headerlink" href="#mode" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-read-from">
<span class="sig-name descname"><span class="pre">--read-from</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-read-from" title="Permalink to this definition"></a></dt>
<dd><p>File to read data from</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-random">
<span class="sig-name descname"><span class="pre">--random</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-random" title="Permalink to this definition"></a></dt>
<dd><p>Generate n random samples</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-stream">
<span class="sig-name descname"><span class="pre">--stream</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-stream" title="Permalink to this definition"></a></dt>
<dd><p>Generate continuous sinus data</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-amplitude">
<span class="sig-name descname"><span class="pre">--amplitude</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-amplitude" title="Permalink to this definition"></a></dt>
<dd><p>Amplitude of sinus data</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-period">
<span class="sig-name descname"><span class="pre">--period</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-period" title="Permalink to this definition"></a></dt>
<dd><p>Period of sinus data in seconds</p>
</dd></dl>
</section>
<section id="packets">
<span id="id5"></span><h3>Packets<a class="headerlink" href="#packets" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-data-type">
<span class="sig-name descname"><span class="pre">--data-type</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-data-type" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-arg-arg">
<span class="sig-name descname"><span class="pre">arg</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-arg-arg" title="Permalink to this definition"></a></dt>
<dd><p>Data type to use. Available are: INT8, INT32, FLOAT, DOUBLE</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-fill">
<span class="sig-name descname"><span class="pre">--fill</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-fill" title="Permalink to this definition"></a></dt>
<dd><p>Number of seconds of data to send before/after start time</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-format">
<span class="sig-name descname"><span class="pre">--format</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-format" title="Permalink to this definition"></a></dt>
<dd><p>Format description 4 characters, e.g. JPEG</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-mseed">
<span class="sig-name descname"><span class="pre">--mseed</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-mseed" title="Permalink to this definition"></a></dt>
<dd><p>Enable Steim2 encoding for RAW packets</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-recsize">
<span class="sig-name descname"><span class="pre">--recsize</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-recsize" title="Permalink to this definition"></a></dt>
<dd><p>Record size in samples in stream mode</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-q">
<span id="cmdoption-quality"></span><span class="sig-name descname"><span class="pre">-q</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">--quality</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-q" title="Permalink to this definition"></a></dt>
<dd><p>Record timing quality</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-type">
<span class="sig-name descname"><span class="pre">--type</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-type" title="Permalink to this definition"></a></dt>
<dd><p>Packet type to use, e.g. ANY, RAW</p>
</dd></dl>
</section>
<section id="output">
<span id="id6"></span><h3>Output<a class="headerlink" href="#output" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-H">
<span id="cmdoption-Host"></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">--Host</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-H" title="Permalink to this definition"></a></dt>
<dd><p>Data output host</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-p">
<span id="cmdoption-port"></span><span class="sig-name descname"><span class="pre">-p</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">--port</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-p" title="Permalink to this definition"></a></dt>
<dd><p>Data output port</p>
</dd></dl>
</section>
<section id="verbosity">
<span id="id7"></span><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-2">
<span class="sig-name descname"><span class="pre">--verbosity</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-2" title="Permalink to this definition"></a></dt>
<dd><p>Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info,
4:debug.</p>
</dd></dl>
</section>
<section id="id8">
<span id="id9"></span><h3>Output<a class="headerlink" href="#id8" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-3">
<span id="cmdoption-host"></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">--host</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-3" title="Permalink to this definition"></a></dt>
<dd><p>Data output host</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-4">
<span id="cmdoption-5"></span><span class="sig-name descname"><span class="pre">-p</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">--port</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-4" title="Permalink to this definition"></a></dt>
<dd><p>Data output port</p>
</dd></dl>
</section>
<section id="journal">
<span id="id10"></span><h3>Journal<a class="headerlink" href="#journal" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-j">
<span id="cmdoption-journal"></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">--journal</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-j" title="Permalink to this definition"></a></dt>
<dd><p>File to store stream states. Use an empty string to log to standard out.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-f">
<span id="cmdoption-flush"></span><span class="sig-name descname"><span class="pre">-f</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">--flush</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-f" title="Permalink to this definition"></a></dt>
<dd><p>Flush stream states to disk every n seconds</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-waitForAck">
<span class="sig-name descname"><span class="pre">--waitForAck</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-waitForAck" title="Permalink to this definition"></a></dt>
<dd><p>Wait when a sync has been forced, up to n seconds</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-w">
<span id="cmdoption-waitForLastAck"></span><span class="sig-name descname"><span class="pre">-w</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">--waitForLastAck</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-w" title="Permalink to this definition"></a></dt>
<dd><p>Wait on shutdown to receive acknownledgement messages, up to n seconds</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="#">test2caps</a><ul>
<li><a class="reference internal" href="#description">Description</a></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="#general">General</a></li>
<li><a class="reference internal" href="#stream">Stream</a></li>
<li><a class="reference internal" href="#mode">Mode</a></li>
<li><a class="reference internal" href="#packets">Packets</a></li>
<li><a class="reference internal" href="#output">Output</a></li>
<li><a class="reference internal" href="#verbosity">Verbosity</a></li>
<li><a class="reference internal" href="#id8">Output</a></li>
<li><a class="reference internal" href="#journal">Journal</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="sproc2caps.html"
title="previous chapter">sproc2caps</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="v4l2caps.html"
title="next chapter">v4l2caps</a></p>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/apps/test2caps.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="content">
Release <b></b> version <b>2025.254#f0c77b29e</b>
<div class="copyright">
&copy; Copyright <a href="https://www.gempa.de">2013, gempa GmbH.</a>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,386 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>v4l2caps &#8212; CAPS: Common Acquisition Protocol Server documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/gempa.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/gempa.css?v=c960eebf" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/gempa.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=b3ba4146"></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="win2caps" href="win2caps.html" />
<link rel="prev" title="test2caps" href="test2caps.html" />
</head>
<body>
<div class="header">
<div class="container">
<img class="background" src="../_static/icon.png"/>
<div class="content">
<span class="title">CAPS: Common Acquisition Protocol Server </span>
<span class="version">2025.254#f0c77b29e</span></h1>
</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="win2caps.html" title="win2caps"
accesskey="N">
next
</a>
</li>
<li class="right">
<a href="test2caps.html" title="test2caps"
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="../base/plugins.html" accesskey="U">Data Acquisition and Manipulation by Plugins</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="v4l2caps">
<span id="id1"></span><h1>v4l2caps<a class="headerlink" href="#v4l2caps" title="Permalink to this heading"></a></h1>
<p><strong>Video for Linux capture plugin</strong></p>
<section id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
<p>Video for Linux is a video capture application programming interface(API) and
library for Linux. The library supports many USB web cams, TV tuners as
well as other devices and is the common way to access multimedia devices under
Linux. The v4l2caps plugin uses the Video for Linux API to capture frames from
compatible hardware devices and stores each frame into CAPS.
Available resolutions, pixel formats and other parameters depend on the used
device. See the manual of the hardware manufacturer for more details.
The capture process of the plugin gets a frame in a given sampling interval.
For each frame a new ANY packet is created which uses the sampling time
of the frame as start and end time for the packet. In addition the format of the
packet is set to the selected pixel format. Frame drops may occur when the
storage system is not fast enough to handle incoming data.</p>
</section>
<section id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this heading"></a></h2>
<p>To capture 15 images per second (the maximum number of images depends on your hardware) and store the output into CAPS use:</p>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span>v4l2caps<span class="w"> </span>-s<span class="w"> </span>SW.HMA.317.CAM<span class="w"> </span>--interval<span class="w"> </span><span class="m">15</span>/1
</pre></div>
</div>
</section>
<section id="module-configuration">
<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/v4l2caps.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/v4l2caps.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/v4l2caps.cfg</span></code></div>
</div>
<p>v4l2caps inherits <a class="reference internal" href="global.html#global-configuration"><span class="std std-ref">global options</span></a>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Modules/plugins may require a license file. The default path to license
files is <code class="file docutils literal notranslate"><span class="pre">&#64;DATADIR&#64;/licenses/</span></code> which can be overridden by global
configuration of the parameter <code class="xref std std-confval docutils literal notranslate"><span class="pre">gempa.licensePath</span></code>. Example:</p>
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span>gempa.licensePath = @CONFIGDIR@/licenses
</pre></div>
</div>
</div>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-host">
<span class="sig-name descname"><span class="pre">host</span></span><a class="headerlink" href="#confval-host" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">localhost</span></code></p>
<p>Type: <em>string</em></p>
<p>Data output host</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-port">
<span class="sig-name descname"><span class="pre">port</span></span><a class="headerlink" href="#confval-port" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">18003</span></code></p>
<p>Type: <em>uint</em></p>
<p>Data output host</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-streamID">
<span class="sig-name descname"><span class="pre">streamID</span></span><a class="headerlink" href="#confval-streamID" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Stream ID to use, format is [net.sta.loc.cha]</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-resolution">
<span class="sig-name descname"><span class="pre">resolution</span></span><a class="headerlink" href="#confval-resolution" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Resolution to use</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-outputFormat">
<span class="sig-name descname"><span class="pre">outputFormat</span></span><a class="headerlink" href="#confval-outputFormat" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Output format to use [rgb, jpg]</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-outputQuality">
<span class="sig-name descname"><span class="pre">outputQuality</span></span><a class="headerlink" href="#confval-outputQuality" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">100</span></code></p>
<p>Type: <em>int</em></p>
<p>Output quality to use [0-100]</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-interval">
<span class="sig-name descname"><span class="pre">interval</span></span><a class="headerlink" href="#confval-interval" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>uint</em></p>
<p>Sampling interval to use, format is [Denominator/Numerator]</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-pixelFormat">
<span class="sig-name descname"><span class="pre">pixelFormat</span></span><a class="headerlink" href="#confval-pixelFormat" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>Pixel format to use, expected as four character code[ABCD]</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-count">
<span class="sig-name descname"><span class="pre">count</span></span><a class="headerlink" href="#confval-count" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">0</span></code></p>
<p>Type: <em>uint</em></p>
<p>Number of frames to grab</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-skip">
<span class="sig-name descname"><span class="pre">skip</span></span><a class="headerlink" href="#confval-skip" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">0</span></code></p>
<p>Type: <em>uint</em></p>
<p>Number of frames to skip</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-bufferSize">
<span class="sig-name descname"><span class="pre">bufferSize</span></span><a class="headerlink" href="#confval-bufferSize" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">1048576</span></code></p>
<p>Type: <em>uint</em></p>
<p>Size (bytes) of the internal buffer to keep still unconfirmed packages</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-device">
<span class="sig-name descname"><span class="pre">device</span></span><a class="headerlink" href="#confval-device" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">/dev/video0</span></code></p>
<p>Type: <em>string</em></p>
<p>Video device name</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-io">
<span class="sig-name descname"><span class="pre">io</span></span><a class="headerlink" href="#confval-io" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">1</span></code></p>
<p>Type: <em>uint</em></p>
<p>I/O method. 0: Use read function, 1: Use memory mapped buffers</p>
</dd></dl>
</section>
<section id="command-line-options">
<h2>Command-Line Options<a class="headerlink" href="#command-line-options" title="Permalink to this heading"></a></h2>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-b">
<span id="cmdoption-buffer-size"></span><span class="sig-name descname"><span class="pre">-b</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">--buffer-size</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-b" title="Permalink to this definition"></a></dt>
<dd><p>Size (bytes) of the internal buffer to keep still unconfirmed packages</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-c">
<span id="cmdoption-count"></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">--count</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-c" title="Permalink to this definition"></a></dt>
<dd><p>Number of frames to grab</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-config">
<span class="sig-name descname"><span class="pre">--config</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-config" title="Permalink to this definition"></a></dt>
<dd><p>Path to configuration file</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-d">
<span id="cmdoption-device"></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">--device</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-d" title="Permalink to this definition"></a></dt>
<dd><p>Video device name</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-dump">
<span class="sig-name descname"><span class="pre">--dump</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-dump" title="Permalink to this definition"></a></dt>
<dd><p>Dump output to file</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-f">
<span id="cmdoption-pixel-format"></span><span class="sig-name descname"><span class="pre">-f</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">--pixel-format</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-f" title="Permalink to this definition"></a></dt>
<dd><p>Pixel format to use, expected as four character code[ABCD]</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-F">
<span id="cmdoption-output-format"></span><span class="sig-name descname"><span class="pre">-F</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">--output-format</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-F" title="Permalink to this definition"></a></dt>
<dd><p>Output format to use [rgb, jpg]</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-H">
<span id="cmdoption-host"></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">--host</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-H" title="Permalink to this definition"></a></dt>
<dd><p>Data output host</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-h">
<span id="cmdoption-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 class="pre">arg</span></span><a class="headerlink" href="#cmdoption-h" title="Permalink to this definition"></a></dt>
<dd><p>Print help</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-info">
<span class="sig-name descname"><span class="pre">--info</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-info" title="Permalink to this definition"></a></dt>
<dd><p>Print device info</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-i">
<span id="cmdoption-interval"></span><span class="sig-name descname"><span class="pre">-i</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">--interval</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-i" title="Permalink to this definition"></a></dt>
<dd><p>Sampling interval to use, format is [Denominator/Numerator]</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-io">
<span class="sig-name descname"><span class="pre">--io</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-io" title="Permalink to this definition"></a></dt>
<dd><p>I/O method. 0: Use read function, 1: Use memory mapped buffers [default]</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-p">
<span id="cmdoption-port"></span><span class="sig-name descname"><span class="pre">-p</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">--port</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-p" title="Permalink to this definition"></a></dt>
<dd><p>Data output port</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-q">
<span id="cmdoption-output-quality"></span><span class="sig-name descname"><span class="pre">-q</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">--output-quality</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-q" title="Permalink to this definition"></a></dt>
<dd><p>Output quality to use [0-100]</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-r">
<span id="cmdoption-resolution"></span><span class="sig-name descname"><span class="pre">-r</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">--resolution</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-r" title="Permalink to this definition"></a></dt>
<dd><p>Resolution to use</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-s">
<span id="cmdoption-stream-id"></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">--stream-id</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-s" title="Permalink to this definition"></a></dt>
<dd><p>Stream ID to use, format is [net.sta.loc.cha]</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-S">
<span id="cmdoption-skip"></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">--skip</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-S" title="Permalink to this definition"></a></dt>
<dd><p>Number of frames to skip</p>
</dd></dl>
</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="#">v4l2caps</a><ul>
<li><a class="reference internal" href="#description">Description</a></li>
<li><a class="reference internal" href="#examples">Examples</a></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></li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="test2caps.html"
title="previous chapter">test2caps</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="win2caps.html"
title="next chapter">win2caps</a></p>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/apps/v4l2caps.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="content">
Release <b></b> version <b>2025.254#f0c77b29e</b>
<div class="copyright">
&copy; Copyright <a href="https://www.gempa.de">2013, gempa GmbH.</a>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,361 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>win2caps &#8212; CAPS: Common Acquisition Protocol Server documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/gempa.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/gempa.css?v=c960eebf" />
<link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
<script type="text/javascript" src="../_static/gempa.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=b3ba4146"></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="Access Data on a CAPS Server" href="../base/data-retrieval.html" />
<link rel="prev" title="v4l2caps" href="v4l2caps.html" />
</head>
<body>
<div class="header">
<div class="container">
<img class="background" src="../_static/icon.png"/>
<div class="content">
<span class="title">CAPS: Common Acquisition Protocol Server </span>
<span class="version">2025.254#f0c77b29e</span></h1>
</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="../base/data-retrieval.html" title="Access Data on a CAPS Server"
accesskey="N">
next
</a>
</li>
<li class="right">
<a href="v4l2caps.html" title="v4l2caps"
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="../base/plugins.html" accesskey="U">Data Acquisition and Manipulation by Plugins</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="container">
<div class="fitted content" id="anchors-container">
<div class="body" role="main">
<section id="win2caps">
<span id="id1"></span><h1>win2caps<a class="headerlink" href="#win2caps" title="Permalink to this heading"></a></h1>
<p><strong>WIN CAPS plugin. Sends data read from socket or file to CAPS.</strong></p>
<section id="module-configuration">
<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/win2caps.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/win2caps.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/win2caps.cfg</span></code></div>
</div>
<p>win2caps inherits <a class="reference internal" href="global.html#global-configuration"><span class="std std-ref">global options</span></a>.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Modules/plugins may require a license file. The default path to license
files is <code class="file docutils literal notranslate"><span class="pre">&#64;DATADIR&#64;/licenses/</span></code> which can be overridden by global
configuration of the parameter <code class="xref std std-confval docutils literal notranslate"><span class="pre">gempa.licensePath</span></code>. Example:</p>
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span>gempa.licensePath = @CONFIGDIR@/licenses
</pre></div>
</div>
</div>
<span class="target" id="input"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-input.port">
<span class="sig-name descname"><span class="pre">input.port</span></span><a class="headerlink" href="#confval-input.port" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">18000</span></code></p>
<p>Type: <em>uint</em></p>
<p>Listen for incoming packets at given port</p>
</dd></dl>
<span class="target" id="output"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-output.host">
<span class="sig-name descname"><span class="pre">output.host</span></span><a class="headerlink" href="#confval-output.host" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">localhost</span></code></p>
<p>Type: <em>string</em></p>
<p>Data output host</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.port">
<span class="sig-name descname"><span class="pre">output.port</span></span><a class="headerlink" href="#confval-output.port" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">18003</span></code></p>
<p>Type: <em>int</em></p>
<p>Data output port</p>
</dd></dl>
<dl class="std confval">
<dt class="sig sig-object std" id="confval-output.bufferSize">
<span class="sig-name descname"><span class="pre">output.bufferSize</span></span><a class="headerlink" href="#confval-output.bufferSize" title="Permalink to this definition"></a></dt>
<dd><p>Default: <code class="docutils literal notranslate"><span class="pre">1048576</span></code></p>
<p>Type: <em>uint</em></p>
<p>Size (bytes) of the packet buffer</p>
</dd></dl>
<span class="target" id="streams"></span><dl class="std confval">
<dt class="sig sig-object std" id="confval-streams.file">
<span class="sig-name descname"><span class="pre">streams.file</span></span><a class="headerlink" href="#confval-streams.file" title="Permalink to this definition"></a></dt>
<dd><p>Type: <em>string</em></p>
<p>File to read streams from. Each line defines a mapping between a station and stream id. Line format is [ID NET.STA].</p>
</dd></dl>
</section>
<section id="command-line-options">
<h2>Command-Line Options<a class="headerlink" href="#command-line-options" title="Permalink to this heading"></a></h2>
<section id="generic">
<span id="id2"></span><h3>Generic<a class="headerlink" href="#generic" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-h">
<span id="cmdoption-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-h" title="Permalink to this definition"></a></dt>
<dd><p>Show help message.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-V">
<span id="cmdoption-version"></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">--version</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-V" title="Permalink to this definition"></a></dt>
<dd><p>Show version information.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-config-file">
<span class="sig-name descname"><span class="pre">--config-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-config-file" title="Permalink to this definition"></a></dt>
<dd><p>Use alternative configuration file. When this option is
used the loading of all stages is disabled. Only the
given configuration file is parsed and used. To use
another name for the configuration create a symbolic
link of the application or copy it. Example:
scautopick -&gt; scautopick2.</p>
</dd></dl>
</section>
<section id="verbosity">
<span id="id3"></span><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-verbosity">
<span class="sig-name descname"><span class="pre">--verbosity</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-verbosity" title="Permalink to this definition"></a></dt>
<dd><p>Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info,
4:debug.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-v">
<span id="cmdoption-v"></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">--v</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-v" title="Permalink to this definition"></a></dt>
<dd><p>Increase verbosity level (may be repeated, eg. -vv).</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-q">
<span id="cmdoption-quiet"></span><span class="sig-name descname"><span class="pre">-q</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">--quiet</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-q" title="Permalink to this definition"></a></dt>
<dd><p>Quiet mode: no logging output.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-print-component">
<span class="sig-name descname"><span class="pre">--print-component</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-print-component" title="Permalink to this definition"></a></dt>
<dd><p>For each log entry print the component right after the
log level. By default the component output is enabled
for file output but disabled for console output.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-component">
<span class="sig-name descname"><span class="pre">--component</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-component" title="Permalink to this definition"></a></dt>
<dd><p>Limit the logging to a certain component. This option can
be given more than once.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-s">
<span id="cmdoption-syslog"></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">--syslog</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-s" title="Permalink to this definition"></a></dt>
<dd><p>Use syslog logging backend. The output usually goes to
/var/lib/messages.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-l">
<span id="cmdoption-lockfile"></span><span class="sig-name descname"><span class="pre">-l</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">--lockfile</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-l" title="Permalink to this definition"></a></dt>
<dd><p>Path to lock file.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-console">
<span class="sig-name descname"><span class="pre">--console</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-console" title="Permalink to this definition"></a></dt>
<dd><p>Send log output to stdout.</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-debug">
<span class="sig-name descname"><span class="pre">--debug</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-debug" title="Permalink to this definition"></a></dt>
<dd><p>Execute in debug mode.
Equivalent to --verbosity=4 --console=1 .</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-trace">
<span class="sig-name descname"><span class="pre">--trace</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-trace" title="Permalink to this definition"></a></dt>
<dd><p>Execute in trace mode.
Equivalent to --verbosity=4 --console=1 --print-component=1
--print-context=1 .</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-log-file">
<span class="sig-name descname"><span class="pre">--log-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-log-file" title="Permalink to this definition"></a></dt>
<dd><p>Use alternative log file.</p>
</dd></dl>
</section>
<section id="id4">
<span id="id5"></span><h3>Input<a class="headerlink" href="#id4" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-station">
<span class="sig-name descname"><span class="pre">--station</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-station" title="Permalink to this definition"></a></dt>
<dd><p>Sets the station and sampling interval to use. Format is [net.sta&#64;?]</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-f">
<span id="cmdoption-file"></span><span class="sig-name descname"><span class="pre">-f</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">--file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-f" title="Permalink to this definition"></a></dt>
<dd><p>Load CREX data directly from file</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-read-from">
<span class="sig-name descname"><span class="pre">--read-from</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-read-from" title="Permalink to this definition"></a></dt>
<dd><p>Read packets from this file</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-port">
<span class="sig-name descname"><span class="pre">--port</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-port" title="Permalink to this definition"></a></dt>
<dd><p>Listen for incoming packets at given port</p>
</dd></dl>
</section>
<section id="id6">
<span id="id7"></span><h3>Output<a class="headerlink" href="#id6" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-H">
<span id="cmdoption-host"></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">--host</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-H" title="Permalink to this definition"></a></dt>
<dd><p>Data output host</p>
</dd></dl>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-p">
<span id="cmdoption-0"></span><span class="sig-name descname"><span class="pre">-p</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">--port</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-p" title="Permalink to this definition"></a></dt>
<dd><p>Data output port</p>
</dd></dl>
</section>
<section id="id8">
<span id="id9"></span><h3>Streams<a class="headerlink" href="#id8" title="Permalink to this heading"></a></h3>
<dl class="std option">
<dt class="sig sig-object std" id="cmdoption-streams-file">
<span class="sig-name descname"><span class="pre">--streams-file</span></span><span class="sig-prename descclassname"> <span class="pre">arg</span></span><a class="headerlink" href="#cmdoption-streams-file" title="Permalink to this definition"></a></dt>
<dd><p>File to read streams from. Each line defines a mapping between a station and stream id. Line format is [ID NET.STA].</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="#">win2caps</a><ul>
<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="#generic">Generic</a></li>
<li><a class="reference internal" href="#verbosity">Verbosity</a></li>
<li><a class="reference internal" href="#id4">Input</a></li>
<li><a class="reference internal" href="#id6">Output</a></li>
<li><a class="reference internal" href="#id8">Streams</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="v4l2caps.html"
title="previous chapter">v4l2caps</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="../base/data-retrieval.html"
title="next chapter">Access Data on a CAPS Server</a></p>
</div>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/apps/win2caps.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<div class="content">
Release <b></b> version <b>2025.254#f0c77b29e</b>
<div class="copyright">
&copy; Copyright <a href="https://www.gempa.de">2013, gempa GmbH.</a>
</div>
</div>
</div>
</div>
</body>
</html>