wiki:rayloc_ew

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

--

Earthworm Module: rayloc_ew

Contributed by: Ray Buland

Function

Ray Buland's global earthquake locator. (new in EW v7.0)

Details

Rayloc_ew is an Earthworm Module to perform global relocation of earthquakes and travel time computation.

Rayloc_ew is an Earthworm-style wrapper around a Fortran program RayLoc, written by Ray Buland. The fortran from Ray is forward model using a Gauss-Newton iteration process fitting to the AK135 (Kennett, Engdahl, and Buland, 1995, GJR v122) update to the iasp91 earth model.

Rayloc_ew attaches itself to the input ring and monitors the ring buffer for the TYPE_LOC_GLOBAL messages.

Rayloc_ew reformats the input and calls the FORTRAN RayLoc processing machinery. The output of rayloc_ew is a TYPE_RAYLOC message, which is written to the output ring.

The wrapper accepts TYPE_LOC_GLOBAL messages and outputs TYPE_RAYLOC as described above.

Rayloc_ew requires three model files (tau.table, ak135.hed, ak135.tbl). These files are parts of rayloc_ew distribution.

Configuration File Commands

On startup, rayloc_ew reads the configuration file named on the command line. In the control file, lines may begin with a valid rayloc_ew commands (listed below).

# 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!). Blank lines are also permitted in the control file.

FUNCTIONAL COMMAND LISTING

Below are the commands recognized by liss2ew, grouped by the function they influence. Most of the commands are required; they may be specified in any order in the control file.

Earthworm system setup
                MyModId          required
                HeartbeatInt     required
                InRing           required 
                OutRing          required
                Debug            optional

Rayloc processing parameters:

                StaFile        required
                WorkDir        required

                hold_params           optional; default if absent = 0 
                fix_depth             optional; default if absent = 1   
                use_PKP               optional; default if absent = 1    
                use_depth_ph          optional; default if absent = 1    
                use_S_ph              optional; default if absent = 1    
                pick_weight_interval  optional; default if absent = 0    
                Rmin                  optional; default if absent = 0   
                Rmax                  optional; default if absent = 0   

                D1                    optional; default if absent = 0    
                Dmin1                 optional; default if absent = 0    
                Dmax1                 optional; default if absent = 180  

                D2                    optional; default if absent = 0   
                Dmin2                 optional; default if absent = 0  
                Dmax2                 optional; default if absent = 180   

                D3                    optional; default if absent = 0   
                Dmin3                 optional; default if absent = 0 
                Dmax3                 optional; default if absent = 180   

                D4                    optional; default if absent = 0   
                Dmin4                 optional; default if absent = 0   
                Dmax4                 optional; default if absent = 180  

                D5                    optional; default if absent = 0   
                Dmin5                 optional; default if absent = 0  
                Dmax5                 optional; default if absent = 180  

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.

The following list is organized by:

command [argument here]

D1,D2,D3,D4,D5 [0 or 1]
Processed by: rayloc_ew_GetConfig
Function: processing parameters

Pick weight distance interval flag(s) (there are five parameters 1=5) (TRUE = 1/FALSE = 0) (def = 0). These work in conjuction with the Dmin and Dmax parameters. They provide 5 optional distance intervals over which arrivals are essentially zero weighted.

Default:  0
Example:  D1 0
          D2 1
          D4 1

Debug
Processed by: rayloc_ew_GetConfig
Function: Earthworm setup

Turns on debug logging for rayloc_ew.

Default:  no debug logging
Example:  Debug

Dmin1, Dmin2, Dmin3, Dmin4 Dmin5 [degrees]
Processed by: rayloc_ew_GetConfig
Function: processing parameters

Lower bound of distance interval(s) in which weights are zero (default 0). Note that in order to use this parameter, a corresponding Dx should be turned ON.

Default:  0
Example:  Dmin1 0
          Dmin2 10
          Dmin5 20

Dmax1, Dmax2, Dmax3, Dmax4, Dmax5 [degrees]
Processed by: rayloc_ew_GetConfig
Function: processing parameters

Upper bound of distance interval(s) in which weights are zero (default 180). Note that in order to use this parameter, a corresponding Dx should be turned ON.

Default:  0
Example:  Dmax1 180
          Dmin2 170
          Dmin5 160

fix_depth [0 or 1]
Processed by: rayloc_ew_GetConfig
Function: processing parameters

Use fixed depth in inversion: TRUE (1) or FALSE(0).

Default:  1
Example:  fix_depth 1

HeartBeatInt [nsec]
Processed by: rayloc_ew_GetConfig
Function: Earthworm Setup

Defines the number of seconds, nsec between TYPE_HEARTBEAT messages issued by rayloc_ew.

Default:  none
Example:  HeartBeatInterval 30

hold_params [0 or 1]
Processed by: rayloc_ew_GetConfig
Function: processing parameters

Hold latitude, longitude, depth, and origin time flag (default = FALSE (0).

Default:  0
Example:  hold_params 1

InRing [ring]
Processed by: rayloc_ew_GetConfig
Function: Earthworm setup

Tells rayloc_ew which shared memory region to use for input. ring is a character string (valid strings are listed in earthworm.d) that relates (in earthworm.d) to a unique number for the key to the shared memory region.

Default:  none
Example:  InRing HYPO_RING

MyModId [mod_id]
Processed by: rayloc_ew_GetConfig
Function: Earthworm setup

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

Default:  none
Example:  MyModuleId MOD_RAYLOC_EW

OutRing [ring]
Processed by: rayloc_ew_GetConfig
Function: Earthworm setup

Tells rayloc_ew which shared memory region to use for output. ring is a character string (valid strings are listed in earthworm.d) that relates (in earthworm.d) to a unique number for the key to the shared memory region.

Default:  none
Example:  OutRing PICK_RING

pick_weight_interval [0 or 1]
Processed by: rayloc_ew_GetConfig
Function: processing parameters

Pick weight residual interval flag (TRUE/FALSE) (default = FALSE)

Default:  0
Example:  pick_weight_interval   1

Rmin [seconds]
Processed by: rayloc_ew_GetConfig
Function: processing parameters

Lower bound of residual interval in which weights can be non-zero (default = 0). To activate this parameter pick_weight_interval must be 1.

Default:  0
Example:  Rmin 0.1

Rmax [seconds]
Processed by: rayloc_ew_GetConfig
Function: processing parameters

Upper bound of residual interval in which weights can be non-zero (default = 0). To activate this parameter pick_weight_interval must be 1.

Default:  0
Example:  Rmax 1

StaFile [filename]
Processed by: rayloc_ew_GetConfig
Function: processing parameters

File with stations information in GLASS format. Here is an example of few lines

AAE    9.0291N  38.7655E 2442 IU Addis Ababa, Ethiopia
AAK   42.6390N  74.4940E 1645 II Ala-Archa, Kyrgyzstan
AAM   42.2997N  83.6561W  249 US Ann Arbor, Michigan, USA
ABKT  37.9303N  58.1188E  678 II Alibek (Geyokcha), Turkmenistan
ABL   34.8508N 119.2208W 1981 NC Mount Abel, California, USA

The sample file is provided with the rayloc_ew distribution. This file used to match the station names from TYPE_LOC_GLOBAL with their 3D coordinates (which is not a part of the TYPE_LOC_GLOBAL message).

Default:  none
Example:  StaFile        "/home/ilya/rayloc_work/glass_station_list.txt"

use_PKP [0 or 1]
Processed by: rayloc_ew_GetConfig
Function: processing parameters

Use or not PKP phases.

Default:  1
Example:  use_PKP 0

use_depth_ph [0 or 1]
Processed by: rayloc_ew_GetConfig
Function: processing parameters

Use or not depth phases.

Default:  1
Example:  use_depth_ph 0

use_S_ph [0 or 1]
Processed by: rayloc_ew_GetConfig
Function: processing parameters

Use or not S phases.

Default:  1
Example:  use_S_ph 0

WorkDir [dirname]
Processed by: rayloc_ew_GetConfig
Function: processing parameters

This is the location of the work directory for rayloc_ew. rayloc_ew stores temp files in there. Three model files should be placed in this directory before processing:

1) tau.table
2) ak135.hed
3) ak135.tbl

Those files are prebuilt and shipped with rayloc_ew distribution.

Default:  none
Example:  WorkDir        "/export/home/isti/model"

Sample Configuration File

#
#
#                     rayloc_ew Configuration File
#
MyModId        MOD_RAYLOC_EW   # This instance of rayloc_ew
StaFile        "/gaia/home/mwithers/Projects/EWSupport/Working/run_smeagol/model/glass_station_list.txt"   # File containing station name/pin# info
WorkDir        "/gaia/home/mwithers/Projects/EWSupport/Working/run_smeagol/model"         # Directory where model and tmp files are stored
InRing           RAY_RING     # Transport ring to find TYPE_LOC_GLOBAL messages,
OutRing          RAY_RING     # Transport ring to write TYPE_RAYLOC messages
HeartbeatInt            30     # Heartbeat interval, in seconds,
Debug                    1     # If 1, print debugging message
#
#
# Parameters/flags used to control processing of rayloc
# Default values are provided in comments and used if any
# of the parameters in to configuration is undefined
#
hold_params           0    # Hold latitude, longitude, depth, and origin time flag (def = 0)
fix_depth             1    # Fix depth (def = 1)
use_PKP               1    # Use PKP phases (def = 1)
use_depth_ph          1    # Use depth phases (def 1)
use_S_ph              1    # Use S phases (def = 1)
pick_weight_interval  0    # Pick weight residual interval flag (T/F) (def = 1)
Rmin                  0    # Lower bound of residual interval in which weights can be non-zero (def = 0)
Rmax                  0    # Upper bound of residual interval in which weights can be non-zero (def = 0)
#
D1                    0    # Pick weight distance interval flag(s) (T/F) (def = 0)
Dmin1                  0    # Lower bound of distance interval(s) in which weights are zero (def = 0)
Dmax1                180    # Upper bound of distance interval(s) in which weights are zero (def = 180)
#
D2                    0   # Pick weight distance interval flag(s) (T/F) (def = 0)
Dmin2                 0   # Lower bound of distance interval(s) in which weights are zero (def = 0)
Dmax2               180   # Upper bound of distance interval(s) in which weights are zero (def = 180)
#
D3                    0   # Pick weight distance interval flag(s) (T/F) (def = 0)
Dmin3                 0   # Lower bound of distance interval(s) in which weights are zero (def = 0)
Dmax3               180   # Upper bound of distance interval(s) in which weights are zero (def = 180)
#
D4                    0   # Pick weight distance interval flag(s) (T/F) (def = 0)
Dmin4                 0   # Lower bound of distance interval(s) in which weights are zero (def = 0)
Dmax4               180   # Upper bound of distance interval(s) in which weights are zero (def = 180)
#
D5                    0   # Pick weight distance interval flag(s) (T/F) (def = 0)
Dmin5                 0   # Lower bound of distance interval(s) in which weights are zero (def = 0)
Dmax5               180   # Upper bound of distance interval(s) in which weights are zero (def = 180)
#

Helpful Hints