Beispiel #1
0
# Bulk waveform gather
st = gather_waveforms_bulk(FBX_LON,
                           FBX_LAT,
                           MAX_RADIUS,
                           STARTTIME,
                           ENDTIME,
                           INFRASOUND_CHANNELS,
                           time_buffer=TIME_BUFFER,
                           remove_response=True)

# Add in AVO's Sand Point infrasound array
st += gather_waveforms('AVO',
                       'AV',
                       'SDPI',
                       '0?',
                       'BDF',
                       STARTTIME,
                       ENDTIME,
                       time_buffer=TIME_BUFFER,
                       remove_response=True)

st_proc = process_waveforms(st,
                            freqmin=FREQ_MIN,
                            freqmax=FREQ_MAX,
                            envelope=True,
                            smooth_win=SMOOTH_WIN,
                            decimation_rate=DECIMATION_RATE,
                            normalize=True)

#%% (3) Perform grid search
Beispiel #2
0
MAX_STATION_DIST = 0.8  # [km] Max. dist. from grid center to station (approx.)

FREQ_MIN = 0.5  # [Hz] Lower bandpass corner
FREQ_MAX = 10  # [Hz] Upper bandpass corner

DECIMATION_RATE = 10  # [Hz] New sampling rate to use for decimation
SMOOTH_WIN = 1  # [s] Smoothing window duration

# Automatically determine appropriate time buffer in s
time_buffer = calculate_time_buffer(grid, MAX_STATION_DIST)

st = gather_waveforms(source=SOURCE,
                      network=NETWORK,
                      station=STATION,
                      location=LOCATION,
                      channel=CHANNEL,
                      starttime=STARTTIME,
                      endtime=ENDTIME,
                      time_buffer=time_buffer)

st_proc = process_waveforms(st,
                            freqmin=FREQ_MIN,
                            freqmax=FREQ_MAX,
                            envelope=True,
                            smooth_win=SMOOTH_WIN,
                            decimation_rate=DECIMATION_RATE,
                            normalize=True)

#%% (3) Perform grid search

from rtm import grid_search
Beispiel #3
0
from obspy import UTCDateTime
from waveform_collection import gather_waveforms, gather_waveforms_bulk

# Time window of data to gather for all examples
STARTTIME = UTCDateTime(2019, 9, 22, 6)
ENDTIME = UTCDateTime(2019, 9, 22, 6, 10)

#%% Example 1 - Gather all infrasound records from Dillingham infrasound array

st = gather_waveforms(source='IRIS',
                      network='AV',
                      station='DLL',
                      location='*',
                      channel='*',
                      starttime=STARTTIME,
                      endtime=ENDTIME)

#%% Example 2 - Gather all BHN channel seismic records from within a 200 km radius of Iliamna volcano, Alaska

st_bulk = gather_waveforms_bulk(lon_0=-153.0918,
                                lat_0=60.0319,
                                max_radius=200,
                                starttime=STARTTIME,
                                endtime=ENDTIME,
                                channel='BHN')
Beispiel #4
0
LOCATION = '*'
CHANNEL = '*'
START = UTCDateTime('2018-12-19T01:45:00')
END = START + 20*60

# Filtering
FMIN = 0.1  # [Hz]
FMAX = 1    # [Hz]

# Array processing
WINLEN = 50  # [s]
WINOVER = 0.5

#%% Grab and filter waveforms

st = gather_waveforms(SOURCE, NETWORK, STATION, LOCATION, CHANNEL, START, END,
                      remove_response=True)

st.filter('bandpass', freqmin=FMIN, freqmax=FMAX, corners=2, zerophase=True)
st.taper(max_percentage=0.01)

#%% Array processing and plotting using least squares

from array_processing.algorithms.helpers import getrij
from array_processing.tools.plotting import array_plot
from lts_array import ltsva

latlist = [tr.stats.latitude for tr in st]
lonlist = [tr.stats.longitude for tr in st]

rij = getrij(latlist, lonlist)