wiki:Year_2000_Compliant_Earthworm_Message_Formats

Version 1 (modified by branden, 8 years ago) (diff)

--

Earthworm Year2000 Compliant Message Formats

Updated February 7, 2001

Lynn Dietz and Barbara Bogaert

The following table lists Y2K-compliant message types (4-digit years) that are used in Earthworm v4.0 and higher.

Y2K-compliant (v4.0 and higher) -----------------

  1. TYPE_PICK2K
  2. TYPE_CODA2K
  3. TYPE_QUAKE2K
  4. TYPE_EVENT2K
  5. TYPE_H71SUM2K
  6. TYPE_HYP2000ARC (barely filled in)

TYPE_HYP2000ARC (completely filled in)

  1. TYPE_TRIGLIST2K

*TYPE_CODA did not include any date information, but since we're changing formats, we added station code to the coda message to make it simpler to export codas along with their picks via export_scn.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  1. TYPE_PICK2K

This message type is created by pick_ew and read by binder, eqproc, eqprelim, export_scn. The new TYPE_PICK2K message is a fixed 72 characters long (including a newline, but excluding a null-terminator).

Y2K-compliant TYPE_PICK2K:

10 4 3 2133 CMN NCVHZ U1 19950831183134.90 953 1113 968\n

0123456789 123456789 123456789 123456789 123456789 123456789 123456789 12345

1st variable col. len type description


0 3 unsigned char Message type (1-255) 3 3 unsigned char Module id that produced this message (1-255) 6 3 unsigned char Installation of origin for this message (1-255) 9 1 unused

10 4 short Sequence # assigned by picker (0-9999),

allows you to match a pick with its coda info.

14 1 unused 15 5 char[] Site code (left justified) 20 2 char[] Network code (left justified) 22 3 char[] Component code (left justified) 25 1 unused 26 1 char Polarity of first break 27 1 char Quality of pick assigned by picker (0-4)

with 0 being best.

28 2 unused (space for phase, P, Pg, S...?) 30 17 char[] Arrival time in the form of:

ccyymmddhhmmss.ff

47 8 long Amplitude of 1st peak after arrival time 55 8 long " " 2nd peak " " " 63 8 long " " 3rd peak " " " 71 1 char newline character

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  1. TYPE_CODA2K

This message type is created by pick_ew and read by eqproc, eqprelim. TYPE_CODA2 did not include any date information and thus is Y2K-compliant as it was. However, since we're changing formats, we added station code to the coda message to make it simpler to export codas along with their picks via export_scn. The TYPE_CODA2K message is a fixed format, 79 characters long (including a newline character, but excluding a null-terminator).

TYPE_CODA2K message:

11 4 3 2165 CMN NCVHZ 23 201 276 289 0 0 7 \n

0123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789

1st variable col. len type description


0 3 unsigned char Message type (1-255) 3 3 unsigned char Module id that produced this message (1-255) 6 3 unsigned char Installation of origin for this message (1-255) 9 1 unused

10 4 short Sequence # assigned by picker (0-9999),

allows you to match a pick with its coda info.

14 1 unused 15 5 char[] Site code (left justified) 20 2 char[] Network code (left justified) 22 3 char[] Component code (left justified) 25 8 long Coda window 1 average absolute amplitude 33 8 long " " 2 " " " 41 8 long " " 3 " " " 49 8 long " " 4 " " " 57 8 long " " 5 " " " 65 8 long " " 6 " " " 73 4 short Coda duration (seconds) 77 1 char Coda weight (quality) 78 1 char newline character

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  1. TYPE_QUAKE2K

This message type is created by binder_ew, and read by eqproc, eqprelim. It's a space-delimited format. The TYPE_QUAKE2K message is space-delimited and variable length.

Y2K-compliant TYPE_QUAKE2K:

3 10 51056672 19960516112157.06 37.6249 -118.8623 9.52 0.08 2.0 9.7 130 10\n

0123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123

max variable

field len type description


1 3 unsigned char Installation of origin for this message (1-255) 2 3 unsigned char Module id that produced this message (1-255) 3 long Event id assigned by binder_ew 4 17 char[] Event origin time in the form of:

ccyymmddhhmmss.ff

5 8 float Latitude (decimal degrees) 6 9 float Longitude (decimal degrees) 7 float Depth (km) 8 float RMS traveltime residual 9 float Distance of nearest station (km)

10 float Average epicentral distance of associated

arrivals (otherwise known as ravg)

11 int Maximum azimuthal gap 12 int Number of associated phases;

followed by a newline character

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  1. TYPE_EVENT2K

This message type is created by eqproc, eqprelim and read by eqcoda. This message is internal to the "sausage" mega-module; it is piped between eqproc or eqprelim and eqcoda and never ends up on a public transport ring.

The TYPE_EVENT2K message is a fixed-format message, the hypocenter line is 96 characters long and each phase line is 111 characters long.

Y2K-compliant TYPE_EVENT2K, hypocenter & phase line:

19950828 1212 13.57 37 34.47 118 50.12 6.42 12 80 2.0 0.25 53821 1\n CMN NCVHZ U1P 19950831183134.90 953 1113 968 23 201 276 289 0 0 7 W\n 0123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 12

Hypocenter line format:

see section 5. TYPE_H71SUM2K.

Phase line format:

1st variable col. len type description


0 5 char[] Site code (left justified) 5 2 char[] Network code (left justified) 7 3 char[] Component code (left justified)

10 1 unused 11 1 char Polarity of arrival (U, D, ' ') 12 1 char Quality of pick assigned by picker (0-4) 13 2 char[] Phase assigned to arrival by binder

(P, Pn, Pg, S, Sn, Sg)

15 17 char[] Arrival time in the form of:

ccyymmddhhmmss.ff

32 8 long Amplitude of 1st peak after arrival time 40 8 long " " 2nd " " " " 48 8 long " " 3rd " " " " 56 8 long Coda window 1 average absolute amplitude 64 8 long " " 2 " " " 72 8 long " " 3 " " " 80 8 long " " 4 " " " 88 8 long " " 5 " " " 96 8 long " " 6 " " "

104 4 int Coda duration (seconds) 108 1 char Coda weight 109 1 char Data source of pick (W=earthworm) 110 2 char newline character

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  1. TYPE_H71SUM2K

This message type is created by hypo_mgr, and is read by eqalarm_ew, cubic_msg, and menlo_report.

The TYPE_H71SUM2K message is fixed-format, 96 characters.

Y2K-compliant TYPE_H71SUM2K:

19960508 2005 44.83 38 47.53 122 45.28 2.56 D 0.86 30 43 4. 0.07 0.2 0.5 AW 51056678 1\n 0123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 12345

1st variable col. len type description


0 4 int %4d Origin time: year 4 2 int %2d Origin time: month (1-12) 6 2 int %2d Origin time: day of month (1-31) 8 1 unused 9 2 int %2d Origin time: hour of day (0-23)

11 2 int %2d Origin time: minute (0-59) 13 6 float %6.2f Origin time: seconds 19 3 int %3d Latitude: degrees 22 1 char %c S for south, blank otherwise 23 5 float %5.2f Latitude: decimal minutes 28 4 int %4d Longitude: degrees 32 1 char %c E for east, blank otherwise 33 5 float %5.2f Longitude: decimal minutes 38 7 float %7.2f Depth (km). 45 1 unused 46 1 char %c Magnitude type code

D=duration, Z=low-gain duration

47 5 float %5.2f Magnitude 52 3 int %3d Number of P & S times with weights greater than 0.1. 55 4 int %4d Maximum azimuthal gap. 59 5 float %5.1f Distance to nearest station (km). 64 5 float %5.2f RMS travel time residual. 69 5 float %5.1f Horizontal error (km). 74 5 float %5.1f Vertical error (km). 79 1 char %c Remark: Q if Quarry blast. 80 1 char %c Remark: Quality flag A-D. 81 1 char %c Remark: Data source code. 82 1 unused 83 10 long %10ld Event identification number 93 1 unused 94 1 char %c Version number of information:

0=Preliminary EW; 1=Final EW with MD; 2=ML added, etc. 0-9, then A-Z.

95 1 char %c newline character

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  1. TYPE_HYP2000ARC (barely filled in)

TYPE_HYP2000ARC (completely filled in)

The TYPE_HYP2000ARC messages is output by eqcoda, read and output by eqverify, hyp2000_mgr (hyp2000), and read by menlo_report, rsec*, arc2trig, earlybird.

A TYPE_HYP2000ARC message is a fixed-format message and is built of 6 different types of lines in the following sequence:

hypocenter (1. Summary Header Format) hypocenter shadow (2. Summary Shadow Format) phase 1 (3. Station Archive Format Year 2000) phase shadow 1 (4. Station Shadow Format, RTP portion) ... phase N phase shadow N terminator line (5. Event Terminator Format) terminator shadow (6. Event Terminator Shadow)

For Hyp2000, the "Summary Header Format" and "Station Archive Format" in the archive message have changed. All other lines in the TYPE_HYP2000ARC message have the same format as the original TYPE_HINVARC message. A complete description of the new Hyp2000 formats can be found in Fred Klein's Hypoinverse Manual.

Sample Y2K-compliant TYPE_HYP2000ARC message (as output by eqcoda):

199912312359492936 2810120 2596 851 27 78 19 15 10154 1 \n $1 \n PWM NC VHZ PD0199912312359 5341 0 77 W \n $ 6 5.49 1.80 7.91 3.30 0.10 PSN0 77 PHP3 1853 39 340 47 245 55 230 63 86 71 70 77 48 \n PHB NC VHZ PU0199912312359 5672 0 103 W \n $ 6 5.37 1.80 6.76 2.53 0.12 PSN0 103 PHP2 1098 63 203 71 75 79 90 87 99 95 54103 46 \n PKE NC VHZ PU0199912312359 5903 0 69 W \n $ 6 5.34 1.80 5.97 2.24 0.11 PSN0 69 PHP0 644 31 430 39 221 47 212 55 120 63 88 69 37 \n PHP NC VHZ PU0199912312359 5941 0 61 W \n $ 6 5.01 1.80 5.92 2.38 0.08 PSN0 61 PHP0 384 23 294 31 235 39 139 47 95 55 60 61 41 \n PPC NC VHZ PU0199912312359 5981 0 41 W \n $ 6 4.71 1.80 4.54 1.68 0.09 PSN0 41 PHP0 356 15 305 19 306 23 180 31 109 39 79 41 49 \n PMM NC VHZ PU2200001010000 0000 0 47 W \n $ 6 4.81 1.80 5.44 2.26 0.06 PSN0 47 PHP0 67 15 382 19 364 23 231 31 114 39 71 47 46 \n PHF NC VHZ P 2200001010000 0103 0 45 W \n $ 6 4.78 1.80 4.79 1.83 0.08 PSN0 45 PHP2 1093 15 427 19 190 23 202 31 125 39 74 45 47 \n PHO NC VHZ PU0200001010000 0134 0 59 W \n $ 6 5.05 1.80 6.17 2.51 0.05 PSN0 59 PHP1 632 23 564 31 232 39 154 47 108 55 63 59 47 \n PPG NC VHZ PU0200001010000 0312 0 77 W \n $ 6 5.31 1.80 5.84 2.16 0.10 PSN0 77 PHP0 382 39 251 47 144 55 149 63 89 71 80 77 38 \n POP NC VHZ PD0200001010000 0377 0 25 W \n $ 5 4.25 1.80 4.83 2.25 0.05 PSN0 25 PHP0 377 11 82 13 209 15 157 19 89 23 75 25 47 \n

10154\n

$ 10154\n

Sample Y2K-compliant TYPE_HYP2000ARC message (as output by hyp2000):

199204290117039536 2577120 2407 475 0 18 98 17 16 5975 128175 6 58343COA 38 0 57 124 21 0 218 0 8COA WW D 24X 0 0L 0 0 10123D343 218Z 0 0 \n $1 0343 0 0\n PWM NC VVHZ PD0199204290117 877 -8136 0 0 0 0 0 0 61 0 169 8400 0 77 88325 0 932 0WD \n $ 6 5.49 1.80 7.91 3.30 0.10 PSN0 77 PHP3 1853 39 340 47 245 55 230 63 86 71 70 77 48 \n PHB NC VVHZ PU4199204290117 1208 -31 0 0 0 0 0 0 0 56 0 348 6300 0 103125355 0 0 0WD \n $ 6 5.37 1.80 6.76 2.53 0.12 PSN0 103 PHP2 1098 63 203 71 75 79 90 87 99 95 54103 46 \n PKE NC VVHZ PU0199204290117 1439 11136 0 0 0 0 0 0 -1 0 486 5200 0 69147348 0 175 0WD \n $ 6 5.34 1.80 5.97 2.24 0.11 PSN0 69 PHP0 644 31 430 39 221 47 212 55 120 63 88 69 37 \n PHP NC VVHZ PU0199204290117 1477 -4136 0 0 0 0 0 0 -22 0 531 4900 0 61201348 0 217 0WD \n $ 6 5.01 1.80 5.92 2.38 0.08 PSN0 61 PHP0 384 23 294 31 235 39 139 47 95 55 60 61 41 \n PMM NC VVHZ PU2199204290117 1536 20 27 0 0 0 0 0 0 11 0 532 4900 0 47190339 0 7 0WD \n $ 6 4.81 1.80 5.44 2.26 0.06 PSN0 47 PHP0 67 15 382 19 364 23 231 31 114 39 71 47 46 \n PPC NC VVHZ PU0199204290117 1517 3136 0 0 0 0 0 0 -36 0 560 4900 0 41199325 0 204 0WD \n $ 6 4.71 1.80 4.54 1.68 0.09 PSN0 41 PHP0 356 15 305 19 306 23 180 31 109 39 79 41 49 \n PHF NC VVHZ P 2199204290117 1639 23 27 0 0 0 0 0 0 -10 0 608 4800 0 45181350 0 6 0WD \n $ 6 4.78 1.80 4.79 1.83 0.08 PSN0 45 PHP2 1093 15 427 19 190 23 202 31 125 39 74 45 47 \n PHO NC VVHZ PU0199204290117 1670 24136 0 0 0 0 0 0 -13 0 628 4800 0 59187324 0 185 0WD \n $ 6 5.05 1.80 6.17 2.51 0.05 PSN0 59 PHP1 632 23 564 31 232 39 154 47 108 55 63 59 47 \n PPG NC VVHZ PU0199204290117 1848 -4136 0 0 0 0 0 0 7 0 745 4800 0 77147343 0 160 0WD \n $ 6 5.31 1.80 5.84 2.16 0.10 PSN0 77 PHP0 382 39 251 47 144 55 149 63 89 71 80 77 38 \n POP NC VVHZ PD0199204290117 1913 -5136 0 0 0 0 0 0 -19 0 803 4800 0 25162281 0 155 0WD \n $ 5 4.25 1.80 4.83 2.25 0.05 PSN0 25 PHP0 377 11 82 13 209 15 157 19 89 23 75 25 47 \n

10123\n

$ 10123\n

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  1. TYPE_TRIGLIST2K

This message type is created by trg_assoc, carlsubtrig, arc2trig, and is read by surf.exe (WaveViewer?), trig2disk, ora_trace_save, and maybe some others. TYPE_TRIGLIST2K is a space-delimited message, where the time fields have a fixed format. It is composed of an event header line, 3 silly comment lines, and any number of individual station trigger lines. Here's an example:

Y2K-compliant TYPE_TRIGLIST2K:

EVENT DETECTED 19960508 20:05:44.83 UTC EVENT ID: 51056678 AUTHOR: 017024003:024045003\n \n Sta/Cmp/Net? Date Time start save duration in sec.\n


GCR VHZ NC P 19960508 20:05:45.58 UTC save: 19960508 20:05:40.58 17\n GDX VHZ NC P 19960508 20:05:45.56 UTC save: 19960508 20:05:40.56 17\n GBG VHZ NC P 19960508 20:05:46.45 UTC save: 19960508 20:05:41.45 17\n GPM VHZ NC P 19960508 20:05:48.34 UTC save: 19960508 20:05:43.34 17\n

Event head line format:

max variable

field len type description


1,2 15 char[] Keywords: "EVENT DETECTED" 3 8 char[] Date of event in the form of: yyyymmdd 4 11 char[] Time of event in the form of: hh:mm:ss.ff 5 3 char[] Time zone label 6,7 9 char[] Keywords: "EVENT ID:" 8 long Event id, assigned by author of the event 9 7 char[] Keyword: "AUTHOR:" 10 char[] String describing author of the event;

may be a series authors, seperated by colons. An author might be a user's login name or a 9-digit ascii logo:

tttmmmiii, where ttt = message type

mmm = module id iii = installation id

Format of Silly Comment lines 1-3:

The comment lines can be printed with the following strings: "\n" " Sta/Cmp/Net? Date Time start save duration in sec.\n" " ----------- ------ --------------- ------------------------------------------\n"

Station Trigger Line Format:

max variable

field len type description


1 5 char[] Station site code 2 3 char[] Station component code 3 2 char[] Station network code 4 1 char Description of the type of trigger 5 8 char[] Date of trigger in the form of: yyyymmdd 6 11 char[] Time of trigger in the form of: hh:mm:ss.ff 7 3 char[] Time zone label 8 5 char[] Keyword: "save:"

Denotes that the on-time and duration of an "interesting seismogram" will follow.

9 8 char[] On-date of "interesting seismogram" in the

form: yyyymmdd

10 11 char[] On-time of "interesting seismogram" in the

form: hh:mm:ss.ff

11 int Duration (seconds) of "interesting seismogram"

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

The End