Introduction

Version 2.1 of the Hydrologic Engineering Center Flood Damage Reduced Analysis Software is released. This version supersedes previous versions. 

Changes and Resolved Issues

IssueDescription
Graphical Frequency Uncertainty Incorrect

For unique situations, the graphical frequency uncertainty algorithm was ineffective at modeling good sampled frequency curves. 

  • Sampled frequency curves are forced to be monotonic. New in Version 2.0.2 is a bidirectional monotonicity forcing procedure that forces monotonicity of sampled graphical frequency curves from the bottom (most frequent) coordinate up for sampled curves below the median, and forces monotonicity from the top (least frequent) coordinate down for sampled curves above the median. This approach respects the highest quantile of the uncertainty about the least frequent coordinate as the maximum of the entire function with uncertainty, and respects the lowest quality of uncertainty about the most frequency coordinate as the minimum of the entire function with uncertainty. 
  • New in Version 2.1 is a different ordering for the graphical frequency function algorithm: frequency functions are first interpolated, then extrapolated, and then the standard deviations of uncertainty are calculated. This order of steps better respects the way that local slope behavior influences local uncertainty.  
  • Graphical Frequency UI now updated to accurately communicate the processed data used in the compute.
Geospatial 
  • Shapefile reading more robust now to out-of-spec shapefiles: often showed up as wildly incorrect decimal values for structure values or "EMPTY" occtypes.
  • Updated geospatial libraries to latest published RAS-2025 packages. This is largely invisible to users, but as HEC-FDA continues to mature, this will lead us to greater stability, better error messaging, and sets us up for future feature development. 
UI Bug Fixes
  • Projections no longer being archived and unset if the user saves properties after the initial specification
  • Threshold now has a "set" button that ensures user input is saved in utilized. Previous behavior only saved after focus left the textbox, which caused headaches for some workflows. 
  • Improved reporting of issues during Alternative computes. Previous behavior would throw an exception when doing a batch compute with an invalid alternative definition. Now give user more information.
  • Copying out of an FDA into Excel repaired. Now works as expected. 
Histograms
  • Histograms, which aggregated results for all EAD, EqAD, and AALL, now consistently track the mean of the sampled data, rather than calculating it from the distribution itself.
  • For many studies the change will be negligible, but can be significant for studies with heavily skewed EAD distributions (such as those with tall, fail proof levees). 
  • This behavior is consistent with prior behavior for all metrics except mean EqAD.
Life Safety Risk
  • The capability to import consequence results from LifeSim has been added as an aggregated stage-life loss function.
  • Hydraulic modeling matching that which was used in the LifeSim model is required.
  • Index points are required and draw hazard levels directly from the hydraulic modeling.

Differences in Results

Several case studies were evaluated to compare differences in results produced by Versions 1.4.3, 2.0.1, and 2.0.2. In this section, we look at differences in the uncertainty about graphical frequency functions and then look at the resulting differences in mean expected annual damage. 

Differences in Graphical Frequency Uncertainty

In the below case studies, there is a big improvement the capability of HEC-FDA Version 2 to match the uncertainty produced by HEC-FDA Version 1. HEC-FDA Version 2.0.2 sampled frequency curves overlap HEC-FDA Version 1.4.3 sampled frequency curves very accurately, while HEC-FDA Version 2.0.1 sampled frequency curves have notable departures. The mean functions from all three versions match very accurately. There is however a very small but systematic departure in sampled curves above and below the mean between Versions 2.0.2 and 1.4.3 beyond the nonexceedance probability of 0.99. There appears to be smoothing taking place in Version 1.4.3 which is not documented and thus not carried forward into Version 2.0.2. 

Algiers

The Algiers case study involves a unique graphical frequency function with very sharp inflection points. The stage-frequency function has an equivalent record length of 40 years and the following input coordinates. Probability here is represented by nonexceedance probability for ease of visualization, the probabilities entered into the software are provided in terms of exceedance probability. 

Nonexceedance Probability

Stage

.5

-2

.8

-1.9

.9

1.93

.96

1.98

.98

2.02

.99

2.04

.995

2.18

.998

2.3

Mean Graphical Frequency Function 

Below are the sampled stage-frequency functions for the Algiers case study at the mean. The Version 2.0.2 function is plotted in solid green, the Version 2.0.1 function is plotted in dashed red, and the Version 1.4.3 function is plotted in dotted green. Nonexceedance probability is on the x-axis and stage in feet is on the y-axis. Observe that the three functions align perfectly. 

Two Standard Deviations Above the Mean

Below are the sampled stage-frequency functions for the Algiers case study at two standard deviations above the mean. The Version 2.0.2 function is plotted in solid green, the Version 2.0.1 function is plotted in dashed red, and the Version 1.4.3 function is plotted in dotted green. Nonexceedance probability is on the x-axis and stage in feet is on the y-axis. The Version 2.0.1 function demonstrates the impact of both issues with the graphical frequency uncertainty algorithm identified above: the order of steps and the need for bidirectional monotonicity forcing. The Version 2.0.2 function aligns with the Version 1.4.3 function nicely, except for nonexceedance probabilities beyond 0.99 where Version 1.4.3 appears to use a smoothing procedure. 

  • Between nonexceedance probabilities of 0.5 and 0.8, the Version 2.0.1 function is increasing at a much faster rate than the Version 2.0.2 and Version 1.4.3 functions due to the order of operations where interpolation of the sampled frequency function was taking place after uncertainty was calculated for the 0.5 and 0.8 nonexceedance stages. This order of operations matters because the uncertainty at the 0.65 nonexceedance stage should only depend on the equivalent record length and the slope of the frequency curve to the immediate left and right of the 0.65 stage. When the order of operations is such that interpolation takes place after calculation of uncertainty and quantile sampling, then the uncertainty at the 0.65 nonexceedance stage depends on the uncertainty at the 0.5 and 0.8 nonexceedance stages, which means that the uncertainty of the 0.65 nonexceedance stage is incorrectly impacted by the slope to the immediate left and right of the 0.5 and 0.8 nonexceedance stages. Version 2.0.2 corrects this order of operations, and as a result, the Version 2.0.2 sampled function obtains a the correct quantile by first interpolating the input curve, then computing uncertainty about the interpolated curve, and then sampling within that uncertainty, so that the uncertainty of the 0.65 nonexceedance stage depends only on the equivalent record length and the slope to the immediate left and right of the 0.65 nonexceedance stage.
  • Between nonexceedance probabilities of 0.8 and 0.9, the Version 2.0.1 function grows much higher than the entire functions computed in Versions 2.0.2 and 1.4.3. This behavior is the result of forcing monotonicity from the bottom up. There is a lot of uncertainty around the stage with a nonexceedance probability of 0.8 due to the relatively rapid increase in stage over a small range of probability. In Versions 1.4.3 and 2.0.2, this large uncertainty is truncated by uncertainty of the same quantiles for less frequent coordinates by forcing monotonicity from the top down. Forcing monotonicity from the top down is especially appealing in this case because the curve is very flat for a large range of the infrequent probabilities reflecting little uncertainty in how much higher the river can get, and that little uncertainty needs to be respected for the entire sampled function. 

Two Standard Deviations Below the Mean

Below are the sampled stage-frequency functions for the Algiers case study at two standard deviations below the mean. The Version 2.0.2 function is plotted in solid green, the Version 2.0.1 function is plotted in dashed red, and the Version 1.4.3 function is plotted in dotted green. Nonexceedance probability is on the x-axis and stage in feet is on the y-axis. The Version 2.0.2 function aligns with the Version 1.4.3 function nicely, except for nonexceedance probabilities beyond 0.99 where Version 1.4.3 appears to use a smoothing procedure.  This sampled curve in Version 2.0.1 at two standard deviations below the mean only demonstrates the problem of the ineffective order of steps of the frequency algorithm; frequency curves sampled below the input function are forced monotonic from the bottom up in all three versions. Hence, the departure of the sampled frequency function in Version 2.0.1 from Versions 1.4.3 and 2.0.2 between nonexceedance probabilities of .8 and .96 reflects the ineffective interpolation of uncertainty produced by calculating the magnitude of uncertainty before interpolating and extrapolating the input frequency curve. 

Tafuna

The Tafuna case study involves a graphical flow-frequency function with an equivalent record length of 20 years with the following input data. Probability here is represented by nonexceedance probability for ease of visualization, the probabilities entered into the software are provided in terms of exceedance probability.

Nonexceedance Probability

Flow 

.01

0

.5

1340.37

.8

1899.36

.9

2279.29

.96

2731.60

.98

3000.05

.99

3416.28

.995

3767.17

.998

4207.08

Mean Graphical Frequency Function 

Below are the sampled stage-frequency functions for the Tafuna case study at the mean. The Version 2.0.2 function is plotted in solid green, the Version 2.0.1 function is plotted in dashed red, and the Version 1.4.3 function is plotted in dotted green. Nonexceedance probability is on the x-axis and stage in feet is on the y-axis. Observe that the three functions align perfectly. 

Two Standard Deviations Above the Mean

Below are the sampled stage-frequency functions for the Tafuna case study at two standard deviations above the mean. The Version 2.0.2 function is plotted in solid green, the Version 2.0.1 function is plotted in dashed red, and the Version 1.4.3 function is plotted in dotted green. Nonexceedance probability is on the x-axis and stage in feet is on the y-axis. The Version 2.0.2 function aligns with the Version 1.4.3 function nicely, except for nonexceedance probabilities beyond 0.99 where Version 1.4.3 appears to use a smoothing procedure.  The difference between the Version 2.0.1 function and the Versions 2.0.2 and 1.4.3 functions is largely due to the direction of monotonicity forcing after sharp increase in flow for a small range of probability. 

Two Standard Deviations Below the Mean

Below are the sampled stage-frequency functions for the Tafuna case study at two standard deviations below the mean. The Version 2.0.2 function is plotted in solid green, the Version 2.0.1 function is plotted in dashed red, and the Version 1.4.3 function is plotted in dotted green. Nonexceedance probability is on the x-axis and stage in feet is on the y-axis. The Version 2.0.2 function aligns with the Version 1.4.3 function nicely, except for nonexceedance probabilities beyond 0.99 where Version 1.4.3 appears to use a smoothing procedure.  The difference between the Version 2.0.1 function and the Versions 2.0.2 and 1.4.3 functions is due to the order of operations. Sampling uncertainty before interpolating and extrapolating ignored reduction in uncertainty due to flatness of the curve. 

Glendive

The Glendive case study involves a graphical stage-frequency function with an equivalent record length of 81 years with the following input data. Probability here is represented by nonexceedance probability for ease of visualization, the probabilities entered into the software are provided in terms of exceedance probability.

Nonexceedance Probability

Stage

.5

1.242

.8

6.646

.9

9.821

.96

12.54

.98

14.803

.99

16.29

.995

17.492

.998

18.196

Mean Graphical Frequency Function 

Below are the sampled stage-frequency functions for the Glendive case study at the mean. The Version 2.0.2 function is plotted in solid green, the Version 2.0.1 function is plotted in dashed red, and the Version 1.4.3 function is plotted in dotted green. Nonexceedance probability is on the x-axis and stage in feet is on the y-axis. Observe that the three functions align very closely. 


Two Standard Deviations Above the Mean

Below are the sampled stage-frequency functions for the Glendive case study at two standard deviations above the mean. The Version 2.0.2 function is plotted in solid green, the Version 2.0.1 function is plotted in dashed red, and the Version 1.4.3 function is plotted in dotted green. Nonexceedance probability is on the x-axis and stage in feet is on the y-axis. Observe that the three functions align very closely except for some inflection points where the order of operations resulted in loss of important nonlinearity in Version 2.0.1. The Version 2.0.2 function aligns with the Version 1.4.3 function nicely, except for nonexceedance probabilities beyond 0.99 where Version 1.4.3 appears to use a smoothing procedure. 

Two Standard Deviations Below the Mean

Below are the sampled stage-frequency functions for the Glendive case study at two standard deviations below the mean. The Version 2.0.2 function is plotted in solid green, the Version 2.0.1 function is plotted in dashed red, and the Version 1.4.3 function is plotted in dotted green. Nonexceedance probability is on the x-axis and stage in feet is on the y-axis. The Version 2.0.2 function aligns with the Version 1.4.3 function nicely, except for nonexceedance probabilities beyond 0.99 where Version 1.4.3 appears to use a smoothing procedure. The difference between the Version 2.0.1 function and the Versions 2.0.2 and 1.4.3 functions at the lower nonexceedance probabilities is due to the order of operations. 

London-Orleans

The London-Orleans case study involves a graphical stage-frequency function with an equivalent record length of 50 years with the following input data. Probability here is represented by nonexceedance probability for ease of visualization, the probabilities entered into the software are provided in terms of exceedance probability.

Nonexceedance Probability

Flow 

.5

3.902

.8

5.677

.9

6.322

.96

6.952

.98

7.56

.99

8.127

.995

8.598

.998

9.14

Mean Graphical Frequency Function 

Below are the sampled stage-frequency functions for the London Orleans case study at the mean. The Version 2.0.2 function is plotted in solid green, the Version 2.0.1 function is plotted in dashed red, and the Version 1.4.3 function is plotted in dotted green. Nonexceedance probability is on the x-axis and stage in feet is on the y-axis. Observe that the three functions align perfectly. 

Two Standard Deviations Above the Mean

Below are the sampled stage-frequency functions for the London Orleans case study at two standard deviations above the mean. The Version 2.0.2 function is plotted in solid green, the Version 2.0.1 function is plotted in dashed red, and the Version 1.4.3 function is plotted in dotted green. Nonexceedance probability is on the x-axis and stage in feet is on the y-axis. Observe that the three functions align very closely except for some inflection points at low nonexceedance probabilities where the order of operations resulted in loss of important nonlinearity in Version 2.0.1. 

Two Standard Deviations Below the Mean

Below are the sampled stage-frequency functions for the London Orleans case study at two standard deviations below the mean. The Version 2.0.2 function is plotted in solid green, the Version 2.0.1 function is plotted in dashed red, and the Version 1.4.3 function is plotted in dotted green. Nonexceedance probability is on the x-axis and stage in feet is on the y-axis. The Version 2.0.2 function aligns with the Version 1.4.3 function nicely, except for nonexceedance probabilities beyond 0.99 where Version 1.4.3 appears to use a smoothing procedure. The difference between the Version 2.0.1 function and the Versions 2.0.2 and 1.4.3 functions at the lower nonexceedance probabilities is due to the order of operations. 

Histogram Sample Mean 

In response to erroneous results from a model run in FDA 2.0.1, The FDA 2.1 update makes a significant change to the way the software reports result statistics. The change itself is minor, but the impact on results can be meaningful for some configurations.  The issue was apparent in a dataset where the mean Equivalent Annual Damage (EqAD) fell outside the range of the Base Year to Future Year mean Expected Annual Damage (EAD) which is a mathematic impossibility.  

In HEC-FDA, the number of results we'd ideally wish to store for a given scenario quickly exceeds the reasonable expectations for computer memory or disk storage. To manage the many numbers, ex. estimates of EAD, we store our results in histograms. Histograms let us record the shape and scale of the distribution of results, without storing every value at full precision, and if the histogram bins are sized well, this works great for being able to get any desired statistic or quantile from the result. 

Currently, HEC-FDA is using an implementation of Stokes law to size our histograms and Stokes works best in situations where the sample distribution looks roughly normal.  The following is a histogram of random values sampled with a heavy skew toward 20,000. Notice the mean calculated from the sample is nearly the same as the calculated from the histogram. We didn't lose much precision in our simplification of the data. This histogram is used routinely to query quantiles for EAD, EqAD, etc, while the mean we report is sample mean, as it is our most reliable metric. 

However, when calculating EqAD in 2.0.2 and prior, we were making our calculations based on the histogram mean. For some datasets that was fine, like the histogram above, where the Sample mean and histogram mean are roughly equal, but for samples that are both skewed and polar, like what you might get from a levee without a system response curve, where most of the results are zero or near zero, but a few which represent overtopping are quite high, the histogram no longer captures the mean nearly as well. This is demonstrated in the histogram below. The vast majority of the sample has zero damage, but when damage does occur, it's quite large. The histogram now misses the mean dramatically. 

The change in 2.1 to address this propagates the sample mean through the EqAD calculation, and saves sample mean to disk with your results. This way even if the histogram fails to capture well, mean is still a reliable metric. 

This change in the code will change, to varying degrees, the EqAD result for most studies. The change will be more pronounced in studies with with large, impermeable (not using a system response curve) lateral structures. 

Supporting Documentation and Data

The Github home page can be found here.

Additional technical release notes on Github can be found here.

The draft certification report can be found here.

The Validation and Verification (V&V) documentation can be found here.

HEC-FDA Version 2.1 (beta) can be found here. Download the portable package to a location where you have write access, such as C:\Programs and extract the contents of the zip file. Open the HEC-FDA 2.0 folder that contains the extracted contents to find the .exe application HEC.FDA.View with the green house icon. Double-click on HEC.FDA.View to launch the software.

Support Policy

The HEC support policy can be viewed on the HEC website. We encourage users of HEC-FDA to use HEC-FDA Discourse for bug reports and technical questions.