Skip to content

JuliaSeismo/SeisNoise.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SeisNoise.jl

SeisNoise.jl is designed for fast and easy ambient noise cross-correlation in Julia.

Build Status Coverage Status

Noise.jl Logo

Installation

From the Julia command prompt:

  1. Press ] to enter pkg.
  2. Type or copy: add SeisNoise
  3. Press backspace to exit pkg.
  4. Type or copy: using SeisNoise

Package Features

  • 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.

Basic Cross-Correlation

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:

plot1