RiverWare Scenario Enhancements / Scenario Playbox -- Design 2
Phil Weinstein / CADSWES / Edit: 1-3-2013

See Design Notes and Discussion below.
Scenario Playbox Live Mockup

Slider Revision -- shallower buttons (photoshopped), no "configure range" button, slider tick-marks below (not above) slider:


Subject:      Scenario Playbox: Requirements and Design Meeting
Date:   Wed, 26 Dec 2012
From:   Phil Weinstein

Edie, here are some notes summarizing the points from the meeting we just had.

A "Scenario Playbox" is a new dialog which presents a subset of the model's scenario manager slots.  We will initially deploy only a single playbox from the scenario manager, but it should be possible to have a variable number of Playboxes with distinct configurations.

The Scenario Manager will be enhanced to support a designated list of "Output" slots, in parallel with the current existing list of "Input" slots.

Note: We will want to avoid messing with the low-level slot value assignment mechanism, redirecting results to scenario output slots.  Instead the run-time computed "output" slots could be copied over to the scenario output slots at the end of a run -- this is sort of the inverse of what we currently do with the "input" scenario slots.

Playbox instances (initially, only one) will be created from the Scenario Manager by the scenario composer (user), via a Playbox Configuration Dialog.  Configuration will include:

Our initial thinking is that the Playbook will be composed of the following panels, arranged vertically:

  1. A list the one-to-three Input slots, showing the value of the slot at a date/time specified with a date/time spinner.
  2. One-to-three "value slider" panels, arranged horizontally, one for each Input slot.
  3. A list of zero-to-five Output slots (supporting only single-selection), also showing the value at the designated date/time.
  4. A plot panel showing of plot of the single selected Output slot, with one trace for that slot from the baseline model and each of the defined scenarios.
A more "vertical" variation of the following "value slider" panel will be used (up to three of them, arranged horizontally).

Note that Input scenario slots can be directly edited by the scenario player (user), e.g. in an open slot dialog, ONLY IF they are not used as an input slot within a configured playbox.

A "Scenario Playbox" uses a subset of the slots defined with a RiverWare model's scenario manager -- up to three "Input" slots and five "Output" slots.

The three major dialog boxes involved in this development are:

Beyond the GUI, significant software engineering includes definition and maintenance of a new variety of scenario slot: "Output" scenario slots -- including copying from the baseline (run results) slot to the scenario slot when the run stops.

- Phil


Subject:      Re: Scenario Playbox: Requirements and Design Meeting
Date:   Wed, 26 Dec 2012
From:   Edith A Zagona

... I don't see any difference between the new scenario output slots and our current snapshot objects, the usual way of viewing/comparing scenario output. [Let's use] what we already have with this functionality. It just needs to be "automated" a bit.

thanks,
Edie


Subject:      Re: Scenario Playbox: Requirements and Design Meeting
Date:   Thu, 27 Dec 2012
From:   Phil Weinstein

Re: Automatically created Snapshot Objects for Scenario Outputs / HIDDEN?

For development, I will want to be able to show the Open (Snapshot) Object dialogs from their respective Scenarios in the Scenario Manager.  Certainly that might be useful to provide as an actual user feature.

But perhaps we would refrain from placing these special Snapshot Object icons on the RiverWare workspace, as we do for Computational Subbasin Objects (CompObjs).

One difference of this use of Snapshots (if I'm thinking about this clearly enough) is that their slot-list will be independent from the Snapshot Manager's Slot List Template.   So this might need a minor enhancement.  (Question: Have we automatically generated custom rogue Snapshot Objects before?).  (And, Edie, maybe I'm overlooking some other possibility you were imagining).

... One alternative is that the list of "Scenario Output" slots COULD BE the Snapshot Manager's Slot List Template.  (That is, totally instead of supporting an Output Slot List in the Snapshot Manager; the Scenario Playbox config would just allow picking slots from the Snapshot Manager's slot list).

BTW ... for a possible feature list (other future work):

- Phil


Subject:      Status: Scenario Playbox
Date:   Thu, 03 Jan 2013
From:   Phil Weinstein

... ... ...

The automatic-Snapshot-copies for Scenario outputs idea is good.  I'll propose that we create an internal, second Snapshot Slot Template List. (An alternative is to just "take over" the existing one -- nailing it's current list of slots).  The fact that removal of slots from the template list NO LONGER removes slots from the generated snapshots is very helpful.  (This was a change done for Gnats 4359, back in 2008).

I'm back peddling from something I started exploring ... I will be proposing that the Playbox NOT have a timestep Date/Time spinner (with which to display a single value for each SeriesSlot).  It will be much more useful to show the input slot being adjusted in the Plot frame -- along with optionally drawn Min/Max limits -- plus optionally the baseline input slot or scenario slots in all other scenarios.

I was able to coax the prior design mockup work into a new "Playbox" dialog.  And deploying a (Qwt) "SlotPlot" instance in this dialog (i.e. outside of a PlotDialog) works fine.  (The context menus possibly provide all of the necessary functionality -- but we could add hooks for other features).

Here is a live mockup, with some things working (substantially jury-rigged) ...

... the two slot lists (Input and Output) support a single selection between both lists.  The clicked on Scenario Slot (either Input or Output) is shown in the plot.  (When implemented) ... the user can include in the plot also related slots (baseline / other scenarios) and -- for Inputs: the Min/Max limits drawn as horizontal markers.  There will also be the option of dynamically updating the plot (for Inputs) as the sliders are operated.  (This will work for modest-size series -- I have tested that with my prior prototype).

The only Playbox configuration data I've identified are the two slot lists (picked from the lists in the Scenario Manager).  This certainly can be done in a separate Playbox Configuration dialog, but it might actually be easier to understand if it's instead a special mode of the Playbox itself.  Note that the Playbox CAN have a menubar and a toolbar -- those are not shown in the mockup image linked above.

More than half of the necessary additional development will actually be related to the Snapshot maintenance issues, I believe -- rather than to the Playbox GUI and operation ... assuming we continue with something like the Playbox design I've devised.

...
- Phil