README 7.21 KB
Newer Older
1

2 3
NMXPTOOL: OPEN-SOURCE AND CROSS-PLATFORM SOFTWARE
          FOR NANOMETRICS SEISMIC DATA ACQUISITION
4 5 6 7

  Matteo Quintiliani - Istituto Nazionale di Geofisica e Vulcanologia - Italy
  Mail bug reports and suggestions to <quintiliani@ingv.it> 

Matteo Quintiliani's avatar
Matteo Quintiliani committed
8 9
  Website: http://mednet.rm.ingv.it/nmxptool.php

10
  nmxptool and libnmxp have been developed for interacting
Matteo Quintiliani's avatar
Matteo Quintiliani committed
11
  with NaqsServer and DataServer of Nanometrics Inc.
12 13 14 15 16 17 18 19


CONTENTS
   INTRODUCTION
   DEPENDENCIES
   QUICK INSTALLATION
   INSTALLATION
   DOCUMENTATION
Matteo Quintiliani's avatar
Matteo Quintiliani committed
20
   HISTORY
21 22 23 24
   ACKNOWLEDGEMENT
   SUPPORTED PLATFORMS
   LICENSE

25 26 27

- INTRODUCTION

28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
  The Nanometrics servers NaqsServer and DataServer 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.  NaqsServer collates
and stores in near-real-time incoming data in ringbuffers whereas DataServer
provides data of the past stored in NaqsServer 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.

  nmxptool can be used in three different ways:

      * stand-alone to monitor data or save retrieved data in mini-seed records
      * launched as an Earthworm module to redirect data into the EW-rings
      * like a Seed-Link plug-in to feed the SL-server
	
  The main contribute, as regards other similar software, is the capability to
46 47
manage Raw Stream connections by buffering and sorting all received packets,
included the retransmitted ones, guaranteeing a good compromise between data
48 49 50 51 52 53 54 55 56
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.

	
57 58
- DEPENDENCIES

59
  Optional libraries:
60 61 62 63 64

    * libmseed-2.1.4 or later: http://www.iris.edu/manuals/
      The Mini-SEED library. A C library framework for manipulating and
      managing SEED data records.  Author: Chad Trabant, IRIS DMC

65 66 67 68 69 70 71
    * Earthworm 6.2 or later: http://www.isti2.com/ew/

    * Seedlink, SeisComP - http://www.gfz-potsdam.de/geofon/seiscomp/
      Seedlink is a system for near real time seismic data distribution.

  Read section INSTALLATION below.

72 73

- QUICK INSTALLATION
74 75 76 77

     tar xvfz nmxptool-X.X.X.tar.gz

     cd nmxptool-X.X.X/libnmxp
78 79 80 81 82
     ./configure
     make
     cd ..
     ./configure
     make
83 84 85 86 87 88 89 90 91

     make install
         OR
     make install-ew-bin
     make install-ew-conf (ONLY THE FIRST TIME)
         OR
     make install-seiscomp-bin
     make install-seiscomp-templates (ONLY THE FIRST TIME)
         OR
92 93
     cp src/nmxptool <where_you_want>

Matteo Quintiliani's avatar
Matteo Quintiliani committed
94
     nmxptool --help
95

96

97
- INSTALLATION
98

99 100 101 102 103 104 105 106 107
  nmxptool and libnmxp have been developed using GNU Build Tools
  (automake, autoconf and configure script) taking in account the
  POSIX Cross-Platform aspects. So you should be able to compile
  and install them everywhere you can launch the following commands:

     ./configure
     make
     make install

Matteo Quintiliani's avatar
Matteo Quintiliani committed
108 109 110
  Before compiling nmxptool you need to compile libnmxp.

  Optional Packages:
111 112 113 114
      --without-libmseed      disable support for libmseed
      --without-ew            disable support for earthworm
      --without-seedlink      disable support for seedlink

115 116 117 118 119
  * libmseed, The Mini-SEED library - http://www.iris.edu/manuals/
         If available within includes and libraries path,
         this library will enable Mini-SEED support.
         You might add to CFLAGS this "-I/<anywhere>/libmseed"
         and to LDFLAGS this "-L/<anywhere>/libmseed"
120

121 122
  * ew, Earthworm System - http://www.isti2.com/ew/
         nmxptool is included into the official Earthworm distributions since EW v7.2
Matteo Quintiliani's avatar
Matteo Quintiliani committed
123
         Anyway, you can compile nmxptool outside the EW distribution, for example, to upgrade.
Matteo Quintiliani's avatar
Matteo Quintiliani committed
124 125 126 127
         Before launching 'configure', run the appropriate script from directory 'environment',
         compilation depends on environment variables:
             $EW_HOME, $EW_VERSION, $EW_PARAMS and $GLOBALFLAGS.
         'configure' look for necessary earthworm object files inside $EW_HOME/$EW_VERSION/lib
Matteo Quintiliani's avatar
Matteo Quintiliani committed
128 129 130
         and link them to nmxptool in order to enable Earthworm support.
         If some object file is missing then it will attempt to discover sources
         dependents on your operating system and compile them before linking.
131

132 133 134 135 136 137
         Install binary and configuration files for Earthworm:

             make install-ew-bin
             make install-ew-conf (ONLY THE FIRST TIME)

         The first command copies nmxptool binary in $EW_HOME/$EW_VERSION/bin
Matteo Quintiliani's avatar
Matteo Quintiliani committed
138
         The second command copies earthworm/nmxptool.d, earthworm/nmxptool.desc in $EW_PARAMS
139 140 141 142 143 144 145
         If you are upgrading nmxptool then you might do that:

	     cp nmxptool_ovr.html $EW_HOME/$EW_VERSION/ewdoc/WEB_DOC/ovr/
	     cp nmxptool_cmd.html $EW_HOME/$EW_VERSION/ewdoc/WEB_DOC/cmd/

  * seedlink, SeisComP - http://www.gfz-potsdam.de/geofon/seiscomp/
         Seedlink is a system for near real time seismic data distribution.
Matteo Quintiliani's avatar
Matteo Quintiliani committed
146 147
         Inside the directory 'src' has been copied files
         'seedlink_plugin.c' and 'seedlink_plugin.h' from 'plugin.c' and 'plugin.h'
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
         belonging to the SeisComP 2.5 distribution

         If your SEISCOMPDIR is not equal to /home/sysop/seiscomp,
         you should launch the script configure like this:

             ./configure ... ... SEISCOMPDIR=/<where>/<seiscompdir>/<is>

         Install binary and template files for SeedLink:

             make install-seiscomp-bin
             make install-seiscomp-templates (ONLY THE FIRST TIME)

         The first command copies nmxptool binary in %SEISCOMPDIR%/acquisition/bin
         The second command copies the directory seiscomp_templates/135_nmxptool
         in %SEISCOMPDIR%/acquisition/templates/source/

         After, you can use:

             seiscomp config
167 168


Matteo Quintiliani's avatar
Matteo Quintiliani committed
169
- DOCUMENTATION
Matteo Quintiliani's avatar
Matteo Quintiliani committed
170
    * Print nmxptool help:
Matteo Quintiliani's avatar
Matteo Quintiliani committed
171
         # nmxptool --help
Matteo Quintiliani's avatar
Matteo Quintiliani committed
172 173 174
    * Earthworm module: earthworm/nmxptool_cmd.html
                                  nmxptool_ovr.html

Matteo Quintiliani's avatar
Matteo Quintiliani committed
175 176 177
- HISTORY
    Read file HISTORY.

Matteo Quintiliani's avatar
Matteo Quintiliani committed
178

179
- ACKNOWLEDGEMENT
180
   In no particular order:
181 182 183 184 185 186 187
     * Salvatore Mazza - I.N.G.V. (Istituto Nazionale di Geofisica e Vulcanologia)
     * Marco Olivieri - I.N.G.V.
     * Luigi Falco - I.N.G.V.
     * Martina Demartin - I.N.G.V.
     * Paul Frieberg - ISTI (Instrumental Software Technologies, Inc.)
     * Marian Jusko

Matteo Quintiliani's avatar
Matteo Quintiliani committed
188

189 190 191 192
- SUPPORTED PLATFORMS
   nmxptool 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
Matteo Quintiliani's avatar
Matteo Quintiliani committed
193 194
   almost all the Unix-like operating systems, Mac OS X, Windows
   and either 32-bit or 64-bit architectures.
195
     
196

197
- LICENSE
198 199
  Software is open-source and released under GNU Library General Public License.
  Read file COPYING for details.
200