# Earthworm Global Processing
Message Formats

##### `July 24, 2002`

##### `Alex Bittenbiter and Dale Hanych`

    GENERAL:

    This document describes messages pertaining to global processing:

    1.    TYPE_AMP_GLOBAL
    2.    TYPE_PICK_GLOBAL
    3.    TYPE_LOC_GLOBAL

    All fields will be blank-separated.

    All fields will have at least one printing (non-whitespace) character

    TYPE_PICK_GLOBAL
    =================

    <author> <sequence_number> <version> <station> <chan> <net> <loc> <pick_time> <phase_name>

    Inalterable Header:
    ------------------

    <author> -- The standard author string

    <sequence_number> -- integer, represented as an ascii string
                         The sequence number should be practically unique,
                         such that it will not wrap or be duplicated during a reasonable period of time --
                         i.e. expected lifetime of the developers involved.

    <version> -- a number indicating the format version.

    Version 1 content:
    -----------------

    <station> <chan> <net> <loc> -- standard station-channel-network-location as ascii strings

    <phase_name> -- character string

    <pick_time> -- yyyymmddhhmmss.sss

    TYPE_AMP_GLOBAL
    ===============

    <author> <sequence_number> <version> <station> <chan> <net> <loc> <pick_time> <magnitude_type> <amplitude> <associated_period>

    Inalterable Header:
    ------------------

    <author> -- The standard author string

    <sequence number> -- integer, represented as an ascii string
                         The sequence number should be practically unique,
                         such that it will not wrap or be duplicated during a reasonable period of time --
                         i.e. expected lifetime of the developers involved.

    <version> -- a number indicating the format version.

    Version 1 content:
    -----------------

    <station> <chan> <net> <loc> -- standard station-channel-network-location as ascii strings

    <pick_time> -- yyyymmddhhmmss.sss

    <magnitude_type> -- ascii numeric code: 1 = mb, 2 = ml, 3 = mblg, 4 = ms; more as needed

    <amplitude> -- a/d counts, floating point ascii

    <associated_period> -- seconds,  floating point ascii

    TYPE_LOC_GLOBAL:
    ===============

    This message shall consist of one or more 'lines'.
    Each line will start with a 'line name' string followed by an ascii space.
    Each line terminates with a ascii newline character ['\n']
    Each line will consist of blank-separated fields.
    Additional fields can be added to the end of each line as the message evolves.
    The message terminates with an additional \n  [message ends in two \n]
    The first line of the message must be a SUM line.  There shall be only one SUM line per message.
    Following the SUM line, data lines can appear in any order.
    The SUM line will be versioned
    For version 1, data line types are PHS and MAG, other line types will be created as needed.

    SUM <author> <version> <id> <origin_time> <lat> <lon> <z> <gap> <dmin> <rms> <pick_count> <nphs> <nmag>

    PHS <author> <sequence_number> <version> <station> <chan> <net> <loc> <pick_time> <phase_name>

    MAG <author> <sequence_number> <version> <station> <chan> <net> <loc> <pick_time> <mag_type> <amp> <period>

    Where:

    <version> -- a number indicating the message version
                 (pertains to SUM line and possibly content)

    <id> -- event id

    <origin_time>, <pick_time> -- ascii strings in format YYYYMMDDhhmmss.sss

    <pick_count> -- number of picks used to calculate origin (e.g., by glass)

    <nph> -- number of PHS lines included

    <nmag> -- number of AMP lines included

    <mag_type> -- ascii numeric code: 1 = mb, 2 = ml, 3 = mblg, 4 = ms; more as needed

    <station> <chan> <net> <loc> -- standard SCN-L