Dispatch Methods

Solve given Inflow, Pool Elevation

This dispatch method is placed on the queue when the list of knowns/unknowns (below) is met. It solves for Outflow.

Required Known Slots

• Inflow

• Hydrologic Inflow, only if input or Solve Hydrologic Inflow is selected

Required Unknown Slots

• Storage

• Outflow

Method Details

1. The method finds the Storage associated with the known Pool Elevation using the Elevation Volume Table.

2. It checks if the Pool Elevation at the current timestep is flagged as a TARGET. If it is, the target calculations are performed.

3. If either the previous timestep’s Pool Elevation or the previous timestep’s Storage is not known, it is calculated using the other parameter.

4. If both the previous timestep’s Pool Elevation and the previous timestep’s Storage are unknown, the dispatch method is exited.

5. If a Canal Object is linked and not yet solved, the dispatch method is exited and waits for the Canal to solve.

6. The mass balance is carried out as follows:

This equation may or may not contain other elements reflecting the user method choices (including Hydrologic Inflow, Evaporation, Precipitation, Seepage, and Bankstorage). Inflow in the mass balance equation is the net inflow to the reservoir, including hydrologic inflows, return inflows, and diversions if appropriate. Spill and Release are then found according to the user selected methods.

7. The Energy in Storage, Spilled Energy, and Future Value calculation user methods are then executed.

Solve given Outflow, Pool Elevation

This dispatch method is placed on the queue when the list of knowns/unknowns (below) is met. It solves for Inflow.

Required Known Slots

• Outflow

• Hydrologic Inflow, only if input or Solve Hydrologic Inflow is selected

Required Unknown Slots

• Storage

• Inflow

Method Details

1. The method finds the Storage associated with the known Pool Elevation using the Elevation Volume Table.

2. If the Pool Elevation at the current timestep is flagged as a TARGET, the target calculations are performed.

3. If either the previous timestep’s Pool Elevation or the previous timestep’s Storage is not known, it is calculated using the other parameter.

4. If both the previous timestep’s Pool Elevation and the previous timestep’s Storage are unknown, the dispatch method is exited.

5. If a Canal Object is linked and has not yet solved, the dispatch method is exited and waits for the Canal to solve.

6. The Outflow is then checked for the Max Capacity flag. If this flag is present, the maximum outflow is found from the given Pool Elevation.

7. Outflow is calculated.

8. The mass balance is carried out.

This equation may contain other elements reflecting the user method choices (including Hydrologic Inflow, Evaporation, Precipitation, Seepage, and Bankstorage). Inflow in the mass balance is the net inflow to the reservoir, including the hydrologic inflows, return flows, and diversions if appropriate. The Inflow slot is adjusted accordingly to account for these terms. Spill and Release are then found according to the user selected methods.

9. If the value found for the Inflow is less than zero, the hydrologic inflow calc method is checked. If it is Hydrologic Inflow and Loss, the method is called, setting the Inflow to zero, and the Hydrologic Inflow Adjust to the previous value of the inflow. This is done to present the negative inflow as a loss that has not been accounted for.

10. The Energy in Storage, Spilled Energy, and Future Value calculation user methods are executed.

Solve given Inflow, Storage

This dispatch method is placed on the queue when the list of knowns/unknowns (below) is met. It solves for Outflow.

Required Known Slots

• Inflow

• Storage

• Hydrologic Inflow, only if input or Solve Hydrologic Inflow is selected

Required Unknown Slots

• Outflow

Method Details

1. The method finds the Pool Elevation associated with the known Storage using the Elevation Volume Table.

2. If the Storage at the current timestep is flagged as a TARGET, the target calculations are performed.

3. If either the previous timestep’s Pool Elevation or the previous timestep’s Storage is not known, it is calculated using the other parameter.

4. If both the previous timestep’s Pool Elevation and the previous timestep’s Storage are unknown, the dispatch method is exited.

5. If a Canal Object is linked and has not yet solved, the dispatch method is exited and waits for the Canal to solve.

6. The mass balance is carried out.

This equation may include other elements reflecting the user method choices (including Hydrologic Inflow, Evaporation, Precipitation, Seepage, and Bankstorage). Inflow in the mass balance equation is the net inflow to the reservoir, including hydrologic inflows, return flows, and diversions if appropriate. If the Outflow is less than zero, the method is exited. Spill and Release are then found according to the user selected methods.

7. The Energy in Storage, Spilled Energy, and Future Value calculation user methods are executed.

This method issues an error if the Time Varying Elevation Volume method is selected and the timestep is a modification date on the table. See Time Varying Elevation Volume for details.

Solve given Outflow, Storage

This dispatch method is placed on the queue when the list of knowns/unknowns (below) is met. It solves for Inflow.

Required Known Slots

• Storage

• Outflow

• Hydrologic Inflow, only if input or Solve Hydrologic Inflow is selected

Required Unknown Slots

• Inflow

Method Details

1. The method finds the Pool Elevation associated with the known Storage using the Elevation Volume Table.

2. If the Storage is flagged as a TARGET and Outflow is not flagged as MAX CAPACITY, the target calculations are performed.

3. If the Storage is flagged as a TARGET and the Outflow is flagged MAX CAPACITY, a RiverWare error is posted and the run is terminated because an under-determination would result.

4. If either the previous timestep’s Pool Elevation or the previous timestep’s Storage is not known, it is calculated using the other parameter.

5. If both the previous timestep’s Pool Elevation and the previous timestep’s Storage are unknown, the dispatch method is exited.

6. If a Canal Object is linked and has not yet solved, the dispatch method is exited and waits for the Canal to solve.

7. The outflow is checked for the Max Capacity flag. If this flag is present, the maximum outflow is found from the given Pool Elevation. Outflow is calculated as follows:

8. The mass balance is carried out as follows:

This equation may contain other elements reflecting the user method choices (including Hydrologic Inflow, Evaporation, Precipitation, Seepage, and Bankstorage). Inflow in the mass balance equation is the net inflow to the reservoir, including hydrologic inflows, return flows, and diversions if appropriate. The Inflow slot is adjusted accordingly to account for these additional terms. Spill and Release are then found according to the user selected methods.

9. If the value found for the inflow is less than zero, the hydrologic inflow calc method is checked. If it is Hydrologic Inflow and Loss, the method is called, setting the Inflow to zero, and the Hydrologic Inflow Adjust to the previous value of the Inflow. This is done to present the negative inflow as a loss that has not been accounted for.

10. The Energy in Storage, Spilled Energy, and Future Value calculation user methods are executed.

This method issues an error if the Time Varying Elevation Volume method is selected and the timestep is a modification date on the table. See Time Varying Elevation Volume for details.

Solve given Inflow, Outflow

This dispatch method is placed on the queue when the list of knowns/unknowns (below) is met. It solves for Storage (and Pool Elevation).

Required Known Slots

• Inflow

• Outflow

• Hydrologic Inflow, only if input or Solve Hydrologic Inflow is selected

Required Unknown Slots

• Storage

Method Details

1. The method checks if there are Pool Elevation and Storage values for the previous timestep.

– If either is unknown, it is calculated using the other parameter.

– If both are unknown, the dispatch method is exited.

2. If a Canal Object is linked and has not yet solved, the dispatch method is exited and waits for the Canal to solve.

3. The Outflow is then checked for the Max Capacity flag. If this flag is present, the maximum outflow is found from the mass balance and spill methods using a convergence algorithm. The algorithm used is detailed Reservoir Convergence. The Outflow slot is set equal to the maximum outflow value. See Reservoir Convergence for details.

4. If the Outflow slot is set by the Surcharge Release flag, the surcharge release is computed and the Outflow slot is set equal to surcharge release for all timesteps in the forecast period (the surcharge release methods compute a surcharge release forecast). See Description of Logic in USACE‑SWD Modeling Techniques for details on dispatching when using the Surcharge Release Flag.

5. The mass balance is carried out as follows:

This equation may contain other elements reflecting the user method choices, including Hydrologic Inflow, Evaporation, Precipitation, Seepage, and Bankstorage.

6. Spill and Release are found according to the user-selected methods.

7. The Energy in Storage, Spilled Energy, and Future Value calculation user methods are executed.

Solve given Inflow, Release

This dispatch method is placed on the queue when the list of knowns/unknowns (below) is met. It solves for Storage (and Pool Elevation) and Outflow.

Required Known Slots

• Inflow

• Total Release

• Hydrologic Inflow, only if input or Solve Hydrologic Inflow is selected

Required Unknown Slots

• Storage

• Outflow

Method Details

1. The method checks if there are Pool Elevation and Storage values for the previous timestep.

– If either is unknown, it is calculated using the other parameter.

– If both are unknown, the dispatch method is exited.

2. If a Canal Object is linked, the method exits with an error because this dispatch method is not valid when a Canal is linked to the reservoir.

3. If there is an unregulated spillway crest, because an unregulated spill method is selected, the method computes the upper limit for unregulated spill to prevent spilling too much water to drop the reservoir below the crest. Typically, this limit is computed as the volume of water above the crest converted to a flow. See the Unregulated Spill method for details.

4. The method enters a convergence algorithm that iterates to find an outflow and storage that satisfy both the mass balance equation and the release/spill curve. See Reservoir Convergence for details on the convergence algorithm.

5. The Energy in Storage, Spilled Energy, and Future Value calculation user methods are executed.

Solve given Inflow, Outflow, Storage

This dispatch method is only available when the Solve Hydrologic Inflow method is selected. It is placed on the queue when the knowns and unknowns are is met. It solves for the Hydrologic Inflow.

Required Known Slots

• Outflow

• Storage

• Inflow

Required Unknown Slots

Method Details

1. The method checks if Outflow is flagged as MAX CAPACITY. If so, a RiverWare error is flagged and the run is terminated.

2. The Pool Elevation associated with the known Storage is determined from the Elevation Volume Table.

3. If the Storage is flagged as TARGET, a RiverWare error is posted and the run is terminated.

4. If either the previous timestep’s Pool Elevation or the previous timestep’s Storage is not known, it is calculated using the other parameter.

5. If both the previous timestep’s Pool Elevation and the previous timestep’s Storage are unknown, the dispatch method is exited.

6. If a Canal Object is linked, a RiverWare error is posted and the run is terminated.

7. The hydrologic inflow is found as follows. All values are converted to flows.

This equation may contain other elements reflecting the user method choices (these include Evaporation (+), Precipitation(-), Seepage(+), Bankstorage(+), Return Flow(‑), Diversion (+), and Flow TO/FROM Pumped Storage). Spill and release are then found according to the user selected methods.

8. The Energy in Storage, Spilled Energy, and Future Value calculation user methods are executed.

This method issues an error if the Time Varying Elevation Volume method is selected and the timestep is a modification date on the table. See Time Varying Elevation Volume for details.

Solve given Inflow, Outflow, Pool Elevation

This dispatch method is only available when the Solve Hydrologic Inflow method is selected. It is placed on the queue when the list of knowns/unknowns (below) is met. It solves for the Hydrologic Inflow.

Required Known Slots

• Outflow

• Inflow

Required Unknown Slots

• Storage

Method Details

1. The method checks if Outflow is flagged as MAX CAPACITY. If so, a RiverWare error is flagged and the run is terminated.

2. The Storage associated with the known Pool Elevation is determined from the Elevation Volume Table.

3. If the Pool Elevation is flagged as TARGET, a RiverWare error is posted and the run is terminated.

4. If either the previous timestep’s Pool Elevation or the previous timestep’s Storage is not known, it is calculated using the other parameter.

5. If both the previous timestep’s Pool Elevation and the previous timestep’s Storage are unknown, the dispatch method is exited.

6. If a Canal Object is linked, a RiverWare error is posted and the run is terminated.

7. The the hydrologic inflow is found as follows. All values are converted to flows.

This equation may contain other elements reflecting the user method choices (these include Evaporation (+), Precipitation(-), Seepage(+), Bankstorage(+), Return Flow(‑), Diversion (+), and Flow TO/FROM Pumped Storage).

8. Spill and release are found according to the user-selected methods and the equation, as follows:

9. The energy in storage, spilled energy, and future value calculation user methods are called. The dispatch method is then complete.

Solve Pass Inflows

This dispatch method is only available when the Pass Inflows method is selected. It has the following dispatch conditions. See Pass Inflows for details.

Required Known Slots

• Inflow

Required Unknown Slots

• Outflow

Method Details

This method does the following.

1. An error is issued if any of the following are linked, specified as inputs, or are non-zero:

– Seepage

2. An error is issued in the following cases:

– Any flags are set on Outflow (an over-determination error will be issued); see Outflow for details.

– Water Quality is enabled on this reservoir.

3. Inflow Sum and Total Inflows are computed as usual; see Total Inflows for details.

4. Outflow is calculated as follows:

5. The dispatch method finishes successfully and exits.

Note: Hydrologic Inflow disaggregation described Incremental Hydrologic Inflows on Subbasin and forecasting described Generate Forecast Hydrology is performed at beginning of the run or the timestep. Therefore, these inflows to the reservoir are included in the outflow. See Incremental Hydrologic Inflows on Subbasin and Generate Forecast Hydrology for details. No other physical process methods are executed, however, even though they may have method selections and slots visible. These include the following:

• Precipitation and Evaporation

• Spill

• Energy in Storage

• Seepage

• Bank Storage

• Tailwater

• Operating Level

Revised: 01/11/2023