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

Links: No

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

Links: No

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

Links: No

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

Links: No

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.

4. Convert storages to equivalent flows based on the timestep length for use in net gain calculations

6. Check the flow conditions, and then set the inflow ratio and monthly cumulative values accordingly

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.

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.

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.

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: 01/04/2021