
12 Level-2-EB Estimate Bankfull Analysis Workflow
๐ช Practical ๐ฌ Theory
Level 2 Estimate Bankfull Workflow
This chapter describes the tool workflows and processes steps to complete a Level 2 Estimate Bankfull (L2eb) FluvialGeomorph analysis. The purpose of this level is to estimate bankfull channel dimensions.
Create Initial Riffle Geometry
The purpose of this stage is to identify and map riffle cross sections and roughly estimate an initial bankfull elevation for the base event for each reach.
Create Riffle Floodplain
The purpose of this step is to identify riffle locations and map these cross sections across the lateral extent of the floodplain for each reach.
A riffle is a shallow river landform where water flows in a steep, thin sheet (luna_bergere_leopold_river_1957?). Riffles can be identified with the help of the ๐บ๏ธ channel_slope raster calculated in Level 1, and confirmed with high resolution aerial imagery. In the ๐บ๏ธ channel_slope raster, pools appear as relatively smooth areas of low slope due to the absence of LiDAR points (deep water absorbs laser pulses). Shallow water riffles appear as highly textured areas of relatively higher slope between pools due to the higher number of LiDAR points from the exposed bed material.
- Create a new line feature class named
๐บ๏ธ riffle_floodplainto store riffle cross sections. This feature class must use the same coordinate system as the vector datasets of the project. Add the following fields:๐ ReachName:๐งฎ Text (50)- The purpose of this field is to store the reach name.๐ Seq:๐งฎ long integer- The purpose of this field is to uniquely identify each cross section.
Riffle Identifying Characteristics:
- A straight reach between two meander bends, areas in the cross-overs between river bends
- Clear indicators of the active floodplain or bankfull discharge
- Presence of one or more terraces
- Channel section and form typical of the stream
- A reasonably clear view of of geomorphic features
- Areas of high water surface slope (in the case of high gradient streams)
- Areas of minimum depth and width
- Channel width parallel and consistent
- Avoid tributary influences
- Cross sections should be drawn wide enough to capture the top of bank
Digitize Riffles
- Digitize riffle cross sections beginning with the left descending bank. While editing, use the โReverse Directionโ command (aka flip) to ensure riffles are digitized in the correct direction.
- A red vertex denotes the end of a line segment. Therefore, the red end vertex should be on the right descending bank.
- Check that each cross section is digitized in the correct direction (start at the left descending bank and end on the right descending bank) before going on to the next step.
- Ensure that riffle cross sections are digitized to the full width of the active floodplain. Edit each
๐บ๏ธ riffle_floodplainfeature class to ensure that it extends at least to the edge of the๐บ๏ธ floodplain_polygonfeature class, but no further. - This ensures that each
๐บ๏ธ riffle_floodplainfeature class covers the entire floodplain, but does not extend too far into the uplands.
- For a site with multiple reaches, riffle cross sections must be uniquely numbered across all reaches. The
๐ Seqfield values of riffle cross sections should not repeat within the reaches of a site. - The downstream-most cross section in the site should be numbered starting with the
๐ Seqfield value of 1 and increase moving upstream. - If necessary, use the
๐ ๏ธ XS Resequencetool to set the starting๐ Seqvalue for each reach. - Set the
๐ Seqfield value for each upstream reach to the upstream-most value (i.e., the highest๐ Seqvalue of the downstream reachโs riffle cross section feature class) of the downstream reach. For example, set the๐ Seqof the Reach-2 riffle cross section feature class to 18 if the maximum value of Reach-1โs riffle cross section feature class๐ Seqfield is๐งฎ 17.
Assign Cross Section IDs
The purpose of this step is to ensure that riffle cross section identifiers are properly assigned. Assignment of cross section unique identifiers is critical for later tools to uniquely identify each cross section.
- Assign integer values to the
๐ Seqfield starting with one. Begin numbering at the downstream extent of the study area and moving upstream.
Calculate Cross Section Watershed Area
The purpose of this step is to calculate the watershed area for each riffle cross section.
- From the study area geodatabase, use the
๐บ๏ธ watershed_contributing_arearaster that covers the entire contributing watershed of the study area.
- Use the ESRI
๐ ๏ธ Clip Rastertool to clip the๐บ๏ธ watershed_contributing_arearaster to๐บ๏ธ stream_network_bufferto speed tool run time. - Add the
๐บ๏ธ contributing_area_bufferraster to a map and symbolize with a โhot-coldโ stretch renderer. - Add the
๐บ๏ธ flowlineand regular๐บ๏ธ XSfeatures classes to the map. Place them on top of the๐บ๏ธ contributing_area_bufferraster. - Determine the maximum distance from the intersection of each cross section and the
๐บ๏ธ flowlineto the nearest pixel of high flow in the๐บ๏ธ contributing_area_bufferraster. This value will be used for the๐ snap_distancein the next step. - Use the
๐ ๏ธ XS Watershed Areatool to calculate the watershed area for each cross section. - For the
๐ flow_accumparameter, use the๐งฎ contributing_area_bufferraster. - For the
๐ snap_distanceparameter, use the distance you calculated in a previous step.
Calculate Cross Section River Position
The purpose of this step is to calculate the river position for each riffle cross section.
- Use the
๐ ๏ธ XS River Positiontool to calculate the distance to the mouth of the river for each cross section. - The river position of each cross section will be used in later steps to calculate several channel parameters (i.e., gradient, sinuosity).
Create Riffle Channel
The purpose of this step is to edit the lateral extent of the ๐บ๏ธ riffle_channel feature class to just cover the initial channel extent. This allows a more detailed examination of the channel area.
- In the Catalog window, make a copy of the
๐บ๏ธ riffle_floodplainfeature class and name itriffle_channel. - Edit each
๐บ๏ธ riffle_channelfeature to ensure that it extends at least to the edge of the๐บ๏ธ channel_polygonlayer, but no further. This ensures that each๐บ๏ธ riffle_channelfeature covers the entire channel, but does not extend too far into the floodplain. - Use snapping to ensure that vertices of the
๐บ๏ธ riffle_channelfeatures are coincident with the overlapping๐บ๏ธ riffle_floodplainfeatures.
Calculate Cross Section Points
The purpose of this step is to convert each riffle cross section into a set of evenly stationed points and assign DEM and REM elevation values.
- Use the
๐ ๏ธ XS Pointstool to calculate cross section station points for each cross section. - The
๐ station_distanceparameter should be set to approximately the resolution of the DEM. For example, if the DEM has a cell size of 1 foot (0.3048 meter), set the๐ station_distanceto that distance (using the linear units of the coordinate system used for the projectโs vector data). - This tool creates a new feature class named
๐บ๏ธ XSfeature class๐บ๏ธ*_points. - Repeat this step for both the
๐บ๏ธ riffle_floodplainand๐บ๏ธ riffle_channelfeature classes.
Calculate Initial Cross Section L2 Dimension
The purpose of this step is to calculate the initial L2 dimensions for the the riffle cross sections for each reach. Repeat the following steps for both the ๐บ๏ธ riffle_floodplain and ๐บ๏ธ riffle_channel feature classes.
Determine the moving window size
Many stream metrics are scale dependent, meaning these metrics are affected by the size of the moving window used in their calculation. To determine the appropriate size of the moving window for this reach, use the following steps:
- Many stream metrics are typically calculated using a moving window size equal to two meander wavelengths.
- Using the initial
๐บ๏ธ channel_polygonfeature class that you created earlier, estimate the typical bankfull width for the reach. - Estimate the length of two meander wavelengths by multiplying the bankfull width estimated in the last step by 10 (e.g., 30ft bankfull width * 10 = 300ft, two meander wavelengths).
- Determine how many cross sections two meander wavelengths represent. For example, if riffle cross sections are spaced about 300ft apart, then two meander wavelengths would be 1 riffle cross section (i.e., 300ft / 300ft between riffle cross sections).
Calculate Initial L2 Dimensions
- Use the
๐ ๏ธ XS Dimensions, Level 2tool to calculate L2 dimensions. - Set the
๐ xs_fcparameter to the regular๐บ๏ธ XSfeature class you created in a previous step. - Set the
๐ lead_nparameter to the number of upstream cross sections that you calculated in a previous step. - If the elevations in the channel seem noisy, check the
๐ use_smoothingparameter and set the๐ loess_spanparameter to a value between๐งฎ 0-1. - Confirm that the
๐ vert_unitsof the DEM are in feet.
Confirm the degree of smoothing
- Use a chart to verify the choice of the smoothing
๐ loess_spanparameter in the๐บ๏ธ *_dims_L2feature class. - Right-click on the
๐บ๏ธ *_dims_L2feature class in the map table of contents and select โCreate Chartโ, and select๐งฎ Line. In the๐ Date or Numberdropdown, choose the field๐ POINT_M. In the๐ Aggregationdropdown, choose๐งฎ None. In the๐ Numeric field(s)checklist, check the boxes next to๐งฎ Zand๐งฎ Z_smooth. Click the โApplyโ button to view the chart. - Visually assess the degree of smoothing. The smoothing should be high enough to eliminate LiDAR elevation noise, but not so high as to eliminate meaningful channel elevation change.
- If the smoothing is not ideal, re-run the tool and adjust the
๐ loess_spanparameter.
Estimate Bankfull
The purpose of this stage is to estimate the REM bankfull elevation for the base event for each reach. This report conducts a sensitivity analysis using the regional curve estimates of channel dimensions across a range of elevation values to identify the REM bankfull elevation value that best fits the regional curve estimate.
Run the Estimate Bankfull Report
The purpose of this step is to run the Estimate Bankfull report for each reach.
- In the
๐งฐ Reportstoolset, use the๐ ๏ธ L2 Estimate Bankfulltool to produce the Estimate Bankfull Report. - For the
๐ streamparameter, use the value of the๐ ReachNamefield used in the๐บ๏ธ flowlinefeature class. - For the
๐ flowline_fcparameter, enter the๐บ๏ธ flowlinefeature class for the base event survey. - For the
๐ xs_dims_fcparameter, use the๐บ๏ธ riffle_channel_dims_L2feature class calculated for the base event. - The
๐ xs_points_ch_*parameter set requires a๐บ๏ธ riffle_channel_pointsfeature class. These feature classes should be entered with the feature class for the most recent survey first (i.e., the base event) and then the previous surveys in reverse chronological order (e.g., 2016, 2010, 2006). - The
๐ xs_points_fp_*parameter set requires a๐บ๏ธ riffle_floodplain_pointsfeature class. These feature classes should be entered with the feature class for the most recent survey first (i.e., the base event) and then the previous surveys in reverse chronological order (e.g., 2016, 2010, 2006). - The
๐ survey_name_*parameters are used to label the surveys in maps and graphs. - The feature classes and labels used for the
๐ xs_points_*and๐ survey_name_*parameters must be entered in the same order (e.g., 2016, 2010, 2006) in each set of numbered parameters. - For the
๐ features_fcparameter, enter the๐บ๏ธ featuresfeature class for the base event survey. - For the
๐ demparameter, enter the๐บ๏ธ hydroDEMfor the base event survey. - For the
๐ regionsparameter, select the regions to use for estimating the bankfull water surface elevation. - For the
๐ from_elevationparameter, specify the lowest REM elevation value to use for sensitivity analysis. - For the
๐ to_elevationparameter, specify the highest REM elevation value to use for sensitivity analysis. - For the
๐ by_elevationparameter, specify the value to increment the sequence between๐ from_elevationand๐ to_elevation. - The three values (i.e.,
๐ from_elevation,๐ to_elevation, and๐ by_elevation) define the sequence used for the sensitivity analysis. - For the
๐ bf_estimateparameter, specify the REM elevation value that represents the bankfull water surface elevation.
Perform QA
โ๏ธ Evaluate
The purpose of this step is to use the QA Checklist to verify the reports have run correctly and identify any data mistakes that need to be corrected.
- Follow the instructions in the QA Checklist Chapter, โEstimate Bankfull Reportโ section, to verify that the reports have run correctly.
- Make the required changes suggested in the QA Checklist and rerun the report.
- Repeat these QA iterations until the reports are correct.
Determine Bankfull Elevation
The purpose of this step is to interpret the Estimate Bankfull Report to determine the final REM bankfull elevation to be used for the rest of the analysis for each reach. The ๐ ๏ธ L2 Estimate Bankfulltool is intended to be run iteratively, testing the fit of a range of REM bankfull elevations against different regional curves.
- From the initial
๐ Estimate Bankfull Report, use the Bankfull Elevation Goodness of Fit sensitivity analysis graph to examine the effect of choice of REM bankfull elevation on the error statistic. - Identify the REM bankfull elevation that minimizes error on the Bankfull Elevation Goodness of Fit sensitivity analysis graph.
- In the example figure below, the REM bankfull elevation of 104 ft. minimizes error (y-axis Mean Average Error) for both area and depth. Although 102 ft. appears to be the REM elevation that minimizes error for width, 104 ft. does a better job for area and depth. Using the logic of โbest two out threeโ, a REM bankfull elevation of 104 ft. could be chosen for this reach and will be used for later steps in this analysis. However, other criteria could be used depending on the goals of your study.
- Rerun the report using the value chosen in the previous step.