Users Guide: Inframonitor 3.1
Users Guide: Inframonitor 3.1
1 Users Guide
Users Guide
InfraMonitor 3.1
Stephen Arrowsmith
([email protected]) and Omar
Marcillo ([email protected])
Page 1
InfraMonitor 3.1 Users Guide
Table of Contents
Overview.................................................................................................................................................... 2
Algorithms.............................................................................................................................................2
InfraMonitor detection algorithm: The Adaptive F-detector............................................................ 2
InfraMonitor association algorithm.................................................................................................. 3
InfraMonitor location algorithm: The Bayesian Infrasound Source Locator (BISL).......................3
Code.......................................................................................................................................................5
Installation..................................................................................................................................................5
Pipeline processing using InfraMonitor 3.1............................................................................................... 6
Additional Pipeline Processing Utilities..............................................................................................12
Interactive Processing using InfraMonitor 3.1.........................................................................................12
Ray tracing using InfraMonitor 3.1..........................................................................................................18
Input Parameters...................................................................................................................................... 22
File Input/Output......................................................................................................................................22
Under the Hood........................................................................................................................................ 23
References................................................................................................................................................ 27
APPENDIX 1: Change Log..................................................................................................................... 28
Overview
InfraMonitor is a Matlab-based tool for infrasound monitoring that incorporates LANL-developed
detection, association, and location algorthms (see descriptions below) in addition to a Matlab
implementation of the Tau-P raytracing technique (Garces et al., 1998, Drob et al., 2010). The
InfraMonitor package has been developed to run in two different modes: (1) As a pipeline process, and
(2) interactively. The pipeline mode is designed for processing large quantities of data, without user
interaction, in order to detect and locate infrasound events. The input for pipeline mode comprises data
from multiple infrasound arrays, and the output comprises an event catalog (containing calculated
origin times and locations). The interactive mode is designed for a more thorough user-driven analysis
of individual events (or short time intervals), providing a suite of tools that aid in the analysis of
infrasound data. Interactive tools include support for reading different data formats (SAC, CSS),
filtering, spectra, spectrograms, array plots, display of ground-truth, arrival time picking, amplitude
measurements, and ray tracing.
Algorithms
Page 2
InfraMonitor 3.1 Users Guide
Figure 1: Illustration of the AFD method in comparison with a conventional F-detector for
infrasound data containing five transient signals from mine shots but contaminated by wind farm
noise. The conventional detector identifies the full data segment as a detection (represented by
shaded gray areas on the right panel) whereas the AFD only detects the mining explosion signals.
Page 3
InfraMonitor 3.1 Users Guide
Figure 2: Illustration of the association algorithm. Gray areas represent grid nodes associated with
test events (stars) at three arrays.
Figure 3: An illustration of the application of BISL to a rocket motor detonation conducted at the
Utah Test and Training Range and recorded by three arrays. The location polygons are calculated
by taking slices through the posterior PDF (shown as a color plot).
Page 4
InfraMonitor 3.1 Users Guide
Code
InfraMonitor 3.1 is a Matlab GUI interface and toolbox for regional infrasound monitoring. Features
include:
• Array detection (Adaptive F-detector)
• Interactive Signal Analysis
• Signal Association
• Event location
• BISL method
• Polygon location method
• Tau-P infrasound ray-tracing model
• Graphical display and Interactive GUI interface
• Command-line alternatives to GUI functionality
The full InfraMonitor 3.1 package comprises Matlab scripts, Matlab GUI templates, Python scripts,
SAC data, CSS3.0 tables, and a users manual (pdf file). This distribution does not contain binary
(compiled) code.
The following supporting software is needed to run this tool:
• Matlab
◦ Signal Processing Toolbox
◦ Statistics Toolbox
• Python
Installation
Note that InfraMonitor 3.1 has been tested on Mac OS-X, Sun Solaris, and Linux operating systems.
The current version is not supported for Microsoft Windows.
The following files are provided as part of the InfraMonitor 3.1 package: InfraMonitor_3.1.tar.gz,
ExampleData.tar.gz
To get started, uncompress and untar the source folder:
gunzip InfraMonitor_3.1.tar.gz
tar xvf InfraMonitor_3.1
This will generate a folder (the root folder, the whole path to which is referred to hereafter as
<InfraROOT>). Add <InfraROOT> to your Matlab path:
addpath(genpath(<InfraROOT>))
The best idea is to add this line to your Matlab startup.m file (see the Matlab documentation for more
details)
Uncompress and untar the example data folder (this can be in a totally separate location from the
source code):
gunzip ExampleData.tar.gz
Page 5
InfraMonitor 3.1 Users Guide
Page 6
InfraMonitor 3.1 Users Guide
The .arrival file conforms to the CSS3.0 arrival format, specified below (NA values are important).
STORAGE CHAR NA
# COLUMN EXT FORMAT DESCRIPTION
TYPE POS VALUE
Not
1 sta varchar2(6) a6 1-6 station identifier
Allowed
Not
2 time float(53) f17.5 8-24 epoch time
Allowed
Not
3 arid number(8) i8 26-33 arrival id
Allowed
4 jdate number(8) i8 35-42 -1 julian date
5 stassid number(8) i8 44-51 -1 stassoc id
6 chanid number(8) i8 53-60 -1 instrument id
7 chan varchar2(8) a8 62-69 - channel code
8 iphase varchar2(8) a8 71-78 - reported phase
9 stype varchar2(1) a1 80-80 - signal type
10 deltim float(24) f6.3 82-87 -1.0 delta time
11 azimuth float(24) f7.2 89-95 -1.0 observed azimuth
12 delaz float(24) f7.2 97-103 -1.0 delta azimuth
13 slow float(24) f7.2 105-111 -1.0 observed slowness (s/deg)
14 delslo float(24) f7.2 113-119 -1.0 delta slowness
15 ema float(24) f7.2 121-127 -1.0 emergence angle
16 rect float(24) f7.3 129-135 -1.0 rectilinearity
amplitude, instrument
17 amp float(24) f10.1 137-146 -1.0
corrected, nm
18 per float(24) f7.2 148-154 -1.0 period
19 logat float(24) f7.2 156-162 -999.0 log (amp/per)
20 clip varchar2(1) a1 164-164 - clipped flag
21 fm varchar2(2) a2 166-167 - first motion
22 snr float(24) f10.2 169-178 -1.0 signal to noise ratio
23 qual varchar2(1) a1 180-180 - signal onset quality
24 auth varchar2(15) a15 182-196 - source/originator
25 commid number(8) i8 198-205 -1 comment id
a17:YY/MM/DD Not
26 lddate date 207-223 load date
HH24:MI:SS Allowed
Page 7
InfraMonitor 3.1 Users Guide
Page 8
InfraMonitor 3.1 Users Guide
Page 9
InfraMonitor 3.1 Users Guide
Page 10
InfraMonitor 3.1 Users Guide
Page 11
InfraMonitor 3.1 Users Guide
In InfraMonitor 3.1 the detector and associator/locator are made up of separate functions. This provides
flexibility for running these functions using your own scripts.
Page 12
InfraMonitor 3.1 Users Guide
The .origin file uses the CSS3.0 origin format, provided below.
STORAGE CHAR NA
# COLUMN EXT FORMAT DESCRIPTION
TYPE POS VALUE
1 lat float(24) f9.4 1-9 -999.0 estimated latitude
2 lon float(24) f9.4 11-19 -999.0 estimated longitude
3 depth float(24) f9.4 21-29 -999.0 estimated depth
Not
4 time float(53) f17.5 31-47 epoch time
Allowed
Not
5 orid number(8) i8 49-56 origin id
Allowed
6 evid number(8) i8 58-65 -1 event id
7 jdate number(8) i8 67-74 -1 julian date
number of associated
8 nass number(4) i4 76-79 -1
phases
number of locating
9 ndef number(4) i4 81-84 -1
phases
10 ndp number(4) i4 86-89 -1 number of depth phases
geographic region
11 grn number(8) i8 91-98 -1
number
12 srn number(8) i8 100-107 -1 seismic region number
13 etype varchar2(7) a7 109-115 - event type
estimated depth from
14 depdp float(24) f9.4 117-125 -999.0
depth phases
Not
15 dtype varchar2(1) a1 127-127 depth method used
Allowed
16 mb float(24) f7.2 129-135 -999.0 body wave magnitude
17 mbid number(8) i8 137-144 -1 mb magid
18 ms float(24) f7.2 146-152 -999.0 surface wave magnitude
19 msid number(8) i8 154-161 -1 ms magid
20 ml float(24) f7.2 163-169 -999.0 local magnitude
21 mlid number(8) i8 171-178 -1 ml magid
22 algorithm varchar2(15) a15 180-194 - location algorithm used
23 auth varchar2(15) a15 196-210 - source/originator
24 commid number(8) i8 212-219 -1 comment id
a17:YY/MM/DD Not
25 lddate date 221-237 load date
HH24:MI:SS Allowed
Page 13
InfraMonitor 3.1 Users Guide
For additional help on using these scripts, type the script name with the -h option from your UNIX
terminal window.
Page 14
InfraMonitor 3.1 Users Guide
• Select No to the Filter only selected traces? dialog and click OK.
• Use the default filter coefficients (Filter band = 1 – 5 Hz, Order = 4) by clicking OK in the
Filtering dialog box. Wait until the screen refreshes with the filtered data.
Processing data using the adaptive F-detector:
• Process all the data using the Adaptive F-detector by selecting Detect>Process Everything from
the menubar. This will cycle through all the arrays that are read into InfraMonitor and add
detections.
• If you just wish to process a single array, you first need to select the array. Imagine you wish to
select only BGU (Channels 1-4). You can do this in two different ways. Either press 's' on your
keyboard and then click and drag over the waveforms associated with channels 1-4, or click on
the Select button on the screen and choose channels 1-4 (some people find this second step
easier on certain operating systems). Once channels 1-4 are highlighted, they will appear red
in the main GUI window (see Figure 4). You could now process this array by selecting
Detect>Process Array from the menu bar.
• While the detector is running, a text-based progress bar will appear in the Matlab Command
Window (it will appear as though nothing is happening in the InfraMonitor window!). When the
detector has finished running, a pop-up box will display. Detections are denoted by gray boxes.
Page 15
InfraMonitor 3.1 Users Guide
Page 16
InfraMonitor 3.1 Users Guide
Page 17
InfraMonitor 3.1 Users Guide
Figure 8. Generating a grid for a rectangular region to use for associating and locating events.
• Select Locate>Run>BISL, and use the default minimum number of arrays of 3.
• Some progress bars will appear in the Matlab command window, once the association and
location processing has finished, a dialog box will appear.
• Select Locate>View>BISL and click on the Select all button followed by OK.
• Select yes in the Backazimuths dialog box and click OK.
Page 18
InfraMonitor 3.1 Users Guide
• Two map plots – one for each event found – will be displayed. The ground-truth location you
entered previously is denoted by the red star. You should get a solution corresponding to the
example in Figure 9.
Figure 9. InfraMonitor localization solution for the ground-truth event in the example dataset.
• This example illustrates an important point because one false alarm is obtained at three stations
near the boundary of the box. One must be careful with associations where the network
resolution is poor (i.e., all arrays are in the same direction) and with only a few stations. As the
number of stations associated with the event increases, and the network resolution improves,
one can have more confidence in the solution (e.g., Figure 9 would indicate a highly confident
solution).
Introducing the output files:
• The InfraMonitor GUI writes out some output files as you go along (Note: to write out an
arrival file you must manually select Detect>Save from the file menu). Other output files that
are written out automatically include an origin file, an IMassoc file, and an IMpoly file. The
arrival and origin files conform to the CSS3.0 schema guidelines, the IMassoc and IMpoly files
conform to a structure unique to InfraMonitor 3.1 (see the section below entitled File
Input/Output). All output files are written into the current Matlab working directory (check in
your directory to make sure they are there).
Saving the configuration:
• Select File>Save and save the configuration as Config.mat (you will use this later). Saving a
configuration allows you to load your InfraMonitor session as it was without repeating all the
same steps as before. To open a configuration file, select File>Open>Configuration.
Page 19
InfraMonitor 3.1 Users Guide
Figure 10. Predicted bounce points for the example ground-truth event, color coded by group
velocity.
1 Your configuration must include ground-truth information in addition to a grid file generated by Locate>Grid>New
Page 20
InfraMonitor 3.1 Users Guide
A much more complete set of raytracing functions can be obtained by using the InfraTaup GUI
interface (run in Matlab using the command: infrataup).
For any run using InfraTaup, the following basic parameters should be set: Met-file, Resolution,
Azimuth, Launch angle, Range
• Met-file: This should be set to the name of an appropriate ASCII file in the current (working)
directory.
• Resolution: Ensure that the resolution corresponds to the vertical sampling in your met-file (but
note that it should be entered in meters).
• Azimuth: The azimuth in degrees clockwise from North. For shooting rays at multiple
azimuths, enter the minimum azimuth, increment, and maximum azimuth (e.g., 0:1:359 will
shoot rays from 1° to 359° in increments of 1°).
• Launch angle: The launch angle in degrees from the horizontal. For shooting rays at multiple
launch angles, enter the minimum launch angle, increment, and maximum launch angle (e.g.,
1:1:89 will shoot rays from 1° to 89° in increments of 1°).
• Range: The maximum range in kilometers for which to compute the ray path.
Shooting Direction:
• Choose ‘Forward from source’ or ‘Backward from receiver’. For the latter option, the
meteorological profiles will be reversed such that shooting backward from the receiver at a
particular azimuth will simulate a ray arriving at the receiver from that direction.
Methodology:
• The final solution should always be run using the ‘Formal integration method’ which uses the
approach outlined by Drob et al. (2010). The ‘Quick/Dirty method’ is not recommended for
anything other than a quick survey of a large simultation before running the more
computationally expensive ‘Formal integration method’.
Perspective:
• Set the perspective to x-z or x-y before clicking on the Compute button to define what
perspective the ray solutions are plotted from. Note that the perspective can be modified by
clicking on the Rotate button after the full solution has been obtained. Clicking Rotate will
bring up the Matlab rotate tool, enabling the user to rotate the axes by clicking and dragging on
the ray figure. Clicking Rotate a second time will deactivate the rotate tool.
Turning Rays Pop-up Menu:
• Select ‘Yes’ to compute and plot only rays that turn and are refracted back to the surface. Select
‘No’ to compute and plot all rays, including those that do not refract back to the surface, noting
that this option is slower and may overcomplicate the plot in some cases.
Geographic Coordinates Pop-up Menu:
Page 21
InfraMonitor 3.1 Users Guide
• The default coordinate system is (range, transverse offset). Selecting ‘Yes’ in the Geographic
Coordinates pop-up menu will instruct InfraTaup to convert all coordinates to a geographic
coordinate system (longitude, latitude). InfraTaup will then use the parameters specified in the
‘Geographic Parameters’ box (Lat and Lon correspond to an event location – or receiver
location for shooting rays backwards) This option is recommended when computing multiple
azimuths because otherwise all solutions will be projected onto the same azimuth. Selecting this
option also instructs InfraTaup to generate a map of predicted bounce points, color coded by
group velocity, for the region specified by Lat limits and Lon limits.
Output Data Structure:
• InfraTaup creates a global Matlab structure array called ray. Each element in the structure array
corresponds to a different ray. To view this structure array (only after performing a
computation), type:
global ray
in the Matlab command window. This will make available to the user all the ray parameters
calculated by InfraTaup. These include:
◦ ray.phi: The launch azimuth in degrees for the ray.
◦ ray.theta: The launch angle in degrees for the ray.
◦ ray.x: A vector containing either (i) the range in km at discrete points along the ray, or (ii)
the longitude at discrete points along the ray (depending on whether Geographic
Coordinates is selected as No (i) or Yes (ii)).
◦ ray.y: A vector containing either (i) the transverse offset in km at discrete points along the
ray, or (ii) the latitude at discrete points along the ray (depending on whether Geographic
Coordinates is selected as No (i) or Yes (ii)).
◦ ray.z: A vector containing the elevation in km at discrete points along the ray.
◦ ray.v_g: The group velocity of the ray.
◦ ray.bp: Bounce points for the ray (only gets computed for a geographic coordinate system).
Page 22
InfraMonitor 3.1 Users Guide
Figure 11. InfraTaup GUI interface with ray tracing simulations in (range, transverse offset)
coordinates.
Equivalent Command Line Functions:
• Ray computations can also be run from the Matlab command line. This option enables the user
to call InfraTaup functions from their own Matlab scripts.
To shoot a ray, use the taup function:
taup(metfile,dz,h,phi,theta,max_range,plotflag,I,reverse,fullray,turningRays)
Where the input parameters are:
◦ metfile: An ASCII file containing a vertical profile of winds and temperatures [format:
elevation (km), temperature (K), zonal wind (m/s), meridional wind (m/s)]%
◦ dz: Vertical sampling distance for meteorological profiles (m)
◦ h: Ground elevation (km)
◦ phi: Launch azimuth (degrees)
◦ theta: Launch angle from horizontal (degrees)
◦ max_range: Maximum straight line distance from source (km)
Page 23
InfraMonitor 3.1 Users Guide
Input Parameters
All the free parameters used by InfraMonitor 3.1 can be viewed and edited by selecting:
Tools>Preferences in the InfraMonitor GUI. Note that when you make a change, clicking ʻSaveʼ will
retain the parameters for future runs (either GUI or command-line runs).
File Input/Output
InfraMonitor 3.1 can read waveform data in SAC (typically .sac or .s) or CSS3.0/NNSA format (.w
files). In either case, the waveform data must be linked to the following CSS3.0/NNSA table files:
wfdisc & site. If wfdisc and site files are not available, they can easily be generated for .sac waveform
data using the MakeWfdisc.py and MakeSite.py utilities provided in the PYTHON subdirectory.
The results generated by InfraMonitor 3.1 can be output as a series of CSS3.0 tables (in addition to
specific InfraMonitor tables). A summary of the output tables is given in Table 2.
Detector parameters Time window The processing time window should be set to the
approximate signal durations of interest.
Overlap The overlap between processing time windows. An
overlap of 50% is recommended as an appropriate
choice for most applications.
Adaptive window The adaptive window length must be set long enough
to obtain a sufficient sample distribution, but short
enough to account for temporal variations in ambient
noise. We have found that an adaptive window length
of 1 hour is appropriate for typical infrasound data.
Page 24
InfraMonitor 3.1 Users Guide
Page 25
InfraMonitor 3.1 Users Guide
Page 26
InfraMonitor 3.1 Users Guide
• etime: The end-time of data read into memory (in Matlab datenum format).
• dir_data: Similar to dir with ./ appended.
• f_band: The frequency band used in the bandpass filter.
InfraConfig.trace: Contains the waveform data.
• name: Sensor names corresponding to each waveform.
• s_f: Sampling frequency associated with each waveform.
• fname: File names corresponding to each waveform.
• data: Waveform data associated with each waveform.
• time: Time vectors associated with waveform data.
• select: The current selected waveforms (waveforms displayed in red in the main window).
• y_ax: The locations on the y-axis at which each waveform is plotted.
• gt1: Earliest infrasound arrival times based on the ground-truth information.
• gt2: Latest infrasound arrival times based on the ground-truth information.
• gt_azi: Predicted backazimuths at each sensor based on the ground-truth information.
• GTTime_Pn: Predicted Pn arrival times based on the ground-truth information.
• GTTime_Pg: Predicted Pg arrival times based on the ground-truth information.
• GTTime_Lg: Predicted Lg arrival times based on the ground-truth information.
InfraConfig.array: Contains array and arrival information.
• loc: Central locations for each array.
• arr: Detections obtained at each array.
• trc: A listing of trace numbers (to link with InfraConfig.trace information) associated with each
array.
InfraConfig.detect: Contains FK processing results:
• time: Times associated with FK results.
• slofk: Trace velocities.
• az: Azimuths.
• fstat: Adaptive F-statistics.
• corr: Correlation coefficients.
• trc: A listing of trace numbers (to link with InfraConfig.trace information) associated with each
set of FK results.
InfraConfig.grid: Contains the grid used for association and location.
Page 27
InfraMonitor 3.1 Users Guide
Page 28
InfraMonitor 3.1 Users Guide
References
Arrowsmith, S.J., Whitaker, R.W., Katz, C. & Hayward, C., 2009. The F-detector Revisited: An
Improved Strategy for Signal Detection at Seismic and Infrasound Arrays, Bull. Seism. Soc. Am., 99,
449-453.
Arrowsmith, S.J., Whitaker, R.W., Taylor, S.R., Burlacu, R., Stump, B., Hedlin, M.A.H., Randall, G.,
Hayward, C. & ReVelle, D., 2008. Regional monitoring of infrasound events using multiple arrays:
application to Utah and Washington State, Geophys. J. Int., 175, 291-300.
Drob, D.P., Garces, M., Hedlin, M.A.H. & Brachet, N., 2010. The Temporal Morphology of Infrasound
Propagation, Pure appl. geophys.
Garces, M., Hansen, R.A. & Lindquist, K.G., 1998. Traveltimes for infrasonic waves propagating in a
stratified atmosphere, Geophys. J. Int., 135, 255-263.
Modrak, R.T., Arrowsmith, S.J. & Anderson, D.N., 2010. A Bayesian framework for infrasound
location, Geophys. J. Int., 181, 399-405.
Page 29
InfraMonitor 3.1 Users Guide
Page 30