This readme.txt file was generated on 2021-03-06 by the Data Repository for the University of Minnesota (DRUM). Title: A bedform tracking tool coupled with Fast Fourier Transform decomposition DOI: https://doi.org/10.13020/e1fe-sb56 Author: Jiyong Lee Contact: lee02291@umn.edu License: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication This bedform tracking tool identifies bedforms based on the sign change of the gradient of streambed profiles, dz/dx. Before fed to the bedform tracking algorithm, bed elevation profiles (BEPs) are filtered using Fast Fourier Transform (FFT) decomposition to extract large bedforms buried underneath superimposed secondary bedform features. Thereafter, characteristics (morphology and kinematics) of individual bedforms are quantified. A key advantage of the presented bedform tracking method is that bedform characteristics can be resolved in a wider range of scales. Please refer a following research article for more details and implications from this bedform tracking tool. Suggested Citation: Lee, J., Musa, M., & Guala, M. (2021). Scale‐dependent bedform migration and deformation in the physical and spectral domains. Journal of Geophysical Research: Earth Surface, e2020JF005811. https://doi.org/10.1029/2020JF005811. Details on each step and corresponding user defined parameters are given below. This code has been tested under MATLAB R2019b running on Windows 10. ------------------------------------------------ STEP 1 Moving average ------------------------------------------------ In this step, moving average is applied to BEPs to mitigate fluctuations. Since our bedform tracking method is based on dz/dx, it may fail if your BEPs contain too much noises (i.e. spikes). You may need to apply more sophisticated filters to preprocess your BEPs. wdw: window size [the number of nodes] ------------------------------------------------ STEP 2 FFT filter ------------------------------------------------ In this step, BEPs are decomposed into large and small bedforms using FFT filter. An open source code (fftf.m) is used. The code is available at https://www.mathworks.com/matlabcentral/fileexchange/25017-fft-filter-clean-your-signals-and-display-results cut_off: cutoff length scale for the FFT filter [m] This parameter is bedform field dependent. We recommend using a length scale retaining ~95 percent of bedforms in the moving averaged BEPs. The length scale can be determined based on a cumulative distribution function (CDF) of bedform length quantified in the moving averaged BEPs. Ideally, you should not see any secondary undulations in low pass filtered BEPs. ------------------------------------------------ STEP 3 Bedform tracking ------------------------------------------------ In this step, the code tracks individual bedforms and quantify their characteristics in the moving averaged, lowpass, and highpass filtered BEPs. del_z_tol: sensitivity of tracking based on bedform morphology [mm] The bedform tracking tool recognizes any concave patterns in BEPs as individual bedforms without this parameter, del_z_tol=0 (i.e. small fluctuations in BEPs could be falsely identified as bedforms). We recommend setting this parameter to 2-3 d_50 (conventional bedload layer thickness). It indicates any undulating patterns greater than the bedload layer thickness will be recognized as bedforms. snr: sensitivity of tracking based on bedform kinematics To estimate bedform migration velocity, an identified bedform is progressively shifted along a longitudinal BEP that is obtained after a certain time interval. The averaged vertical gap is calculated between two BEPs over a bedform length in a function of the displacement. The translation leading to the first local minimum of the averaged vertical gap is quantified as travel distance, and the velocity is obtained by dividing it with the time interval. Ambiguity arises in quantifying the travel distance when the first local minimum of the averaged vertical gap is not much different from the one at the zero-translation. snr allows to dismiss the bedform characterizations when relative difference between the averaged vertical gap at the first local minimum and the zero-transition is smaller than a certain value. e.g.) snr=0.1 -> migration velocity =0 when the relative difference between the averaged vertical gap at the first local minimum and the zero-transition is less than 10 %. ds: time step to quantify bedform kinematics dt: sampling rate for each scan [sec] --------------------- Data structure --------------------- BedformTracking.m: main code STEP1_MovingAverage.m: subroutine for STEP1 STEP2_FFTfilter.m: subroutine for STEP2 STEP3_BedformCharacteristics.m: subroutine for STEP3 eg_BEPs.m: example bed elevation profiles to test this code