HomeMy WebLinkAbout02_RRHM_Appendix_B_-_Finalized_Inflow_Data_Development
1
APPENDIX B –
Finalized Inflow Data Development
2
Section 1. Introduction
This report provides a detailed account of the inflow development for the Roanoke River Basin.
The inflow record runs from January 1930 to December 2011.1 There are 31 streamflow gages in the basin that are used in this project. These are listed in Table 1. These gages have at least 10 years of daily data with which to make valid statistical comparisons with other gages. Most of
the gages have incomplete records; they either started after 1930 or ended before 2011. Some of
the gages were used just to provide more data for fillin (see below) when computing statistics.
The inflow dataset is based on “unimpaired” gage flows. Gages only show the actual flow in the stream; they have no information about what the flow would have been without human
intervention. “Impairments” are modifications of the natural flows due to change in reservoir
storage (including evaporation and precipitation on the reservoir surface) and consumptive
withdrawals of water (municipal, industrial, or agricultural). If water is withdrawn above a gage and returned to the river below the gage, the impairment is the entire withdrawal.
The next section describes the process used to compute daily flows and gains. Because of the
noise in the data, it is important to look at the data at each step to find unrealistic values. These
are noted later.
1 A provisional record extends beyond December 2011, but this does not account for most of the actual impairments. Future updates will require impairment data for the inflow dataset to be considered finalized.
3
Section 2. Data and General Procedure
The first step in building the record is to compute the unimpaired gage flows. These
computations are contained in the spreadsheet inflow_unimpairment_rrbrom.xlsxx in the ‘Inflow Spreadsheets’ directory. The unimpaired gage data is summarized in the unimpaired_summary.xlsxx file. Impairments in the basin accumulate as each downstream
gage is included. For example, the impairments upstream of Kerr Lake include the impairments
on the Upper Roanoke River, the Dan River, and the Smith River. The unimpairment of a gage
is calculated as follows: Unimpaired gage flow = gage flow + upstream water withdrawal (by agricultural, municipal,
and industrial users) – upstream discharge (water or wastewater from municipal or industrial
users, including power plants) + upstream change in reservoir storage + upstream evaporation
on the reservoir surface - upstream precipitation on the reservoir surface. The discharge and withdrawal data were obtained by Moffatt and Nichol and NC DWR. The
reservoir storage data were obtained by NC DWR from the reservoir owner/operator. Records
for Philpott, Kerr, Gaston and Roanoke Rapids Reservoirs are available from the Army Corp of
Engineers (Corps). Evaporation and precipitation data were collected by HydroLogics. Evaporation data are based
on daily measurements from Kerr Lake station. When measurements are missing, daily
measurements from Chapel Hill, NC, or a monthly pattern based on a study of Lake Michie in
Durham, NC is used. Precipitation data are based on daily measurements from the following long-term stations; Philpott Dam, Kerr Dam, Chatham, Lynchburg, South Boston, and Clarksville. Data from the station closest to a reservoir are used to estimate the precipitation at
the reservoir. When these data are missing, data from the next nearest station are used, and so
on. For each reservoir, HydroLogics calculated a daily timeseries of net evaporation (or the
difference between evaporation and precipitation) for the hydrologic record. These data are contained in spreadsheets in the “Evap-Precip” folder. These data are used to (1) estimate the historic change in reservoir storage due to net evaporation and (2) estimate net evaporation on
the reservoir surface during OASIS model simulation.
HydroLogics unimpaired the streamflow data for eleven gages, which are highlighted in bold in Table 1. The other gages are on rivers where impairments are negligible or not quantified, or not required for the inflow methodology.
4
Table 1. List of Gages
USGS
Number Description
Period of
Record
Ref
No.
Ref.
Name
Drain.
Area
02056650 BACK CREEK NEAR DUNDEE, VA 07/1974-Present 1 Back 55.8
02068500 DAN RIVER NEAR FRANCISCO, NC 09/1924-Present 2 Fran 129
02071000 DAN RIVER NEAR WENTWORTH, NC 12/1939-Present 3 Went 1053
02070500 MAYO RIVER NEAR PRICE, NC 08/1929-Present 4 Nmayo 242
02070000 NORTH MAYO RIVER NEAR SPENCER, VA 10/1928-Present 5 Mayo 108
02074500 SANDY RIVER NEAR DANVILLE, VA 10/1929-Present 6 Sand 111
02072500 SMITH RIVER AT BASSETT, VA 10/1939-Present 7 Bass 259
02074000 SMITH RIVER AT EDEN, NC 10/1939-Present 8 Eden 538
02073000 SMITH RIVER AT MARTINSVILLE, VA 10/1929-Present 9 Mart 379
02072000 SMITH RIVER NEAR PHILPOTT, VA 10/1946-Present 10 Phil 215
02069700 SOUTH MAYO RIVER NEAR NETTLERIDGE, VA 10/1962-Present 11 SMayo 85.5
02075500 DAN RIVER AT PACES, VA 10/1950-Present 12 Pace 2587
02076000 DAN RIVER AT SOUTH BOSTON, VA 10/1923-09/1952 13 SBos 2762
02077200 HYCO CREEK NEAR LEASBURG, NC 08/196-Present 14 Hyco 45.9
02061500 BIG OTTER RIVER NEAR EVINGTON, VA 04/1937-Present 15 BOtt 315
02056900
BLACKWATER RIVER NEAR ROCKY MOUNT, VA 10/1976-Present 16 Blck 115
02059500 GOOSE CREEK NEAR HUDDLESTON, VA 10/1930-Present 17 Goos 188
02058500 PIGG RIVER NEAR SANDY LEVEL, VA 06/1963-Present 18 Pigg 351
02060500 ROANOKE RIVER AT ALTAVISTA, VA 10/1930-Present 19 Alta 1782
02054530 ROANOKE RIVER AT GLENVAR, VA 10/1991-Present 20 Glen 281
02054500 ROANOKE RIVER AT LAFAYETTE, VA 10/1943-Present 21 Lafa 254
02056000 ROANOKE RIVER AT NIAGARA, VA 10/1926-Present 22 Niag 509
02055000 ROANOKE RIVER AT ROANOKE, VA 02/1899-Present 23 Roan 384
02053800 S F ROANOKE RIVER NEAR SHAWSVILLE, VA 10/1960-Present 24 Shaw 109
02055100 TINKER CREEK NEAR DALEVILLE, VA 05/1956-Present 25 Tink 11.7
02064000 FALLING RIVER NEAR NARUNA, VA 10/1929-Present 26 Naru 165
02062500 ROANOKE RIVER AT BROOKNEAL, VA 10/1923-Present 27 Bknl 2404
02079000 ROANOKE RIVER AT CLARKSVILLE, VA 04/1935-09/1952 28 Clrk 7393
02079640 ALLEN CREEK NEAR BOYDTON, VA 10/1961-Present 29 Alln 53.5
02080500 ROANOKE RIVER AT ROANOKE RAPIDS, NC 01/1912-Present 30 RRap 8384
02045500 NOTTOWAY RIVER NEAR STONY CREEK, VA 10/1930-Present 31 Nott 577
5
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
1930193319361939 1942 1945 1948195119541957 1960 1963196619691972 1975 1978 1981198419871990 1993 19961999200220052008 2011Gage Reference NumberTimeline of Gage Data
The second step in the inflow development process is to fill in the missing flows and gains for
each gage with missing records. This requires assembling a monthly record of unimpaired flows and gains based on the daily unimpaired data computed above. These flows and gains are fed into a program named fillin (developed by William Alley and Alan Burns of the USGS2). We
will refer to these as “extended” flows and gains. This is done on a monthly basis because fillin
only works with monthly data. The gages associated with the flows and gains used in the
remainder of this document are shown in Table 2. The third step is to apportion the extended flows and gains to make sure that their volumes match downstream unimpaired gage flows. The monthly flows and gains are then disaggregated into daily values using local, unimpaired gages.
These steps are described in detail in Section 3.
The last step in the process is to compute the OASIS nodal inflows based on the flows and gains computed above. This step is described in detail in Section 4.
Before undertaking these steps, we made some simplifications to certain gage records. On the
Dan River near Francisco (129 sq. mi.), the nearby South Mayo River near Nettleridge gage
2 “Mixed-Station Extension of Monthly Streamflow Records,” Journal of Hydraulic Engineering, ASCE, Vol. 109, No. 10, October 1983.
2011
6
(85.5 sq. mi.) was used to fill a gap in the record by drainage area adjustment.
On the Mayo River River near Price (242 sq. mi.), the following nearby gages were used to fill a gap in the record by drainage area adjustment; North Mayo River near Spencer (108 sq. mi.) and
South Mayo River near Nettleridge (85.5 sq. mi.).
On the Dan River near Paces, two gages were combined into one. The Paces gage (2587 sq. mi)
had a record from 1950-present; to extend the record back to 1930, the Dan River near South Boston gage (2762 sq. mi.) was scaled back by drainage area to form a complete record at Paces.
For Kerr Lake, the gage Roanoke River near Clarksville gage (7393 sq. mi.) was scaled up to the
dam (7780 sq. mi.) to provide a flow record from 1935 – 1952. From 1952 – 2011, the computed
net inflow to Kerr is used.
Table 2. Gages Where Flows and Gains Are Computed
Gage Flow or Gain Gain Calculation
Fran Flow
Mayo Flow
Went Gain Went flow – Mayo flow – Fran flow
Phil Flow
Eden Gain Eden flow – Phil flow
Paces Gain Paces flow – Eden flow – Went flow
Alta Gain DA adjustment of nearby gage
Bknl Gain Bknl flow – Alta gain
Hyco Flow
Kerr Gain Kerr flow – Bknl flow – Paces flow
Gaston Gain DA adjustment of nearby gages
Rapids Gain DA adjustment of nearby gages
Haml Gain DA adjustment of nearby gages
Note that the gains at Wentworth, Eden, Paces and Kerr are calculated with consideration made
to the time of travel (flow routing) along the Roanoke. See Section 6 for more information.
The inflows for Smith Mountain and Leesville (which are represented as a combined node in the
RRBROM model) are handled differently. They are based primarily on drainage area
adjustments of upstream gages, including the Roanoke River, Pigg River, and Blackwater River
gages, consistent with the approach taken by a previous consultant (Mead and Hunt) on earlier lake studies. Since drainage adjustment alone results in an under-estimation of flow (an average of 250 cfs based on mass plot pre-dam comparisons with the downstream Altavista gage), we
scaled up the Mead and Hunt inflows by an average of 18 percent. We made further
7
adjustments to the inflows based on verification runs, in which we used the scaled-up Mead and
Hunt inflows, assumed a dam leakage of 300 cfs (determined from similar mass plot analyses
between pre-dam and post-dam Altavista gage flows and shared with USGS staff), and forced the model to match daily historic lake elevations. We computed the daily difference between
computed and historic outflow (outflow error) and regressed those against the scaled-up Mead
and Hunt inflows. The finalized inflows to Smith Mountain and Leesville are the sum of the
scaled-up Mead and Hunt inflows plus the predicted outflow errors from the regression. These
inflows were developed as part of the Smith Mountain/Leesville relicensing efforts in 2008. Since these inflows were used by HydroLogics to craft a low flow operating protocol for the new
license, the inflow methodology was preserved.
8
Section 3. Computation of Extended Gage Flows and Reach Gains
All the computations outlined in this section are done on monthly data, which reduces noise and is required for statistical hydrology programs like fillin. Noisy data occurs when time of travel
differences occur or when the impairment data create artificial variation in the flows.
First, the actual gains are determined from the unimpaired gage flows. These computations are done with the DSSVue script, compute_gain.py. Next, fillin is run to compute the extended flows and gains for the gages with missing records. Note that fillin preserves the actual flows
and gains where they exist. These extended flows and gains are then “scaled.” The objective of
scaling is to ensure that the sum of filled-in flows upstream of a gage with an actual record
equals the actual unimpaired flow at that gage. The fillin program does not ensure this for two reasons. First, it utilizes only a single correlated record for each value generated, thus ignoring sums, and second, it works with log transforms, and not actual flows.
Here is an example. We want to compute the unimpaired gain at Wentworth (reference name for
Dan River near Wentworth gage) from 1929 – 1939 when the Wentworth gain was not in place. As a result, we have no actual gain at Went. We extended the gain at Went using fillin. Now we want to adjust those extended values so that the sum of the flows at Fran, Mayo and Phil and the
gains at Eden, Went and the remaining gain down to Paces match the unimpaired flow at Paces.
So we say that we maintain the Paces flow less the known inflows to Fran, Mayo, and Phil by
scaling with the sum of the Went, Eden and Paces extended gains. The calculation is: Scaled Went extended gain = (Pace flow – Phil flow – Mayo flow – Fran flow) * (Went
extended gain) / (Pace extended gain + Went extended gain + Eden extended gain)
The companion calculation for the flow at Paces is: Scaled Pace extended gain = (Pace flow – Phil flow – Mayo flow – Fran flow) * (Pace
extended gain) / (Pace extended gain + Went extended gain + Eden extended gain)
Thus the sum of the actual unimpaired flows/gains (Phil, Mayo, Fran) and the scaled gains (Eden, Went and Pace) equals the unimpaired gage flow at Paces, or
Fran flow + Phil flow + Mayo flow + Went scaled gain + Eden scaled gain + Pace scaled
gain = Paces unimpaired gain
In this way we ensure that the total volume of all the flows and gains, be they actual or extended, upstream from a given gage match the unimpaired flow at the gage, preserving the unimpaired
gaged flows.
The DSSVue script used to do these calculations is scale_flow_gain.py. The output is the file
9
scale_flow_gain.dss, which contains monthly flows and gains.
The next step is to disaggregate the monthly flows into daily flows. This is done using flows for a daily, unimpaired gage that is local or has similar drainage area (call it a “reference gage”)
along with our monthly flows. We multiply the monthly value by the ratio of that day’s flow to
that month’s flow at the reference gage. The disaggregation formula is:
daily ratio = daily reference value / monthly reference value daily computed value = monthly computed value * daily ratio
Two DSSVue scripts are used to do this step: convert_month_to_day.py and disaggregate.py.
DSSVue cannot work on two records with different time steps, so the first step is to convert the
monthly value to daily. For example, the flow at Fran for January 1930 is 207 cfs; converting the monthly flow to daily gives 207 cfs for each day in the month. The first script converts the
monthly flows to daily flows for each location where we need them. The second script computes
the daily flows and gains as shown above.
It is important to note that we are not trying to replicate history in computing the OASIS inflows; rather, we are trying to build daily flows whose variation is representative of history while
preserving unimpaired gaged flows as “ground truth”.
Note that actual daily values of unimpaired gage flows are often maintained in the script files.
Actual daily gains between gages are generally not maintained due to their “noise”, so the script files aggregate them monthly and then disaggregate them back to daily values using a locally
unimpaired gage. Therefore, actual flows and gains on a monthly basis are maintained, but
generally the former will only be maintained on a daily basis.
The remainder of this section shows the details in how the records were extended and disaggregated. This is the short hand used in the remainder of this document:
d/s = downstream
u/s = upstream
DA = drainage area F = actual or scaled flow at a gage
XF = “extended” flow at a gage as computed by fillin when actual flows do not exist
G = actual or scaled gain, or inflow, between two locations, which is the difference of u/s
gage F and d/s gage F
XG = extended gain between two locations as computed by fillin when actual gains do not exist
10
Dan River near Wentworth GAIN (Went), 10/1929 – 11/1939
10/29 – 09/39 WentG = (PaceF – PhilFr – MayoF – FranFr ) * WentXG
/ (PaceXG + WentXG + EdenXG) 10/39 – 11/39 WentG = (PacesF – PhilFr – MayoF – FranFr - EdenG) * WentXG
/ (PaceXG + WentXG)
12/39 – 12/11 WentG = WentF – FranF - MayoF
Disaggregate using Fran.
Smith River near Eden GAIN (Eden), 10/1929 – 09/1939
10/29 – 09/39 EdenG = (PaceF – PhilFr – MayoF – FranFr ) * EdenXG
/ (PaceXG + WentXG + EdenXG)
10/39 – 12/11 EdenG = EdenF – PhilF
Disaggregate using Mayo.
Dan River near Paces GAIN (Pace), 10/1929 – 11/1939
10/29 – 09/39 PaceG = (PaceF – PhilFr – MayoF – FranFr ) * PaceXG
/ (PaceXG + WentXG + EdenXG)
10/39 – 11/39 PaceG = (PacesF – PhilFr – MayoF – FranFr - EdenG) * PaceXG / (PaceXG + WentXG)
12/39 – 12/11 PaceG = PaceF – EdenF - WentF
Disaggregate using Sandy River nr Danville.
Roanoke River near Brookneal GAIN (Bknl), 10/1929 – 09/1930 10/29 – 09/30 BknlG = (RapdF - KerrF – PaceFr ) * BknlXG
/ (BknlXG + KerrXG + RapdXG)
10/30 – 12/11 BknlG = BknlF - AltaF
Disaggregate using Goose Ck.
Kerr Lake GAIN (Kerr), 10/1929 – 03/1935
10/29 – 09/30 KerrG = (RapdF - KerrF – PaceFr ) * KerrXG
/ (BknlXG + KerrXG + RapdXG)
10/30 – 03/35 KerrG = (RapdF - KerrF – PaceFr – BknlG ) * KerrXG
/ (KerrXG + RapdXG) 04/35 – 12/11 KerrG = KerrF – BknlF - PaceF
Disaggregate using Mehr.
The result of the computations in this section is a set of monthly and daily flows and gains at each of the locations shown in Table 2.
11
Section 4. Computing Inflows at OASIS Nodes from the Flows and Gains
This section describes the computation of inflows at OASIS nodes from flows and gains at gages described above. The computations are done “on the fly” during an OASIS run called “Compute_Inflows” using ratios of drainage area (total or incremental) as shown in Table 3
below. The computations are included in an OCL file called set_inflows.ocl and are listed
below.
Node 100 (Smith Mtn Res) SM_Lee Flow Node 210 (Goose Ck) GCrk Flow
Node 220 (Altavista) Alta Gain
Node 240 (Brookneal) Bknl Gain
Node 304 (Joyce Mill) Fran Flow * 72.4 / 129 Node 306 (Francisco) Fran Flow * 56.6 / 129
Node 308 (Moores Spring) Went Gain * 101 / 924
Node 314 (Madison) Went Gain * 370 / 924
Node 330 (Wentworth) Went Gain * 453 / 924 Node 320 (Mayo) Mayo Flow
Node 300 (Philpott Res) Phil Flow
Node 340 (Eden) Eden Gain
Node 349 (Paces) Pace Gain Node 360 (Hyco Lake) Hyco Flow * 189 / 49.9
Node 380 (Mayo Lake) Hyco Flow * 52.2 / 49.9
Node 400 (Kerr Lake) Kerr Gain – inflow360 – inflow380
Node 600 (Gaston Lake) Gast Gain Node 700 (RRapids Res) Rapd Gain
Node 800 (Hamilton) Haml Gain
12
Table 3. List of Drainage Areas (in square miles)
Reservoirs Gages
Description
Total Drainage Area
Incremental Drainage Area Description
Total Drainage Area
Incremental Drainage Area
Smith Mt/Leesville 1507 1507 Goose Creek Huddleston 188 188
Philpott 212 212 Roanoke River Altavista 1782 87
Hyco 189 189 Roanoke River Brookneal 2404 622
Mayo 52.2 52.2 Dan River Joyce Mill 72.4 72.4
Kerr 7780 2443 Dan River Francisco 129 56.6
Gaston 8319 539 Dan River Moores Spring 230 101
Roanoke Rapids 8375 56 Dan River Madison 499 269
Mayo River Price 242 242
Dan River Wentworth 1053 924
Smith River Eden 550 338
Dan River Paces 2692 1089
13
Section 5. Error Checking and Inflow Filtering
As noted in Section 1, because of the noisy data, a lot of error checking is necessary. These are some
of the errors that can occur. Often the available impairment data is only available on a monthly average basis, which can cause issues when applying to daily gage flows.
• Negative unimpaired gage flow. These are physically impossible and should be corrected
unless the value is small, say between 0 and -10 cfs, because the impact is negligible.
• Negative gains. These are sometimes legitimate. However, there are times when a flood hits a
gage at the very end of the month, while not arriving at the gage downstream until the
beginning of the next month. This can cause a highly negative gain in the first month and a
highly positive gain the next month. These should be corrected.
• There are pathological cases where the scaling can cause one gage to have a large positive flow,
while the adjacent gage has a large negative flow. This can occur when the two extended
values are similar in magnitude but opposite in sign. These need to be adjusted.
• For this work, the changes are tracked in the file hand_mods_rrbrom.xlsxx.
No daily adjustments were made for the basin. Monthly flows were adjusted in the “month_unimp”
sheet of hand_mods_rrbrom.xlsxx. Revisions were done for Paces, Brookneal, and Kerr gains in the unimpaired.dss.
An example of a negative monthly gain occurred on September 2005 at Paces; a large inflow at the end
of the month upstream did not travel down to Paces until the beginning of the next month:
09/2005 10/2005
WentF 498 cfs 1126 cfs
EdenF 349 cfs 704 cfs
PaceF 806 cfs 2143 cfs
This leads to values of -41 cfs and 313 cfs for the Paces gain in September and October, respectively.
A manual adjustment was then made by adding 100 cfs to the Pacess flow in September, and subtracting 100 cfs from the Paces flow in October, which eliminates the negative gain in September
and maintains the total volume over the two month period.
To prevent model infeasibility from provisional inflows (see Appendix C), unrealistic releases from upstream reservoirs, or unrealistic water supply shortages, we added code in the OCL to filter remaining daily negative inflows. The negative inflow is “stored” until there is a sufficiently positive
inflow to release the accumulated negative flows, thereby preserving mass over a multi-day period.
14
Since the negative inflows are generally very small and infrequent, the filtering has negligible impact
on being able to match the monthly unimpaired gage flow.
To test that all flows, gains, and drainage areas have been properly accounted for, we check that the
“reconstituted,” unimpaired gage flows match the actual unimpaired gage flows. In this case,
reconstituted means that the flow at a given gage is computed by summing the appropriate upstream
flows and gains. File gage_compe.xlsx compares the actual monthly unimpaired gage flows with the
computed values from flows_gains_month.dss. To test that all the drainage areas have been properly accounted for, file model_comp.xlsx compares the same actual unimpaired gage flows to the gage
flows reconstituted from the computed OASIS inflows.
15
Section 6. Time of Travel / Flow Routing
To account for time of travel between points along the main stem of the Roanoke River, flow routing has been incorporated into both the development of inflows, and the handling of flows within the model. The time of travel or lag coefficients were furnished by the Corp of Engineers. The time of
travel reaches consist of Francisco to Wentworth, Philpott to Eden, Wentworth/Eden to Paces,
Paces/Brookneal to Kerr, and Rapids to Hamilton. Flow routing for the development of inflows is
handled in inflow_unimpairment_rrbrom.xlsxx. Flow routing within the model is handled in the OCL file routing.ocl. The routing equations used for each gain are as follows:
Routed Francisco flow = yesterday’s flow
Wentworth gain = Wentworth flow - yesterday’s Francisco Flow
Routed Philpott flow/release = yesterday’s flow/release Eden gain = Philpott flow – yesterday’s Philpott flow/release
Routed Brookneal Flow = [flow(-2 days) + flow(-1 day) ] / 2
Routed Paces Flow = yesterday’s flow Kerr gain = Kerr flow - previous two day average of Brookneal flows – yesterday’s Paces flow
Routed Rapids release = [flow(-5 days) + flow(-4 day) ] / 2
Hamliton gain = Hamilton Flow – 2 day Rapids release, lagged 3 days
Note that the computation of gains may include subtracting the flows from tributaries in the reach (see Section 3), which are not routed.
The daily routed timeseries are averaged monthly; the monthly flows are used to compute gains for the
above mentioned reaches by subtracting from the monthly downstream un-routed flow. No routing is necessary when disaggregating to daily flows since gains are disaggregated using a representative local unimpaired gage flow.
For inflow development, upstream flows are routed before being subtracted from the downstream flow
to compute a gain. In the model runs, routing is handled using a routing reservoir, which holds back upstream flows for the appropriate amount of time before releasing downstream.
16
Section 7. Extending the Record Beyond December 2011
As mentioned earlier, the finalized inflow record ends on December 31, 2011. This section describes
how to finalize updates to the record when new records (including impairments) become available. This is not to be confused with provisional updates used to facilitate real-time forecasting, which are done directly from the model interface using the Update Record tab. Let us assume that we are adding
data from January 1, 2012 to December 31, 2012. Note that we are only adding to the record. We are
not changing any of the values prior to January 2012.
1. Assemble the new data for the gage records in Table 4 below and place in the files gage_day.dss and gage_month.dss.
2. Compute the impairments at each gage and add them to the gage flows. This has been done in
the unimpairment spreadsheets described earlier (called inflow_unimpairment_rrbrom.xlsxx). Next put the daily unimpaired flows into the spreadsheet unimpaired_summary.xlsxx to compute the monthly unimpaired flows using a spreadsheet pivot table.
3. Append the new unimpaired flows to the unimpaired.dss file (monthly averages) and to the unimpaired_daily.dss file (daily data) where appropriate. Note that the Bknl, Fran, Went, Phil, Eden, and Pace flows need to include both routed (indicated in the “F-Part” of the DSS record) and unrouted records.
4. Copy the following files into the folder c:\Program Files\HecDssVue (assuming the DSSVue
has been installed in the default location). Update the fillin.cf so the ending year is 2012. fillin.cf fillin.exe
gage_day.dss
gage_month.dss path_list.dat unimpaired.dss unimpaired_daily.dss
5. Copy the following files in folder of c:\Program Files\HEC\HecDssVue\HecDssVue\scripts. If extending the record to a year beyond 2011, be sure to change the ending years in the script from either '11 or 2011 to the appropriate year. Use the script files from the folder
“scripts_2012”, in which this change has already been made.
compute_gain.py convert_day_to_month.py convert_month_to_day.py disaggregate.py
scale_flow_gain.py
17
6. Transfer the monthly flows from unimpaired.dss to hand_mods.xlsx. Here perform necessary
modifications to remove negative gains from the records, following the examples of previous modifications. Then paste the modified flows and routed flows back into unimpaired.dss and
extend_flow_gain.dss.
7. Execute the script 01_compute_gain.py. This reads from file unimpaired.dss, computes all the
gains, and writes to the files extend_flow_gain.dss, scale_flow_gain.dss, and fillin_input.dss.
8. Close DSSVUE, and execute fillin by double-clicking it. This updates the file
extend_flow_gain.dss with filled-in flows. Thus, this file is a combination of the actual
unimpaired values and extended values.
9. Open up DSSVue again, execute the script 02_scale_flow_gain.py, which does the calculations
described in Section 3. This reads from file extend_flow_gain.dss and updates file
scale_flow_gain.dss.
10. Import the appropriate flows and gains from scale_flow_gain.dss into hand_mod.xlsx and perform hand modifications to remove negative flows and gains. Paste modified flows/gains
back into scale_flow_gain.dss.
11. Execute the script 03_convert_month_to_day.py. This reads from files gage_month.dss and scale_flow_gain.dss to generate a daily record from the monthly records. The daily records are used to disaggregate the flows, as shown in Section 3. File month_day.dss is written.
12. Execute the script 04_disaggregate.py to convert the monthly flows and gains at the gages to
daily. File flow_gain.dss is produced; this file has the data that are read by OASIS.
13. Execute the script 05_convert_day_to_month.py to convert the daily flows and gains at the
gages into monthly values. The purpose of this step is to import the monthly flows and gains
into gage_comp.xlsx to ensure that all the accounting has been properly done.
14. Enter the Smith Mountain inflows as “SM_Lee/flow” into flows_gains.dss. These flows are automatically calculated from the provisional inflow update described in Appendix C and be
found in a basedata.dss under the record “100/inflow” once it has been provisionally updated
through at least December 31, 2012.
15. Execute the OASIS run called “Compute_Inflows”, beginning Jan 1, 2012 and ending December 31, 2012. This run contains a file called “set_inflows.ocl” that assigns inflows to the
OASIS nodes.
Then go to the run folder, open the output.dss file, click View Refresh Catalog. Select all of
the inflow nodes (i.e, those which have a pathname labeled inflow) and convert from acre feet (af) to cubic feet per second (cfs) by doing the following: click Utilities Math Functions. On
18
the Arithmetic tab, select Divide from the pull down menu, click the Data Set radio button, and
highlight all of the inflow records, click the Constant radio button and enter 1.9835 into the
field, and then press the Compute button at the bottom of the window. Once the computation has completed, close the Math Functions window and click Yes when prompted to save the
changes. Now select all of the inflow records and click Edit Tabular Edit, and change all of
the units to cfs, and all of the units Type to PER-AVER. Close the editing window and save
your changes.
Next select all of the records, and copy and append to the basedata.dss file in the basedata
folder. The basedata file will now contain this finalized data from January1, 2012 to December
31, 2012. This basedata file will be used for all future runs.
19
Table 4. Gages Used to Extend the Record Beyond December 2011
USGS Number Description Period of Record Ref. Name Drain. Area
02056650 BACK CREEK NEAR DUNDEE, VA 07/1974-Present Back 55.8
02068500 DAN RIVER NEAR FRANCISCO, NC 09/1924-Present Fran 129
02071000 DAN RIVER NEAR WENTWORTH, NC 12/1939-Present Went 1053
02070500 MAYO RIVER NEAR PRICE, NC 08/1929-Present Nmayo 242
02070000 NORTH MAYO RIVER NEAR SPENCER, VA 10/1928-Present Mayo 108
02074500 SANDY RIVER NEAR DANVILLE, VA 10/1929-Present Sand 111
02072500 SMITH RIVER AT BASSETT, VA 10/1939-Present Bass 259
02074000 SMITH RIVER AT EDEN, NC 10/1939-Present Eden 538
02073000 SMITH RIVER AT MARTINSVILLE, VA 10/1929-Present Mart 379
02072000 SMITH RIVER NEAR PHILPOTT, VA 10/1946-Present Phil 215
02069700 SOUTH MAYO RIVER NEAR NETTLERIDGE, VA 10/1962-Present SMayo 85.5
02075500 DAN RIVER AT PACES, VA 10/1950-Present Pace 2587
02077200 HYCO CREEK NEAR LEASBURG, NC 08/196-Present Hyco 45.9
02061500 BIG OTTER RIVER NEAR EVINGTON, VA 04/1937-Present BOtt 315
02056900
BLACKWATER RIVER NEAR ROCKY MOUNT,
VA 10/1976-Present Blck 115
02059500 GOOSE CREEK NEAR HUDDLESTON, VA 10/1930-Present Goos 188
02058500 PIGG RIVER NEAR SANDY LEVEL, VA 06/1963-Present Pigg 351
02060500 ROANOKE RIVER AT ALTAVISTA, VA 10/1930-Present Alta 1782
02054530 ROANOKE RIVER AT GLENVAR, VA 10/1991-Present Glen 281
02054500 ROANOKE RIVER AT LAFAYETTE, VA 10/1943-Present Lafa 254
02056000 ROANOKE RIVER AT NIAGARA, VA 10/1926-Present Niag 509
02055000 ROANOKE RIVER AT ROANOKE, VA 02/1899-Present Roan 384
02053800 S F ROANOKE RIVER NEAR SHAWSVILLE, VA 10/1960-Present Shaw 109
02055100 TINKER CREEK NEAR DALEVILLE, VA 05/1956-Present Tink 11.7
02064000 FALLING RIVER NEAR NARUNA, VA 10/1929-Present Naru 165
02062500 ROANOKE RIVER AT BROOKNEAL, VA 10/1923-Present Bknl 2404
02079640 ALLEN CREEK NEAR BOYDTON, VA 10/1961-Present Alln 53.5
02080500 ROANOKE RIVER AT ROANOKE RAPIDS, NC 01/1912-Present RRap 8384
02045500 NOTTOWAY RIVER NEAR STONY CREEK, VA 10/1930-Present Nott 577