seisflows.plugins.preprocess.adjoint

Adjoints used by the ‘default’ preprocess class use to generate adjoint sources

All functions defined have four required positional arguments

type syn:

np.array

param syn:

synthetic data array

type obs:

np.array

param obs:

observed data array

type nt:

int

param nt:

number of time steps in the data array

type dt:

float

param dt:

time step in sec

Functions

waveform(syn, obs, *args, **kwargs)

Waveform difference from Tromp et al 2005 Eq 9

envelope(syn, obs, nt, dt[, eps])

Waveform envelope difference from Yuan et al. 2015 Eq. 16

instantaneous_phase(syn, obs, nt, dt[, eps])

Instantaneous phase difference from Bozdag et al. 2011 Eq. 27

traveltime(syn, obs, nt, dt, *args, **kwargs)

Cross-correlation traveltime from Tromp et al. 2005 Eq. 45

traveltime_inexact(syn, obs, nt, dt, *args, **kwargs)

A faster cc traveltime function but possibly innacurate

amplitude(syn, obs, nt, dt, *args, **kwargs)

Cross-correlation amplitude difference

envelope2(syn, obs, nt, dt[, eps])

Envelope amplitude ratio from Yuan et al. 2015 Eq. B-2

envelope3(syn, obs, nt, dt[, eps])

Envelope lag from Yuan et al. 2015 Eq. B-2, B-5

instantaneous_phase2(syn, obs, nt, dt[, eps])

Alterative instantaneous phase function

displacement(syn, obs, nt, dt, *args, **kwargs)

Displacement waveform for migration

velocity(syn, obs, nt, dt, *args, **kwargs)

Velocity waveform for migration, taking derivative of obs

acceleration(syn, obs, nt, dt, *args, **kwargs)

Acceleration waveform for migration, second derivative of obs

Module Contents

seisflows.plugins.preprocess.adjoint.waveform(syn, obs, *args, **kwargs)

Waveform difference from Tromp et al 2005 Eq 9

Parameters:
  • syn (np.array) – synthetic data array

  • obs (np.array) – observed data array

seisflows.plugins.preprocess.adjoint.envelope(syn, obs, nt, dt, eps=0.05, *args, **kwargs)

Waveform envelope difference from Yuan et al. 2015 Eq. 16

Parameters:
  • syn (np.array) – synthetic data array

  • obs (np.array) – observed data array

  • nt (int) – number of time steps in the data array

  • dt (float) – time step in sec

seisflows.plugins.preprocess.adjoint.instantaneous_phase(syn, obs, nt, dt, eps=0.05, *args, **kwargs)

Instantaneous phase difference from Bozdag et al. 2011 Eq. 27

Parameters:
  • syn (np.array) – synthetic data array

  • obs (np.array) – observed data array

  • nt (int) – number of time steps in the data array

  • dt (float) – time step in sec

seisflows.plugins.preprocess.adjoint.traveltime(syn, obs, nt, dt, *args, **kwargs)

Cross-correlation traveltime from Tromp et al. 2005 Eq. 45

Parameters:
  • syn (np.array) – synthetic data array

  • obs (np.array) – observed data array

  • nt (int) – number of time steps in the data array

  • dt (float) – time step in sec

seisflows.plugins.preprocess.adjoint.traveltime_inexact(syn, obs, nt, dt, *args, **kwargs)

A faster cc traveltime function but possibly innacurate

Parameters:
  • syn (np.array) – synthetic data array

  • obs (np.array) – observed data array

  • nt (int) – number of time steps in the data array

  • dt (float) – time step in sec

seisflows.plugins.preprocess.adjoint.amplitude(syn, obs, nt, dt, *args, **kwargs)

Cross-correlation amplitude difference

Parameters:
  • syn (np.array) – synthetic data array

  • obs (np.array) – observed data array

  • nt (int) – number of time steps in the data array

  • dt (float) – time step in sec

seisflows.plugins.preprocess.adjoint.envelope2(syn, obs, nt, dt, eps=0.0, *args, **kwargs)

Envelope amplitude ratio from Yuan et al. 2015 Eq. B-2

Parameters:
  • syn (np.array) – synthetic data array

  • obs (np.array) – observed data array

  • nt (int) – number of time steps in the data array

  • dt (float) – time step in sec

seisflows.plugins.preprocess.adjoint.envelope3(syn, obs, nt, dt, eps=0.0, *args, **kwargs)

Envelope lag from Yuan et al. 2015 Eq. B-2, B-5

Parameters:
  • syn (np.array) – synthetic data array

  • obs (np.array) – observed data array

  • nt (int) – number of time steps in the data array

  • dt (float) – time step in sec

seisflows.plugins.preprocess.adjoint.instantaneous_phase2(syn, obs, nt, dt, eps=0.0, *args, **kwargs)

Alterative instantaneous phase function

Parameters:
  • syn (np.array) – synthetic data array

  • obs (np.array) – observed data array

  • nt (int) – number of time steps in the data array

  • dt (float) – time step in sec

seisflows.plugins.preprocess.adjoint.displacement(syn, obs, nt, dt, *args, **kwargs)

Displacement waveform for migration

seisflows.plugins.preprocess.adjoint.velocity(syn, obs, nt, dt, *args, **kwargs)

Velocity waveform for migration, taking derivative of obs

seisflows.plugins.preprocess.adjoint.acceleration(syn, obs, nt, dt, *args, **kwargs)

Acceleration waveform for migration, second derivative of obs Use finite difference to differentiate observatio nwaveform