skip to main content
Aggregate Distribution Canal
Objects and Methods
Aggregate Distribution Canal
The Aggregate Distribution Canal object contains Distribution Canal objects as its elements. The aggregated object may route the Diversion Requested from WaterUsers through a set of Distribution Canals upstream to a Diversion Object, Water User, or Agg Diversion Site. The AggDistributionCanal also routes flow through the Distribution Canals. Links are automatically created between the AggDistributionCanal and its elements. Links are also created and maintained between the Distribution Canal elements. A description of the linking structure is given in the Distribution Canal section.
General Slots
Total Inflow
Type: SeriesSlot
Units: FLOW
Description: flow entering the AggDistributionCanal object
Information: This slot can be set as an input, particularly if there are no objects upstream.
I/O: Optional; Required if not linked
Total Outflow
Type: SeriesSlot
Units: FLOW
Description: flow leaving the AggDistributionCanal object
Information: The values in this slot are set via propagation from the Outflow slot of the last Distribution Canal element in the AggDistributionCanal object.
I/O: Output only
User Methods
Request Routing
Time Lag request routing is available within the Request Routing category. This category activates and deactivates the request routing calculations. If Time Lag request routing is selected, only Time Lag routing is available in the Flow Routing category on the Distribution Canal elements.
* No Routing
This method does not route requests. No restriction is placed on the flow routing methods available on the Distribution Canal elements. There are no slots specifically associated with this method.
* Time Lag
When the Time Lag request routing method is selected, all of the Distribution Canal elements are changed to the Time Lag routing method in the Flow Routing category.
This method routes the Delivery Requests upstream through all the Distribution Canal elements to the upstream end of the AggDistributionCanal. The method starts at the most downstream canal element and routes the Delivery Requests of that canal element and any Downstream Delivery Requests to the Routed Delivery Request slot at the top of that canal element. Once this has been accomplished, the values in the Routed Delivery Request slot are propagated along an automatic internal link to the DS Delivery Request slot of the upstream Canal element. When the most upstream canal element is reached, the Routed Delivery Request slot is propagated through another internal link to the Total Delivery Request slot on the AggDistributionCanal object.
Slots Specific to This Method
Downstream Delivery Request
Type: SeriesSlot
Units: FLOW
Description: represents the delivery request from a downstream AggDistributionCanal
Information: The Downstream Delivery Request slot is automatically linked to the DS Delivery Request slot on the last Distribution Canal element on the AggDistributionCanal.
I/O: Optional; Set to zero if not input and not linked
Total Delivery Request
Type: SeriesSlot
Units: FLOW
Description: sum of the Delivery Requests routed to the upstream end of the AggDistributionCanal
Information: The values in this slot are set via propagation from the Routed Delivery Request slot of the most upstream Distribution Canal element.
I/O: Output only
The values in the Total Delivery Request slot are calculated as follows.
The total request may also include evaporation and change in storage if those methods are active.
Note:  Lag Time, Delivery Request, Routed Delivery Request, (Variable) Seepage Flow Fraction, and DS Delivery Request are slots on the Distribution Canal element.
The Routed Delivery Request calculated in the equation above is then set for the timestep, t - Lag Integer, where t is the current timestep.
Note:  If a method is selected in the Canal Storage category, the Routed Delivery Request is always zero when the canal is draining. In other words, no downstream or delivery requests can be routed upstream when the canal is draining.
The Routed Delivery Requested value is propagated across a link to the DS Delivery Request slot on the Canal element just upstream. The process above is then repeated until Routed Delivery Request is calculated on the most upstream Canal element. The value then propagates across a link to the Total Delivery Request slot on the AggDistributionCanal object.
This method executes at the beginning of the run. Therefore, it is necessary that all delivery requests on all elements are known at the beginning of the run.
Dispatch Methods
If No Routing is selected in the Request Routing category, this object does not dispatch.
* routeRequests
This dispatch method is only executed when Time Lag request routing is selected in the Request Routing category.
Required Knowns
Required Unknowns
The AggDistributionCanal only dispatches on the first timestep. The dispatch method calls the function to route delivery requests upstream from the canal elements for all timesteps. This function is described in User Methods for the AggDistributionCanal object.
 
Revised: 06/03/2019