Table Of Contents

Previous topic

12. Extracting Hillslope Lengths

Next topic

14. Calculating channel heads using the DrEICH algorithm

This Page

13. Generating E*R* data

These instructions will take you through the steps needed to generate E*R* data for a landscape, and use that data to constrain the critical gradient following the techniques published in Hurst et al. (2012) and Hurst et al. (2013).

13.1. Quick guide

Here is a quick overview of how to set up and run the code, if you have done it before:

  1. Generate hillslope length data using LH_Driver.cpp.
  2. Compile the code with: make -f E_STAR_R_STAR.make
  3. Run the program E_STAR_R_STAR.out using the path (with trailing slash), the filename prefix and the minimum patch area in pixels as arguments.
  4. Analyse the resulting data files using python.

13.2. Overview

This driver file will combine several LSDRaster Functions in order to generate E*R* data for a landscape. This methodology matches the techniques published in Hurst et al. (2012) and Hurst et al. (2013) This code will produce:

  1. A csv file containing the hilltop patch averaged values needed to calculate E*R* values.
  2. A csv file containing raw needed to calculate E*R* values.

13.3. Warning

This code is for research purposes and is under continuous development, so we cannot guarantee a bug-free experience!

13.4. Before You Start

See the other docs on this site for help with loading data into the correct format and general help with using this suite of software: Getting data into LSDTopoToolbox

13.5. Input Data

13.5.1. Input Topographic Data

The 4 input rasters are all generated using LH_Driver.cpp, and this code must be run before E*R* data can be generated. The files should be in the data directory in the following format:

  1. <prefix>_Relief.flt
  2. <prefix>_HFR_LH.flt - Hillslope Length
  3. <prefix>_Slope.flt
  4. <prefix>_CHT.flt - Hilltop curvature

13.6. Compile The Driver

The code is compiled using the provided makefile, E_STAR_R_STAR.make and the command:

make -f E_STAR_R_STAR.make

Which will create the binary file, E_STAR_R_STAR.out to be executed.

13.7. Run The Code

The driver is run with three arguments:

  1. The data path where the input raster files are stored, and the output data will be written.
  2. The filename prefix, without an underscore.
  3. The minimum patch area in pixels.

The syntax on a unix machine is as follows:

./E_STAR_R_STAR.out <path to data files> <Prefix> <Minimum patch area>

And a complete example (your path and filenames may vary):

./E_STAR_R_STAR.out /home/s0675405/DataStore/ER_tests/ Oregon 10

13.8. The Output Data

The final outputs are stored in two csv files and a raster file, which are written to the data folder supplied as an argument.

<prefix>_E_R_Star_Patch_Data.csv

This file contains all of the patch average values that are needed to calculate E*R* values The file is in the following format:

Final_ID,lh_means,lh_medians,lh_std_devs,lh_std_errs,cht_means,cht_medians,cht_std_devs,cht_std_errs,r_means,r_medians,r_std_devs,r_std_errs,s_means,s_medians,s_std_devs,s_std_errs

  1. Final_ID = Patch ID value.
  2. lh_means = Mean hillslope length.
  3. lh_medians = Median hillslope length.
  4. lh_std_devs = Standard deviation of hillslope length.
  5. lh_std_errs = Standard error of hillslope length.
  6. cht_means = Mean hilltop curvature.
  7. cht_medians = Median hilltop curvature.
  8. cht_std_devs = Standard deviation of hilltop curvature.
  9. cht_std_errs = Standard error of hilltop curvature.
  10. r_means = Mean relief.
  11. r_medians = Median relief.
  12. r_std_devs = Standard deviation of relief.
  13. r_std_errs = Standard error of relief.
  14. s_means = Mean slope.
  15. s_medians = Median slope.
  16. s_std_devs = Standard deviation of slope.
  17. s_std_errs = Standard error of slope.

These files can be analysied using a series of python routines detailed below and located here.

<prefix>_E_R_Star_Raw_Data.csv

This file contains all of the hilltop data for every valid pixel in the landscape. The file is in the following format:

i,j,LH,CHT,Relief,Slope

  1. i = Northing of data point in raster coordinates.
  2. j = Easting of data point in raster coordinates.
  3. LH = Hillslope length.
  4. CHT = Hilltop curvature.
  5. Relief = Relief.
  6. Slope = Slope.

These files can be analysied using a series of python routines detailed below and located here.

Output Raster Data

The code also writes a raster file of the hilltop patches, <prefix>_Patches.flt, to allow the user to inspect the spatial averaging which has been performed.

13.9. Using Python To Analyse The Data

The latest version of the python scripts which accompany this analysis driver can be found here and provide a complete framework to go from the output data files to a series of figures utilizing the different methods for producing E*R* data, along with a best fit critical slope value for the nonlinear flux law proposed by Roering et al. (1999).

13.9.1. Plotting The Segments

[explain python script here]

13.9.2. Plotting The Raw Data

[explain python script here]

13.9.3. Binning the Raw Data

[explain python script here]

13.9.4. Getting A Best Fit Critical Slope

[explain python script here]

Choose how to constrain the fit:

  1. raw data
  2. segments
  3. binned data