Download PDF
Download page Depth-Area-Duration Computations.
Depth-Area-Duration Computations
The primary result of DAD computations is a set of Depth-Area curves, one for each duration selected. The depth in these curves is the average precipitation depth over the given area, which means the volume for any depth-duration pair in the curve is equal to the product of that pair. In order to perform these computations, the user must specify the three options below:
- Discrete point values vs grid cell values
- HEC-MetVue can compute areas by either treating each data value as representing a point, or a grid cell average. When treating the values as points, interpolation between point values is performed, whereas grid cell values are not interpolated.
- Constrain shorter durations to occur within longer durations
- Referred to as the "Constrain" option for the remainder of this page
- This option makes shorter durations occur within the longer duration that produces the maximum volume. For example, if the precipitation data is daily, and the full time window is 5Days, there are two 4Day durations to check. When using the Constrain option, then the possible 3Day durations will be within the 4Day duration that contains the maximum volume.
- Depth Scale
- This defines a list of depth values that will be used for computing the initial depth-area curves
HEC-MetVue computes DAD through a three-stage process: 1) compute the Depth Exceedance-Area curves for each duration, where the depth within the given area exceeded, 2) Select final Depth Exceedance-Area curve for each duration, 3) Compute Average Depth-Area curve for each duration. Throughout the remainder of this page, an example of a 5Day storm, composed of 120hourly grids, will be used.
Step 1: Create initial Depth Exceedance-Area curves
In this step, multiple Depth Exceedance-Area curves are generated for each possible duration. The durations to be analyzed are determined by the data, where the smallest duration is the individual data image duration, and the largest duration is the full time window of the data. For example, if you have 5Days of hourly images, the durations are 120Hours, 119Hours, 118Hours ... 3Hours, 2Hours, 1Hour. The number of curves is dependent on if the compute used the "Constrained" option and the time window length. There are N_{dur} number of curves for a given duration dur, where twis the full time window loaded. For example, if the time window of data loaded is 120hours, and the current duration is 1hour, N_{dur}=120.
N_{dur}=\left\{\begin{matrix} 2 & Constrained\\ tw/dur & Unconstrained \end{matrix}\right. |
Below is a list of steps in computing the set of Depth Exceedance-Area curves for each duration:
- Begin by iterating through the durations in descending order (120Hours, 119Hours, ... 2Hours, 1Hour)
- Iterate through time intervals with length equal to the current duration
- Examples for iterating through time intervals with duration=100Hours
- Constrained where maximum volume for 101hour duration is Hours 10 through 110
- Compute Depth Exceedance-Area curve for hours 10-109 and 11-110
- Unconstrained
- Compute Depth Exceedance-Area curve for hours 1-100, 2-101 ... 20-119, 21-120
- Constrained where maximum volume for 101hour duration is Hours 10 through 110
- Read data within current time interval, and compute aggregated precipitation depths at each point
- Compute total volume of precipitation for the current time interval
- Create Depth Exceedance-Area curve for current time interval
- Iterate through Depth Scale and compute the area that exceeds each depth
- Set the volume on the Depth Exceedance-Area curve
- Add depth Depth Exceedance-Area curve to the set of curves for that duration
- Examples for iterating through time intervals with duration=100Hours
- Iterate through time intervals with length equal to the current duration
These steps are summarized in the equation below, where A(int,D_{thresh_i}) is the area exceeding a depth threshold (D_{thresh}) and time interval (int). p is the point index, N_p is the number of points, D_{p,int} is the depth for a given point and duration, D_{thresh} is the given depth threshold, and A_p is the representative area of the point (dependent on discrete point values vs grid cell values option).
A(int,D_{thresh_i})=\sum_{p=1}^{N_p}\left\{\begin{matrix} 0 & D_{p,int}\leq D_{thresh_i}\\ A_p & D_{p,int}> D_{thresh_i} \end{matrix}\right. |
In the figure below, assuming each grid cell has an area of 1, the example result of the A(int,D_{thresh_i}) computation for the area exceeding D_{thresh_i}=2 would be 10 and is highlighted in blue:
In the figure below, assuming each grid cell has an area of 1, the example result of the A(int,D_{thresh_i}) computation for the area exceeding D_{thresh_i}=2.5 would be 6 and is highlighted in red:
From the above illustrations, given a depth scale of D_{thresh_1:N}=[1, 1.5, 2, 2.5, 3], the resulting area computations would be A(int,D_{thresh_1:N})=[16, 14, 10, 6, 2].
Step 2: Select final Depth Exceedance-Area curves
- Select Depth Exceedance-Area curves for each duration (120Hours, 119Hours, ... 2Hours, 1Hour)
- If using Maximum Volume method
- Select Depth Exceedance-Area curve for current duration that has the maximum volume of precipitation
- If using Envelope Curve method
- Begin by iterating through the durations
- Create empty base Depth Exceedance-Area curve
- Iterate over each Depth Exceedance-Area curve for current duration
- Iterate over each point on the current Depth Exceedance-Area curve
- If point is above base curve, alter curve to contain current point
- Iterate over each point on the current Depth Exceedance-Area curve
- Save base curve for duration
- Begin by iterating through the durations
- If using Maximum Volume method
These steps are summarized in the equation below, where A(dur,D_{thresh_i}) is the area exceeding a depth threshold (D_{thresh_i}) for a given duration (dur). int_t is tth time interval for the current duration, int_{maxvolume} is the interval that corresponds to the maximum precipitation volume, N_{int} is the number of time intervals matching the current duration. Note that this leaves one curve for each duration. In the example of 120 hourly images used, this will lead to 120 Depth Exceedance-Area curves, one for each duration.
Maximum Volume Method:
A(dur,D_{thresh_i})=A(int_{maxvolume},D_{thresh_i}) |
Envelope Curve Method:
A(dur,D_{thresh_i})=MAX[A(int_1,D_{thresh_i}), A(int_2,D_{thresh_i}) ... A(int_{N_{int}-1},D_{thresh_i}), A(int_{N_{int}},D_{thresh_i})] |
Below is an illustration of the Envelope curve process where there are two curves for a single duration. In this figure, the red and dark blue lines represent A(int,D_{thresh_1:N}), and the thicker light blue line represents the final curve for the duration A(dur,D_{thresh_1:N})
Step 3: Compute Average Depth-Area curve for each duration
- Iterate through each final Depth Exceedance-Area curve
- Create resampled Depth Exceedance-Area curve by interpolating to areas from the selected Area Scale
- Compute Average Depth-Area from resampled Depth Exceedance-Area curve
- Compute Incremental Volume-Area curve
- Iterate through depths on the resampled Depth Exceedance-Area curve in descending order
- Compute incremental volume for this depth ordinate
- volume = (currentDepth-lowerDepth)*area
- Iterate through depths on the resampled Depth Exceedance-Area curve in descending order
- Compute Depth Exceedance-Area curve from Incremental Volume-Area curve
- initialize cumulative depth as zero
- Iterate through volumes in Incremental Volume-Area curve in ascending order
- Compute cumulative volume for each area
- Compute average depth for each area, and add to Average Depth-Area curve
- Compute Incremental Volume-Area curve
The equations below show the steps required to convert the Depth Exceedance-Area curves to volumes, and finally to the Depth-Area curve. First, the volume for each duration and exceedance area are computed (V(dur,A(dur,D_{thresh_i}))). These incremental volume-area curves are then converted to cumulative volume area curves (V_{cum}(dur,A(dur,D_{thresh_i}))). Finally, the cumulative volume-area curves are converted to Average Depth-Area curves (D_{avg}(A,dur)), which is the resulting Depth-Area_Duration relationship.
V(dur,A(dur,D_{thresh_i}))=A(dur,D_{thresh_i})*(D_{thresh_i}-D_{thresh_{i-1}}) |
V_{cum}(dur,A(dur,D_{thresh_i}))=V(dur,A(dur,D_{thresh_i}))+V(dur,A(dur,D_{thresh_{i-1}})) |
D_{avg}(A(dur,D_{thresh_i}),dur)=V(dur,A(dur,D_{thresh_i}))/A(dur,D_{thresh_i}) |
For example, take the case where D_{thresh_1:N}=[1, 1.5, 2, 2.5, 3], then A(dur,D_{thresh_1:N})=[16, 14, 12, 6, 2]. In this example, V(dur,A(dur,D_{thresh_1:N}))=[16*1, 14*.5, 12*.5, 6*.5, 2*.5]=[16, 7, 6, 3, 1]. From this curve, V_{cum}(dur,A(dur,D_{thresh_1:N}))=[16, 16+7, 16+7+6, 16+7+6+3, 16+7+6+3+1]=[16, 23, 29, 32, 33]. This leads to a final Depth-Area curve for the given duration as D_{avg}(A(dur,D_{thresh_1:N}),dur)=[16/16. 23/14. 29/12. 32/6, 33/2]=[1, 1.64, 2.42, 5.33, 16.5].
The figure below shows the resulting Average Depth-Area curve for the previous example: