Reflection seismology - reflectionseismo
A module to generate and process seismic reflection data to mimic an exploration seismology setup.
- pestoseis.reflectionseismo.agc(seis, w=100, rho=0, type='uniform')[source]
Apply Automatic Gain Control to a shotgather.
- Parameters:
seis (ndarray) – seismic shotgather, rows contain traces
w (float) – window width
rho (ndarray,optional) – density
agctype (string) – ‘linear’ or ‘gaussian’, weight kernel type
- Returns
seis_gs (ndarray): seismograms corrected with AGC
- pestoseis.reflectionseismo.calcreflectivity(density, vel, z, dt)[source]
- Compute the reflectivity series given density and velocity as a function
of depth and a time interval.
- Parameters:
density (ndarray) – a vector of density values
vel (ndarray) – a vector of velocity values
z (ndarray) – a vector of depths
dt (float) – the time interval
- Returns:
the two-way travel time refltwt (ndarray): the reflectivity series as a function of two-way travel time
- Return type:
twt (ndarray)
- pestoseis.reflectionseismo.fwdconvolve(refle, wavelet, dt)[source]
Convolve a reflectivity series with a wavelet to compute a seismogram.
- Parameters:
refle (ndarray) – reflectivity series
wavelet (ndarray) – the wavelet
dt (float) – time interval
- Returns:
time array convo (ndarry): seismic trace resulting from the convolution
- Return type:
tarr (ndarry)
- pestoseis.reflectionseismo.geometrical_spreading(seis, twt)[source]
Apply geometrical spreading correction to a shotgather.
- Parameters:
seis (ndarray) – seismic shotgather, rows contain traces
twt (ndarray) – two-way traveltime
- Returns
seis_gs (ndarray): seismograms corrected for geometrical spreading
- pestoseis.reflectionseismo.imgshotgath(seisdata, dt, offset, amplitudeclip=1.0)[source]
Create an image of a shotgather.
- Parameters:
seisdata (ndarray) – seismic data, i.e., shotgather, rows contain traces
dt (float) – time interval
offset (ndarray) – array of offsets
amplitudeclip (float,optional) – clip the amplitude to a desired value
- pestoseis.reflectionseismo.nmocorrection(velnmo, dt, offset, seisdat)[source]
Common Mid Point (CMP) normal moveout correction.
- Parameters:
velnmo (ndarray) – 1D array of “NMO” velocity, representing the average velocity of the layers above
dt (float) – the time interval
offset (ndarray) – offsets for each trace
seisdat (ndarray) – input seismic data, rows contain traces
- Returns
seisnmo (ndarray): seismograms NMO corrected
- pestoseis.reflectionseismo.wiggle(data, dt, offset=None, skiptr=1, scal=None, title=None, filltrace=True)[source]
Create a ‘wiggle’ plot of a shotgather.
- Parameters:
data (ndarray) – seismic data, i.e., shotgather, rows contain traces
dt (float) – time interval
offset (ndarray,optional) – array of offsets
skiptr (integer,optiona) – plot only every ‘skiptr’ traces
title (string,optional) – add a title to the plot