def backus_parameters(vp, vs, rho, lb, dz): """ Backus parameters. Liner, C (2014), Long-wave elastic attenuation produced by horizontal layering. The Leading Edge, June 2014, p 634-638. """ lam = moduli.lam(vp, vs, rho) mu = moduli.mu(vp, vs, rho) # Compute the layer parameters from Liner (2014) equation 2: a = rho * np.power(vp, 2.0) # Acoustic impedance # Compute the Backus parameters from Liner (2014) equation 4: A1 = 4 * moving_average(mu * (lam + mu) / a, lb / dz, mode='same') A = A1 + np.power(moving_average(lam/a, lb/dz, mode='same'), 2.0)\ / moving_average(1.0/a, lb/dz, mode='same') C = 1.0 / moving_average(1.0 / a, lb / dz, mode='same') F = moving_average(lam/a, lb/dz, mode='same')\ / moving_average(1.0/a, lb/dz, mode='same') L = 1.0 / moving_average(1.0 / mu, lb / dz, mode='same') M = moving_average(mu, lb / dz, mode='same') return A, C, F, L, M
def backus_parameters(vp, vs, rho, lb, dz): """ Backus parameters. Liner, C (2014), Long-wave elastic attenuation produced by horizontal layering. The Leading Edge, June 2014, p 634-638. """ lam = moduli.lam(vp, vs, rho) mu = moduli.mu(vp, vs, rho) # Compute the layer parameters from Liner (2014) equation 2: a = rho * np.power(vp, 2.0) # Acoustic impedance # Compute the Backus parameters from Liner (2014) equation 4: A1 = 4 * moving_average(mu*(lam+mu)/a, lb/dz, mode='same') A = A1 + np.power(moving_average(lam/a, lb/dz, mode='same'), 2.0)\ / moving_average(1.0/a, lb/dz, mode='same') C = 1.0 / moving_average(1.0/a, lb/dz, mode='same') F = moving_average(lam/a, lb/dz, mode='same')\ / moving_average(1.0/a, lb/dz, mode='same') L = 1.0 / moving_average(1.0/mu, lb/dz, mode='same') M = moving_average(mu, lb/dz, mode='same') return A, C, F, L, M
def backus(vp, vs, rho, lb, dz): """ Backus averaging. Using Liner's algorithm (2014; see Notes). Args: vp (ndarray): P-wave interval velocity. vs (ndarray): S-wave interval velocity. rho (ndarray): Bulk density. lb (float): The Backus averaging length in m. dz (float): The depth sample interval in m. Returns: namedtuple: the smoothed logs: vp, vs, plus rho. Useful for computing other elastic parameters at a seismic scale. Notes: Liner, C (2014), Long-wave elastic attenuation produced by horizontal layering. The Leading Edge, June 2014, p 634-638. """ # Compute the Backus parameters: A, C, F, L, M = backus_parameters(vp, vs, rho, lb, dz) # Compute the vertical velocities from Liner (2014) equation 5: R = moving_average(rho, lb / dz, mode='same') vp0 = np.sqrt(C / R) vs0 = np.sqrt(L / R) BackusResult = namedtuple('BackusResult', ['Vp', 'Vs', 'rho']) return BackusResult(Vp=vp0, Vs=vs0, rho=R)
def backus(vp, vs, rho, lb, dz): """ Backus averaging. Using Liner's algorithm (2014; see Notes). Args: vp (ndarray): P-wave interval velocity. vs (ndarray): S-wave interval velocity. rho (ndarray): Bulk density. lb (float): The Backus averaging length in m. dz (float): The depth sample interval in m. Returns: namedtuple: the smoothed logs: vp, vs, plus rho. Useful for computing other elastic parameters at a seismic scale. Notes: Liner, C (2014), Long-wave elastic attenuation produced by horizontal layering. The Leading Edge, June 2014, p 634-638. """ # Compute the Backus parameters: A, C, F, L, M = backus_parameters(vp, vs, rho, lb, dz) # Compute the vertical velocities from Liner (2014) equation 5: R = moving_average(rho, lb/dz, mode='same') vp0 = np.sqrt(C / R) vs0 = np.sqrt(L / R) BackusResult = namedtuple('BackusResult', ['Vp', 'Vs', 'rho']) return BackusResult(Vp=vp0, Vs=vs0, rho=R)
def backus(vp, vs, rho, lb, dz): """ Backus averaging. Liner, C (2014), Long-wave elastic attenuation produced by horizontal layering. The Leading Edge, June 2014, p 634-638. """ # Compute the Backus parameters: A, C, F, L, M = backus_parameters(vp, vs, rho, lb, dz) # Compute the vertical velocities from Liner (2014) equation 5: R = moving_average(rho, lb / dz, mode='same') vp0 = np.sqrt(C / R) vs0 = np.sqrt(L / R) return vp0, vs0
def backus(vp, vs, rho, lb, dz): """ Backus averaging. Liner, C (2014), Long-wave elastic attenuation produced by horizontal layering. The Leading Edge, June 2014, p 634-638. """ # Compute the Backus parameters: A, C, F, L, M = backus_parameters(vp, vs, rho, lb, dz) # Compute the vertical velocities from Liner (2014) equation 5: R = moving_average(rho, lb/dz, mode='same') vp0 = np.sqrt(C / R) vs0 = np.sqrt(L / R) return vp0, vs0
def backus_parameters(vp, vs, rho, lb, dz): """ Intermediate parameters for Backus averaging. This is expected to be a private function. You probably want backus() and not this. Args: vp (ndarray): P-wave interval velocity. vs (ndarray): S-wave interval velocity. rho (ndarray): Bulk density. lb (float): The Backus averaging length in m. dz (float): The depth sample interval in m. Returns: tuple: Liner's 5 intermediate parameters: A, C, F, L and M. Notes: Liner, C (2014), Long-wave elastic attenuation produced by horizontal layering. The Leading Edge, June 2014, p 634-638. """ lam = moduli.lam(vp, vs, rho) mu = moduli.mu(vp, vs, rho) # Compute the layer parameters from Liner (2014) equation 2: a = rho * np.power(vp, 2.0) # Acoustic impedance # Compute the Backus parameters from Liner (2014) equation 4: A1 = 4 * moving_average(mu * (lam + mu) / a, lb / dz, mode='same') A = A1 + np.power(moving_average(lam/a, lb/dz, mode='same'), 2.0)\ / moving_average(1.0/a, lb/dz, mode='same') C = 1.0 / moving_average(1.0 / a, lb / dz, mode='same') F = moving_average(lam/a, lb/dz, mode='same')\ / moving_average(1.0/a, lb/dz, mode='same') L = 1.0 / moving_average(1.0 / mu, lb / dz, mode='same') M = moving_average(mu, lb / dz, mode='same') BackusResult = namedtuple('BackusResult', ['A', 'C', 'F', 'L', 'M']) return BackusResult(A, C, F, L, M)
def backus_parameters(vp, vs, rho, lb, dz): """ Intermediate parameters for Backus averaging. This is expected to be a private function. You probably want backus() and not this. Args: vp (ndarray): P-wave interval velocity. vs (ndarray): S-wave interval velocity. rho (ndarray): Bulk density. lb (float): The Backus averaging length in m. dz (float): The depth sample interval in m. Returns: tuple: Liner's 5 intermediate parameters: A, C, F, L and M. Notes: Liner, C (2014), Long-wave elastic attenuation produced by horizontal layering. The Leading Edge, June 2014, p 634-638. """ lam = moduli.lam(vp, vs, rho) mu = moduli.mu(vp, vs, rho) # Compute the layer parameters from Liner (2014) equation 2: a = rho * np.power(vp, 2.0) # Acoustic impedance # Compute the Backus parameters from Liner (2014) equation 4: A1 = 4 * moving_average(mu*(lam+mu)/a, lb/dz, mode='same') A = A1 + np.power(moving_average(lam/a, lb/dz, mode='same'), 2.0)\ / moving_average(1.0/a, lb/dz, mode='same') C = 1.0 / moving_average(1.0/a, lb/dz, mode='same') F = moving_average(lam/a, lb/dz, mode='same')\ / moving_average(1.0/a, lb/dz, mode='same') L = 1.0 / moving_average(1.0/mu, lb/dz, mode='same') M = moving_average(mu, lb/dz, mode='same') BackusResult = namedtuple('BackusResult', ['A', 'C', 'F', 'L', 'M']) return BackusResult(A, C, F, L, M)