Introduction 

HEC-FDA Version 1.4.2 was not designed to accept data based on two-dimensional (2D) gridded hydraulic modeling. However, 2D hydraulic modeling is taking place more frequently due to the capability of being able to simulate direction, among other advantages. For more information on 1D versus 2D modeling, please take a look at this discussion in the HEC-RAS user's manual.

In this tutorial, we describe a method that entails pre-processing our data in GIS and taking advantage of the ASCII import function of HEC-FDA to properly use gridded hydraulic data in an HEC-FDA computation. We thank Dean McLeod for sharing this method and equally attribute credit to others in the field who have independently developed or collaboratively improved this method including but not limited to: Michele Aurand, Bob Carl, Britt Corely, and Jimmy Obrien. HEC takes responsibility for any discrepancies in the tutorial.  Please post questions about the tutorial, or about HEC-FDA generally, to the HEC-FDA page on Discourse.

Prior to discussing the method, it is necessary to first clarify some of the terminology in HEC-FDA that was originally based on 1-D hydraulic modeling and how the term is being used to incorporate the 2-D gridded input:

  • Profile.  In HEC-FDA this term was referring to the longitudinal water surface profile of the river.  Cross sections in a 1-D model are generally placed perpendicular to the profile and the assumption is that the water surface is level across the entire cross section.  In the 2D application, the term profile is being used to represent a grid of depths for a given frequency simulation. Profile does not reference the longitudinal 1D profile of the river in this context.
  • Station. In HEC-FDA the term station was referring to the distance (river miles) along the longitudinal 1D profile from some downstream reference point. In 2D applications the term station is being used as reference number for a structure's location in the 2D gridded data.  Station no longer references the distance along the longitudinal 1-D profile.

We would also like to remind readers of the difference between stage and depth. It is important to keep track of the difference as you read through the tutorial. 

  • Stage. The vertical distance in feet (or meters) above or below a local or national datum (NAVD88 for elevations)
  • Depth. The vertical distance in feet (or meters) above the ground surface elevation

The pre-processing method that we describe in this document requires a GIS application to perform critical steps. For this tutorial, we will use an application called QGIS which is available on the USACE AppPortal for free/without a license. The version of the software used for this tutorial is Version 3.6.2, the version available on the AppPortal as of December 2020. Alternatively, you could perform the same fundamental steps with ESRI products or any other application with the capability to sample values from a raster at defined points. The HEC software programs HEC-LifeSim and HEC-RAS, for example, have this capability.

In concept, what we'll do in this tutorial is create a table to import a depth of flooding relative to the ground elevation at each structure, for every profile, in the format HEC-FDA needs. An example of the resulting data is organized in the Conceptual Table Example below, where a given station is unique to a structure. With this approach to creating input for HEC-FDA, we drop the notion of cross sections and river miles completely and look at each structure's location individually. Instead of associating a structure with a cross section station in HEC-FDA, we'll associate the structure with a unique station number that maps back to the depths relative to the ground elevation from each profile at that structure's location. We will use depth rasters rather than water surface elevation rasters, and provide the depths of flooding at a given structure across the water surface profile frequencies and enter a ground elevation of 0ft to arrive at a correct representation of the assumed water surface elevation at the structure. We will also develop a method for representing a depth where the value is not reported due the nature of gridded data. Finally, information is provided for processing a georeferenced structure inventory, especially for studies with multiple reaches.

There are multiple potential approaches for assigning depths to structures and organizing the data for use with HEC-FDA. This tutorial walks through an approach (described above) that works well for structure inventories that contain less than 100,000 structures.  An alternative approach that is similar to the approach discussed above would be to use one HEC-FDA study for each reach, but still use one (unique) river station for each structure. The structures may otherwise need to be aggregated in a granular way, assigning a small group of nearby structures to a given station to limit computational cost. This could occur by specifying a given water surface profile as a full rectangular grid of data on equal spacing and assigning structures to the nearest grid number in the water surface profile data. With this third approach, multiple structures are potentially associated with the same river station (grid number), which can more easily facilitate expansion of the structure inventory.

The pre-processing method presented in this tutorial works in HEC-FDA through the use of aggregation profiles, which are the profiles at the index station and are directly tied to the assumed water surface elevation at a structure. When 2D hydraulic modeling is used, for a particular profile, the assumed water surface elevation at a given structure in HEC-FDA represents the depth of flooding relative to the ground elevation at the depth grid cell in which the structure is located. That is to say when a structure is given a unique river station, the depths at which damage is calculated at a structure within the probability range of the water surface profiles come straight from (the interpolation of) the input water surface profiles for that river station. Outside the probability range of the water surface profiles, the depth at a given river station (structure) changes at the same pace as the water surface elevation at the index location, while the water surface elevation at the index location is determined by the input discharge exceedance probability and stage-discharge functions (assuming that additional points have been entered in the stage-discharge function). By calling a water surface profile unique to a structure, we drop the notion of river miles and do not interpolate between stations to estimate a depth. The damage of all structures within a given reach is then aggregated to the index location according to the aggregation profiles. A more detailed presentation of this process can be found in the HEC-FDA User's Manual, Appendix E.

Examples in this document come from a test data set from the city of West Sacramento, California, using hydraulics simulating a levee breach of the adjacent Yolo Bypass waterway. The example data is available for download here. The structures are represented by red circles in a high level view of the study area in the figure below. Definitions of some technical terms used in this tutorial are available at the end of the tutorial. If you're struggling with any part of the tutorial, we've included completed worksheets, GIS files, and a partially completed example study inline in red which you should feel free to view, use, and compare against when necessary. The final product of the GIS work is available at the end of Step 5, the pre-processed worksheet is available at the end of Step 6, and the final import file is available at Step 7.

Study Area with Structure Points

 

Conceptual Table Example
Station (unique ID)Invert Depth (ft)0.5 AEP Depth (ft)0.2 AEP Depth (ft)0.1 AEP Depth (ft)0.04 AEP Depth (ft)0.02 AEP Depth (ft)0.01 AEP Depth (ft)0.005 AEP Depth (ft)0.002 AEP Depth (ft)
1------------1.52.05.06.07.0
2---2.02.53.03.54.05.06.07.0
3---2.02.53.03.54.05.06.07.0
4---2.02.53.03.54.05.06.07.0
5---2.02.53.03.54.05.06.07.0

Data Collection

The data requirements for building an HEC-FDA model with gridded hydraulic data are slightly different than with data that is not gridded. This section describes what data you need to get started. Hydraulic data in grid form for 8 profiles is required. Hydraulic data in grid form looks very different from hydraulic data that is not in grid form (also known as 1-dimensional, or 1D). Among other things, gridded output does not have cross sections that we can reference to provide the HEC-FDA program a location for a structure. As a result, the structure inventory will need to be available in the form of a georeferenced point shapefile so we can identify exactly where a structure is located, and pull the correct depths for that structure. If your study contains multiple reaches, a shapefile of the damage reaches should also be available so that each structure may be associated with a damage reach. Finally, hydrologic and hydraulic relationships (flow-frequency and stage-discharge) defined at the index station are required and should be extracted from the hydraulic model separately as stages since these relationships cannot be defined using depths. Discussion on index station selection is offered below.

Hydraulics 

The example that we use for this tutorial is based on gridded hydraulic data from HEC-RAS. Gridded hydraulic data can look a little different depending on the configuration of the terrain behind it. HEC-RAS allows having piece-wise terrain data. Piece-wise terrain data means that HEC-RAS does not require a single terrain file, but can temporarily stitch multiple terrain files together for the compute, and report results for each of those terrain files separately. Hence, the output for a single profile can consist of any number of .tif files, connected by a single .vrt file which we will use to load the set of files into GIS as if they were one homogeneous raster (grid of data). For this tutorial, we refer to each hydraulic profile as a single object.  Our hydraulic data requirement is to gather all the necessary hydraulic profiles for our study. HEC-FDA requires eight profiles for a compute. In this example project, modeling was completed for the following frequencies: 0.5 AEP, 0.2 AEP, 0.1 AEP, 0.04 AEP, 0.02 AEP, 0.01 AEP, 0.005 AEP, and 0.002 AEP. HEC-FDA also requires the invert stage to help define the uncertainty about the rating curve.

Some final points on hydraulic data. HEC-FDA recognizes two types of water surface profiles: stage-frequency and stage-discharge. We will use stage-frequency as the type of water surface profile. Discharge is only used for the flow-frequency and stage-flow functions at the index location; discharge values are not used at the structure. For each structure’s station, we actually use depth relative to the ground elevation (not stage). Hence, this approach involves a combination of discharge frequency and stage-discharge at the index location and depth-frequency at each structure location. More information on the choice between stage-discharge and stage-probability is available at this Discourse post. More information about the choice of the index location and the development of the relationships at the index location is offered in Step 7 below.

Step 1

Open QGIS and start a new project. Navigate to the directory where you have saved the requisite hydraulic data using the QGIS file browser on the left-hand side of the window. The top figure below shows the folder structure in which the gridded data is saved in the hydraulic data directory, and the bottom figure shows the files contained within each folder. Notice that because this model used piecewise terrain data, there are multiple output .tifs for each profile. Don't let that worry you. When loading the files into GIS, just add the .vrt and everything will come along smoothly.

Note: if you encounter a "Select Transformation for" in QGIS when adding data to your window at any time, QGIS is telling you that the projection of your data does no match the project projection in QGIS. In the location of this tutorial, and in many locations, there are very accurate transformations that are appropriate for this type of analysis. Select the transformation with the highest accuracy, and hit ok. If you like, you can go to QGIS menu:  Project | Settings | CRS and set the project coordinate reference system (CRS) to match the projection of your data to avoid any potential error introduced in the transform, but it is not necessary in most cases.  

RAS Project Directory Output Folders

HEC-RAS Output Files. We point out the .vrt file as the file that should be dragged into the map window or double-clicked

 

Load the gridded data for a hydraulic profile into your QGIS Map Window by dragging and dropping the .vrt file for that hydraulic profile into the map window. Continue to step two. 

Step 2

Because the files for each profile have the same name (differentiated by the directory in which they are saved), the profiles will be difficult to distinguish in your layer tree. In the layers panel, right click on the layer name, and select "Rename Layer." Give the layer a unique layer name.

Repeat steps one and two for the remaining layers. Once you've completed this task, your layer tree should be populated with your profiles, and visible in your map window if enabled.  A screen capture of the figure tree is provided on the left-hand side of the figure below, with the map of the selected layer (.01 AEP) on the right.

Layer Tree Populated in the map window

The gridded 2D hydraulic data is now ready for processing. Next we'll load in our structure inventory. 

Structure Inventory  

The structure inventory, when using gridded hydraulics, must be available in a georeferenced point format. A point shapefile works terrific, and is what we'll use for this tutorial. The projected coordinate system of the structure inventory does not need to be the same as that of the .tif file. QGIS or ESRI will both re-project data to whatever coordinate system in which the QGIS/Arc project is saved, and respect that projection for all calculations. The key attribute of the structure inventory for the purpose of this method is a unique identifier, be that a name, ID, or APN_num field like in the example data used here (for more information, see Page 11-2 of the HEC-FDA User's Manual). Ensure that this is the case with your data. 

For use with USACE studies, the National Structure Inventory is a helpful resource for generating a structure inventory, and the National Structure Inventory is available in shapefile format. For more information on the National Structure Inventory, visit the Discourse page.

Step 3

Load the structure inventory shapefile into QGIS the same way as the hydraulic .vrts: drag the shapefile into the map window. Observe the new state of the project with all the source data loaded in the top figure below and the attribute table of the structure inventory shapefile in the bottom figure below.

QGIS with Structure Inventory Added, the individual structures are represented by dots in the map window

Structure Inventory Attribute Table

Step 3.1 - Multiple Reach Studies

If your study consists of multiple reaches which you plan to include in one HEC-FDA study, then at this step, you can add the damage reach (impact area) unique identifier to the structure inventory attributes. The damage reaches should be available as a polygon (shapefile). For more information on delineating damage reaches, please see Chapter 3.3 of the HEC-FDA User's Manual. After dragging the impact area shapefile into the map window, navigate to Data Management Tools under the Vector menu, and select Join Attributes by Location. After completing this step, the reach name or ID will appear in the structure inventory attribute table. In the image below, the Join Attributes by Location window appears with the structure inventory selected as the input later and the impact area shapefile selected as the join layer. Note that the example below has been developed using a different study from the example used in this tutorial (the example used in this tutorial has just one reach).

Add Damage Reaches to Structure Inventory


Data Processing

The following section describes how to process your data in GIS and Microsoft Excel to prepare the data for import into HEC-FDA by populating the conceptual table.  The next step is to get the a depth of flooding relative to the ground elevation for each profile at each structure. To that end, we will sample the terrain and hydraulic rasters at the structure points, and compile those results into a single shapefile. Other programs, notably ESRI products, have a tool to sample multiple rasters at a point, which would be very useful for this. The QGIS tool used here - sample raster values - is approachable by novice GIS users.

Step 4

Find the sample raster values tool by opening your toolbox from the processing menu on your menu bar at the top of the user interface (the processing toolbar might need to be added to the Menu by right clicking on the Menu bar and selecting "Processing Toolbar"). The toolbox will open on the right-hand side of your screen, and you can search for the tool by name.   Observe that the "Sample raster values" tool is highlighted in the QGIS toolbox in the figure below.

QGIS toolbox, the sample raster values tool is highlighted under raster analysis

This tool takes a point shapefile (the structure inventory) and a single raster (the hydraulic profile), and creates a new point shapefile with the raster values recorded in the attribute table for each point. In essence, this process will create a new shapefile for each hydraulic profile with the depths relative to the ground elevation at each structure. We have a whole handful of rasters, so we'll run this as a batch process. Open the tool by double clicking "Sample raster values," then click "Run as Batch Process" in the bottom left hand corner of the screen. This will open the window in the figure below. Create a row for each hydraulic profile (in the figure below there are 8 rows for the 8 hydraulic profiles). Select the "Input Point Layer" to be the structure inventory for all rows one by one by clicking on the first ellipse (...) in each row, and selecting the structure inventory from open layers (or just copy and paste the name of the layer).  Next, in the "Raster Layer to sample" column, click on the ellipse in the first row, select from open layers, and select all. You should see all of the hydraulic profiles. In the "Sampled Points" column, you will define the name of the file to which the sampled points will be saved. Click on the ellipse in the first row, navigate to the directory in which you would like to save the sampled points, give the file a unique and useful name so that you can easily identify from which profile the sampled points were generated, and select the shapefile extension "SHP files (*shp)" for save as type. An autofill settings window will appear. Select "Do not autofill." Create a file name for all sampled points and run the tool.

 Sample raster values Batch Process table contains the structure inventory for input point later, the hydraulic profiles for raster layer to sample, and unique file names for sampled points

Step 5

The next step involves combining the sampled hydraulic terrain data in QGIS, then exporting and processing in Excel. Refresh the QGIS file browser and navigate to the directory where your sampled data is saved. Add the generated shapefiles to your map window.  Under layers, right click on the first hydraulic profile that you created in the last step (perhaps the 0.5 AEP event, with a base name of Points), and click on properties. Select "Joins" and click on the green plus sign in the lower left-hand corner. A window will appear as can be seen in the top figure below. Select the next sampled hydraulic profile as the join layer (perhaps the 0.20 AEP event). The join and target fields will be the label of the structure identifier; that is, the sampled hydraulic data will be joined on the structure identifier. Click "Joined Fields," and select the sampled raster points, which have an automatically generated name of "rvalue_1" using QGIS Version 3.6.2. Click on "Custom Field Name Prefix" and accept the automatically generated name or customize the name. Click "OK" and join the rest of the hydraulic profiles and the terrain data to the first profile in the same way. When finished, click "OK." An animation of this process is provided in the bottom figure below. 

Tip!

Starting with the smallest profile, and joining shapefiles in order of increasing magnitude will save you some reorganizing in excel in the next step. Recommended to do all of your joins from the 0.5ACE.shp, starting with 0.2ACE and ending with 0.002ACE

Vector Join Process settings described in the tutorial are enabled

Step 6

In QGIS, right click on the sampled points shapefile that contains the merged data, open the attribute table, copy all the data ("Ctrl" + A then "Ctrl" + C) and paste the data into a separate Excel workbook. It is helpful to organize the data so that the structure characteristics are in the the first few columns of the workbook and the depths are to the right of the structure characteristics, ordered from the most frequent to least frequent event. 

With this step, you will adjust the 2D hydraulic modeling from HEC-RAS (or any other similar software) to fit the data requirements by HEC-FDA. HEC-RAS will not report a depth for a given grid cell-profile combination in the case that the grid cell is dry. However, HEC-FDA requires data for 8 profiles in addition to the invert stage for a given river station. We need to enter data for the columns with null stages so that HEC-FDA accepts the processed water surface profile data. Edit all the depths in the data to -9 feet (well below the start of the damage curves and out of scope for calculations with uncertainty), except for the null depth just before the structure starts seeing water. Set that profile to -2 feet. Using a depth of -9 feet ensures that no damage will be calculated at that structure for the stage-damage relationship and expected annual damage. Using a depth of -2 feet for the last null depth assists HEC-FDA in making a reasonable interpolation between profiles for a given river station. Were -9 feet used for all null depths, there exists potential to underestimate damages.

 The easiest way to accomplish this step is to replicate the below table in Excel to the right of the existing data using if statements.

Conceptual Table Edited to Show Subgrade Stage Adjustment
Station (unique ID)Invert Depth (ft)0.5 AEP Depth (ft)0.2 AEP Depth (ft)0.1 AEP Depth (ft).04 AEP Depth (ft).02 AEP Depth (ft).01 AEP Depth (ft).005 AEP Depth (ft).002 AEP Depth (ft)
1------------1.52567
1 Edited-9-9-9-21.52567

Step 6.1

The first step processing the depths can be seen in the image below. If working through the tutorial, you should refer to this image as an example while working through this set of steps. The data copied from QGIS can be found in columns A through S. The headers in columns L-S will match the headers from the joined shapefile. Ensure these are aligned so that probability is decreasing from left to right. Your headers will depend on your naming convention. They are not important, other than to ensure you know to which profile each column of data belongs. 

 

Columns are then added (Columns U - AC) for processed depths for the invert depth and for the 8 water surface profiles. Next, the invert depth is instantiated using a depth of -9 feet (arbitrary, the invert stage is only used at the index location). Then, the depth of the next profile (after the invert depth, which is in this example the 0.5 AEP event) in the replicated table is populated using the following statement.

=IF(L2>0,L2,IF(M2>0,-2,-9))
CODE

. This statement is dragged across through the 0.005 AEP event, and then down all structures. An animation of this step is provided in the figure below. The above statement performs a few procedures in one step:

  • If the current profile has an estimated depth, then the processed depth is equal to the estimated depth.
  • If the current profile in addition to the following profile (in decreasing frequency) do not have an estimated depth, then set the processed depth equal to -9.
  • If the current profile does not have an estimated depth, but the following profile does, then set the processed depth equal to -2.

Finally, the depth of the last profile (which is in this example is the 0.002 AEP event) is processed using the following statement:

=IF(S2>0,S2,-9)
CODE

This if statement performs the following procedures:

  • If the last profile has an estimated depth, then set the processed depth equal to the estimated depth.
  • If the last profile does not have an estimated depth, then set the processed depth equal to -9.

An animation of this step is provided in the image below. Please keep in mind that we do not draw on the processed depths to define the relationships at the index location. See Step 7 for more information.



Step 6.2

HEC-FDA requires that the water surface profiles are monotonically increasing as the annual exceedance probability decreases. It is possible that depths decrease slightly as annual exceedance probability decreases due to physical complexities of the channel under study. In this step, we'll check that the profiles are monotonically increasing. In the event that you find that the profiles are in fact not monotonically increasing, work with the engineers to refine the modeling to adapt to the FDA requirements. In the below image, we test for monotonicity across all 8 profiles using one if statement consisting of multiple tests:

=IF(V2>W2,1,IF(W2>X2,1,IF(X2>Y2,1,IF(Y2>Z2,1,IF(Z2>AA2,1,IF(AA2>AB2,1,IF(AB2>AC2,1,0)))))))
CODE

This test does the following:

  • If any lower frequency profile has a lower depth than the adjacent higher frequency profile, then monotonicity check will return 1.
  • If all 8 profiles are monotonically increasing, then the monotonicity check will return 0.

After dragging the monotonicity check down all rows, sort the data by increasing values in column AD. If you find no cells equal to 1, you are good to go! If there are cells that returned a value of 1, please work with the engineers to develop a solution that meets your goals.

Step 6.3

The final step in processing the data exported from QGIS is the assignment of river stations. This step is demonstrated in the animation below. We can use the structure identifiers as the new station names when there is a 1:1 relationship with the structure to water surface profile station (i.e. multiple structures are not assigned to the same station - not the case in this example). However, you should check that your structure identifier column agrees with HEC-FDA stream station labeling conventions (range 0.00 to 999,999.99). If the unique identifiers are outside the acceptable range, rename the station for each structure in an acceptable way. Options for renaming include using integer-valued stations starting from 1, or use an acceptable monotonic transformation of the structure ID. For station label in this example, we arbitrarily used integer-valued stations starting from 1, as can be seen in column AE in the image above. Keep this file in a handy, central location to keep track of which station refers to which structure identifier; the station in the structure inventory will need to be updated with the new corresponding unique station identifiers. For multiple reach studies, the river stations assigned to a given damage reach may also be identified from this file (however the use of SID reaches within the structure inventory is encouraged due to the possibility of "overlapping" reaches, more below).

At this point, the majority of your pre-processing is complete. A fully completed worksheet is available for use or comparison here

Step 7

Download the sample water surface profile template for your format of water surface profiles available on this webpage:

This is a tab delimited text file formatted for our import. The easiest way to process the data is with Excel. When opened in Excel, you will be prompted to convert text to columns. Fill out the header to match your existing HEC-FDA study, or if using the example data, fill out the header with the following:

  • set WSP_Name to JPF_WS-3
  • set Description to Tutorial Data
  • set Year to 2017
  • set Stream to WestSac

For more information on filling this template out, including how to assign water surface profiles to multiple plans, see the HEC-FDA User's Manual, Appendix D.3.2.

You can use the data in your Excel Workbook to begin filling out the table for input to HEC-FDA. Use the water surface profile station created at Step 6.3 in the field "WSP_Station," copy and paste the station names and the data for each hydraulic profile calculated in Step 6.1 into the table as values. It is important to paste as values or the data will not be transferred to the table.


When filled out, the table should look like the figure below. A fully complete WSP import file is available here.


Import Hydraulic Data

Th following section describes how to import your hydraulic data into an existing HEC-FDA study, and what modifications need to be done to ensure that the study is ready to run.

Step 8

Open your existing study (or create a new study and configure).  Navigate to the economics menu, select import, and click on "ASCII Tab Delimited," as in the top figure below. Define the field separator as tab. Click the import button, navigate to your import file in the file explorer, and hit "OK". Once the import completes, you will be able to see your table under the "HydEng | Study Water Surface Profiles". The menu should look something like the top figure below. Once successfully imported, you will be able to view the water surface profiles under the "HydEng" menu. The resulting water surface profile assignment can be seen in the bottom figure below. 


Import Menu under Economics selected


Damage Reach and Index Station Relationships

Step 9

The damage reach(es) for your study should reflect the range of stations defined in the water surface profiles and identify the index station.

Specifying Damage Reaches and Index Locations

The index location has been used as the beginning station, the ending station is 13836, which is the last station in our data set. Commonly, the index station reflects the in-channel conditions. When such an index station is used, the stage-discharge relationship reflects the channel loading, and the water surface profiles in the 2D area act like an interior/exterior relationship. A benefit of using an in-channel index station is that this location will satisfy one of the requirements of a good index station: there will be flooding at the most frequent return period. The stage-discharge and discharge-frequency relationships should be estimated through separate hydrologic and hydraulic analysis, with as many coordinates as practicable for stage-discharge and with an accurate estimate of the invert stage that corresponds with zero flow. These relationships should not be defined using depths. Furthermore, index stations with negative values in the stage-discharge and exceedance probability functions produce unreasonable results.

For levee planning studies, the index location is chosen to reflect the performance modeled in consideration of the overall reach of the levee system represented.  The index location is selected amongst the cooperation of the geotechnical engineer, hydraulic engineer, and economist. The index location for levee studies is typically the location of estimated initial overtopping. Since probability of failure versus stage can vary over the reach, the probability of failure for other modes of failure can be assessed at other locations in the reach and be translated to a single representative index point following methods described in ETL 1110-2-588.  In cases where a levee system is comprised of multiple levee reaches and sources of flooding, multiple index points may need to be evaluated in FDA to determine the critical index point for the system. When looking at cases where there are multiple streams contributing to consequences, we need to account for the potential for water to enter the system prior to damaging flows or failure in another reach. If those non-breach flows cause damages before a reach that has a levee embankment or floodwall with a highest failure potential, then we need to account for that in our analysis.  For more information on selecting index points for 2D studies, check out this HEC-FDA Discourse post. For levee planning studies, please see Engineering Technical Letter 1110-2-588.

If the study consists of multiple reaches, then the reach stations are defined by the range of stations within a given reach, which can be ascertained using a min/max pivot table of the river stations by damage reach using the data copied from QGIS. The damage reaches may be entered by navigating to the Study Damage Reaches menu under the Configure tab. Given the station labeling as can be partially observed in the image above, the reach boundaries are defined by a beginning station of 0.01, and a ending station of 13838.00. The reach is defined on both banks, and the index station is identified as 0.01.

With the water surface profiles imported to the HEC-FDA study, you may begin to define the hydraulic relationships at the index station. If using an inflow-outflow transform relationship, then this relationship may also now be defined at the index station. The stage-discharge and graphical discharge-frequency functions are defined using the following data, with an equivalent record length of 60 years. Finally, the water surface elevations at the index location must be entered into the water surface profiles. 


ProbabilityStageFlow
Invert100
.9912.12000
0.516.055000
0.221.96100246
0.126.9274152
0.0429.67405990
0.0230.41444933
0.0131.22489565
0.00531.67553053
0.00232.26658538

The data as entered into HEC-FDA are captured in the images below. A complete FDA study created from this tutorial is available here

Process and Import Structure Inventory

Step 10

Copy the structure inventory attributes in QGIS and paste the attributes into an Excel workbook. Download the Template Structure Inventory ASCII Import File available on this web page and open in Excel. Copy the structure inventory attributes over to the template inventory file. For more information on the inventory headers, see HEC-FDA User's Manual, Appendix D.3.1. Enter the station number created in Step 6.3 in the station field. If you have multiple reaches in your study, use the SID reach field "SID_Rch" for your damage reach names. Using the SID reaches tells HEC-FDA not to calculate the damage reach based on the station, but rather to use the damage reach that you identified in Step 3.1. This is an important step as there may be overlap in reach definitions. Be careful to map each structure to the correct station, which you hopefully recorded when you developed the table for the hydraulic import. If you forgot, you can also go back into you GIS shapefiles and figure it out from there. Import the structure inventory in the same way as you imported the hydraulic data in Step 8.

Conclusion and Next Steps

The process described in this tutorial is tedious at times, and requires a lot of care when moving data. There are many different methods that you can use to process the needed hydraulic information. One possible alternative involves using ground and water surface elevation grids to develop water surface profiles that consist of water surface elevation rather than depth, and an estimate of the ground elevation in the structure inventory rather than the 0 feet stand-in. We found that applying the method described in this tutorial with terrain and water surface elevation grids in the case of many rasters stitched together results in inconsistent sampled terrain elevations at the structures. If you prefer to work with water surface elevations and the water surface elevation grids have been developed using HEC-RAS, then an approach similar to that which is described here can be implemented using the GIS capability within HEC-RAS. Otherwise, the ground and water surface elevations at a structure must be obtained using the individual .tifs rather than a .vrt which stitches the .tifs together.

Ultimately, we find it useful to focus on the conceptual table presented at the beginning of the tutorial. Whatever GIS tool you prefer and whichever process you employ, the ultimate objective is to develop that table. The specific settings and HEC-FDA steps in the end are very little work if you can develop that table accurately. Once you have the water surface profiles input into HEC-FDA through this process, you can proceed with building your HEC-FDA study as usual, with a few revisions. 

Definitions

Depth: Depth is the distance of the water surface straight down to the point of interest. The point of interest for the term "depth" as used in this tutorial is the ground elevation unless explicitly stated otherwise.

Depth grid:  A depth grid is a spatial data set for a study area and given exceedance probability where the study area map consists of grid cells, and a depth of water relative to the ground elevation is estimated for each grid cell.

Index point: An index station is a stream station location within a damage reach used to specify discharge-probability, stage-discharge, and stage-damage functions with uncertainty data for plan evaluations for that damage reach. Also, the index location station (corresponding stream station) is used for aggregation of stage-damage functions with uncertainty by damage category under economic analysis. The index location station is defined between the beginning and ending station values and normally where data is deemed most reliable, such as a stream gauge location. The range of allowable values is from 0.00 to 999,999.99. Value must be greater than the beginning station and less than or equal to the ending station.

Stage: Stage is the vertical distance in feet (meters) above or below a local or national datum.

Vertical datum: The vertical datum is the surface of zero elevation to which heights of various points are referenced. The North American Vertical Datum of 1988 (NAVD 88) is the current vertical datum for the contiguous United States and Alaska.

Water surface elevation: Water surface elevation is the stage of the water for a given exceedance probability.

Water surface elevation grid: A water surface elevation grid is a spatial data set for a study area and given exceedance probability where the study area map consists of grid cells, and a water surface elevation is estimated for each grid cell.

Water surface profiles: Water surface profiles consist of the stage (and discharge) at a river station for a set of 8 frequencies. Water surface profiles are used to develop without- and with-project condition stage-discharge (rating) functions at a index location station within a damage reach. Also, water surface profiles are used to aggregate stage-damage functions with uncertainty at a index location station within a damage reach. If provided, the profiles are used in the development of discharge- and stage-probability functions, if not, the stage-discharge (rating) and discharge- or stage-probability functions must be entered directly. Discharge values used in the water surface profile analyses should be median values. A set of water surface profiles is specified for each plan, analysis year, and stream to be analyzed.

Resources

Template Stage-Frequency ASCII Import File

Template Stage-Discharge ASCII Import File

Template Structure Inventory ASCII Import File