Summary description of new pickfile format:

 

Pickfiles consist of ascii lines beginning with a flag in column

1 designating the information on that line.  The new pickfile

format is backwards compatible with the old format so that

software may read either the old or new formats transparently.

Only the "new" format are written.  The "new" pickfile

format is actually a straight extension of the "old" format.

A software "interface" (uwpfif) to the pickfiles is written which

facilitates the reading and writing of pickfiles for

the users application programs.  In general, lines after

the initial 'A' line can be in arbitrary order.

 

The recognized pickfile lines are as follows (OLD - designates

lines that are identical with old format; NEW are

added in the modifications described here).

All lines which cannot be recognized

by the interface from their leading flag, are placed in a single

"unidentified" category, but are preserved intact in the pickfile.

The interface has machinery for accessing, changing, adding,

and deleting all quantities, including lines that are not

recognized by the pickfile (these are handled as strings).

Therefore the users applications may handle unidentified lines

as extensions to the format.

 

In general, all new additions to

the pickfile use a blank delimited token scheme rather

than column orientation (column orientation is used for example

in the A line).  This provides added flexibility in changing

things such as significance in numerical data, at the cost of

some decrease in human readability.  For token driven fields,

quantities that are not set (uninitialized) are denoted by a

single underscore ('_') as a placeholder.

 

A line: (OLD) summary line

    Identical to existing summary line.  This line must ALWAYS be

    present and is the only required line of the pickfile.

    It is also always the first line of the pickfile, and

    contains the reference time (to minute) for all

    other times in the pickfile.  In addition, it contains location

    info when present.  One of these.

 

E line: (OLD) error information

    Identical to existing line.  Zero or one of these.

 

F line: (OLD) error ellipse

    Identical to existing line.  Zero or one of these.

 

(blank) line: (OLD) phase arrival info

    Identical to existing lines.  These lines are allowed as input

    but cannot be written with the interface.  Information on these

    lines are converted in the interface software to fields in the

    new phase info line format.  Zero or more of these.

 

C line: (OLD) comment

    Identical to existing lines.  Arbitrary comment string may

    be placed on one or more of these lines.  Zero or more of these.

 

M line: (OLD) focal mechanism line

    Line contains focal mechanism information in the UW format.

    Zero or more of these lines may be present.  Multiple mechanisms

    may be based on different models, etc.

 

D line: (OLD) dead stations line

    Line contains blank delimited tokens that are the names of

    stations flagged as dead.  Zero or more of these.

 

N line: (NEW) name of pickfile

    Line contains a single token that is the name of the pickfile

    itself.  This allows reconstruction of individual pickfiles from

    a concatenated string of pickfiles, and otherwise allows flexibility

    in tying the pickfile to data file.  Zero or one of these.

 

O line: (NEW) other station list line

    Line contains string of blank delimited channel name tokens.

    These are channels that are flagged for recognition by pickfile

    but have no picks.  This function was handled in the past

    by having a phase line with a station identifier on it, but

    with no picks.  Normally, these lines are used for channel

    squashing operations to preserve data from these channels

    even though they may not have picks.  Zero or more of these.

 

T line: (NEW) time window information

    Line contains two blank delimited tokens.  The first token is the

    window start time in float seconds, and the second token is the

    window end time in float seconds.  Time is relative to the reference

    time on the A line.  Each token may be an underscore ('_') which

    indicates that time is uninitialized.  Used for time slashing of

    data files, or other purposes by application software (e.g., could

    be used by xped to display only a subset of time data).  Zero

    or one of these.

 

. (dot) line: (NEW) new phase info line

    This is the most significant addition in the new format.

    Line starts with a dot character ('.'), followed immediately by

    a station/component/channel identifier token.  The channel

    identifier, which we call the ID string, contains complete

    identification for a single channel according to the UW-2

    data file convention.  The first alphanumeric part of the string

    MUST be present, and contain the name of the station (point on

    the ground).  This is followed optionally by a dot, and the

    channel component string (SEED reference manual, Appendix A).

    Finally, this is followed optionally by a dot and a channel

    id string.  A trailing dot is optional.  If the channel id

    string is present, but not the channel component, then two

    dots must precede the channel id string to indicate a null

    component field.  Examples illustrating various combinations of

    the channel ID string are as follows:

 

            GMW.SHZ.0

            GMW.SHZ.0. << both are same channel; all fields defined >>

 

            BHW

            BHW.

            BHW..

            BHW... << all are same; component and channel id fields are null >>

 

            SHW..0

            SHW..0. << all are same; component field is null >>

 

    The channel identifier is followed by zero or more blank delimited

    phase, amplitude, coda duration, or other packets.  The packets on

    these lines represent measurements (e.g., arrival times) of quantities

    associated with the channel identified by the initial token.

    There may be more than one line referring to a specific channel -

    this is simply a "continuation" convenience so that a channel

    that may have many measurements on it may be spread over several

    lines for readability.

   

    The "dot" ('.') lines replace the former blank (' ') initiated lines.

    Note that if there are no phase picks or

    other information on a "dot" line, this is the same as placing

    the channel designator on an 'O' line, i.e., that channel is

    recognized by the interface.  However, with the pickfile is

    written out, the name appears on an 'O' line if it has not been

    removed or a pick added to that channel.

 

    Initial station info token example:

            .SHW.SHZ.1. - Station SHW; Short-period, high-gain, vertical;

                channel id 1.  Note that only the station name field is

            required.  The other fields may be null (e.g., .SHW...) or

            dots may be deleted for succeeding trailing null fields

            (e.g., .SHW.SHZ is the same as .SHW.SHZ..).

 

    Phase packet example:

            (P P U 34.55 0 0.05 _) - parens enclose packet

            token 1: designates a phase packet (could be: A (amplitude),

                C (coda duration), M (time marker packet), or P (phase arrival))

                Token MUST be present (for obvious reasons).

                Note: These symbols may be upper case (seismologist set) or

                lower case (machine set).

            token 2: P indicates direct P phase (this field MUST be set)

            token 3: U - Polarity is UP on trace (field may be _)

            token 4: arrival time in seconds relative to ref time (may be '_'

                but this would be of dubious value; if it is _ interface

                places the pick in an "unset" category)

            token 5: arrival time uncertainty in seconds (may be '_')

            token 6: residual in seconds (_ means this field is not set)

 

    Available packet definitions are:

            Phase packet: ("packet flag = P or p", "Phase type string",

                "polarity string", "arrival time", "arrival time uncertainty",

                "residual")

            Amplitude packet: ("packet flag = A or a", "amplitude value", "time

                of amplitude measurement", "period value at measurement")

            Coda duration packet: ("packet flag = D or d", "time value for

                end of coda position")

            Time marker packet: ("packet flag = T or t", "time marker id

                string", "time value for mark")

-----------------------------------------------------------------------

Example pickfile:

 

AF199204210114 31.32 48N2149 122W3612 15.00F 2.7 15/020      5       5.6A  XX

E LQ       -.138  .431  .407  418.23  25       .79 1.23 1.64  .11 2.70 0.00

F 187  1   .76  98 36  1.12 284 61  1.81

.PGW.SHZ.. (P P U 34.55 0 0.03 0.28) (D 67.6)

.BLN..0. (p P U 36.95 9 0.03 0.15) (A 1025 39.07 _)

.GMW... (p P D 37.57 0 0.03 0.14) (P S _ 42.83 9 0.14 0.75)

.PRO. (P P D 73.81 9 0.03 0.21)

.VCR (P P _ 65.09 9 0.40 -15.20) (T T0 75.0)

.WG3... (P P U 36.52 9 0.04 -44.60) (P S _ 73.81 9 0.06 -45.10)

.LNO... (P P _ 76.48 9 0.40 -10.60)

.HSO... (P P _ 82.90 _ _ _)

N 92042101141p

T 35.00 _

D PGO MBW

O MBW OHW MCW

C This is first comment line (arbitrary format)

C This is a second comment line

M F 0 0 G 0 0 U 0 0 V 100 50 P 100 50 T 100 50

B This is an unrecognized line