12 Level 3 Workflow
This chapter describes the workflow steps necessary to complete a Level 3 (L3) FluvialGeomorph analysis. The purpose of this level is to extract planform dimensions.
Define Valley Line
The purpose of this stage is to define the valley trend line for the base year for each reach.
Determine Final Floodplain Extent
The purpose of this step is to use the detrended bankfull elevation identified in L2 to delineate the active floodplain.
From the final Estimate Bankfull Report created in Level 2, use the detrended bankfull elevation identified. In the example from Level 2, this value was 104 ft.
Determine the bankfull depth: The detrending process used in FluvialGeomorph expresses stream elevations using a base index value of 100 ft. Therefore, a detrended bankfull elevation estimated to be 104 ft. means that at bankfull discharge, the water surface elevation is 4 ft. above the detrended stream base index value of 100 ft. for this reach:
104 ft detrended bankfull elevation - 100 ft detrended stream base index = 4 ft bankfull depthDetermine flood prone height: Flood prone has been determined through empirical studies to be approximately two times the bankfull depth. For example, using the bankfull depth calculated in the last step, calculate the flood prone depth using the following formula:
2 * 4 ft bankfull depth = 8 ft flood prone heightTherefore, the flood prone detrended elevation would be 108 ft:
100 ft detrended stream base index + 8 ft flood prone height = 108 ft detrended flood prone heightWith the detrended flood prone elevation for your reach determined in the last step, use the
08 - Water Surface Extenttool to extract a flood prone area polygon. This tool creates a new polygon feature class namedbanks_raw_xxx, where xxx is the detrended elevation selected.This feature class must be edited to select the flood prone area polygon(s). Open the attribute table for the
banks_raw_xxxfeature class and use advanced sorting to sort first bygridcodeand then byShape_Area. Polygons withgridcode= 1 are polygons inundated at the detrended elevation. Typically, the polygons with the largest area represent the channel. Begin selectinggridcode= 1 polygons with the largest area until the entire flood prone area is selected.Export these selected features to a new feature class named
flood_prone.Delete the
banks_raw_xxxfeature class created in this section.
Develop Candidate Valleylines
The purpose of this step is to create a set of candidate valleyline feature classes through iterative smoothing of the flowline for each reach.
- The following steps are performed in the site geodatabase for the base year. This is done to ensure that a
valleylinefeature class is created smoothly through all of the reaches in a site. - In the site geodatabase for the base year, use the ESRI
Smooth Linetool to smooth the siteflowlinefeature class. - Choose the
PAEKsmoothing algorithm. - For the first candidate valleyline, use a
Smoothing Tolarancevalue of 200 meters. In this case you would name the output feature classvalleyline_200 - Repeat the previous step using the
Smoothing Tolerancevalues such as 400, 800, and 1000. - Depending on the detail of the
flowlinefeature class geometry, you may need to select a different range or set of step values of theSmoothing Toleranceparameter values to evaluate. - The goal is to create a wide degree of flowline smoothing in the candidate
valleylinefeature classes to select from in the next step.
Choose Final Valleyline
The purpose of this step is to choose from the candidate valleyline feature classes the one that best captures the overall valley trend line.
- The goal of this step is to select from the candidate
valleylinefeature classes the one that is the most smoothed, yet still fits primarily within theflood_pronepolygon extent. - Add the
flood_pronepolygon and all of the candidatevalleylinefeature classes to the current map. - Identify the
valleylinefeature class that has the highest smoothing tolerance value that also is mostly contained within the extent of theflood_pronepolygon. - In the site geodatabase of the base year, rename the selected valley line to
valleyline. - Delete the unused candidate
valleylinefeature classes from the site geodatabase of the base year. - Copy the
valleylinefeature class you just created from the site geodatabase to each of the base year reach geodatabases.
Define Meander Loops
The purpose of this stage is to define meander loops and bends for the base year for each reach.
Define Loop Points
The purpose of this step is to create a new feature class named loop_points and use it to identify the start and end stream meander loops and bends.
- Create a new point feature class named
loop_points. Enable z and m values. The feature class should contain the following fields:ReachName: Text (50) - The purpose of this field is to store the reach name.loop: Long Integer - The purpose of this field is to store the loop unique identifier for the point.bend: Long Integer - The purpose of the field is to store the bend identifier for the point.position: Text (10) - The purpose of this field is to store position identifier for the point. This field must have one three values: “start”, “end”, or “apex”.
Create Loop Points
loop_pointsfeatures are used to define the start and end location of loop bends and the location of a loop’s apex.loop_pointsfeatures are always placed along (i.e., snapped to) abanklinefeature.- Begin numbering loops starting at the downstream end of the reach and increment the
loopinteger values moving upstream. - In FluvialGeomorph, the
valleylineis used segment theflowlineinto loops. - The beginning and end of loops are delineated where the
valleylinedefinitively crosses theflowline. - If the
flowlinecrosses thevalleylineand then crosses back over in a short distance, this is not considered a definitive crossing. A definitive crossing is one where theflowlineapproaches thevalleyline, crosses it, and then continues to move away from thevalleylinefor a significant longitudinal distance. - Loops must alternate from one bank to the opposite bank. For example, if loop 1 is delineated along the right descending bank, then loop 2 is delineated along the left descending bank.
- Loops are composed of one or more bends (bends nest inside of loops). For example, loop 1 can have bends 1, 2, and 3 (i.e., loop 1, bend 1; loop 1, bend 2; loop 1, bend 3).
- Bend numbering restarts within each loop. The first
bendvalue within a loop always begins with the value 1.
Multiple Reaches:
- For a site with multiple reaches, loops must be uniquely numbered across all reaches. The
loopfield values ofloop_pointsshould not repeat within the reaches of a site.
- The downstream-most loop in the site should be numbered starting with the
loopfield value of 1 and increase moving upstream.
- Set the
loopfield value for each upstream reach to the upstream-most value (i.e., the highestloopvalue of the downstream reach’sloop_pointsfeature class) of the downstream reach. For example, set the value of the fieldloopof the first Reach-2loop_pointsfeature to 8 if the maximum value of Reach-1’sloop_pointsfeature classloopfield is 7.
Check Loop Points:
- Use the
Check Loop Pointstool in theChecktoolset to verify that loops and bends are defined correctly. - Review the messages produced by this tool to identify and correct problems with loop and bend delineation.
Derive Bankline Points
The purpose of this step is to convert the banklines to a set of bankline_points and assign elevations and loop and bend locations to these features.
- Use the
14b - Bankline Pointstool to assign loops, bends, elevations and valley line positions to thebankline_points. - When the tool completes, check that this tools runs correctly by running the
Check Bankline Pointstool in theChecktoolset. - The check tool ensures that the
loop,bend,position,valley_POINT_X,valley_POINT_Y, andvalley_POINT_Mfields are populated. Onlybankline_pointsfeatures within loops and bends will have values in theloop,bend, andpositionfields. - All records should have values in the
valley_POINT_X,valley_POINT_Y, andvalley_POINT_Mfields. - Additionally, apply the following definition query to the
bankline_pointsfeature class: “loop IS NOT NULL”. Onlybankline_pointsfeatures betweenloop_pointsfeatures should be visible.
Assign Cross Section Loops
The purpose of this step is to assign loop and bend identifiers to regularly spaced and riffle cross section feature classes for each reach.
- Use the
14c - Assign Loopstool to assign loops and bends to a cross section feature class. - Set the value of the
cross_sectionparameter to the regular cross section feature class. - After the tool completes, check the regular cross section feature class that the
loopandbendfields are assigned the correct loop and bend values. - Repeat this step for both the
riffle_channelandriffle_floodplainfeature classes.
Calculate L3 Cross Section Geometry
The purpose of this stage is to calculate the Level 3 dimensions for each reach.
Calculate Cross Section L3 Dimensions
The purpose of this step is to calculate the L3 dimensions for the regularly spaced and riffle cross section feature classes for each reach.
- If any
*_dims_L3feature classes exist in the reach geodatabase (created during a previous run), delete these feature classes.
- Use the
15c - XS Planform, Level 3tool to calculate the L3 dimensions.
- Verify in the attribute table that the L3 dimensions have been calculated.
Add Modeled Water Surface Elevation
The purpose of this optional step is to add an HEC-RAS hydraulic model estimated water surface elevation (if available) to a cross section dimension feature class.
- Use the
16 - XS RAS Watersurfacetool to add a modeled water surface elevation field to the input cross section feature class. - Use the
RAS_model_nameparameter to distinguish between multiple RAS model scenarios.
Run Report
The purpose of this stage is to run the Level 3 report for each reach.
Run the L3 Report
The purpose of this step is to run the L2 report for each reach.
- In the Reports toolset, use the
Level 3 Reporttool to produce the Level 3 Report. - For the
streamparameter, use the value of theReachNamefield used in theflowlinefeature class. - For the
flowline_fcparameter, enter theflowlinefeature class for the base year survey. - For the
xs_dims_fcparameter, use the*_dims_L3feature class calculated for the regular cross sections of the base year. - The
xs_points_*parameters should be entered with the feature class for the most recent survey first (i.e., the base year) 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
flowline_points_*,xs_points_*, andsurvey_name_*parameters must be entered in the same order (e.g., 2016, 2010, 2006) in each set of numbered parameters. - For the
demparameter, enter the DEM for the base year survey. - For the
banklines_fcparameter, enter thebanklinesfeature class created for the base year survey.
- For the
features_fcparameter, enter thefeaturesfeature class for the base year survey. - For the
bf_estimateparameter, specify the detrended elevation value that represents the bankfull water surface elevation. - For the
regionsparameter, select the regions to use for estimating the bankfull water surface elevation.
Perform QA
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, Level 3 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 Next Steps
The purpose of this step is to determine what further steps need to be taken.
- Review the results of the Level 3 Report and determine if the project goals require further analysis.