Accounting
Object Level Accounting Methods
Execution Times Are User Selectable
You are now able to specify when Object Level Accounting Methods (OLAMs) execute. The choices are:
• Beg. of Run: Execute once at the beginning of the run.
• Beg. of Timestep Once: Execute once at the beginning of the timestep.
• Beg. of Timestep: Execute at the beginning of the timestep and as dependencies change.
• After Simulation: Execute after each timestep's simulation is complete and as dependencies change.
To facilitate the selection of the execution time, the Accounting Methods are now displayed in a separate “Accounting Methods” tab on the Open Object dialog.
Copy Slot to Slot Inflow Method Added
A new compiled OLAM has been added to Reaches, Control Points, and Reservoirs. The
Copy Slot to Slot Inflows method copies the object’s local inflow to the target account’s
Slot Inflow and sets the other accounts’
Slot Inflow to zero. The target account is specified in a list slot called
Target Account. See
Copy Slot to Slot Inflows in Accounting for more information.
Multi Object Method Selector Enhanced
The multi-object method selector was enhanced to allow you to better select OLAMs. Now the OLAM categories are shaded grey. From the multi-object method selector, you can also set the OLAM execution time and for the
Copy Slot to Slot Inflow method, you can set the Target Account for many objects at once. See
Selecting Object Level Accounting Methods (OLAMs) in User Interface for more information.
Category Name Changes
The default category/policy group names for the object level accounting methods were changed as shown in the following table. If you customized the name of any of these, they will be changed back to the default.
Old Category Name | New Category Name |
---|
Bifurcation PassThrough Slot Inflow | Bifurcation Account Slot Inflow |
Agg Diversion Reconciliation | Agg Diversion Account Reconciliation |
Confl PassThrough Slot Inflow | Confluence Account Slot Inflow |
Pipe Junction Pass Through Slot Inflow | Pipe Junction Account Slot Inflow |
Pipe PassThrough Slot Inflow | Pipeline Account Slot Inflow |
Inline Pump Pass Through Slot Inflow | Inline Pump Account Slot Inflow |
DistributionCanal PassThrough Slot Inflow | Distribution Canal Account Slot Inflow |
Storage Account Slot Inflow | Reservoir Account Slot Inflow |
Storage Account Gain Loss | Reservoir Account Gain Loss |
Reservoir Reconciliation | Reservoir Account Reconciliation |
Control Point Pass Through Slot Inflow | Control Point Account Slot Inflow |
Water User Reconciliation | Water User Account Reconciliation |
Gage PassThrough Slot Inflow | Stream Gage Account Slot Inflow |
Reach PassThrough Slot Inflow | Reach Account Slot Inflow |
Pass Through Acct Gain Loss | Reach Account Gain Loss |
Diversion Object Account Slot Inflow
A new category on the diversion object and OLAM policy group was added: “Diversion Object Account Slot Inflow”. Two compiled methods are available from the Diversion Object’s Accounting Methods tab:
No Method and
Zero Slot Inflows. See
Compiled Accounting Methods in Accounting for more information
Instream Flow Reference Level Removed
The category Instream Flow Reference Level on the control point was incorrectly implemented as an Object Level Accounting Method. It has been converted to a normal method category. If you had user-defined methods in this category, they will be deleted when loading the model in 6.0. Please move them to another category or re-implement them as necessary in RiverWare 5.2.10 before moving to 6.0
Supplies
Supplies Manager - Double-click on Supply Opens Supply Editor
In the Supplies Manager, double-clicking a supply opens the Edit Supply dialog where you can rename and configure that supply. Previously, this operation opened the Edit Account dialog for the destination account.
Supplies Manager - Copy List to Clipboard
In the Supplies Manager, the menu operation File Copy List to Clipboard copies a "tabular" string representation of the currently displayed supply list to the System Clipboard. Fields are delimited with tab characters and lines are delimited with new line characters -- suitable for importing into a spreadsheet, such as Microsoft Excel.
Supply Name Format
You can now specify the format for supply names in the
Supply Name Format dialog. Once configured, the supply name format is used for all new supply names. Also, you can apply that format to one or more existing supply names in the
Supplies Manager. See
Supply Name Format in Accounting for more information.
Water Rights Accounting
Performance improvement
In the accounting system, the SolveWaterRights and SolveWaterRightsWithLags RPL predefined functions were copying more values than necessary. Now, the function copies values in the range: [current timestep, current timestep + maximum subbasin lag] This change can have a large impact on performance. For example, it led to a 30% decrease in total run time for the 5 year daily model used to test this change.
Prior Appropriation No Longer Sets Zeros For Unknown Slot Inflows
The computational subbasin Prior Appropriation method (in the Water Rights Allocation category) was changed to no longer set Slot Inflows to zero at the beginning of run. The introduction of user specified execution times for Object Level Accounting Methods (OLAMs) makes this automatic setting unnecessary and undesired.
To reproduce previous results you need to select the Zero Slot Inflows method on each object in the subbasin and ensure that it is set to execute at Beginning of Run (default for this method). You can use the Multi-Object Method Selector to perform this selection on many objects of the same type.
You may also wish to consider using the new Copy Slot to Slot Inflow method (Reservoirs, Reaches, Control Points) which can be used to automatically copy local inflows into the allocatable flow’s slot inflow at the beginning of run or beginning of timestep. This prevents having to input or set via rules these values on the Slot Inflows.
One note, currently, most OLAMs, (including Zero Slot Inflows and Copy Slot to Slot Inflows) will fail (and stop the run) if it attempts to overwrite an INPUT slot inflow. In this case, you will need to either remove the input and let the method set it or use a different method to set Slot Inflows.
Miscellaneous
Accounting Period Must Encompass Run
Accounting period can be changed so that it doesn't cover the run period for a single run, causing inconsistencies when the model is run more than once. A check was added and will issue an error if the accounting period does not encompass the run period.
Accounts Manager - Copy List to Clipboard
In the Accounts Manager, the menu operation File Copy List to Clipboard copies a "tabular" string representation of the currently displayed account list to the System Clipboard. Fields are delimited with tab characters and lines are delimited with new line characters -- suitable for importing into a spreadsheet, such as Microsoft Excel.
Categories Require an Accounting Controller to be Selected
The following categories are only applicable to accounting. Now, their visibility is dependent on having one of the accounting controllers selected in the Run Control dialog:
Object | Category |
---|
Computational Subbasin | Water Rights Allocation |
Computational Subbasin | Account Initial Request Calculation |
Control Point | Instream Flow Reference Level |
No model changes are necessary.
Creating Multiple Supplies on the Workspace
It is now possible to create two or more supplies between the same two accounts directly from the workspace. Previously, you could only do this from the downstream account. Now, when you create a supply using the accounting view's right-click menus, if there is already a supply between the two accounts you are now presented with a confirmation dialog asking whether you wish to continue. A unique name will be generated for the new supply.
Lagged Return Flows At Beginning Of Run
At the beginning of the run, non-input values are cleared from accounts over the accounting period. Previously, if return flows are lagged from a Diversion Account, the timesteps prior to the accounting period are not then solved to populate the lagged return flow values that are at the beginning of the accounting period, effectively leaving a hole in the accounting data for return flows. Now, after the outputs have been cleared, the account resolves and fills in the missing lagged data at the start of the run.