params1 = {
    "Nx": 500,
    "Nz": 200,
    "Nt": 100,  # this has to be updated later
    "nbl": 75,
    "Ns": 3,
    "Nr": 200,
    "so": 4,
    "to": 2
}

######################################################
# This part of the code creates the models
######################################################
# Create models
v1 = create_model(shape=(params1["Nx"], params1["Nz"]))
v1.vp.data[:, :] = 2.0

# Initialize based on params1
dv = np.zeros(shape=(params1["Nx"] + 2 * params1["nbl"],
                     params1["Nz"] + 2 * params1["nbl"]),
              dtype=np.float32)
n0 = dv.shape[0]
n1 = dv.shape[1]

# We will put 3 wide Gaussians in center, and t narrower Gaussians on top and bottom of it

t = 10
sigma_big = 20
sigma_small = 1
amplitude_big = 1500.0
    "Nz": 200,
    "Nt": 100,  # this has to be updated later
    "nbl": 75,
    "Ns": 5,
    "Nr": 200,
    "so": 4,
    "to": 2
}

# Load full Sigsbee model
vel_sigsbee = np.load("sigsbee.npz")["arr_0"]
Nx = vel_sigsbee.shape[0]
Nz = vel_sigsbee.shape[1]

# Create model
sigsbee = create_model(shape=(Nx - 2 * params["nbl"], Nz - 2 * params["nbl"]))
sigsbee.vp.data[:, :] = vel_sigsbee * 0.3048 * 0.001

del Nx, Nz, vel_sigsbee

######################################################
# This part of the code creates the models
######################################################

# Specify start index for cropping
start = (200, 50)

# Create cropped model (true)
v = create_model(shape=(params["Nx"], params["Nz"]))
v.vp.data[:, :] = sigsbee.vp.data[start[0]:start[0] + params["Nx"] +
                                  2 * params["nbl"], start[1]:start[1] +
filestr = "flat_reflector_single_shot"

# Create params dicts
params = {
    "Nx": 300,
    "Nz": 100,
    "Nt": 100,  # this has to be updated later
    "nbl": 75,
    "Ns": 1,
    "Nr": 200,
    "so": 4,
    "to": 2
}

vel = create_model(shape=(params["Nx"], params["Nz"]))
vel.vp.data[:, :] = 2.0

# Simulation time, wavelet
t0 = 0.
tn = 2000.  # Simulation last 2.5 second (2500 ms)
f0 = 0.010  # Source peak frequency is 5Hz (0.010 kHz)

# Reflection acquisition geometry (sources and receivers are equally spaced in X direction)
src_depth = 20.0  # Depth is 20m
rec_depth = 20.0  # Depth is 20m

src_coord = np.empty((params["Ns"], 2))
src_coord[:, 0] = 0.5 * vel.domain_size[0]
src_coord[:, 1] = src_depth