Dispatch Information
A new Dispatch Information utility has been created to provide post-run diagnostics regarding object dispatching and known values of dispatching slots for every timestep of the simulation. The Dispatch Information dialog is invoked by selecting Dispatch Information... from the Utilities menu heading in the main RiverWare workspace window or by clicking on the Dispatch Information shortcut button on the toolbar.
The Dispatch Information tool provides dispatch information at two levels of detail. At the workspace level, the dispatch state of each object for each timestep of the model run is visible. At a more detailed level, the tool allows an object’s dispatch table entries and known slot values at the end of each timestep to be viewed.
Workspace-level View
The Dispatch Information dialog displays the workspace-level view of dispatch conditions. This dialog consists of a two-dimensional matrix with workspace objects on one axis and model run timesteps on the other axis. Each cell in the matrix shows the dispatch state of an object at the indicated timestep. Dispatch entries are made automatically during run initialization, so no dispatch information is available until a run is completed. Because they never dispatch, Data Objects and Snapshot Objects are not included in the list of Objects. An Object has one of four possible dispatch states:
Not Dispatched. The known and unknown slots for the timestep did not meet the requirements of any method on the dispatch table for the Object.
Dispatched. Conditions of a single method on the dispatch table were met; the method dispatched, and the Object solved.
Dispatched But Not Solved. Conditions of a single method on the dispatch table were met; the method dispatched, but the Object did not solve completely.
No Dispatch Entries. The Object has no entries on its dispatch table; the Object is a Thermal Object, or the model has not been run.
Selecting an Object/timestep cell displays its dispatch state in text form at the bottom of the Dispatch Information dialog. If the Object dispatched at that timestep, then the name of the method under which it dispatched is also displayed.
The Dispatch Information dialog may be reformatted from its original configuration. If the lists holding the names of Objects and timestep are too narrow to read, they may be expanded by clicking on the double-arrow buttons. This will alternately increase and decrease the size of the headers between an abbreviated length and one which accommodates the longest Object/timestep name. The view in the Dispatch Information dialog can also be transposed so that timesteps appear along the side of the dialog and Object names appear along the top. To transpose the view, select View Time On Side or View Time On Top from the menu bar.
Finally, the order in which Objects appear in the dialog may be rearranged from its original alphabetical order. This is useful to match the river topology or any order with which you are more familiar. To rearrange an Object, select its name with the middle mouse button and drag the resulting frame to a new location. Releasing the middle mouse button will place the Object just beyond the Object over which the frame is located; above when moving an Object up, below when moving an Object down.
Please note: new formats are only saved with the model file, so be sure to re-save the model after changing the Dispatch Information.
The Dispatch Information dialog may be used to disable or enable dispatching for individual Objects. Disabling dispatching prevents the object from dispatching at any timestep, regardless of what slots are known. This functionality is useful to debug models. To disable dispatching for an Object, select its name and select Object Disable Dispatching from the Dispatch Information dialog menu bar. The Object name is shaded with red diagonal lines to indicate that it will no longer dispatch. The Object’s Beginning of Run behavior, however, may never be disabled. To re-enable dispatching, select the name of the Object for which dispatching has been disabled and select the Object Enable Dispatching. The red diagonal lines disappear from the Object name, and it is allowed to dispatch when the model is run.
Dispatch Detail Dialogs
The Dispatch Detail dialogs allow the entries in the dispatch table and the known slots at the end of each timestep to be viewed for each object. To open a Dispatch Detail dialog, double-click on a cell in the Dispatch Information dialog which represents the desired object and timestep. One of the following occurs, depending on the dispatch state of the selection.
If the Object has no dispatch conditions, or the model has not yet been run, a warning message is displayed.
If the Object did not dispatch during the selected timestep, the Dispatch Detail dialog appears showing a list of slots. Each of the displayed slots is a required known and/or a required unknown for an entrie(s) in the Object’s dispatch table. The checkmarks indicate which slots were known at the end of the selected timestep.
• To view the entries in the dispatch table for this object, select Methods from the view option menu. The methods view lists all of the methods in the Object’s dispatch table, each marked with a symbol indicating whether the method dispatched. Since the object did not dispatch, none of the methods have a green D symbol. Selecting the, and sots in the list with a box to their left are required knowns for the method to dispatch. Slots with no box are required unknowns. Checkmarks indicate which slots were known at the end of the timestep.
If the object did dispatch during the selected timestep, the Dispatch Detail dialog appears showing a list of methods from that Object’s dispatch table. The method which dispatched at the selected timestep is marked with the dispatched symbol and is opened to show its dispatch conditions. Notice that all of the slots are checked as known, even those required to be unknown. This occurs because the object solved correctly for all slots, making them known by the end of the timestep. We know that the dispatch conditions requiring unknowns were met at the time of dispatching because the method could not have dispatched otherwise. This may seem slightly confusing, but remember that the known/unknown status of particular slots is truly of interest only if the object failed to dispatch at the selected timestep. If the object did indeed dispatch, all of the conditions must have been met.
In models with hourly, daily, or monthly timesteps, the Dispatch Detail dialog contains a date spinner which moves the detail view forward and backward over the range of the model run. Clicking on the up arrow of the date field spinner moves the dialog view one timestep forward in the run. Clicking on the down arrow moves the view one timestep backwards in time. This is useful to determine how the set of known slots changes from timestep to timestep.