skip to main content
Dispatch Methods
* solveMB_givenInflowHW
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.
* solveMB_givenOutflowHW
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.
* solveMB_givenInflowStorage
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.
* solveMB_givenOutflowStorage
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.
* solveMB_givenInflowOutflow
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.
* solveMB_givenInflowRelease
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.
* solveMB_givenInflowOutflowStorage
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.
* solveMB_givenInflowOutflowHW
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.
* Outflow Equals Sum of 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: 11/11/2019