skip to main content
Basin-specific Object Level Accounting Methods (OLAMs)
Accounting
Basin-specific Object Level Accounting Methods (OLAMs)
This document describes object level accounting methods specific to the Rio Grande model. In general, each account in this model has a water type of either “RioGrande” or “SanJuan.” In addition, there is often an account on the object name “RioGrande”. The categories and methods in the remainder of this document describe the logic used to allocation water to Slot Inflow and Gain Loss to these typed or named accounts.
Topics
Confluence Account Slot Inflow Category
The confluence has the following Rio Grande specific Slot Inflow method. See “Rio Grande Inflow 2” for details.
* Rio Grande Inflow 2
This method sets the Slot Inflow for accounts with water type “RioGrande” proportionally to the Inflow to the account. All Slot Inflows on accounts with water type “SanJuan” are set to 0.0
The logic is follows:
Get a list of all the Inflow slots on accounts with water type RioGrande.
Register each as a RPL dependency.
Get a list of all the Slot Inflows slots on accounts with water type RioGrande.
RioGrandeInflowSUM = Sum of RioGrande Inflows
If the RioGrandeInflowSUM is zero, then divide Inflow 2 equally to all Rio Grande accounts.
Otherwise, for each account of water type RioGrande:
Get a list of all the Slot Inflow slots on accounts with water type SanJuan
Set all SanJuan Slot Inflows to 0.0.
Reach Account Slot Inflow Category
The reach has the following Rio Grande-specific Slot Inflow methods:
* Reconcile Rio Grande Outflow
This method computes the total accounting Slot Inflow to reconcile the physical and accounting flows based on the water type of the accounts. Accounts with water type “SanJuan” have their Slot Inflows set to 0.0cfs. The remaining total reconciliation water is then proportioned to the Slot Inflow on accounts with the RioGrande water type. The logic is as follows.
Get a list of all the Inflow slots on accounts with water type RioGrande. and register each as a dependency
RioGrandeInflowSUM = Sum of RioGrande Inflows
Get a list of all the Slot Inflows slots on accounts with water type RioGrande.
Get a list of all the Slot Inflow slots on accounts with water type SanJuan.
Get a list of all the Outflow slots on accounts with water type SanJuan and register each as a dependency
SanJuanOutflowSUM = Sum of SanJuan Outflows
Get the Reach.Outflow (this includes the physical loss)
If the RioGrandeInflowSUM is zero, then divide any Slot Inflows equally to all Rio Grande accounts.
Otherwise, for each account with water type RioGrande:
Set Slot Inflows on accounts with water type SanJuan to 0.0.
* Rio Grande Local Inflow
This method sets all Local Inflow to the Slot Inflow on the account name “RioGrande.” All accounts with Water type SanJuan are given zero Slot Inflows.
Following is the logic to compute the Slot Inflow on the Rio Grande account.
Get the single passthrough account named “RioGrande”
Get the RioGrande Slot Inflow slot
Set the RioGrande.Slot Inflow = Local Inflow (if Local Inflow is in use and valid)
Get a list of all the SanJuan Slot Inflow slots
Set all SanJuan Slot Inflows to 0.0.
Reservoir Account Gain Loss Category
The primary purpose of methods in this category is to set the Gain Loss slots on reservoir accounts. They also set values on additional slots as described within each method description. The following methods are described in this section:
* Abiquiu, Cochiti and Jemez Gain Loss
Abiquiu, Cochiti and Jemez reservoirs each have their own Gain Loss Calculation method; however, all three methods function the same, as described below.
These methods are currently configured to function correctly for 1 Day and 1 Month timesteps only. In order for these methods to solve for Account Gain Loss, values such as Surface Area, Evaporation and Precipitation Volume must be know (solved for by simulation); therefore, the execution time must be set to After Simulation.
These methods calculate the total San Juan losses as the difference between the Present Condition Loss and the Hypothetical Condition Loss. The Hypothetical Condition represents the state of the reservoir assuming only Rio Grande water is present, with no San Juan water. The total San Juan loss is then distributed to all San Juan accounts proportional to the storage in each account at the end of the previous timestep. This allows the San Juan Storages to solve at the current timestep.
All other loss goes to the Rio Grande accounts. The temporary total Rio Grande loss is calculated as the difference between the Hypothetical Condition Loss and the Pre-Reservoir Condition Loss. If the reservoir has a RioGrandeConservation account, and the account has water, then it takes a fraction of the loss equal to its percentage of total Rio Grande water in the reservoir. All remaining loss goes to the RioGrande account.
This allows RioGrandeConservation.Storage to solve if the reservoir has a RioGrandeConservation account. Then the Gain Loss for the RioGrande account can be calculated.
See “Slots Specific to These Methods” for details of the individual components. See “Steps Carried Out by the Abiquiu, Cochiti and Jemez Gain Loss Methods” for the steps that each of these methods carry out.
Slots Specific to These Methods
Selecting the Abiquiu, Cochiti or Jemez Gain Loss method instantiates the following slots.
Carryover Content
Type: Series Slot
Units: Volume
Description: The volume designated as Carryover storage
Information: This value will only be non-zero if the Locked In slot has a value of 1 (reservoir is locked in). Values in this series slot are the same as the values in the Rio Grande Pools slot, Carryover Content column. If the initial timestep value on this slot is not known, but the value on the Rio Grande Pools slot Carryover Content column t is known, the table series slot value is copied to the series slot at the initial timestep and set as an input.
I/O: Initial value Input, run timesteps are Output
Conservation Gain Switch
Type: Series Slot
Units: None
Description: A binary switch indicating whether any gains at the timestep can be allocated to the RioGrandeConservation account.
Information: This slot value must be either 1 (gains can be allocated to RioGrandeConservation) or 0 (no gains allocated to RioGrandeConservation). If this value is not input or set by a rule, it defaults to zero
I/O: Optional Input
Control and PreRes Areas
Type: Table Slot
Units: Area, Area, Area, Area, Area, Area
Description: The table contains a one row and six columns, one for each of the following: Control Area, Pre-Res Barren Area, Pre-Res Irrigated Area, Pre-Res Meadow Area, Pre-Res River Area, Pre-Res Lake Area
Information: The areas in this table are used for calculating losses for prereservoir conditions.
I/O: Required Input
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
Hold Pool
Type: Series Slot
Units: Volume
Description: The sum of the total San Juan storages, Carryover Content and Accumulated Permanent Sediment
Information: This value is calculated at the end of the accounting method after all account storage values are known.
I/O: Output
Hypothetical Lake Elev River Area Table
Type: Table Slot
Units: Length, Area
Description: Relationship of Hypothetical River Area to Hypothetical Lake Elevation
Information: This table is used to calculate river area for hypothetical conditions
I/O: Required Input
Incidental Content
Type: Series Slot
Units: Volume
Description: All Rio Grande storage that is not designated as Carryover storage or Conservation storage.
I/O: Output
Locked In
Type: Series Slot
Units: None
Description: A binary switch indicating if the reservoir can have water designated for Carryover Content
Information: This slot value must be either 1 (Locked In, can have Carryover storage) or 0 (no Carryover storage)
I/O: Required Input
Net Loss Adjustment
Type: Series Slot
Units: Volume
Description: The difference between the Physical Model Net Loss and the losses calculated by the accounting method
Information: If this value is positive the physical model loss was greater than the accounting method loss
I/O: Output
Physical Model Net Loss
Type: Series Slot
Units: Volume
Description: The net loss from the simulation methods (Evaporation - Precipitation).
Information: A positive value represents a net loss
I/O: Output
PreRes Irrigated Area Loss Rate
Type: Series Slot with Periodic Input
Units: Velocity
Description: The loss rate over irrigated area before the reservoir existed
Information: This value is used for calculating losses for prereservoir conditions.
I/O: Required Input
PreRes Meadow Area Loss Rate
Type: Series Slot with Periodic Input
Units: Velocity
Description: The loss rate over meadow area before the reservoir existed
This value is used for calculating losses for prereservoir conditions.
I/O: Required Input
Present Lake Elev River Area Table
Type: Table Slot
Units: Length, Area
Description: Relationship of River Area to Pool Elevation
Information: This table is used to calculate river area for present conditions
I/O: Required Input
Volume Added to Carryover Storage
Type: Series Slot
Units: Volume
Description: This volume is added to the Carryover Content at the timestep.
Information: If this value is not input or set by a rule, it defaults to zero.
I/O: Optional Input
Table Series Slots Set by This Method
The following table series slots are also set by this method. Details of each column value are given at the end of the method description. See the following topics:
Steps Carried Out by the Abiquiu, Cochiti and Jemez Gain Loss Methods
All three methods (Abiquiu, Cochiti or Jemez Gain Loss method) carry out the following steps.
1. Check for previous Storage and Accrual on all accounts.
2. Call the selected Sediment Transport method to calculate Accumulated Perm Sediment.
Note:  See “Sediment Transport” for a description of the Sediment Transport methods.
3. Get lists of each type of account slot by water type.
4. Register account Inflow and Outflow slots as dependencies.
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 evaporation depth and effective precipitation depth to use in loss calculations
For all following calculations, Area values for a 1 Day timestep are current (end of timestep) areas. For a 1 Month timestep, Area values are averages of the end of the previous timestep and end of the current timestep values, similarly for Ice Coverage. If Ice Coverage is not applicable based on the selected evaporation method, it is zero in the calculations below.
If the Surface Area is zero, then evapDepth and effecitvePrecipDepth are zero, and if Ice Coverage is one, then effectivePrecipDepth is zero.
Calculate the individual components of the PreReservoir Condition Loss and the total PreRes Condition Loss
Each of these values is positive for a loss. The PreRes areas are contained in the Control and PreRes Areas table slot. The results of these calculations are set in the PreReservoir Condition table series slot.
Calculate the individual components of the Present Condition Loss and the total Present Condition Loss
Each of these values is positive for a loss. The results of these calculations are set in the Present Condition table series slot.
The netInflowVolume will be negative if there is unidentified loss. If netInflowVolume is positive, then unidentified loss is zero. The Storage Adjustment from Elev Vol Table Change component is only included if the Time Varying Elevation Volume method is selected for the Sediment category.
unidentifiedLoss will be positive for a loss.
Sum the Rio Grande and San Juan previous storages and Rio Grande Transfers to use in loss calculations
rioGrandeStorages, sanJuanStorages, and sanJuanPassThruStorages are lists of storage slots on all accounts with the specified water type.
rioGrandeTransfersIn and rioGrandeTransersOut are lists of Transfer slots on all accounts with the RioGrande water type.
Set the Seed Value for rioGrande Storage Iterative Loop
Carry out the rioGrande Storage iterative loop until the Rio Grande storage converges
To carry out Carry out the rioGrande Storage iterative loop until the Rio Grande storage converges, you must do the following in the order indicated:
1. Calculate the Hypothetical Condition Loss. See “Calculate the Hypothetical Condition Loss”.
2. Distribute San Juan gains/losses. See “Distribute San Juan Gains and Losses”.
3. Test for convergence. See “Test for convergence”.
Calculate the Hypothetical Condition Loss
This is the loss assuming only Rio Grande water in the reservoir, no San Juan water. These results are set in the Hypothetical Condition table series slot. Losses here are positive values.
Distribute San Juan Gains and Losses
The total Gain/Loss allocated to San Juan storage accounts is the difference between the Present Condition Loss and the Hypothetical Condition Loss. A positive value for each of these components represents a loss. In the Gain Loss slot on each account, a positive value represents a gain, and a negative value represents a loss. Thus the negative of the difference is taken before distributing the loss to the Gain Loss slot. The loss is distributed based on the contributing percentage of the total storage at the end of the previous timestep. If the total San Juan storage at the end of the previous timestep was zero, then the Gain Loss is zero for all accounts.
for all San Juan accounts
This allows the San Juan accounts to solve for Storage. The sum of all San Juan storages can then be used to calculate the total Rio Grande storage.
The AccumPermSediment is calculated by the selected method in the Sediment Transport category, and the value is set in the Est Sed Deposition table series slot.
Test for convergence
If totalRioGrandeStorage is zero, then prevTotalRioGrandeStorage is used in the denominator. If both are zero, then epsilon is zero. The iterative loop repeats until the absolute value of epsilon is less than the specified tolerance in the Convergence Percentage slot or the maximum number of iterations is reached.
Calculate the Physical Model Net Loss and the Net Loss Adjustment
Note:  These values are used for reporting only. They are not used in later calculations.
A positive value for Physical Model Net Loss represents a loss.
A negative value for totalSanJuanGainLoss represents a loss.
A positive value for totalRioGrandeLossTemp represents a loss.
Calculate actual Rio Grande losses
If there is a RioGrandeConservation account, then the Rio Grande Losses are divided proportionally between the RioGrande account and the RioGrandeConservation account (details below). If there is no RioGrandeConservation account, then all RioGrandeConservation values in the steps below are zero.
IF , then .
If the reservoir is Locked In (indicated by a value of 1 in the Locked In slot), a percentage of the Rio Grande loss is allocated to the Carryover Content, proportional to the percent contribution to total Rio Grande storage. If the reservoir is not locked in, all Carryover values are zero.
Note:  Carryover Content is not a slot on the accounts but is a separate slot Carryover Content on the reservoir object.
IF
ELSE
IF
ELSE
END IF
END IF
All other Rio Grande losses and storage go to the Incidental pool.
Adjust the temporary loss values, if necessary, according to the logic below before setting final slot values
If totalRioGrandeLossTemp is negative, representing a gain, then the gain is either divided proportionally between the Conservation and Incidental pools (if the Conservation Gain Switch is “On”), or the entire gain goes to the Incidental Pool.
IF
IF AND
IF
ELSE
END IF
ELSE
END IF
ELSE
For the remaining cases, totalRioGrandeLossTemp is positive (a loss). The temporary loss can be adjusted based on which pools have water.
IFANDAND
ELSE IF AND
AND
ELSE IF AND
AND
ELSE IF AND
AND
ELSE IF AND
AND
ELSE IF AND AND
ELSE IF AND AND
ELSE (all are positive)
END IF
END IF
If it is the first timestep locked in, then Carryover gets all of the storage and the Incidental pool gets all of the loss.
IF
IF
ELSE (not the first day locked in)
END IF
ELSE (The reservoir is not locked in)
END IF
Set the Gain Loss slots for the RioGrande and RioGrande Conservation accounts
Set the remaining slots associated with the method
Set summary values in table series slots
Each table below represents a table series slot. The row names represent the column headers in the table series slots.
 
Table A.1  Preliminary Data
Column
Value
Elevation
Reservoir.Pool Elevation
Content
Reservoir.Storage
Area
Reservoir.Surface Area
Evaporation
Reservoir.Evaporation
Precipitation
Reservoir.Precipitation Volume
Unidentified Loss
Outflow (cfs)
Reservoir.Outflow
Outflow (af/d)
Reservoir.Outflow
Inflow (cfs)
Reservoir.Evaporation
Inflow (af/d)
Reservoir.Evaporation
 
Table A.2  PreReservoir Condition
Column
Value
River Channel Area
Control and PreRes Areas(Pre-Res River Area)
Barren Area
Control and PreRes Areas(Pre-Res Barren Area)
Meadow and Town Area
Control and PreRes Areas(Pre-Res Meadow Area)
River Area Loss
Barren Area Loss
Irrigated Area Loss
Meadow and Town Area Loss
PreRes Condition Loss
 
Table A.3  Present Condition
Column
Value
Water Surface Elev
Pool Elevation
Lake Surface Area
Surface Area
River Channel Area
presRiverArea
Barren Area
presBarrenArea
Total Area
Control and PreRes Areas(Control Area)
Water Surface Area Loss
Barren Area Loss
Present Condition Loss
PreRes Condition Loss
Net RG Plus SJ-C Loss
 
Table A.4  Hypothetical Condition
Column
Value
Total Content
Reservoir.Storage
SJ-C Content
totalSanJuanStorageSum
RG Content
totalRioGrandeStorage
Lake Surface Area
hypotheticalSurfaceArea
River Channel Area
hypotheticalRiverArea
Barren Area
hypotheticalBarrenArea
Water Surface Area Loss
Barren Area Loss
Hypo. Condition Loss
PreRes Condition Loss
Net RG Condition Loss
totalRioGrandeLossTemp
Net RG Plus SJ-C Loss
Net SJ-C Loss
, for all accounts with SanJuan water type
 
Table A.5  Rio Grande Pools
Column
Value
Content Change
Total Loss
Carryover Loss
RGCarryOverLossFinal
Incidental Loss
RGIncidentalLossFinal
Conservation Loss
RGConservationLossFinal
Release From Storage
Total RG Content
Carryover Content
RGCarryOver
Incidental Content
RGIncidental
Conservation Content
RGConservation
 
Table A.6  Daily Reservoir Computations
Column
Value
Water Surface Elev
Reservoir.Pool Elevation
Total Content
Reservoir.Storage
Change in Content
RG Release (cfs)
, for all accounts with RioGrande water type
RG Release (af/d)
, for all accounts with RioGrande water type
SJ-C Release (cfs)
, for all accounts with SanJuan water type
SJ-C Release (af/d)
, for all accounts with SanJuan water type
Evap
Reservoir.Evaporation
Precip
Reservoir.Precipitation Volume
RG Inflow (cfs)
, for all accounts with RioGrande water type
RG Inflow (af/d)
, for all accounts with RioGrande water type
SJ-C Inflow (cfs)
, for all accounts with SanJuan water type
SJ-C Inflow (af/d)
, for all accounts with SanJuan water type
 
Table A.7  Reservoir Summary
Column
Value
Total Drawdown
RG Loss
totalRioGrandeLossTemp
SJ-C Loss
, for all accounts with SanJuan water type
Total Loss
SJ-C Loss + totalRioGrandeLossTemp
RG Release From Storage
SJC Release From Storage
RG Content
totalRioGrandeStorage
SJ-C Content
totalSanJuanStorageSum
Total Content
Reservoir.Storage
* Elephant Butte and El Vado Gain Loss
Elephant Butte and El Vado reservoirs each have their own Gain Loss Calculation method. The Elephant Butte Loss with RG Compact method can also be selected. All three methods function the same, with a few small exceptions, as described below.
These methods are currently configured to function correctly for 1 Day and 1 Month timestep sizes only. In order for these methods to solve for Account Gain Loss, values such as Surface Area, Evaporation and Precipitation Volume must be know (solved for by simulation); therefore, the execution time must be set to After Simulation.
These methods calculate the total San Juan losses as the difference between the Present Condition Loss and the Hypothetical Condition Loss. The Hypothetical Condition represents the state of the reservoir assuming only Rio Grande water is present, with no San Juan water. The total San Juan loss is then distributed to all San Juan accounts proportional to the storage in each account at the end of the previous timestep. This allows the San Juan Storages to solve at the current timestep.
, for all San Juan accounts
All other loss goes to the Rio Grande accounts. The total Rio Grande loss is then distributed to all Rio Grande accounts proportional to the storage in each account at the end of the previous timestep.
, for all Rio Grande accounts
See “Slots Specific to These Methods” for details of the individual components. See “Steps Carried Out by the Elephant Butte and El Vado Gain Loss Method” for the steps carried out by each method.
Slots Specific to These Methods
Selecting the Elephant Butte Gain Loss, El Vado Gain Loss or the Elephant Butte Loss with RG Compact method instantiates the following slots.
Control and PreRes Areas
Type: Table Slot
Units: Area, Area, Area, Area, Area, Area
Description: The table contains a one row and six columns, one for each of the following: Control Area, Pre-Res Barren Area, Pre-Res Irrigated Area, Pre-Res Meadow Area, Pre-Res River Area, Pre-Res Lake Area
Information: The areas in this table are used for calculating losses for prereservoir conditions.
I/O: Required Input
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
Hypothetical Lake Elev River Area Table
Type: Table Slot
Units: Length, Area
Description: Relationship of Hypothetical River Area to Hypothetical Lake Elevation
Information: This table is used to calculate river area for hypothetical conditions
I/O: Required Input
Net Loss Adjustment
Type: Series Slot
Units: Volume
Description: The difference between the Physical Model Net Loss and the losses calculated by the accounting method
Information: If this value is positive the physical model loss was greater than the accounting method loss
I/O: Output
Physical Model Net Loss
Type: Series Slot
Units: Volume
Description: The net loss from the simulation methods (Evaporation - Precipitation).
Information: A positive value represents a net loss
I/O: Output
PreRes Irrigated Area Loss Rate
Type: Series Slot with Periodic Input
Units: Velocity
Description: The loss rate over irrigated area before the reservoir existed
Information: This value is used for calculating losses for prereservoir conditions.
I/O: Required Input
PreRes Meadow Area Loss Rate
Type: Series Slot with Periodic Input
Units: Velocity
Description: The loss rate over meadow area before the reservoir existed
Information: This value is used for calculating losses for prereservoir conditions.
I/O: Required Input
Present Lake Elev River Area Table
Type: Table Slot
Units: Length, Area
Description: Relationship of River Area to Pool Elevation
Information: This table is used to calculate river area for present conditions
I/O: Required Input
Table Series Slots Set by This Method
The following table series slots are also set by this method. Details of each column value are given at the end of the method description.
Steps Carried Out by the Elephant Butte and El Vado Gain Loss Method
The Elephant Butte and El Vado Gain Loss method carries out the following steps:
1. Check for previous Storage and Accrual on all accounts.
2. Call the selected Sediment Transport method to calculate Accumulated Perm Sediment.
3. Get lists of each type of account slot by water type.
4. Register account Inflow and Outflow slots as dependencies.
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 evaporation depth and effective precipitation depth to use in loss calculations
For all following calculations, Area values for a 1 Day timestep are current (end of timestep) areas. For a 1 Month timestep, Area values are averages of the end of the previous timestep and end of the current timestep values, similarly for Ice Coverage. If Ice Coverage is not applicable based on the selected evaporation method, it is zero in the calculations below.
If the Surface Area is zero, then evapDepth and effecitvePrecipDepth are zero, and if Ice Coverage is one, then effectivePrecipDepth is zero.
Calculate the individual components of the PreReservoir Condition Loss and the total PreRes Condition Loss
Each of these values is positive for a loss. The PreRes areas are contained in the Control and PreRes Areas table slot. The results of these calculations are set in the PreReservoir Condition table series slot.
• Calculate the individual components of the Present Condition Loss and the total Present Condition Loss.
Each of these values is positive for a loss. The results of these calculations are set in the Present Condition table series slot.
The netInflowVolume will be negative if there is unidentified loss. If netInflowVolume is positive, then unidentified loss is zero. The Storage Adjustment from Elev Vol Table Change component is only included if the Time Varying Elevation Volume method is selected for the Sediment category.
unidentifiedLoss will be positive for a loss.
IF Reservoir = Elephant Butte
ELSE
END IF
Sum the Rio Grande and San Juan previous storages and Rio Grande Transfers to use in loss calculations
rioGrandeStorages, sanJuanStorages and sanJuanPassThruStorages are lists of storage slots on all accounts with the specified water type.
rioGrandeTransfersIn and rioGrandeTransersOut are lists of Transfer slots on all accounts with the RioGrande water type.
Set the seed value for the RioGrande Storage iterative loop
Carry out the RioGrande Storage iterative loop until the Rio Grande storage converges
To carry out the RioGrande Storage iterative loop until the Rio Grande storage converges, you must do the following in the order indicated:
Calculate the Hypothetical Condition Loss
This is the loss assuming only Rio Grande water in the reservoir, no San Juan water. These results are set in the Hypothetical Condition table series slot. Losses here are positive values.
Calculate and distribute San Juan gains/losses
The total Gain/Loss allocated to San Juan storage accounts is the difference between the Present Condition Loss and the Hypothetical Condition Loss. A positive value for each of these components represents a loss. In the Gain Loss slot on each account, a positive value represents a gain, and a negative value represents a loss. Thus the negative of the difference is taken before distributing the loss to the Gain Loss slot. The loss is distributed based on the contributing percentage of the total storage at the end of the previous timestep. If the total San Juan storage at the end of the previous timestep was zero, then the Gain Loss is zero for all accounts.
for all San Juan accounts
This allows the San Juan accounts to solve for Storage. The sum of all San Juan storages can then be used to calculate the total Rio Grande storage.
Test for convergence
If totalRioGrandeStorage is zero, then prevTotalRioGrandeStorage is used in the denominator. If both are zero, then epsilon is zero. The iterative loop repeats until the absolute value of epsilon is less than the specified tolerance in the Convergence Percentage slot or the maximum number of iterations (Max Iterations slot) is reached.
Calculate the Rio Grande gains/losses
The Storage Adjustment from Elev Vol Table Change is applicable only if the Time Varying Elevation Volume method is selected for the Sediment category. It is removed at this point in the calculation because all loss from the Elevation-Volume change will be allocated later to the RioGrande account.
Distribute the Rio Grande gains/losses
The loss is distributed based on the contributing percentage of the total storage at the end of the previous timestep. If the selected method is Elephant Butte Loss with RG Compact, then the loss is distributed to all accounts with the RioGrande water type, even if they have zero or negative storage. If the selected method is Elephant Butte Gain Loss or El Vado Gain Loss, the gain/loss is only distributed to accounts with positive storage. If all accounts with the RioGrande water type have zero or negative storage at the previous timestep, then all of the gain/loss goes to the RioGrande account.
IF Loss Method = Elephant Butte Loss with RG Compact
,
for all Rio Grande accounts
ELSE IF (Loss Method = Elephant Butte Gain Loss)
OR (Loss Method = El Vado Gain Loss)
For all Rio Grande accounts with :
IF
END IF
END IF
Allocate the Storage Adjustment from Elev Vol Table Change to the RioGrande account.
This value will be negative for a loss.
Calculate the Physical Model Net Loss and the Net Loss Adjustment
Note:  These values are used for reporting only. They are not used in later calculations.
A positive value for Physical Model Net Loss represents a loss.
A negative value for totalSanJuanGainLoss represents a loss.
A positive value for totalRioGrandeLossTemp represents a loss.
Set summary values in table series slots
The Elephant Butte and El Vado Gain Loss sets the following table series slots. Each table below represents a table series slot. The row names represent the column headers in the table series slots.
 
Table A.8  Preliminary Data
Column
Value
Elevation
Reservoir.Pool Elevation
Content
Reservoir.Storage
Area
Reservoir.Surface Area
Evaporation
Reservoir.Evaporation
Precipitation
Reservoir.Precipitation Volume
Unidentified Loss
Outflow (cfs)
Reservoir.Outflow
Outflow (af/d)
Reservoir.Outflow
Inflow (cfs)
Reservoir.Evaporation
Inflow (af/d)
Reservoir.Evaporation
 
Table A.9  PreReservoir Condition
Column
Value
River Channel Area
Control and PreRes Areas(Pre-Res River Area)
Barren Area
Control and PreRes Areas(Pre-Res Barren Area)
Meadow and Town Area
Control and PreRes Areas(Pre-Res Meadow Area)
River Area Loss
Barren Area Loss
Irrigated Area Loss
Meadow and Town Area Loss
PreRes Condition Loss
 
Table A.10  Present Condition
Column
Value
Water Surface Elev
Pool Elevation
Lake Surface Area
Surface Area
River Channel Area
presRiverArea
Barren Area
presBarrenArea
Total Area
Control and PreRes Areas(Control Area)
Water Surface Area Loss
Barren Area Loss
Present Condition Loss
PreRes Condition Loss
Net RG Plus SJ-C Loss
 
Table A.11  Hypothetical Condition
Column
Value
Total Content
Reservoir.Storage
SJ-C Content
totalSanJuanStorageSum
RG Content
totalRioGrandeStorage
Lake Surface Area
hypotheticalSurfaceArea
River Channel Area
hypotheticalRiverArea
Barren Area
hypotheticalBarrenArea
Water Surface Area Loss
Barren Area Loss
Hypo. Condition Loss
PreRes Condition Loss
Net RG Condition Loss
totalRioGrandeLossTemp
Net RG Plus SJ-C Loss
Net SJ-C Loss
, for all accounts with SanJuan water type
 
Table A.12  Daily Reservoir Computations
Column
Value
Water Surface Elev
Reservoir.Pool Elevation
Total Content
Reservoir.Storage
Change in Content
RG Release (cfs)
, for all accounts with RioGrande water type
RG Release (af/d)
, for all accounts with RioGrande water type
SJ-C Release (cfs)
, for all accounts with SanJuan water type
SJ-C Release (af/d)
, for all accounts with SanJuan water type
Evap
Reservoir.Evaporation
Precip
Reservoir.Precipitation Volume
RG Inflow (cfs)
, for all accounts with RioGrande water type
RG Inflow (af/d)
, for all accounts with RioGrande water type
SJ-C Inflow (cfs)
, for all accounts with SanJuan water type
SJ-C Inflow (af/d)
, for all accounts with SanJuan water type
Total Inflow (cfs)
Reservoir.Inflow
Total Inflow (af/d)
Reservoir.Inflow
 
Table A.13  Reservoir Summary
Column
Value
Total Drawdown
RG Loss
totalRioGrandeLossTemp
SJ-C Loss
, for all accounts with SanJuan water type
Total Loss
SJ-C Loss + totalRioGrandeLossTemp
RG Release From Storage
SJC Release From Storage
RG Content
totalRioGrandeStorage
SJ-C Content
totalSanJuanStorageSum
Total Content
Reservoir.Storage
* Nambe Falls Gain Loss
This method calculates the total San Juan losses as the difference between the Present Condition Loss and the PreReservoir Condition Loss. The total San Juan loss is then distributed to all San Juan accounts proportional to the storage in each account at the end of the previous timestep. This allows the San Juan Storages to solve at the current timestep.
The method also calculates the Net Loss Adjustment, Operational Release and Irrigation Release.This method does not set the Gain Loss for the Rio Grande account(s).
See “Slots Specific to This Method” for details of the individual components. See “Steps Carried Out by the Nambe Falls Gain Loss Method” for the steps carried out by this method.
Slots Specific to This Method
Selecting the Nambe Falls Gain Loss method instantiates the following slots:
Augmented Release Switch
Type: Series Slot
Units: None
Description: Specifies whether drawdown should go toward Operational Release or Irrigation Release
Information: The value in this slot must be 0 or 1. If the value is 1, any drawdown is counted as Operational Release. If the value is 0, any drawdown is counted as Irrigation Release.
I/O: Required Input
Control and PreRes Areas
Type: Table Slot
Units: Area, Area, Area, Area, Area, Area
Description: The table contains a one row and six columns, one for each of the following: Control Area, Pre-Res Barren Area, Pre-Res Irrigated Area, Pre-Res Meadow Area, Pre-Res River Area, Pre-Res Lake Area
Information: The areas in this table are used for calculating losses for prereservoir conditions.
I/O: Required Input
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
Hypothetical Lake Elev River Area Table
Type: Table Slot
Units: Length, Area
Description: Relationship of Hypothetical River Area to Hypothetical Lake Elevation
Information: This table is used to calculate river area for hypothetical conditions
I/O: Required Input
Net Loss Adjustment
Type: Series Slot
Units: Volume
Description: The difference between the Physical Model Net Loss and the losses calculated by the accounting method
Information: If this value is positive the physical model loss was greater than the accounting method loss
I/O: Output
Physical Model Net Loss
Type: Series Slot
Units: Volume
Description: The net loss from the simulation methods (Evaporation - Precipitation).
Information: A positive value represents a net loss
I/O: Output
PreRes Irrigated Area Loss Rate
Type: Series Slot with Periodic Input
Units: Velocity
Description: The loss rate over irrigated area before the reservoir existed
Information: This value is used for calculating losses for prereservoir conditions.
I/O: Required Input
PreRes Meadow Area Loss Rate
Type: Series Slot with Periodic Input
Units: Velocity
Description: The loss rate over meadow area before the reservoir existed
Information: This value is used for calculating losses for prereservoir conditions.
I/O: Required Input
Present Lake Elev River Area Table
Type: Table Slot
Units: Length, Area
Description: Relationship of River Area to Pool Elevation
Information: This table is used to calculate river area for present conditions
I/O: Required Input
The following table series slots are also set by this method. Details of each column value are given at the end of the method description. See
Steps Carried Out by the Nambe Falls Gain Loss Method
The Nambe Falls Gain Loss method carries out the following steps:
1. Check for previous Storage and Accrual on all accounts.
2. Get lists of each type of San Juan account slot.
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 evaporation depth and effective precipitation depth to use in loss calculations
For all following calculations, Area values for a 1 Day timestep are current (end of timestep) areas. For a 1 Month timestep, Area values are averages of the end of the previous timestep and end of the current timestep values, similarly for Ice Coverage. If Ice Coverage is not applicable based on the selected evaporation method, it is zero in the calculations below.
If the Surface Area is zero, then evapDepth and effecitvePrecipDepth are zero, and if Ice Coverage is one, then effectivePrecipDepth is zero.
Calculate the individual components of the PreReservoir Condition Loss and the total PreRes Condition Loss
Each of these values is positive for a loss. The PreRes areas are contained in the Control and PreRes Areas table slot. The results of these calculations are set in the PreReservoir Condition table series slot.
Calculate the individual components of the Present Condition Loss and the total Present Condition Loss
Each of these values is positive for a loss. The results of these calculations are set in the Present Condition table series slot.
The netInflowVolume will be negative if there is unidentified loss. If netInflowVolume is positive, then unidentified loss is zero. The Storage Adjustment from Elev Vol Table Change component is only included if the Time Varying Elevation Volume method is selected for the Sediment category.
unidentifiedLoss will be positive for a loss.
Distribute San Juan gains/losses
The total Gain/Loss allocated to San Juan storage accounts is the difference between the Present Condition Loss and the PreReservoir Condition Loss. A positive value for each of these components represents a loss. In the Gain Loss slot on each account, a positive value represents a gain, and a negative value represents a loss. Thus the negative of the difference is taken before distributing the loss to the Gain Loss slot. The loss is distributed based on the contributing percentage of the total storage at the end of the previous timestep. If the total San Juan storage at the end of the previous timestep was zero, then the Gain Loss is zero for all accounts.
sanJuanStorages and sanJuanPassThruStorages are lists of storage slots on all accounts with the San Juan water type.
This will allow the San Juan accounts to solve for storage.
Calculate the Physical Model Net Loss and the Net Loss Adjustment
A positive value for Physical Model Net Loss represents a loss. A negative value for totalSanJuanLosses represents a loss.
Calculate the Operational Release, Irrigation Release and Storage Replacement
If the reservoir elevation was increasing or if the reservoir was spilling, the change in storage is counted as risingChangeStorage otherwise it is droppingChangeStorage.
Note:  For these calculations, if the reservoir changes conditions within the month (rising to dropping or dropping to rising) the results at a 1 Month timestep will not necessarily match the monthly aggregate of results from a 1 Day timestep.
IF OR
ELSE
END IF
If the reservoir was not spilling at the end of the timestep but was spilling at the start, then these values need to be modified.
IF AND
END IF
IF Augmented Release Switch = 1
ELSE
END IF
Set summary values in table series slots
The Nambe Falls Gain/Loss method sets the following table series slots. Each table below represents a table series slot. The row names in the following tables represent the column headers in the table series slots.
 
Table A.14  Preliminary Data
Column
Value
Elevation
Reservoir.Pool Elevation
Content
Reservoir.Storage
Area
Reservoir.Surface Area
Evaporation
Reservoir.Evaporation
Precipitation
Reservoir.Precipitation Volume
Unidentified Loss
Outflow (cfs)
Reservoir.Outflow
Outflow (af/d)
Reservoir.Outflow
Inflow (cfs)
Reservoir.Evaporation
Inflow (af/d)
Reservoir.Evaporation
 
Table A.15  PreReservoir Condition
Column
Value
River Channel Area
Control and PreRes Areas(Pre-Res River Area)
Barren Area
Control and PreRes Areas(Pre-Res Barren Area)
Meadow and Town Area
Control and PreRes Areas(Pre-Res Meadow Area)
River Area Loss
Barren Area Loss
Irrigated Area Loss
Meadow and Town Area Loss
PreRes Condition Loss
 
Table A.16  Present Condition
Column
Value
Water Surface Elev
Reservoir.Pool Elevation
Lake Surface Area
Reservoir.Surface Area
River Channel Area
presRiverArea
Barren Area
presBarrenArea
Total Area
Control and PreRes Areas(Control Area)
Water Surface Area Loss
Barren Area Loss
Present Condition Loss
PreRes Condition Loss
Net RG Plus SJ-C Loss
totalSanJuanLosses
 
Table A.17  Nambe Daily Reservoir Comps
Column
Value
Water Surface Elev
Reservoir.Pool Elevation
Total Content
Reservoir.Storage
Change in Content
Storage Replacement
storageReplacemet
Total Release (cfs)
Reservoir.Outflow
Total Release (af/d)
Reservoir.Outflow
Operational Release
operationalRelease
Irrigation Release
irrigationRelease
Net Loss
totalSanJuanLosses
Replacement Loss
replacementLoss
Total Inflow (cfs)
Total Inflow (af/d)
Storage + Loss Replmt.
* Heron Gain Loss
This method calculates the Gain Loss for accounts on the Heron Reservoir. The method is currently configured to function correctly for 1 Day and 1 Month timestep sizes only. This method requires simulation to have solved for Storage, Evaporation and Precipitation Volume, so the execution time must be set to After Simulation.
The Gain Loss for the RioGrande account is set equal to seepage.
This allows the RioGrande account to solve for storage. All other gains/losses go to the FederalSanJuan account. The Gain Loss for all other accounts with the SanJuan water type is set to zero.
sanJuanStorages and sanJuanOutflows lists of the Outflow and Storage slots on all accounts withe the San Juan water type.
, for all other San Juan accounts.
See “Slots Specific to This Method” for details of the individual components. See “Summary Values in Table Series Slots Set by the Heron Gail Loss Method” for the table series slots that are set by the Heron Gain Loss method.
Slots Specific to This Method
Selecting the Heron Gain Loss method instantiates the following slots:
Net Loss Adjustment
Type: Series Slot
Units: Volume
Description: The difference between the Physical Model Net Loss and the losses calculated by the accounting method
Information: If this value is positive the physical model loss was greater than the accounting method loss
I/O: Output
Physical Model Net Loss
Type: Series Slot
Units: Volume
Description: The net loss from the simulation methods (Evaporation - Precipitation).
Information: A positive value represents a net loss
I/O: Output
Physical Model Net Loss is positive for a loss. The account Gain Loss slot values are negative for a loss.
Summary Values in Table Series Slots Set by the Heron Gail Loss Method
The Heron Gain Loss method sets the following table series slots. Each table represents a table series slot. The row names represent the column headers in the table series slots.
 
Table A.18  Preliminary Data
Column
Value
Elevation
Reservoir.Pool Elevation
Content
Reservoir.Storage
Area
Reservoir.Surface Area
Evaporation
Reservoir.Evaporation
Precipitation
Reservoir.Precipitation Volume
Unidentified Loss
Outflow (cfs)
Reservoir.Outflow
Outflow (af/d)
Reservoir.Outflow
Inflow (cfs)
Reservoir.Evaporation
Inflow (af/d)
Reservoir.Evaporation
 
Table A.19  Daily Reservoir Computations
Column
Value
Water Surface Elev
Reservoir.Pool Elevation
Total Content
Reservoir.Storage
Change in Content
RG Release (cfs)
, for all accounts with RioGrande water type
RG Release (af/d)
, for all accounts with RioGrande water type
SJ-C Release (cfs)
, for all accounts with SanJuan water type
SJ-C Release (af/d)
, for all accounts with SanJuan water type
Evap
Reservoir.Evaporation
Precip
Reservoir.Precipitation Volume
RG Inflow (cfs)
, for all accounts with RioGrande water type
RG Inflow (af/d)
, for all accounts with RioGrande water type
SJ-C Inflow (cfs)
, for all accounts with SanJuan water type
SJ-C Inflow (af/d)
, for all accounts with SanJuan water type
Total Inflow (cfs)
Reservoir.Inflow
Total Inflow (af/d)
Reservoir.Inflow
 
Table A.20  Reservoir Summary
Column
Value
Total Drawdown
RG Loss
0
SJ-C Loss
, for all accounts with SanJuan water type
Total Loss
SJ-C Loss
RG Release From Storage
SJC Release From Storage
RG Content
RioGrande.Storage
SJ-C Content
totalSanJuanStorageSum
Total Content
Reservoir.Storage
For a 1 Day timestep, values are set in three additional table series slots:
• Preliminary Data Totals
• Daily Reservoir Totals
• Reservoir Summary Totals
These slots contain the monthly totals of their corresponding table series slots. The monthly sums are set at the last timestep for each month. All other cells display “NaN.” For a 1 Month timestep, no values will be set in these slots.
Reservoir Account Slot Inflow
The reservoir has a single basin-specific method. See “Heron Inflow” for details.
* 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.
See “Slots Specific to This Method” for details of the individual components. See “Steps Carried Out by the Heron Inflow Method” for the steps carried out by the Heron Inflow method.
Slots Specific to This Method
Selecting the Heron Inflow method instantiates the following slots:
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
The following table series slots are also set by this method. Details of each column value are given in the method description below.
Steps Carried Out by the Heron Inflow Method
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 that you must calculate are displayed under Column and 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 displayed below are an adjustment when the findHeronRGInflow function is used. This results in the overriding of the 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).
Sediment Transport
The Sediment Transport category is actually displayed on the Methods tab, not the Accounting Methods tab; however, this category is only available if the Abiquiu, Cochiti or Jemez Gain Loss method has been selected for the Reservoir Account Gain Loss category. (See “Abiquiu, Cochiti and Jemez Gain Loss”.) The sedimentation methods in this category are only called in Accounting. They are not called during physical simulation.
The method in this category—Total Vol Sed (Post2000) calculates the storage volume lost to sedimentation. See “Total Vol Sed (Post2000)” for details.
* Total Vol Sed (Post2000)
This method calculates the sediment load in tons as a function of the reservoir inflow. It then converts this to a volume based on the sediment density.
Note:  This method is hard-coded to calculate daily sediment load based on units of cfs for the reservoir inflow and tons for the sediment load. The Exponent value in the Seasonal Inflow Coeffs slot must be set accordingly.
This method is currently configured to function correctly for 1 Day and 1 Month timestep sizes only. At a 1 Month timestep, sediment load is calculated by first finding daily sediment load using the average daily inflow for the month the multiplying the daily load by the number of days in the month. The results from a 1 Month timestep may not exactly match the aggregate of the daily results for the month if the daily inflows vary significantly within the month.
See “Slots Specific to This Method” for details of the individual components. See “Steps Carried Out by the Nambe Falls Gain Loss Method” for the steps carried out by this method.
Slots Specific to This Method
Selecting the Total Vol Sed (Post2000) method instantiates the following slots:
Bed Load Coeffs
Type: Table Slot
Units: Flow, None, None
Description: Slope and intercept values for calculating Bed Load at discrete inflow values
Information: The first column contains reservoir inflow values. The second column is the slope and the third column is the intercept used when calculating bed load for a given inflow. The slope and intercept should be based on daily sediment load in tons for an inflow in cfs, regardless of the timestep length or the units set on any other slot or column.The method uses a table lookup to select the slope and intercept value (not interpolation). It uses the coefficient and exponent from the row corresponding to the largest flow value than or equal to the reservoir Inflow
I/O: Required Input
Est Sed Deposition
Type: Table Series Slot
Units: Length, Mass, Mass, None, Volume, Volume
Description: The final outputs from the sediment calculations
Information: The final column, Accumulated Perm Sediment, is the primary output value of this method. The value is also shown on the series slot Accumulated Permanent Sediment, which is used later by accounting methods. Details of the values in this table are given in the method description below.
I/O: Output
Permanent Sediment Content
Type: Table Slot
Units: Volume
Description: The storage volume occupied by permanent sediment
I/O: Required Input
Accumulated Permanent Sediment
Type: Series Slot
Units: Volume
Description: The accumulated storage volume occupied by permanent sediment. Values in this series slot are the same as the values in the Est Sed Deposition slot, Accumulated Perm Sediment column.
Information: If the initial timestep value on this slot is not known, but the value on the table series slot is known, the table series slot value is copied to the series slot at the initial timestep and set as an input.
I/O: Initial Input, remaining values output.
Seasonal Inflow Coeffs
Type: Table Slot
Units: None, Flow, None, None
Description: The coefficient and exponent to use in calculating sediment load for a given month and a given reservoir inflow
The first column contains the month, represented by an integer. At least one row is required for each month. The second column contains inflow values, which should be monotonically increasing for each month. The third column contains coefficient values for each month and specified flow. The fourth column contains exponent values for each month and specified flow. The coefficient and exponent should be based on daily sediment load in tons for an inflow in cfs, regardless of the timestep length or the units set on any other slot or column. The method uses a table lookup to select the coefficient and exponent value (not interpolation). It uses the coefficient and exponent from the row corresponding to the largest flow value for the month less than or equal to the reservoir Inflow.
I/O: Required Input
Sed Data
Type: Table Slot
Units: None, None, Length, None, None, Sed Density
Description: Parameter values used for converting sediment load in tons to an equivalent volume
I/O: Required Input
Steps Carried Out by the Total Vol Sed (Post2000) Method
The Total Vol Sed (Post2000) method carries out the following steps:
Calculate the daily inflow volume in cfs-day
IF isMonthly
For a 1 Month timestep the timestep inflow volume must be divided by the number of days in the month to get the daily inflow volume.
END IF
Get the Bed Load Coefficients
Get the Bed Load Coefficients (bedLoadSlope and bedLoadIntcpt) from the Bed Load Coeffs table slot, corresponding to reservoir Inflow. Use the row for the largest Inflow value less than or equal to the reservoir Inflow.
Calculate Bed Load in tons
Get the Seasonal Inflow Coefficients
Get the Seasonal Inflow Coefficients (sedLoadCoeff, and sedLoadExpon). Use the row for the largest Inflow value less than or equal to the reservoir Inflow.
Calculate the total sediment
1. Calculate total sediment load in tons.
IF isMonthly
END IF
Calculate the elevation of the permanent sediment pool
2. Calculate the elevation of the permanent sediment pool
This calculation will be different for Cochiti than for Abiquiu and Jemez. For Cochiti the calculation depends on whether the Time Varying Elevation Volume method has been selected for the Sediment category. The previous Accumulated Perm Sediment will be added to the sediment content when calculating the permPoolElev for Cochiti unless the Time Varying Elevation Volume method is selected and the current timestep matches the date in a column header of the Elevation Volume Table Time Varying slot (isElevVolModDate = TRUE).
IF Reservoir = Abiquiu OR Reservoir = Jemez
ELSE IF Reservoir = Cochiti
IF (Time Varying Elevation Volume is selected) AND (isElevVolModDate = TRUE)
ELSE
END IF
END IF
Calculate the sediment above the perm pool
Calculate the sediment above the perm pool (a percent) and the volume lost to sedimentation at this timestep.
IF
ELSE
END IF
Calculate the accumulated permanent sediment
Calculate the accumulated permanent sediment as the previous accumulated sediment plus the volume lost to sedimentation at the current timestep, unless the Time Varying Elevation Volume method is selected and it is an ElevVol Mod Date.
IF (Time Varying Elevation Volume is selected) AND (isElevVolModDate = TRUE)
ELSE (the typical case)
END IF
Set all final values in the EST SED Deposition table series slot
Set all final values in the Est Sed Deposition table series slot.
 
Table A.24  Est Sed Deposition
Column Header
(with unit type
Value
Perm Pool Elev (Length)
permPoolElev
Bed Load (Mass)
bedLoad
Total Load (Mass)
totalSedLoad
% Sed abv Perm pool (None)
sedAbovePermPool
Total Pool Sediment (Volume)
volumeLost
Accumulated Perm Sediment (Volume)
accumPermSed
Set the Accumulated Permanent Sediment
Set the slot Accumulated Permanent Sediment = accumPermSed
Stream Gage Account Slot Inflow
The stream gage has three Rio Grande specific methods. See the following topics:
* Reconcile Rio Grande
This method computes the total accounting Slot Inflow to reconcile the physical and accounting flows based on the water type of the accounts. Accounts with water type “SanJuan” have their Slot Inflows set to 0.0cfs. The remaining total reconciliation water is then proportioned to the Slot Inflow on accounts with the RioGrande water type.
The logic is as follows.
Get a list of all the Inflow slots on accounts with water type RioGrande. and register each as a dependency
RioGrandeInflowSUM = Sum of RioGrande Inflows
Get a list of all the Slot Inflow slots on accounts with water type RioGrande.
Get a list of all the Slot Inflow slots on accounts with water type SanJuan.
Get a list of all the Outflow slots on accounts with water type SanJuan and register each as a dependency
SanJuanOutflowSUM = Sum of SanJuan Outflows
Get the StreamGage.Gage Outflow
If the RioGrandeInflowSUM is zero, then divide any Slot Inflows equally to all Rio Grande accounts.
Otherwise, for each account with water type RioGrande:
Set Slot Inflows on accounts with water type SanJuan to 0.0.
* All San Juan Chama
All RioGrande account Slot Inflows are set to 0.0. The Gage Outflow is then divided evenly by the number of SanJuan accounts and set on each SanJuan Slot Inflow.
* All Rio Grande
All SanJuan account Slot Inflows are set to 0.0. The RioGrande Slot Inflow is divided evenly by the number of RioGrande accounts and set on each accounts Slot Inflow slot.
 
Revised: 06/03/2019