Phil Weinstein / Accomplishments -- July 2012 (edit 8-3-2012)

General Development Accomplishments

--------------------------------------------
[I.A.1] Sponsored Projects / RiverWare / New Development
   (A) Time Aggregation Series Slots / Feature Documentation
--------------------------------------------

"Time Aggregation Series Slots" are a new type of series slot which temporally aggregates any other single series slot. They are created on data objects by the user. This feature was development in May and June. This Feature Document was completed in July:

--------------------------------------------
[I.A.1] Sponsored Projects / RiverWare / New Development
   (B) Equal Priorities in Water Rights Accounting / GUI
--------------------------------------------

Note: Neil is incorporating the following notes into his broader-scoped project accomplishments description.

Enhancements to the Open Account Dialog's Priority Date controls (on the "General" tab) include:

  • An "equal / not equal" icon button indicating whether the values of the current priority date/time spinners match the priority date/time of any other accounts. If they do, clicking on that button shows the Accounts Manager Dialogs, sorted by priority date, with one of those accounts selected. Otherwise, clicking on the button brings up that manager dialog with the "local" account being selected (i.e. the account of the Open Account Dialog).
  • If "equal priorities for accounts" is enabled, a "Copy priority from another account..." icon button is also shown. Clicking on that button brings up the account selector. Picking an account causes that account's priority date/time to be assigned to the priority date/time spinners.
  • The Account Manager Dialog was enhanced to support the above mentioned features and to correctly support sorting within the priority date column, given that equal priorities are now possible.
  • New "callbacks" were introduced to support GUI updating as a result of account priority date assignments.

Also, significant performance enhancements were applied to the Accounts and Supplies Manager Dialogs. Performance problems were discovered while testing the new priority date features with a RiverWare model containing over 1000 accounts. This is described further in the RiverWare Bug Fixes section.

--------------------------------------------
[I.A.1] Sponsored Projects / RiverWare / New Development
   (C) Scenario Manager User Interface Enhancement Design
--------------------------------------------

A design for a more dynamic user interface for scenario users was documented. The design features two slider controls for adjusting scenario series values by a scaling factor and an offset term with respect to the fixed baseline series values. This dynamic adjustment can be performed simultaneously on an arbitrary selection of scenario series slots shown within the Scenario Manager dialog, and can optionally by applied dynamically to those scenario series slots' series displays and RiverWare plots. Some experimental work was done to confirm the feasibility of dynamically updating those displays and plots from slider controls. See this design document:

Also, the Scenario Manager Dialog slot list was ported from Qt3 to Qt4. This work is described in the RiverWare Software Maintenance section.

--------------------------------------------
[I.A.1] Sponsored Projects / RiverWare / New Development
   (D) Series Slots with Periodic Input
--------------------------------------------

A design was completed, and development has started on a new type of series slot which supports optional specification of input values for the series through a periodic-slot-like definition. Designated physical series slots (only those intended specifically for providing inputs) -- and "Series Slots with Periodic Input" created by the user on data objects -- will internally maintain a partially hidden instance of a Periodic Slot which can be edited by the user, and from which the series slot's values can be assigned. The user also has the option to provide input series values to these slots in the ordinary way (i.e. on a per-timestep basis). Aside from the optional "periodic value" assignment feature, Series Slots with Periodic Input behave as ordinary series slots within a RiverWare model in virtually all other ways. Prior analysis for this feature was done earlier this year, in February and May 2012. See this new design document:

--------------------------------------------
[I.A.2] Sponsored Projects / RiverWare / Bug Fixes
   Accounts Manager and Supplies Manager Performance Bug Fixes
--------------------------------------------

Performance problems were discovered with the Accounts Manager and Supplies Manager Dialogs during testing of the "Equal Priorities in Water Rights Accounting" enhancement (also described in this July 2012 accomplishments report). In a RiverWare model containing over 1000 accounts, delays of several minutes were observed if these manager dialogs were open during certain Account System Configuration changes and certain other operations on large selections of Accounts and Supplies. These delays, and slowness during a model run, also occurred after closing these dialogs by clicking the "X" button in the window title bar.

The following optimizations were implemented to address these performance problems:

  1. For asynchronous change notifications which resulted in a full-list rebuild (i.e. notifications originating from outside of these dialogs), all notifications are now collected and collapsed into a single full-list rebuild operation using a 100 millisecond Qt timer.
  2. For synchronous changes (edits to selected items from inside the dialog), a flag is set to prevent the resulting notifications from causing GUI updates.
  3. An internal flag used to avoid GUI updates in response to run-time generated callbacks is now cleared when closing the dialog with the "X" button in the Window title bar.
  4. List sorting is now disabled during operations on list items.

--------------------------------------------
[I.E] Sponsored Projects / Study Manager / New Development
    Study Manager Plugins / "DMI Event" and "MRM Event"
--------------------------------------------

Two study manager "event" plugins were developed. The "DMI Event" plugin supports parameters for both "Control File / Executable" and "Direct Connect" DMIs -- though the Direct Connect support is limited to Excel Datasets. The "MRM Event" plugin provides support for a user-supplies list of MRM Configuration Names. Dilaog screenshots for these two new plugins are available here:

Maintenance Accomplishments

--------------------------------------------
[I.A.4] Sponsored Projects / RiverWare / Software Maintenance
   Qt4 Port: Scenario Manager slot list
-------------------------------------------

In preparation for the possible development of Scenario Manager user interface enhancements -- see the description of the design written this month -- the Scenario Manager Dialog's slot list was ported from a Qt3 Q3ListView to a Qt4 QTreeWidget. As part of this work, the following enhancements were also implemented:

  1. Multiple slot item selection (instead of single-item selection of the Qt3 implementation), and adaptation of many slot operations to apply to the multiple selection. [See Gnats 3789].
  2. Additional optional column display, and redesigned custom order and sorting controls.
  3. The custom order (one sort option) is now global for the whole model (and can be applied to any loaded Scenario).
  4. Display of slots' containing-simulation object type icon.
  5. Addition of a "paste slot" context-menu operation for pasting slot references from the RiverWare Slot Clipboard, e.g. for slots copied from the "Find Slots with Inputs" dialog. (This is relevant only for the creation of a baseline model).

--- (end) ---