# Radial growth of delta through time¶

The growth pattern of a delta can be predicted from the volume of a cylinder. The expectation is that a delta’s planform area grows according to a power law that is a function of basin depth, sediment input, and time.

$r = \sqrt{\frac{2 t Q_s}{h_b \pi}}$

Note

This formulation ignores deposit porosity (as is true for the sample data from pyDeltaRCM below).

golf = dm.sample_data.golf()

# measure the delta shoreline distance at five differet times
time_idxs = np.linspace(15, golf.shape-1, num=5, dtype=int)

shoredist_mean = np.zeros(time_idxs.shape)
shoredist_std = np.zeros(time_idxs.shape)
for i, time_idx in enumerate(time_idxs):
golf['eta'][time_idx, :, :],
elevation_threshold=0,
method='MPM',
contour_threshold=0.75,
max_disk=8)

# compute the mean shoreline distance
shoredist_mean[i], shoredist_std[i] = dm.plan.compute_shoreline_distance(
SM_mpm, origin=(golf.meta['CTR'].data, golf.meta['L0'].data))


Now plot

# make a predictive model
def predict_for_t(t, Qs, hb):
"""
return np.sqrt((2*t*Qs) / (hb * np.pi))

# set up the parameters
hb = golf.meta['hb'].data  # basin depth, m
Qs = (golf.meta['h0'].data *
golf.meta['u0'].data *
golf.meta['N0'].data *
golf.meta['dx'].data *
(golf.meta['C0_percent'].data / 100))  # sediment input, m3/s
t = np.linspace(0, golf.t[time_idxs[-1]], num=100)

# make the figure
fig, ax = plt.subplots()

ax.plot(
t, predict_for_t(t, Qs, hb))
ax.errorbar(
golf.t[time_idxs], shoredist_mean, shoredist_std,
c='r', ls='none')
ax.plot(
golf.t[time_idxs], shoredist_mean,
c='r', marker='o')


Why do the data not line up with the prediction? A likely possibility is that the shoreline location determined from the MorphologicalPlanform does not include the full area of the deposit.
Try passing the elevation_offset parameter to the MPM method, which is then passed along to the ElevationMask.