NGraham PAG

My PAG project

Background

The purpose of this project is to be able to get a tilt signal from seimometer data. The methods of came from a paper titled "Tilt prior to explosions and the effect of topography on ultra-long-period seismic records at Fuego volcano, Guatemala" by Lyons et al (2012). This is important because there aren't always tiltmeters available, and tilt could be an indicator for an event to occur. In this paper, they were seeing a clear trend in tilt starting 20-30 minutes or so before an eruption.

Overview

The code is given on the code page with comments.

The bulk of the program is run with numpy and scipy functions for signal processing. I also use matlpotlib for plotting the final figure.

The program overall is meant to take a data set that has been seperated by station, channel, and event in order to create a stack of each channel to plot. For each event, the mean is removed and then it is integrated. It is then downsampled and lowpass filtered. For each channel, the events are stacked, or averaged. There is a plot for each station of both of its channels' stacks.

The data, for now, is hand-picked for use. The nature of the process calls for the events to happen at the 55 minute mark on the plot in order to get a meaningful stack.

Overall, the code works mostly as intended. It runs and produces images, but it doesn't seem work correctly, though it's close. A couple of reproductions on the results page can show more on this, but it seems that there is a step in the filtering process or there abouts that isn't working the same as the original code. In some cases it is very close, and in others it's not close at all.

Further Work

In order to make this better, the filtering process is probably what needs to be looked at to fix the results issues. I think I might be missing a step or am not thinking through the entire process and numbers for the filters correctly. The issue might also be attributed to differences between Python and MATLAB, though this is less likely.

Another thing I would like to do still is make the code usable for anyone completely by the command line. At the moment, there isn't a good way of downloading the data in bulk unless you have the exact time for the event at each station already logged somewhere. Otherwise, I would like it to be able to create images for a number of stations without having to edit the source code each time you change something. This will require using the command line arguments differently, with perhaps a file for configuration.

I would also like to be able to account for gaps in the data appropriately so that more events can be used for better analysis.