Commit e0947977 authored by Matteo Quintiliani's avatar Matteo Quintiliani

Up to date


git-svn-id: file:///home/quintiliani/svncopy/nmxptool/trunk@847 3cd66e75-5955-46cb-a940-c26e5fc5497d
parent 7d2f4b75
......@@ -2,65 +2,71 @@
# Configuration File for nmxptool
#
MyModuleId MOD_NMXPTOOL
RingName WAVE_RING # Transport ring to write data to.
HeartBeatInterval 15 # Heartbeat interval, in seconds.
LogFile 1 # 1 -> Keep log, 0 -> no log file
# 2 -> write to module log but not stderr/stdout
#ForceTraceBuf1 0 # On systems that support TRACEBUF2
# messages this flag will force the module
# to create TRACEBUF messages instead.
# Most people will never need this.
Verbosity 16 # Set level of verbosity. Verbosity is a bitmap:
# 1 Packet, 2 Channel, 4 Raw Stream,
# 8 CRC32, 16 Connection flow,
# 32 Packet Management, 64 Extra, 128 Date,
# 256 Gap, 512 DOD, 1023 All messages.
# It is equivalent to the option -v.
NmxpHost naqs1a.int.ingv.it # Host address of NaqsServer/DataServer
# It is equivalent to the option -H.
NmxpPortPDS 28000 # Port number of NaqsServer (Default 28000)
# It is equivalent to the option -P.
NmxpPortDAP 28002 # Port number of DataServer(Default 28002)
# It is equivalent to the option -D.
MaxTolerableLatency 120 # Max tolerable latency for each channel. (Default 600 sec.)
# In general, DO NOT use with parameter TimeoutRecv.
# It is equivalent to the option -M.
#TimeoutRecv 30 # Time-out in seconds for flushing queued data for each channel.
# (Default 0. No time-out) [10..300].
# Useful for retrieving Data On Demand with minimum delay.
# It is equivalent to the option -T.
DefaultNetworkCode IV # Default network code where in 'ChannelFile' or 'Channel' is not declared.
# It is equivalent to the option -N.
# nmxptool channel definition IS NOT equal to SCNL
# It is NSC, that is NET.STA.CHAN
# NET is optional and used only for output.
# STA can be '*', stands for all stations.
# CHAN can contain '?', stands for any character.
# Example: *.HH?,N1.STA2.??Z,STA3.?H?
# Related to the parameters 'ChannelFile' and 'Channel'.
#MaxDataToRetrieve 180 # Max amount of data of the past to retrieve from the
# DataServer when program restarts (default 0) [0..86400].
# 0 to disable connection to DataServer.
# It is equivalent to the option -A. Related to 'ChannelFile'.
# If 'MaxDataToRetrieve' is zero and 'ChannelFile' is used,
# only data buffered by NaqsServer will be retrieved.
ChannelFile /home/ew/naqs1a.list.txt # List of channels. One for each line. (It will not be modified)
# Load/Save time of last sample of each channel in a file
# with the same name, same directory, appending suffix ".nmxpstate"
# Allow data continuity between program restarts.
# It is equivalent to the option -F. Related to 'MaxDataToRetrieve'.
RingName WAVE_RING # Transport ring to write data to.
HeartBeatInterval 15 # Heartbeat interval, in seconds.
LogFile 1 # 1 -> Keep log, 0 -> no log file
# 2 -> write to module log but not stderr/stdout
#ForceTraceBuf1 0 # On systems that support TRACEBUF2
# messages this flag will force the module
# to create TRACEBUF messages instead.
# Most people will never need this.
Verbosity 16 # Set level of verbosity. Verbosity is a bitmap:
# 1 Channel State, 2 Channel, 4 Raw Stream,
# 8 CRC32, 16 Connection flow,
# 32 Packet Management, 64 Extra, 128 Date,
# 256 Gap, 512 DOD, 1023 All messages.
# It is equivalent to the option -v.
NmxpHost naqs1a.int.ingv.it # Host address of NaqsServer/DataServer
# It is equivalent to the option -H.
NmxpPortPDS 28000 # Port number of NaqsServer (Default 28000)
# It is equivalent to the option -P.
NmxpPortDAP 28002 # Port number of DataServer(Default 28002)
# It is equivalent to the option -D.
MaxTolerableLatency 120 # Max tolerable latency for each channel. (Default 600 sec.)
# In general, DO NOT use with parameter TimeoutRecv.
# It is equivalent to the option -M.
#TimeoutRecv 30 # Time-out in seconds for flushing queued data for each channel.
# (Default 0. No time-out) [10..300].
# Useful for retrieving Data On Demand with minimum delay.
# It is equivalent to the option -T.
DefaultNetworkCode IV # Default network code where in 'ChannelFile' or 'Channel' is not declared.
# It is equivalent to the option -N.
# N.B. nmxptool channel definition IS NOT equal to SCNL
# It is NSC, that is NET.STA.CHAN
# NET is optional and used only for output.
# STA can be '*', stands for all stations.
# CHAN can contain '?', stands for any character.
# Related to the parameters 'ChannelFile' and 'Channel'.
# Network code will be assigned from the first
# pattern that includes station and channel.
# Example: N1.AAA.HH?,N2.*.HH?,MMM.BH?
# Second pattern includes the first. Unless AAA, all
# stations with HH channels will have network to N2.
# Station MMM will have default network defined by 'DefaultNetworkCode'.
#MaxDataToRetrieve 180 # Max amount of data of the past to retrieve from the
# DataServer when program restarts (default 0) [0..86400].
# 0 to disable connection to DataServer.
# It is equivalent to the option -A. Related to 'ChannelFile'.
# If 'MaxDataToRetrieve' is zero and 'ChannelFile' is used,
# only data buffered by NaqsServer will be retrieved.
ChannelFile /home/ew/naqs1a.list.txt # List of channel patterns like 'Channel'. One for each line.
# This file will not be modified by nmxptool.
# Load/Save time of last sample of each channel in a file
# with the same name, same directory, appending suffix ".nmxpstate"
# Allow data continuity between program restarts.
# It is equivalent to the option -F. Related to 'MaxDataToRetrieve'.
# DO NOT USE parameters 'Channel' and 'ChannelFile' together.
# 'ChannelFile' is preferable. At restart you can retrieve data
......
This diff is collapsed.
......@@ -7,39 +7,23 @@
<h1 align="center">Earthworm Modules: <br>
nmxptool overview</h1>
<center>
<p><i>(beta revision, last revised 10 December, 2007)</i> </p>
<p><i>(last revised 03 March, 2008)</i> </p>
</center>
<p>
nmxptool is a client for Nanometrics Server and a module for Earthworm as well. It is based on libnmxp that provides a set of documented APIs which allow to develop software capable of interacting with Nanometrics Servers:
<ul>
<li> NaqsServer (Private Data Stream 1.4)
<ul>
<li>Buffered Stream: short-term complete data stream. Packets are in chronological order but small gap whenever a retransmission occurs.
<li>Raw Stream: packets are forwarded in the original order. Packets may be missing, duplicated, or out of order, but minimal delay.
</ul>
<li>DataServer (Data Access Protocol 1.0)<br>
<ul>
<li>Data may be requested by channel, start time and end time.
</ul>
</ul>
</p>
<p>
The Nanometrics servers <i>NaqsServer</i> and <i>DataServer</i> can provide on-line access to seismic data and state-of-health information accepting TCP/IP connections and forwarding the requested data to each client program. <i>NaqsServer</i> collates and stores in near-real-time incoming data in ringbuffers whereas <i>DataServer</i> provides data of the past stored in <i>NaqsServer</i> ringbuffers. In order to implement the Nanometrics subscription protocols, the author developed a software consisting of a library called libnmxp and a tool called nmxptool. The library exposes a set of documented APIs which allow to communicate with the Nanometrics servers. The tool, based on libnmxp, allows to retrieve or monitor real-time data and data of the past.
</p>
<p>
nmxptool allows to retrieve or monitor real-time and off-line data. Mainly, it can be used:
<ul>
<li>stand-alone to save data in mini-SEED format<br>
<li>like a plug-in for SeedLink<br>
<li>like a module for Earthworm<br>
</ul>
Dependencies:
<ul>
<li>libmseed - http://www.iris.edu/manuals/<br>
<li>plugin.h and plugin.c from SeisComp distribution<br>
<li>Several object files inside the Earthworm library directory &#36;EW_HOME/&#36;EW_VERSION/lib,
or alternatively, sources dependents on your operating system.
</ul>
nmxptool have been developed in C using the GNU Build Tools (automake, autoconf) and taking in account the POSIX Cross-Platform aspects.<br> It has been compiled with success on Solaris, Linux, Mac OS X, Windows (<i>MinGW</i>), FreeBSD.
</p>
<p>
<b>nmxptool</b> can be used in three different ways:
<ul>
<li>stand-alone to monitor data or save retrieved data in mini-seed records
<li>launched as an <b><i>Earthworm</i></b> module to redirect data into the EW-rings
<li>like a <b><i>Seed-Link</i></b> plug-in to feed the SL-server
</ul>
The main contribute, as regards other similar software, is the capability to manage Raw Stream connections by buffering and sorting all received packets, included the retransmitted ones, guaranteeing a good compromise between data continuity and low latency. Besides, nmxptool allows to retrieve Data-On-Demand with minimum delay after request. Software is open-source and released under GNU Library General Public License. It has been written in C language using the GNU Build Tools (automake, autoconf and configure script) and taking in account the cross-platform compilation aspects, in fact, it can run on almost all the Unix-like operating systems, Mac OS X, Windows and either 32-bit or 64-bit architectures.
</p>
<p><hr></p>
<p>
Why a new software client for Nanometrics Server?<br>
......@@ -52,8 +36,8 @@ Main parameter to set for Raw Stream is the max tolerable latency you can accept
<p>
The maxium size of the TRACEBUF messages created by nmxptool is
limited to the maximum number of samples
that can fit into a Nanometrics compressed packet (???? samples = ????
bytes) plus the size of the TRACEBUF header (64 bytes). So ???? bytes
that can fit into a Nanometrics compressed packet (272 samples = 1088
bytes) plus the size of the TRACEBUF header (64 bytes). So 1152 bytes
is a good estimate of the maximum size of TRACEBUF messages created by
nmxptool.</p>
......@@ -77,7 +61,8 @@ nmxptool is open-source and actively supported by the
</p>
<hr>
</b>Contact: <b>quintiliani at ingv.it</b><br>
<address>
</b>Contact: <b>quintiliani at ingv.it</b> - Website: <a href="http://mednet.rm.ingv.it/nmxptool.php">http://mednet.rm.ingv.it/nmxptool.php</a>
</address>
</body>
</html>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment