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