Account Solution Equations
Solutions for Passthrough accounts are determined by the type of object and the configuration of the account. The components of the solution depend on the type of object on which the passthrough account resides. For example, a passthrough account on a confluence, bifurcation, or control point has only the Outflow, Inflow, and Slot Inflow components. See
Table 2.5 for the list of the slots on passthrough accounts for each object.
Equation 2.1 is the general equation.
Required Known Slots
• Slot Inflow; other unknown variables in the equation default to zero.
(2.1) The solution becomes more complicated if the account is on a Reach and there are lags or calculated losses, or if the account is on a Reservoir and storage is allowed. See the following sections for details.
Solution Detail for Passthrough Accounts With Lags and Losses
The solution methods for Passthrough accounts on Reach objects vary slightly, depending on whether a gain loss coefficient is defined or the Lag Time is non-zero.
1. The gain loss coefficient, tempGainLossCoefficient(t), is obtained from the selected Gain Loss Coefficient method; see
Gain Loss Coefficient for details.
2. If the tempGainLossCoefficient is non-zero (and Lag Time is NaN), Gain Loss is calculated as a function of the inflows. Remember that Gain Loss is a volume.
3. The account is then able to solve for Outflow using the general equation,
Equation 2.1.
4. If there is a non-zero Lag Time, the solution equations account for the lag, as follows.
Note: If there is a lag defined, Slot Inflow must be zero, or an error occurs.
– If the lag is an integer number of timesteps:
• If the tempGainLossCoefficient is non-zero:
• Otherwise, GainLoss(t+lag) may be specified (by Input, Object-level Accounting Method, or Rules), or it defaults to zero. The Inflow, Slot Inflow (must be zero), and Diversion all occur before the lag; Gain Loss and Return flow occur after the lag (that is, on the lagged timestep). Outflow is calculated as follows:
– If the lag is not an integer number of timesteps:
• The lag is broken into an integer number of timesteps (lagInt) and two fractions (lagFrac1 and lagFrac2) representing the flow that occurs on the two adjacent timesteps.
– If the tempGainLossCoefficient(t) is non-zero:
• Otherwise, GainLoss(t+lag) must be specified (by input, Object-level Accounting Method, or rules), or it defaults to zero. Outflow is then calculated as follows:
Solution Detail for Passthrough Accounts With Storage Allowed
If the passthrough account is on a Reservoir object, you have the option to allow storage. Storage is allowed only when you enable the Allow Storage option in the account configuration.
Storage is intended to be used temporarily. If outflow is assigned by the user or a rule, a storage value can be calculated and set in the storage slot for a given timestep. On the next timestep, the account solves to try to make storage equal to zero.
The purpose of allowing storage is that some reservoirs have constraints limiting the total water that can be released. Because constraints limit outflows, accounting water must be stored until it can be physically released from the reservoir. The following procedure is used.
Note: In this case, Inflow must be known; it does not default to zero.
Note: Unlike a reach, a lag or gain loss coefficient is not allowed on a reservoir passthrough account. Therefore, all calculations occur at a given timestep, except where indicated. Gain Loss cannot be calculated by an account-level method, although it can be calculated by an object-level accounting method.
Required Known Slots
1. If both Storage and Outflow are unknown, Storage remains unknown and Outflow is calculated as follows. This is similar to the general equation, except the entire previous storage is released.
2. If Outflow is known and Storage is unknown, Storage is calculated as follows:
3. If Storage is known and Outflow is unknown, Outflow is calculated as follows:
4. If both Storage and Outflow are known, an error is issued.
Solution Detail for Passthrough Accounts With Outflow Limitation
On a Reach passthrough account with the Scalar Max Outflow method selected (in the Outflow Limitation category), the following equation is used. See
Scalar Max Outflow and
Outflow Limitation for details.
Required Known Slots
• Slot Inflow; other unknown variables in the equation default to zero.
The remaining water is set on the diversion supply, as follows:
There must be exactly one diversion supply. Therefore, the Diversion slot value is identical to the value in the diversion supply. Lag, gain loss, and return flow are not allowed. This is checked at run time.