GetMaxOutflowGivenInflow

This function evaluates to the maximum Outflow from a StorageReservoir, LevelPowerReservoir, or SlopePowerReservoir with the given Inflow at the specified timestep.This function takes into account all side flows, sinks and sources. The inflow argument should be the inflow that would go into the Inflow slot on the reservoir. Since this considers Hydrologic Inflow, the hydrologic inflow value should NOT be included in the inflow argument.

Description

The maximum combined outflow of a reservoir, including outlet works or turbine release, and any possible regulated, unregulated, and/or bypass spills.

Type

NUMERIC

Arguments

Type

Meaning

1

OBJECT

the reservoir object for which to calculate

2

NUMERIC

the average inflow over the timestep

3

DATETIME

the timestep at which to calculate

Evaluation

This function calls the getMaxOutGivenIn() function on the given reservoir object at the given timestep, and provides it with the average inflow over the timestep. A convergence algorithm is used in this function and is detailed in . The function iterates to convergence by computing the end of timestep storage and pool elevation, the average HW over the timestep, and the following outflows:

  • release (if the object is a StorageReservoir): The maximum release is determined from a table interpolation in the Max Release table using the average HW as the lookup in the Pool Elevation column.
  • turbine release (if the object is a LevelPowerReservoir or SlopePowerReservoir): The maximum turbine release is determined based on the selected PowerCalculationCategory Method. This calculation is iterative, since the maximum outflow impacts the reservoir tailwater elevation and operating head, which affect the maximum turbine release. The selected tailwaterCalculationCategory Method is used to determine the tailwater elevation.
  • No Power Turbine Flow : The turbine release is determined from a table interpolation in the Max Flow Through Turbines table using the average HW as the lookup in the Reservoir Elevation column.
  • plantPowerCalc : The turbine release is determined from a table interpolation in the Max Turbine Q table using the operating head as the lookup in the Operating Head column. If the average HW is less than the Minimum Power Elevation , the turbine release is zero.
  • unitGeneratorPowerCalc : The turbine release is the sum of the maximum releases for each available turbine, as specified in the Generators Available and Limit table. Each turbine’s maximum release is determined from a table interpolation in the Full Generator Flow table using the operating head as the lookup in the appropriate unit type’s Head for Type n column. If the average HW is less than the Minimum Power Elevation, the turbine release is zero.
  • Peak Power Equation with Off Peak Spill : The turbine release is the peak release over the entire timestep. This is calculated by iterating the selected tailwaterCalculationCategory Method and operating head calculation with a table interpolation in the Operating Head vs. Generator Capacity table.
Evaluation
(continued)
  • PeakPowerCalc and PeakBasePowerCalc : The turbine release is the peak flow over the entire timestep. This is calculated by iterating the selected tailwaterCalculationCategory Method and operating head calculation with a table interpolation in the Best Generator Flow table using the operating head as the lookup in the Head for Type 1 column.
  • LCRPowerCalc : Because this power Method has no turbine release limit, a maximum Outflow cannot be calculated. RiverWare issues an error message and aborts the execution of this rule.
  • unregulated spill (if an unregulated spillway Method is selected on the object): The maximum unregulated spill is determined from a table interpolation in the Unregulated Spill Table using the average HW as the Pool Elevation .
  • regulated spill (if a regulated spillway Method is selected on the object): The maximum regulated spill is the user input Regulated Spill at the given timestep or is determined from a table interpolation in the Regulated Spill Table using the average HW in the Pool Elevation column. Note, if the MonthlySpillCalc Method is selected, the result of getMaxOutflowGivenInflow is the value in the Maximum Controlled Release table slot.
  • bypass (if a bypass spillway method is selected on the object): The maximum bypass is the user input Bypass at the given timestep or zero, if no bypass is input.

Once the iteration has converged on an ending storage and pool elevation, all of the individual outflows are summed to calculate the maximum outflow

Mathematical Expression

 

Comments

The Tailwater Base Value , Hydrologic Inflow Net , Diversion , Return Flow , Canal Flow , Pumped Storage Inflow , and Pumped Storage Outflow are automatic dependencies of this function. Since the function evaluation depends on these slots, any change to their values, may impact the function result.

 
GetMaxOutflowGivenInflow(%"Hoover Dam", 68651 "cfs", @"June, 1983}
 
1283.7047 "cms"