skip to main content
Surface Area Modification
The Surface Area Modification category is dependent on having a valid evaporation method selected (that is, any evaporation method except None or MonthlyEvaporationCalcInAnnual). The category will be added to all reservoirs and the default method in this category is None which performs no calculations and has no slots.
* None
This is the default, no-action method.
* Time Varying Elevation Area
The Time Varying Elevation Area method allows Elevation Area (EA) relationships that change at specified times. The Time Varying Elevation Area method is only available on Level Power and Storage reservoirs. Also, the method will only be available when the following default methods are selected in the following categories:
• Flood Control Release: only the None method is allowed
• Surcharge Release: only the None method is allowed
• Water Quality: None; Water Quality must be disabled
Slots Specific to This Method
 Elevation Area Table Time Varying
Type: Table Slot
Units: Length and Area
Description: tables that represent the Elevation Area relationship at various times in the run.
Information: The number of columns in this table should be set to one plus the number of times the Elevation Area relationship changes. The column headings contain the date corresponding to the change. When you add a column to this slot, it is given a date later then the last column. You can set the date from the Column -> Set Column Value menu. You can then type the date text or use the date time spinner to enter the appropriate date. The dialog will only let you enter dates that correspond to timesteps. (Care should be exercised when switching model timesteps.) The column is then placed in the correct order compared to the other column labels. Each column should have an entry for each row in the Pool Elevation column or an interpolation error may be issued during the run. The number of columns is equal to the number of changes plus one; that is, if there is one change then there should be two columns. An example is shown below for a run that starts in Jan 1, 1910 and the reservoir Elevation Area changes three times. The column label of the first column of areas must be on or before the initial timestep. The times on the column map are an instant in time.
I/O: Input only
Pool Elevation ft
24:00 Jan 1, 1910
Surface Area acre
24:00 Jan 1, 1935
Surface Area acre
24:00 Jan 1, 1953
Surface Area acre
24:00 Jan 1, 1970
Surface Area acre
 Surface Area Adjustment to Elev Area Table Change
Type: Series Slot
Units: Area
Description: The surface area lost to sedimentation that occurs when the reservoir is resurveyed and a new Elevation Area Table is implemented.
Information: A positive number indicates area was added. A negative number indicates surface area was lost.
I/O: Output only
Method Details 
The evaporation methods typically use the average Surface Area in the calculations. Because the average Surface Area may change when the new table becomes active, the computations assume that the Surface Area only changes at the end of a dispatch method. That is, on a modification timestep, the previous relationship is used in the evaporation and precipitation methods, then the Surface Area is modified at the end of the dispatch method. Thus, the modified surface area will be reflected in evap and precip computations at the NEXT timestep.
Note:  Even with this method selected, the original Elevation Area Table is still visible. Although it is not used when dispatching or other simulation or rulebased simulation, it is still a general slot that is used in optimization calculations and water quality.
The run proceeds as follows.
Start of Run 
At the start of the run, if the Time Varying Elevation Area method is selected, a boolean variable isTimeVaryingElevArea will be set to TRUE. At the same time, a pointer is set that specifies to use the Elevation Area Table Time Varying table. All other computations now reference this pointer instead of the Elevation Volume Table. If the method is not selected, then the pointer is set to the Elevation Volume Table.
In Each Evap/Precip Method 
At the start of each method, if the isTimeVaryingElevArea is true, then the method will determine which column of the table to use. It will compare the current timestep to the column headings on the table and determine which column to use. For example, if the current timestep is March 3, 1940 for the table example above, then it will set col = 2 (column numbering is zero based) for use in all remaining computations.
If the current timestep exactly matches one of the column headings, col is set to that column minus 1. That is, for this method, the previous relationship will be used. Also, the variable isElevAreaModDate, is set to TRUE. The computation proceeds as normal. That is, the estimate for surface area uses the original relationship, not the modified relationship.
End of Dispatch Method  
At the end of the dispatch method, if the isElevAreaModDate is true, the method will lookup the PE on the Elevation Area Table Time Varying but this time use col+1 and get SA’. The new surface area SA’ is the modified surface area using the new EA relationship. The difference, SA = SA - SA’, is set on the Surface Area Adjustment to Elev Area Table Change slot. Then the Surface Area slot is set to SA’. This does not affect the evaporation or precipitation computation on this timestep.The new relationship will be used on the next timestep though.
Note:  If the Time Varying Elevation Area is not selected, then isTimeVaryingElevArea and isElevAreaModDate will remain false and the column to use on the Elevation Area Table is set to 1.
This method changes fundamental information about the reservoir. As a result, there are certain operations that cannot be used with this method, including the following:
• Any of the following RPL functions: StorageToArea and ElevationToArea. If these functions are called on a reservoir with the Time Varying Elevation Area method selected, an error message will be posted. Instead use the “...AtDate” version of that function. that is, use the ElevationToAreaAtDate instead of the ElevationToArea function.
• There are many RPL functions like SolveOutflow, SolveStorage, GetMaxOutflowGivenInflow, etc that access the elevation area relationship. These will access the correct table, but will always assume that the computation is being performed BEFORE any modifications to the relationship are made. That is, if you call the function and it is a modification timestep on the table, the function will use the previous column in all its computations. The relationship change is only considered at the end of the dispatch method, not in the RPL function. The new relationship will be used on the next timestep though.
Revised: 01/11/2023