SeisNoise.jl is designed for fast and easy ambient noise cross-correlation in Julia.
From the Julia command prompt:
- Press
]
to enterpkg
. - Type or copy:
add SeisNoise
- Press backspace to exit
pkg
. - Type or copy:
using SeisNoise
- Built upon SeisIO for easy and fast I/O.
- Custom types for saving Fourier Transforms of data and cross-correlations
- Array-based processing of raw data and cross-correlation.
- Methods for dv/v measurements.
- Coming soon: GPU support and dispersion analysis.
Once you have installed the package you can type using SeisNoise
to start
cross-correlating. For example
using SeisNoise, SeisIO
fs = 40. # sampling frequency in Hz
freqmin,freqmax = 0.1,0.2 # minimum and maximum frequencies in Hz
cc_step, cc_len = 450, 1800 # corrleation step and length in S
maxlag = 80. # maximum lag time in correlation
S1 = get_data("IRIS","TA.V04C..BHZ",s="2006-02-01",t="2006-02-02")
S2 = get_data("IRIS","TA.V05C..BHZ",s="2006-02-01",t="2006-02-02")
FFT1 = compute_fft(S1,freqmin, freqmax, fs, cc_step, cc_len,
time_norm=false,to_whiten=false)
FFT2 = compute_fft(S2,freqmin, freqmax, fs, cc_step, cc_len,
time_norm=false,to_whiten=false)
C = compute_cc(FFT1,FFT2,maxlag,corr_type="coherence")
clean_up!(C,freqmin,freqmax)
abs_max!(C)
SeisNoise.plot(C)
will produce this figure: