""" import numpy as np import matplotlib.pyplot as plt from fatiando.seismic import conv from fatiando.vis import mpl # Define the parameters of our depth model n_samples, n_traces = [600, 100] velocity = 1500 * np.ones((n_samples, n_traces)) # We'll put two interfaces in depth velocity[150:, :] = 2000 velocity[400:, :] = 3500 # We need to convert the depth model we made above into time vel_l = conv.depth_2_time(velocity, velocity, dt=2e-3, dz=1) # and we'll assume the density is homogeneous rho_l = 2200 * np.ones(np.shape(vel_l)) # With that, we can calculate the reflectivity model in time rc = conv.reflectivity(vel_l, rho_l) # and finally perform our convolution synt = conv.convolutional_model(rc, 30, conv.rickerwave, dt=2e-3) # We can use the utility function in fatiando.vis.mpl to plot the seismogram fig, axes = plt.subplots(1, 2, figsize=(8, 5)) ax = axes[0] ax.set_title("Velocity model (in depth)") tmp = ax.imshow(velocity, extent=[0, n_traces, n_samples, 0], cmap="copper",
""" import numpy as np import matplotlib.pyplot as plt from fatiando.seismic import conv from fatiando.vis import mpl # Define the parameters of our depth model n_samples, n_traces = [600, 100] velocity = 1500*np.ones((n_samples, n_traces)) # We'll put two interfaces in depth velocity[150:, :] = 2000 velocity[400:, :] = 3500 dt = 2e-3 # We need to convert the depth model we made above into time vel_l = conv.depth_2_time(velocity, velocity, dt=dt, dz=1) # and we'll assume the density is homogeneous rho_l = 2200*np.ones(np.shape(vel_l)) # With that, we can calculate the reflectivity model in time rc = conv.reflectivity(vel_l, rho_l) # and finally perform our convolution synt = conv.convolutional_model(rc, 30, conv.rickerwave, dt=dt) # We can use the utility function in fatiando.vis.mpl to plot the seismogram fig, axes = plt.subplots(1, 2, figsize=(8, 5)) ax = axes[0] ax.set_title("Velocity model (in depth)") tmp = ax.imshow(velocity, extent=[0, n_traces, n_samples, 0], cmap="copper", aspect='auto', origin='upper') fig.colorbar(tmp, ax=ax, pad=0, aspect=50)
""" import numpy as np import matplotlib.pyplot as plt from fatiando.seismic import conv from fatiando.vis import mpl # Define the parameters of our depth model n_samples, n_traces = [600, 100] velocity = 1500*np.ones((n_samples, n_traces)) # We'll put two interfaces in depth velocity[150:, :] = 2000 velocity[400:, :] = 3500 # We need to convert the depth model we made above into time vel_l = conv.depth_2_time(velocity, velocity, dt=2e-3, dz=1) # and we'll assume the density is homogeneous rho_l = 2200*np.ones(np.shape(vel_l)) # With that, we can calculate the reflectivity model in time rc = conv.reflectivity(vel_l, rho_l) # and finally perform our convolution synt = conv.convolutional_model(rc, 30, conv.rickerwave, dt=2e-3) # We can use the utility function in fatiando.vis.mpl to plot the seismogram fig, axes = plt.subplots(1, 2, figsize=(8, 5)) ax = axes[0] ax.set_title("Velocity model (in depth)") tmp = ax.imshow(velocity, extent=[0, n_traces, n_samples, 0], cmap="copper", aspect='auto', origin='upper') fig.colorbar(tmp, ax=ax, pad=0, aspect=50)
""" Seismic: Synthetic convolutional seismogram for a simple two layer velocity model """ import numpy as np import matplotlib.pyplot as plt from fatiando.seismic import conv from fatiando.vis import mpl # model parameters n_samples, n_traces = [600, 20] rock_grid = 1500.*np.ones((n_samples, n_traces)) rock_grid[300:, :] = 2500. # synthetic calculation vel_l = conv.depth_2_time(rock_grid, rock_grid, dt=2.e-3, dz=1.) rho_l = np.ones(np.shape(vel_l)) rc = conv.reflectivity(vel_l, rho_l) synt = conv.convolutional_model(rc, 30., conv.rickerwave, dt=2.e-3) # plot input model plt.figure() plt.subplot(3, 1, 1) plt.ylabel('Depth (m)') plt.title("Depth Vp model", fontsize=13, family='sans-serif', weight='bold') plt.imshow(rock_grid, extent=[0, n_traces, n_samples, 0], cmap=mpl.pyplot.cm.bwr, aspect='auto', origin='upper') # plot resulted seismogram using wiggle plt.subplot(3, 1, 2) mpl.seismic_wiggle(synt, dt=2.e-3) mpl.seismic_image(synt, dt=2.e-3, cmap=mpl.pyplot.cm.jet, aspect='auto') plt.ylabel('time (seconds)') plt.title("Convolutional seismogram", fontsize=13, family='sans-serif', weight='bold')
""" Seismic: Synthetic convolutional seismogram for a simple two layer velocity model """ import numpy as np import matplotlib.pyplot as plt from fatiando.seismic import conv from fatiando.vis import mpl # model parameters n_samples, n_traces = [600, 20] rock_grid = 1500. * np.ones((n_samples, n_traces)) rock_grid[300:, :] = 2500. # synthetic calculation vel_l = conv.depth_2_time(rock_grid, rock_grid, dt=2.e-3, dz=1.) rho_l = np.ones(np.shape(vel_l)) rc = conv.reflectivity(vel_l, rho_l) synt = conv.convolutional_model(rc, 30., conv.rickerwave, dt=2.e-3) # plot input model plt.figure() plt.subplot(3, 1, 1) plt.ylabel('Depth (m)') plt.title("Depth Vp model", fontsize=13, family='sans-serif', weight='bold') plt.imshow(rock_grid, extent=[0, n_traces, n_samples, 0], cmap=mpl.pyplot.cm.bwr, aspect='auto', origin='upper') # plot resulted seismogram using wiggle plt.subplot(3, 1, 2) mpl.seismic_wiggle(synt, dt=2.e-3) mpl.seismic_image(synt, dt=2.e-3, cmap=mpl.pyplot.cm.jet, aspect='auto')