<ol><li><a href="#Installationandconfiguration">Installation and configuration</a><ol><li><a href="#Requirements">Requirements</a></li><li> <a href="#Installation">Installation</a></li><li> <a href="#Preparation">Preparation</a><ol><li><a href="#Additionalpackages">Additional packages</a></li><li> <a href="#SQLconfiguration">SQL configuration</a></li></ol></li><li> <a href="#Installationprocedure">Installation procedure</a></li><li> <a href="#Globalconfiguration">Global configuration</a><ol><li><a href="#Directorystructure">Directory structure</a></li><li> <a href="#Keyfiles">Key files</a></li><li> <a href="#Theseiscomputility">The seiscomp utility</a><ol><li><a href="#Initializingglobalparameters">Initializing global parameters</a><ol><li><a href="#Allpackages">All packages</a></li><li> <a href="#Acquisition">Acquisition</a></li><li> <a href="#Trunk">Trunk</a></li><li> <a href="#Diskmonconfiguration">Diskmon configuration</a></li></ol></li><li> <a href="#AddingStations">Adding Stations</a></li><li> <a href="#UsingProfiles">Using Profiles</a></li><li> <a href="#Importingstationsfromothersystems">Importing stations from other systems</a></li></ol></li></ol></li></ol></li></ol>

Installation and configuration

Requirements

The hardware requirements for a seismic system depend on the size of the station network to be operated.
Minimal requirements are:

CPU1
RAM2 GB
HDD20 GB
OSSUSE 10.2/3 32/64bit, SUSE 11 32/64bit, (K)Ubuntu 7/8 32/64bit

In case large networks (>100 stations) are operated, a distributed system is recommended. Normally a SeisComP3 system is separated in several subsystems. A separation of data acquisition, processing and graphical user interfaces is useful to permit stable performance.
The minimum specifications of the system should be:

Data acquisition system:

CPU1
RAM2 GB
HDDRaid1/5/0+1 with >=200GB

Processing system:

CPU2
RAM4 GB
HDDRaid1/5/0+1 with >100GB

GUI system:

CPU2
RAM2 GB
HDD >50GB
GFX(2x) NVIDIA with 2 ports depending on number of screens

Installation

SeisComp 3.0 is distributed in the form of tar files:

This section describes the installation of the binary packages of SeisComP3 on an openSUSE 11.1 64 bit system with KDE desktop profile.

Preparation

Additional packages

First the environment has to be set up. Therefore do the following steps:

SQL configuration

Installation procedure

The next steps describe the installation of SeisComP3 with the prepared tar files.

Now some configuration is necessary before you can start the program. The following lines show only a default configuration. A detailed description of the parameters is following later.

   Initializing trunk
   Agency ID:

Global configuration

Directory structure

During the installation procedure, the SeisComP directory ~/seiscomp3 is created, containing the following subdirectories:

binexecutables that can be directly called by the user. The scripts in this directory are created from templates by the top-level setup script.
liblibraries, as well as some scripts that cannot be called directly.
pkgpackage scripts that are used internally by the SeisComP utilities.
keytop-level key files.
templatescontains the top-level templates.
configcontains the top-level configuration files.
docdocumentation.
statusruntime process ID (PID) files and other status information.
acquisitionacquisition package including SeedLink and related software.
arclinkArcLink server to access the local waveform archive.
diskmonmonitors available disk space.
trunkdata processing package.

The directories acquisition, arclink, diskmon and trunk each contain the following standard subdirectories:

binprivate executables of the dedicated package that should not to be called directly.
keypackage-level key files.
templatespackage-level templates.
configpackage-level configuration files.
statusruntime PID files and other status information.
loglog files of the programs.

Key files

The central source of SeisComP configuration is so-called key files. The configuration script (seiscomp config) uses these key files and templates to create the configuration files for various modules and to write the information as metadata into the database. Thus, the modification of the system configuration is best done by modifying the key files (and if needed, the templates) and using the configuration script. If the configuration files are modified directly these configuration changes will be lost with the next start of the configuration script. It should be noted that key files are solely used by the seiscomp utility, therefore changes in the key files will only have an effect after the configuration files are updated. Key files are simple ASCII files that list each parameter and its value in a shell syntax enabling an easy way to edit the key files with a standard text editor.
Templates resemble configuration files, but contain placeholders like #station#. The configuration script replaces these placeholders by the values found in the key files. There are two levels of key files:

The seiscomp utility

For short usage information call seiscomp without any argument. Other commands are the following:

seiscomp start
Starts all packages. If SeisComP3 is already running when the start command is called this does not disturb the running program. Lock files are used to ensure that superfluous program instances are not started.
seiscomp stop
Stops all packages.
seiscomp check
Re-starts packages, which have been started by seiscomp start, but are not running at the moment (e.g. crashed). When called from crontab, it provides a “watchdog” function.
seiscomp print_crontab
Shows the recommended crontab. This crontab should be installed with the crontab utility.
seiscomp config
Starts the configuration dialog.

Optionally, a list of one or more packages (e.g. acquisition, trunk, arclink, diskmon) can follow the start, stop, check and print_crontab commands. In this case, the command is only applied to the given packages. Scripts that are called by these commands are located in the pkg directory.
Before seiscomp start is called, it is necessary to configure the system and add stations with seiscomp config.
Before seiscomp config is called it is necessary to stop a running SeisComP3. To stop SeisComP3 remove the crontab and stop the system with seiscomp stop.

Initializing global parameters

When seiscomp config is called the first time, the global parameters of all installed packages are initialized; afterwards the main menu is displayed as in Listing 3-3.

G) Edit global parameters
A) Add/Edit network
R) Remove network
P) Add/Edit configuration profile
W) Write configuration and quit
Q) Quit without writing configuration
Command? [A]:

Listing 3-3: Main menu for the global configuration, displaying the submenus and the corresponding letters for the commands in front.

During subsequent calls of seiscomp config, the main menu is displayed immediately and global parameters can be changed with option “G”. During the configuration dialog, the current value is shown in squared brackets:

Location code [00]:

Typing Enter will select the default value. Underscore can be used to enter an empty string, e.g.:

Location code [00]:_ <enter>
All packages

The following global parameters are applicable to all packages:

Name of Data Center:
This arbitrary ASCII string will be used in full SEED volumes, shown by SeedLink HELLO request (slinktool -P server:18000), etc.
Path to waveform archive []:
Directory where real-time data can be found (normally written by slarchive).
Use syslog when supported [no]
Some packages can send log messages to syslog. If you select “yes”, log messages from these packages will be written in /var/log/messages instead of in the package log directory. In this case, the operating system will take care of removing old messages to keep the log file from growing infinitely. Using a separate log file, such as /var/log/seiscomp is also possible. This option is shown in advanced configuration mode only.
Acquisition

The following global parameters are applicable to acquisition:

Enable local SeedLink [yes]
Configure a local SeedLink server. This is required if you want to use non-SeedLink (e.g., LISS, NAQS, direct digitizer connection) stations. In case of SeedLink stations, the local SeedLink server acts as a hub for local clients. Even though some clients (e.g., seisgram, slarchive, qplot) can connect to remote SeedLink servers directly, most clients require a local SeedLink server, so it is strongly recommended to enter “yes” here.
Enable slarchive [yes]:
If you answer “yes” the data will be saved to the archive directory under acquisition in the SeisComP data structure (SDS). Answer “yes” unless you want to configure a hub or processing system that does not save data locally. Note that archiving a large number of stations require appropriate hard disk capacity.
Enable real-time simulation [no]
If set to "yes", then the local SeedLink will not connect to a real data source. Instead it waits for pre-recorded data from the playback utility, NAME. This mode is used for demonstration playbacks and testing.
First local UDP port (Q330) [5500]:
Each Q330 digitizer requires two UDP ports on SeisComP side, which are automatically allocated. If you select 5500 as the first UDP port, then the ports 5500/5501 are reserved for the first station, 5502/5503 for the second station and so on.
Trunk

The following global parameters are applicable to trunk.

Agency ID
Unique agency ID (less than five characters) to identify the source of earthquake detections and other metadata objects (e.g. picks). This ID is saved to the database.

Datacenter ID []
The unique data center ID (short string without spaces) is used by ArcLink to identify the authority of station metadata. (This ID is visible in the network lists at http://www.webdc.eu/ .) Any stations added locally (e.g. using import_dlsv and sync_dlsv) are labeled with this ID.
Prefix of event ID
Prefix for the event ID created by the SeisComP3 system e.g., specifying “gfz” results in events such as “gfz2008fght”. This is used by e.g. scevent.
Client list [scevent scmag scamp scautopick scautoloc scqc]:
List of processing modules (clients) to start with seiscomp start.
Log level [2]:
Log level of processing
Enable local master [yes]
Start local scmaster client. Required, unless scmaster is running on a remote machine, as for a distributed SeisComP3 installation.
Address of master [localhost:4803]
The current version uses port 4803.
Database type [mysql]:
Type of database used for station metadata and event information. Supported database types are MySQL and PostgreSQL.
Database read connection [sysop:sysop@localhost/seiscomp3]:
The connection to read from the database is: user:password@host/databasename. In case remote modules connect to the database the full host name (IP) is recommended.
Database write connection [sysop:sysop@localhost/seiscomp3]:
The connection syntax to write to the database is equivalent to the reading connection.
Recordstream service [slink]
The type of record stream that the processing modules use to get real-time data. This may be "slink" for SeedLink, "arclink" for ArcLink, or "combined" for a SeedLink/ArcLink combination. Other types of record streams like "sdsarchive" are supported for off-line data, but those should not be used here.
Recordstream source [localhost:18000]
Source (host name and port number) of the above record stream. For "combined", separate with a semicolon, e.g. myhost:18000;myhost:18001.
Update inventory (set to 'no' if using sync_dlsv) [yes]
Set to "no" if you use dataless SEED as an inventory source rather than key files.
Run scqc as a daily cronjob [no]
Set to "yes" if you want to allow scqc to process the data files as a cron job once per day rather than running scqc as a real-time SeisComP3 client.
Diskmon configuration

The following global parameters concern diskmon.

Disk usage threshold in per cent [95]:
Each time when the disk usage exceeds this level, an alert e-mail is send to the user. Note that disk usage is only checked when a cron job of seiscomp check is installed or seiscomp check is called regularly by other means.
List of e-mail addresses to notify:
Space-separated list of e-mail addresses to notify when disk usage threshold is exceeded.

Adding Stations

Before you start SeisComP, you have to add some stations. If you request stations from remote systems, such as SeedLink or LISS, then the entered station and network code must match a station that is available at the remote side. In case of most digitizers, you can enter an arbitrary station and network code, and the station with these codes will be created within SeisComP. The exception is Q330, in this case station and network codes must match to those defined within the digitizer. Selecting “A” (Add/Edit network) from the main menu, you can edit an existing network or add a new network code.

Network description: <string>:
A detailed description of the network that may contain spaces.
Network name: <2 character>:
Short network identifier may not contain spaces. It is recommended to accept the default.

In the following listing 3-4 the station menu is displayed.

A) Add/Edit station
R) Remove station
Q) Back to main menu
Command? [A]:

Listing 3-4:Station menu

Select “A” to add a station or simply type <enter> to accept the default settings. You can also modify the parameters of an existing station by selecting an existing station code. The configurable parameters for the stations are displayed below. Some of them appear only for special settings:

Station description: <string>
Station description, e.g., name, location, coordinates etc. may contain spaces.
Latitude: <double>
Latitude of the station, needed for the full SEED volumes and for event localization.
Longitude: <double>
Longitude of the station, needed for the full SEED volumes and for event localization.
Elevation: <double>
Elevation of station, needed for full SEED volumes and for event localization.
Datalogger [Q330]: <string>
Name of datalogger; the gain of the entered datalogger must be defined in the file gain.tab in the config directory.
Primary seismometer [STS-2/N]: <string>
Name of the primary seismometer; the gain of the entered seismometer must be defined in the file gain.tab in the config directory.
Gain multiplier [1.0]: <double>
Some seismometers/dataloggers have high-gain and low-gain versions. If the gain differs from standard, enter a multiplier here.
Sample rates [100/20/1/0.1]: <double>
Sample rates of the data streams, created from a particular seismometer. Full syntax of the sample rates specifier is the following:
 Format:      [F{1,2}/L{00,10,20}/T{H,N}_][band code]sample rate/... 
              F - format code (1 - Steim1 (def.), 2 - Steim2) 
              L - location code (def = no code) 
              T - instrument type (H - high gain (def.), N - low gain)

 Examples:    F2/L00/TH_100/20/1/0.1 - broadband with HH/BH/LH/VH,loc. code 00  
              F2_100/B40/1/0.1 - broadband with 40Hz BH  
              F2 E100/40 - short-period with 100Hz EH
This specifier determines which streams are added to the database. It is very important that the entered value agrees with the datalogger setup. The entered value does not have an effect on which streams are created by SeedLink or requested from the remote systems.
Depth: [no default!] <double>
Local depth of the seismometer in meters
Secondary seismometer (e.g., strong-motion): <string>
If you have a secondary seismometer, enter its name here. As before, the gain of the entered seismometer must be defined in the file gain.tab in the config directory. If you have only one seismometer, simply type <enter>. Otherwise the gain multiplier, sample rates and depth of the secondary seismometer will be queried.
Start date [2006/001]: <year/day of year>
Earliest date when the current configuration is valid.
Enable trunk for NN SSSS [yes]: <string>
Enter “yes” to configure the SeisComP processing modules for the station.
Use predefined profile [no]: <string>
If one or more “profiles” for the automatic processing modules are defined, it is possible to choose one here. In this case the next questions will be skipped.

Selecting data stream for autopick stream code (without component)[BH]: <2 character>
Location code [00]: <int>
Here you can select the data stream that is used by the picker. This has also an effect on the trace view (scrttv) and the map view (scmv). You can use, e.g., HH for 100Hz and BH for 20Hz data, depending on the provided streams at the given station. <enter> for an empty location code.
Filter [RMHP(10)>>ITAPER(30)>>BW(4,0.7,2)>>STALTA(2,80)]: <string>
Traces are filtered by the above filter prior to picking. Filter syntax is described in the Filter Grammar section.
Trigger on level [3]: <double>
The threshold for the STA/LTA ratio to set the trigger “on”.
Trigger off level [1.5]: <double>
The threshold for the STA/LTA ratio to set the trigger “off”.

The following four questions are new (in trunk, April 2011) and need to be documented:

Trigger time correction [-0.8]:   
Equivalent network code: 
Equivalent streams mapping (eg., SH->BH): 
Enable acquisition [yes]: <string>
Enter “yes” to configure (acquisition).
Use predefined profile [no]: <string>
In general the profile will be defined here, unless you configure a directly attached digitizer (see section xxx). The next questions concern the acquisition profile. If you use a predefined profile these questions will be skipped.
Data source [0]: <int>
Type of data source must be chosen from the following list. Next options depend on the chosen data source.
 0) SeedLink server (TCP/IP)
 1) LISS server (TCP/IP)
 2) Quanterra Q330 (UDP/IP)
 3) Quanterra Q330 (UDP/IP), GITEWS configuration
 4) Earth Data PS2400/PS6-24 digitizer (obsolete; RS
 5) Earth Data PS2400/PS6-24 digitizer (firmware >= 
    232)
 6) Earth Data PS2400/PS6-24 digitizer (firmware >= 
    TCP/IP)
 7) Earth Data PS6-24 (RS-232) + Lacrosse 2300 weath
    (RS-232)
 8) Lennartz M24 digitizer (RS-232)
 9) Geotech DR24 digitizer (RS-232)
10) Nanometrics HRD24 digitizer (RS-232)
11) Guralp DM24 digitizer (RS-232)
12) SARA SADC10/18/20/30 digitizer (RS-232)
13) RefTek RTPD (TCP/IP)
14) IRIS/IDA NRTS (TCP/IP)
15) NAQS server (TCP/IP)
16) NAQS server (TCP/IP) using nmxptool
17) SCREAM server (UDP/IP)
18) Earthworm export server (TCP/IP)
19) Antelope ORB (TCP/IP)
20) WIN server (UDP/IP)
21) Mini-SEED (fs_plugin)
22) Mini-SEED (data files)
23) Mini-SEED FIFO
24) MK6
25) MicroStep-MIS Wave24 digitizer (RS422/USB)
IP address or hostname: <IP/string>
IP address or hostname of the remote acquisition system.
TCP port: <int>
TCP port of the remote acquisition system.
SeedLink mode [0]: <int>
If the data source is SeedLink, you can choose real-time or dial-up mode. In most cases you choose “real-time” (0).
Dial-up schedule [0,30 * * * *]: <crontab entry>
Dial-up schedule in crontab-like syntax. Question for dial-up mode.
Uptime [900]: <int>
Maximum dial duration in seconds. Question for dial-up mode.
Selectors: <string>
Concerning the SeedLink source. If you want to get all available data type <enter>; otherwise enter one or more selector patterns, separated with space. Sample selector patterns can be found in table 3-1. Note that most digitizers support data and log records only.

Selectors used Mini-SEED streams transferred
BH? BHZ, BHN, BHE (all record types)
BH?.D BHZ, BHN, BHE (data records)
00BH?.D BHZ, BHN, BHE with location code '00' (data records)
BH? !E BHZ, BHN, BHE (excluding detection records)
BH? E BHZ, BHN, BHE plus detection records of all channels
!LCQ !LEP all except LCQ and LEP channels
!L !T all except log and timing records
Table 3-1: Selector examples

IP address of Q330: <ip>
If you have chosen a Quanterra Q330 as data source, enter its IP address here.
Base UDP port of Q330 [5330]: <int>
10 UDP ports are used on the Q330 side, normally 5330/5339. You can enter the first port number here.
Q330 dataport (1-4) [1]: <int>
Q330 supports up to 4 simultaneous connections. Each of the connections must use a different virtual data port, which can be selected here.
Q330 serial number [0x0100000123456789]: <string>
Q330 serial number is used as a password. If you enter it incorrectly, it is not possible to communicate with Q330 (in this case, you will not get any response from Q330, not even error messages). You can find the serial number with the Windows-based utility “Willard” if you connect to Q330 via serial console. Make sure you enter the serial number with “0x” prefix.
Q330 auth code [0x00]: <string>
Like the serial number, the authentification code must also match. Unlike the serial number, the auth code is user-configurable; “0x00” is the default.
Base UDP port on the SeisComP [auto]: <int>
In addition to the aforementioned ten Q330-side UDP ports, each unit (pair of ports) needs 2 UDP ports on the SeisComp side. If you enter “auto” here, these ports will be chosen automatically based on the “First local UDP port (Q330)” global option.
Unit ID [91F3]:
If you have chosen RefTek RTPD as the data source, you have to enter the ID of your digitizer.
Local UDP port: <int>
For generic UDP sources.
Data port of digitizer [/dev/data]: <string>
For digitizers with RS-232 or similar interface.
Baud rate of digitizer [38400]: <int>
For digitizers with RS-232 or similar interface.
Data port of weather station [/dev/weatherstation]: <string>
Question if the digitizer is accompanied by a weather station that has a RS-232 interface.
Baud rate of weather station [9600]: <int>
Question if the digitizer is accompanied by a weather station that has RS-232 interface.
Stream processing scheme: <string>
Those digitizers that supply “raw” data, need a “stream processing scheme”, which describes how Mini-SEED streams are created. The entered scheme must be defined in file streams.xml, which is located in the config directory of the acquisition package.
Archive selectors: <string>
If you have enabled slarchive above, you can specify which streams should be archived. If you want to archive all data of the present station, which are available in the SeedLink server, press <enter>; otherwise enter one or more selector patterns, separated with space, according to table 3-1.
Number of days to keep archived data [30]: <int>
If you have enabled slarchive above, you can specify how many days the data files in archive directory under acquisition will be kept. This option has an effect only if the cron job is installed.

Using Profiles

If a profile is defined the procedure of adding stations can be simplified. By this way the same station parameters do not have to be entered over and over again, e.g. 100 times the same acquisition parameters for 100 stations from a single SeedLink server. Moreover, if the hostname of a SeedLink server changes, you normally have to change it in 100 places. Likewise, the profile can be useful if you have only 2 or 3 sets of processing parameters for the 100 stations. A profile is a set of station parameters, which is shared by one or more stations. In order to create a profile, choose “P” in the main menu. This option is shown in advanced configuration mode only. Now select a module package for which you want to create a profile. Thereafter select a name for the profile. You can edit an existing profile or create a new one. After the profile has been selected, questions identical to those described above, will be posed.

Importing stations from other systems

If you have existing dataless SEED volumes for your stations, you can generate key files automatically using the import_dlsv utility. Moreover, import_dlsv adds the gains to ~/config/gain.dlsv, so there is no need to define the instruments in gain.tab. You only have to define an acquisition profile and pass it with the argument -p as a command-line option. For example, if you defined an acquisition profile “iris”, you can use:

import_dlsv -p acquisition:iris II.dataless

Using import nettab, it is possible to import stations from SeedStuff network tables, however, in this case the gains have to be defined in ~/config/gain.tab. A network table of all stations is automatically generated in ~/config/net.tab, so one possibility to clone a SeisComP system would be to copy gain.tab and net.tab to another machine, define an acquisition profile, e.g., “myprofile”, and call:

import_nettab -p acquisition:myprofile net.tab

It should be noted, however, that nettab format does not include seismometer orientation, so stations that use seismometers with non-standard orientation would be incorrectly defined. Therefore, a better method of cloning a SeisComP system would be to copy just gain.tab and all key files to another machine.