skip to main content
Reservoir Account Slot Inflow
The following Rio Grande-specific Slot Inflow method is available on the Reservoirs.
* Heron Inflow
This method sets the Slot Inflow for all accounts on Heron Reservoir. The Heron Inflow method requires that a method be selected in the Seepage category. The method requires values calculated by simulation, such as seepage and surface area; therefore, the execution time must be set to After Simulation. This method is currently configured to function correctly for 1 Day and 1 Month timestep sizes only.
The Slot Inflow for all accounts with San Juan water type is set to zero. The Slot Inflow for the RioGrande account is set to the difference between the change in cumulative natural flow and the Inflow to the Rio Grande account.
    , for all SanJuan accounts
    
The calculation of naturalFlowCumul is dependent on whether the RioGrande.Inflow is in high flow or low flow conditions for the month. For a 1 Day timestep, if the condition changes at some point during the month, all values are recalculated previous timesteps in the month based on the new condition. For a 1 Month timestep, the monthly condition is known at the end of each timestep (end of each month) so there is no need to recalculate any values.
Slots Specific to This Method
 Heron Inflow Coefficients
Type: Table Slot
Units: Volume, None, None
Description: The first column contains the test volume for determining whether the total monthly RioGrande flow is high flow or low flow. The second and third columns contain the ratios used for low flow and high flow conditions.
Information: The products of the flow ratios and the RioGrande.Inflow are used in calculating the Natural Flow.
I/O: Required Input
 Rio Grande Ratio
Type: Series Slot
Units: None
Description: The final flow ratio used at each timestep based on the monthly flow condition
Information: The value in this slot will be either the Low Flow Ratio or the High Flow Ratio from the Heron Inflow Coefficients table slot.
I/O: Output only
 Effective Precip
Type: Series Slot
Units: Volume
Description: The effective precipitation calculated for the given timestep.
Information: The total accumulated precipitation depth for the month is used to calculate the accumulated effective precipitation for the current day and the previous day. The difference is the Effective Precip for the current day. For a 1 Month timestep, the effective precipitation is calculated from the total precipitation for the current timestep.
I/O: Output
 Effective Precipitation Table
Type: Table Slot
Units: Length, Fraction, Length
Description: The relationship between total accumulated precipitation depth for the month and the amount considered effective precipitation.
Information: The first column gives a depth of monthly precipitation. The second column gives the fraction of that precipitation depth that is considered effective precipitation. The third column contains the accumulated effective precipitation value corresponding to the precipitation in the first column. Linear interpolation is used to calculate the effective precipitation depth based on the total precipitation depth for the month. Only the first and third columns are actually used in the interpolation. The second column is only for reference.
I/O: Required Input
Table Series Slots Set by This Method
Each table represents a table series slot. The row names represent the column headers in the table series slots.
Method Details  
The Heron Inflow method carries out the following steps.
Set the Slot Inflow for all accounts with San Juan water type to zero
    , for all San Juan accounts
Calculate Effective Precipitation
For a 1 Month timestep, this can be done based on the Precipitation Volume for the month, which will have been set in simulation. The Precipitation Volume calculation will already account for Ice Coverage if applicable. For a 1 Day timestep, Effective Precipitation must be calculated using the cumulative sum of Precipitation Rate from the beginning of the month to the current day, and Ice Coverage is included explicitly. At a 1 Month timestep the average surface area is used, whereas the current (end of timestep) surface area is used for a 1 Day timestep.
IF isMonthly
ELSE
END IF
Calculate the test volume and the cumulative RioGrande.Inflow for the month to date
For a 1 Day timestep, these are cumulative values from the beginning of the month to the current timestep. For a 1 Month timestep, the cumulative monthly value is simply the current timestep value.
IF isMonthly
ELSE (1Day timestep)
IF
ELSE
END IF
END IF
Convert storages to equivalent flows based on the timestep length for use in net gain calculations
    
    
Calculate local variables and set the values in the Heron Inflow Values table series slot
The values you must calculate are displayed under Column; you set the values in the Heron Inflow Values table series slot.
 
Table A.21  Heron Inflow Values
Column
Value
Effective Precip (Volume)
Reservoir.Effective Precip
Net Evaporation (Volume)
Reservoir.Evaporation - Reservoir.Effective Precip
Seepage (Flow)
Reservoir.Seepage
Low Ratio (Flow)
High Ratio (Flow)
Low Net EOD Gain (Flow)
High Net EOD Gain (Flow)
Low Hybrid Seepage (Flow)
High Hybrid Seepage (Flow)
Low Hybrid EOD (Flow)
High Hybrid EOD (Flow)
EOD Content (Volume)
N/A (Values are not set in this column)
Check the flow conditions, and then set the inflow ratio and monthly cumulative values accordingly
IF , (low flow conditions)
IF isMonthly
ELSE (1Day timestep)
END IF
ELSE (high flow conditions)
IF isMonthly
ELSE (1Day timestep)
END IF
END IF
Calculate the cumulative ratio inflow and the cumulative net gain
If it is the first day of the month or a 1 Month timestep, these are just the inflowRatio (if it is positive) and the netGainMonthly for the timestep.
IF OR (isMonthly)
IF
ELSE (inflowRatio is positive)
END IF
ELSE (after the first of the month at a 1Day timestep)
IF
ELSE
END IF
END IF
Determine the correct logic to use
IF
ELSE
END IF
IF AND
END IF
IF
ELSE
END IF
Set the values in the Heron Cumulative Inflow Values table series slot
The table values are set to the local variable, as follows.
 
Table A.22  Heron Cumulative Inflow Values
Column Header (Unit Type)
Value (local variable)
Ratio Inflow (Volume)
cumulRatio
Net EOD Gain (Volume)
cumulNetGain
Inflow Within (Volume)
cumulInflowWithin
Natural Flow (Volume)
cumulNaturalFlow
Set RioGrande.Slot Inflow
If it is the first day of the month, or a 1 Month timestep, or if the conditions have not changed from the previous timestep, then the RioGrande.Slot Inflow can be set. If conditions have changed, then a helper function (findHeronRGInflow) is called. This function recalculates values for previous timesteps in the month based on the conditions at the current timestep.
IF OR isMonthly
ELSE IF OR
The first condition here indicates that the flow condition has changed from high to low or low to high. The second condition indicates that the logic has changed from the previous timestep.
• FOR (d IN BeginningOfMonth TO CurrentDay)
– Set all previous values in Rio Grande Ratio for the month equal to the value for the current day
– Call findHeronRGInflow to recalculate values for previous timesteps in the month and to set RioGrande.Slot Inflow for all previous days in the month and the current day.
Note:  See findHeronRGInflow function for a description of the findHeronRGInflow function.
END FOR
ELSE (conditions have not changed from the previous day)
END IF
findHeronRGInflow function
The findHeronRGInflow function is called from within the Heron Inflow method when the conditions at the current timestep (high flow/low flow or the logic used) have changed from the previous timestep. The function recalculates previous values for the given month used in the RioGrande.Slot Inflow calculation based on the conditions at the current timestep. This recalculation only applies for a 1 Day timestep. At a 1 Month timestep, the final condition for the month is know at the end of each timestep when values are first calculated.
The steps in the function are described below.
Note:  This function is called from within a FOR loop over all timesteps from the first day of the month to the current controller timestep. In the notation below, the index d refers to the timestep in the FOR loop, and the index curDay refers to the current controller timestep.
IF
• This would indicate low flow conditions for the month to-date
– Set the inflowRatio for the day index in the FOR loop equal to the low inflow ratio, and sum the cumulative inflow ratio, net gain and seepage from the beginning of the month to index day.
ELSE (high flow conditions)
– Set the inflowRatio for the day index in the FOR loop equal to the low inflow ratio, and sum the cumulative inflow ratio, net gain and seepage from the beginning of the month to index day.
END IF
Set the previous logic to the current logic to use for the next timestep
    
Calculate the monthly sum of each column in the Heron Inflow Values table series slot
For the final day of the month at a 1 Day timestep, calculate the monthly sum of each column in the Heron Inflow Values table series slot. Flow values will be summed to the corresponding volumes. Set the sums at the final day of each month in the Heron Inflow Totals table series slot. For a 1 Month timestep, this slot will be empty; the monthly (end of timestep) values will be displayed in Heron Inflow Values. See Heron Inflow Values.
Heron Inflow Totals
The Heron Inflow Totals slot holds the monthly sum of the Heron Inflow Values slot.
Set inflowRatioCumul and adjust netGainCumul if inflowRatioMonthly is negative
These values will be used to calculate the cumulative natural flow based on the current logic. inflowRatioMonthly is the cumulative ratio inflow for the current day (current controller timestep) passed to this function from the Heron Inflow method above.
IF (first day of the month)
IF
ELSE
END IF
ELSE (after the beginning of the month)
IF
ELSE
END IF
END IF
IF
END IF
Set the cumulative natural flow based on the current (controller timestep) logic
The current logic (currentLogic) is passed to this function from the Heron Inflow method above.
IF
ELSE IF
ELSE IF
ELSE IF
ELSE IF
END IF
Set the values in the Heron Cumulative Inflow Values table series slot at timestep d
Note:  The Heron Cumulative Inflow Values are an adjustment when the findHeronRGInflow function is used. This results in overriding values that have already been set at timestep d. See Heron Cumulative Inflow Values and findHeronRGInflow function for details.
 
Table A.23  Heron Cumulative Inflow Values
Column
Value
Ratio Inflow (Volume)
inflowRatioCumul
Net EOD Gain (Volume)
netGainCumul
Inflow Within (Volume)
inflowWithinCumul
Natural Flow (Volume)
naturalFlowCumul
Set the RioGrande.Slot Inflow at timestep d to difference between the natural flow at this timestep and the RioGrande.Inflow at this timestep
IF (first day of the month)
ELSE (after the first day of the month)
END IF
At this point, the function will repeat with the next index day d until it has reached the current day (current controller timestep).
Revised: 07/09/2023