skip to main content
Objects and Methods : Reach : Dispatch Methods
Dispatch Methods
The dispatch methods for the Reach object allow the various Routing methods to solve. They execute whenever the Reach has enough information to solve.
* Solve given Inflow, No Routing
This method is available for the No Routing user method.
It solves for Outflow when Inflow, and possibly Local Inflow, Return Flow, and Diversion are known, based on user method selection and the status of those slots.
Required Known Slots
• Inflow
• Local Inflow, if one of the Solve or Contingent Local Inflow or Solve Outflow methods is selected; see Local Inflow and Solution Direction.
Required Unknown Slots
• Outflow
Method Details  
If diversion or return flow is linked, the dispatch method will wait for a value in these slots before solving. If a value is set for the minimum outflow, the solved value for Outflow will be compared to the minimum. If the minimum has not been met, the outflow will be raised to the minimum, and the necessary inflow will be placed in the Local Inflow Adjust slot, if it is visible.
This dispatch method executes the methods in the following order.
1. Stage Calc
2. Reach Seepage (if One Timestep Seepage Lag is not selected)
3. Seepage Routing
4. Min Diversion Bypass
5. Diversion from Reach
6. Reach Evaporation
7. Reach Bank Storage
8. Gain Loss
9. Mass balance, as follows:
    
10. Negative Outflow Adjustment
11. Stage Calc
12. Reach Seepage (if One Timestep Seepage Lag is selected)
* Solve given Outflow, No Routing
This method is available for the No Routing user method.
It solves for Inflow when Outflow, and possibly Local Inflow, Return Flow, and Diversion are known, based on user method selection and the status of those slots.
Required Known Slots
• Outflow
• Local Inflow, if the Specify Local Inflow, Solve Inflow or Outflow user method is selected.
Required Unknown Slots
• Inflow
Method Details  
If diversion or return flow is linked, the dispatch method will wait for a value in these slots before solving. This dispatch method executes the methods in the following order.
1. Stage Calc
2. Diversion from Reach
3. Gain Loss
4. Reach Bank Storage
5. Reach Seepage (if One Timestep Seepage Lag is not selected)
6. Seepage Routing
7. Mass balance, as follows:
    
8. Stage Calc
9. Reach Seepage (if One Timestep Seepage Lag is selected)
* Solve given Inflow, Outflow, No Routing
This method is available for the No Routing user method.
It solves for Local Inflow when Inflow and Outflow, and possibly Return Flow, and Diversion are known, based on user method selection and the status of those slots.
Required Known Slots
• Inflow
• Outflow
Required Unknown Slots
• Local Inflow
Method Details  
If diversion or return flow is linked, the dispatch method will wait for a value in these slots before solving. This dispatch method executes the methods in the following order.
1. Stage Calc
2. Reach Seepage (if One Timestep Seepage Lag is not selected)
3. Seepage Routing
4. Reach Evaporation
5. Min Diversion Bypass
6. Diversion from Reach
It then solves up for the following:
7. Gain Loss
8. Reach Bank Storage
It then solves mass balance as follows:
    
* Solve given Outflow, Time Lag
This dispatch method is available for the Time Lag routing user method.
This is a front for the Time Lag, Stage Calc, and Volume Calc methods, which do all the work. Inflow is found at some previous time when Outflow is known at the current timestep.
Required Known Slots
• Outflow
Required Unknown Slots
• Inflow
* Solve given Inflow, Time Lag
This dispatch method is available for the Time Lag routing user method.
This is a front for the Time Lag, Stage Calc, and Volume Calc methods, which do all the work. Outflow is found at some future time when Inflow is known at the current timestep.
Required Known Slots
• Inflow
Required Unknown Slots
• Outflow
* Solve given Inflow, Outflow, Time Lag
This dispatch method is available for the Time Lag routing user method.
This is a front for the Time Lag, Stage Calc, and Volume Calc methods, which do all the work. Outflow is found at some future date, and inflow is found at some previous time, when both are known at the current timestep.
Required Known Slots
• Inflow
• Outflow
* Solve given Inflow, Time Lag, Downstream Only
This dispatch method is available if Time Lag routing is selected and the Specify Local Inflow, Solve Outflow or No Local Inflow, Solve Outflow user methods are selected.
Outflow is found at some future timestep when inflow is known on the current timestep. Unlike the Solve given Inflow, Time Lag dispatch method, which is able to solve both upstream and downstream depending on the knowns and unknowns, Solve given Inflow, Time Lag, Downstream Only can only solve in the downstream direction. In addition, this dispatch method calls the Stage Calc and Volume Calc methods.
Required Known Slots
• Inflow
* Solve given Inflow, Storage Routing
This dispatch method is available for the Storage Routing, Variable Storage Routing, and Modified Puls routing methods.
The dispatch method executes the Routing, Stage Calc, and Volume Calc methods, which do all the work. Outflow is found at the current timestep when inflow is known at the current timestep.
Required Known Slots
• Inflow
Required Unknown Slots
• Outflow
* Solve given Inflow
This is the dispatch method that all other Routing methods use.
It executes the Stage, Min Diversion Bypass, Diversion from Reach, and then the Routing user methods. After the routing method, the Stage method is called again.
Required Known Slots
• Inflow
Required Unknown Slots
• Outflow
Note:  If the Step Response, Variable Step Response, or Variable Time Lag routing method is selected, Outflow is not a required unknown. See the following sections for details:
 
Revised: 01/11/2023