Calculation of Seafloor Depth Gradients for the ETOPO and SRTM30Plus Datasets¶

This notebook provides the code used to create the ETOPO and SRTM30Plus seafloor gradient datasets, as well as provide some justification for the choice of the value of $\sigma$, the smoothing paramter, in performing the calculation.

The gradient calculations are performed using a slightly modified version of the Canny function in the Python Scikit-Image Package. The Canny function in that package calculates the gradients using the Sobel functions as well as the edges, but only edges are returned. The only modification that has been made to the source code is to return the calculated x_gradient, y_gradient and gradient_magnitude.

The Canny function is used, rather than a direct call to the Sobel function, because it has code to deal with masked values, in this instance the vaues over land. In the call to the Canny function, the only value that matters is the value of $\sigma$ which determines the window of values used to calculate the gradients, that is the amount of smoothing. The other values passed to the Canny function are used to calculate the edges, which are ignored in this instance

The value of $\sigma$ that makes the most sense was determined by looking at graphs of the gradients (below) for different values of $\sigma$, and assessing how well the shelf break off the west coast is defined. The definition should not be too sharp nor too wide. The code below allows anyone to recalculate the gradients using a different value of $\sigma$. Note the ETOPO and SRTM30Plus datasets are at differing resolutions, so different amounts of smoothing will be needed in order to obtain similar results. The netcdf files on ERD's ERDDAP server has values of $\sigma = 7.5$ for the ETOPO dataset and $\sigma = 12.5$ for the SRTM30Plus dataset.

Choosing the value of $\sigma$ for the ETOPO dataset¶

$\sigma = 1$¶

gradient_magnitude:

x_gradient:

and y_gradient:

$\sigma = 3$¶

gradient_magnitude:

x_gradient:

and y_gradient: