# nq2ring Configuration File Commands

(last revised 8 June 2011)
Page Index:
1. Example configuration file
2. Functional command listing
3. Alphabetic command listing & description
4. Descriptor file example

On startup, nq2ring reads the configuration file named on the command line. As always, the configuraton file contains comments:

>     #  marks the line as a comment (example: # This is a comment).

Command names must be typed in the control file exactly as shown in this document (upper/lower case matters!).

## 1. EXAMPLE CONFIGURATION FILE

    #
    # nq2ring configuration file
    #
    # This code receives MiniSEED records as files, converts them into
    # Earthworm trace buf messages, and stuffs them into a wave ring.
    #
    #
    ModuleId      MOD_NQ2RING        # module id for this import,
    InRingName      HYPO_RING        # shared memory ring for input
    OutRingName     WAVE_RING        # shared memory ring for output

     HeartbeatInt   10      # Heartbeat interval in seconds
                            # this should match the nq2ring.desc heartbeat!

     LogFile         1      # If 0, don't write logfile;; if 1, do
                            # if 2, log to module log but not stderr/stdout

    # Directory where we should look for the NetQuakes miniSEED files
    NQFilesInDir    /home/luetgert/getfiles/netquakes

    # Directory where the successfully processed files are put
    NQFilesOutDir /home/luetgert/getfiles/netquakes/save

    # Directory where the problem files are put
    NQFilesErrorDir /home/luetgert/getfiles/netquakes/trouble

    # Debug switch: the token "Debug" (without the quotes) can be stated.
    # If it is, lots of weird debug messages will be produced
    # Debug

## 2. FUNCTIONAL COMMAND LISTING

Below are the configure commands recognized by nq2ring, grouped by the function they influence. Most of the commands are required.

             Earthworm system setup:
            MyModuleId           required
            RingName             required
            RingName            required
            HeartbeatInt       required

        Output Control:
            LogFile                required

## 3. ALPHABETIC COMMAND LISTING & DESCRIPTION

In the following section, all configuration file commands are listed in alphabetical order. Listed along with the command (bold-type) are its arguments (in red), the name of the subroutine that processes the command, and the function within the module that the command influences. A detailed description of the command and is also given. Default values and example commands are listed after each command description.

    command arg1                processed by        function

    HeartbeatInt beat            HeartBeat        Earthworm setup

> Beat the nq2ring heart every beat seconds.

    Default:  0 - do not use logit() for LOG channels

    LogFile switch                GetConfig        Earthworm Setup

> Sets the on-off switch for writing a log file to disk. If switch is 0, no log file will be written. If switch is 1, nq2ring will write a daily log file(s) called q2ewxx.log_yymmdd where xx is nq2ring's module id (set with "MyModuleId" command) and yymmdd is the current UTC date (ex: 960123) on the system clock. The file(s) will be written in the EW_LOG directory (environment variable).

>     Default:  none

    MyModuleId mod_id            GetConfig        Earthworm setup

> Sets the module id for labeling all outgoing messages. mod_id is a character string (valid strings are listed in earthworm.d) that relates (in earthworm.d) to a unique single-byte number.

>     Default:  none
>     Calnet:   MyModuleId MOD_NQ2RING

    RingName ring                GetConfig        Earthworm setup

> This is the ring into which the waveforms and messages are sent.

>     Default:  none, required option
>     ATWC:   RingName WAVE_RING

## 4. DESCRIPTOR FILE EXAMPLE

Here is a copy of the nq2ring.desc file as implemented. Note that all causes of death for nq2ring feed through the function q2ew_die() which logs all causes of death using logit() and sends a message to the statmgr utility.

    modName  nq2ring
    modId    MOD_NQ2RING
    instId   INST_MENLO

    restartMe    # restart this sucker as it is critical to data collection
    #
    #
    #    Heartbeat Specification.  If the status manager does not receive
    #    a heartbeat message every  seconds from this module, an
    #    error will be reported (client module dead).   is the maximum
    #    number of pager messages that will be reported and  is the
    #    maximum number of email messages that will be reported.  If the
    #    page or mail limit is exceeded, no further errors will be reported
    #    until the status manager is restarted.
    #
    tsec: 20  page: 0  mail: 99

    # these are the statmgr messages that nq2ring will send before dieing
    #
    err: 0  nerr: 1  tsec: 0  page: 5  mail: 20
    text: "COMSERV has a problem and died"
    #
    err: 1  nerr: 1  tsec: 0  page: 5  mail: 20
    text: "COMSERV Recv NO DATA TIMEOUT and died"
    #
    err: 2  nerr: 1  tsec: 0  page: 5  mail: 20
    text: "SIGNAL caused nq2ring to die"
    #
    err: 3  nerr: 1  tsec: 0  page: 5  mail: 20
    text: "EW tport_putmsg() failed, nq2ring dead"
    #
    err: 4  nerr: 1  tsec: 0  page: 5  mail: 20
    text: "EW TERMINATE recv'd, nq2ring dead"
    #
    err: 5  nerr: 1  tsec: 0  page: 5  mail: 20
    text: "EW config problems on startup, nq2ring dead"
    #
    # BELOW: WARNINGS, NOT FATAL YET
    err: 6  nerr: 1  tsec: 0  page: 5  mail: 20
    text: "qlib2 decompression errors"
    #

Module Index | nq2ring Overview