CADSWES -- Release, Software Maintenance, and Development Environment Work Summary -- Fiscal Year 2015
Phil Weinstein, edit 10-08-2015, Completed Draft, Ready for Review; Minor additional edits: 10-09-2015 (b).

This document summarizes the maintenance work completed by CADSWES in these categories from October 1, 2014 through September 30, 2015.

  1. Releases, Patches and Snapshots
  2. Development Environment
  3. Software Maintenance
  4. Download, Installation, and Release Processes
  5. Licensing
  6. Regression Tests
  7. Bug Fixes

(1) Releases, Patches and Snapshots

Two major releases (6.6 and 6.7) and nine (9) patch releases of RiverWare were generated this year. The work involved in generating a patch release is very similar to a major release, except that a major release typically has an extended period dedicated to bug fixing prior to the release, and a more extensive set of release notes. Release notes may be found in the RiverWare online help.

Release Type Release Release Date
Patch 6.5.2 Oct 1, 2014
Patch 6.5.3 Nov 20, 2014
Release 6.6 Jan 8, 2015
Patch 6.6.1 Jan 30, 2015
Patch 6.6.2 Feb 19, 2015
Patch 6.6.3 Feb 27, 2015
Patch 6.6.4 Mar 24, 2015
Patch 6.6.5 Apr 21, 2015
Patch 6.6.6 May 18, 2015
Release 6.7 Aug 7, 2015
Patch 6.7.1 Sep 4, 2015

Twenty-Three (23) snapshots of the build development area were made over the course of the fiscal year to allow users to test newly implemented features before they become part of an official RiverWare release.

RiverWare 6.6: was prereleased on December 12 and 18, 2014 and released on January 8, 2015.

RiverWare 6.7 was prereleased on July 17, 2015 and released on August 7, 2015.

The tasks involved in generating releases include:

(2) Development Environment

The Development Environment category includes all of the associated software and tools used for developing RiverWare as well as their setup and interaction. Work completed this year in this category is presented below by major topic.

Build Documentation updates for QuaZIP, netCDF libraries, integrated HDB.

The document that describes building of the libraries and executables that support RiverWare was updated for recent changes. Descriptions of the new QuaZIP and netCDF libraries were added. Sections for the QtService and RwService, which are no longer used in distributed MRM, were removed. Description of the servers was updated to reflect that the HDB server code has now been incorporated into RiverWare.

Qt5 Port Preparation: Acquiring and Building Qt5, Configuring RiverWare Build

RiverWare 6.7 and recent prior versions, and RiverSMART tools, are built with Qt 4.8.5. We will soon want to port to a current version of Qt 5 (now up to Qt 5.5, released in early July 2015). This will be much easier than the prior major Qt port, from Qt3 to Qt4, which had required an extended two-phase effort: (a) porting to Qt4 with the Qt3 compatibility library, and (b) recoding uses of the Qt3 compatibility library with Qt4-proper provisions. That had been completed for RiverWare 6.4 (released in November 2013).

Porting from Qt4 to Qt5 will be much more direct. Virtually all significant Qt4 C++ classes used in RiverWare and RiverSMART exist in Qt5. Essentially, the API changes are to a limited number of methods of those classes. It is standard practice to apply Qt5 porting work to the main development branch (merged frequently from a temporary porting branch). That is, the RiverWare and RiverSMART source code trees will be buildable with both Qt4 and Qt5 during this transition while new parallel development work is also being done.

In June 2015, we took these initial steps to prepare for the Qt5 port of RiverWare:

These processes and changes are described in this internal document.

A prerequisite for the Qt5 port will be upgrading Qwt, our open-source C++/Qt plotting package from Qwt 5.2.3 to Qwt 6.1. That's the first version of Qwt intended to be used with Qt5. See the next item.

Qwt Plotting Library Upgrade Research

Qwt is the open source C++/Qt library used in RiverWare to implement plot dialogs. At the end of September an analysis was done on the APIs (application programming interfaces) of Qwt 5.2.3 (currently used in RiverWare 6.7) and Qwt 6.1.2, with an eye towards: (a) assessing the difficulty in porting RiverWare to the newer Qwt version, and (b) identifying new capabilities in Qwt 6.1.2 which would be valuable for future feature development. It was found that the port would not be very difficult (perhaps four days of work), and that new capabilities in Qwt 6.1.2 would be of benefit. In fact, this Qwt port is a prerequisite for porting RiverWare from Qt 4.8.5 to Qt 5 (currently at Qt 5.5) which we hope to handle within the next half-year.

To assess the ease of the port, the Qwt 6.1.2 library source code was obtained and built, the RiverWare build configuration was modified to use that new library, and the build was attempted, making rough (but not technically valid) changes to RiverWare source to advance the success of the build.

(3) Software Maintenance

The Software Maintenance category includes work required to maintain the RiverWare code that is apart from work funded to implement specific new features and new functionality. This can include, for example, removing obsolete code, porting code to use newer versions of libraries (like Qt) or to use alternate libraries, addressing compiler warnings and memory leaks, non-project improvement to online help, or changing existing code to improve maintainability and efficiency.

Documentation Improvement: Re-evaluation of Expression Slots

The mechanism for re-evaluation of expression slots was not adequately documented. To fix this, the Slots section of the RiverWare help was enhanced with more information on what causes expression slots to re-execute.

Investigation and Removal: Two Run Analysis configuration options.

There is a configuration checkbox in the Rulebased Simulation Run Parameters dialog labelled "Enable Rules Model Run Analysis" which doesn't actually need to be checked in order for the main part of that analysis data to be supported. A code analysis was done to determine what exactly depends on that setting. It turns out that the effect of this toggle applies to only the data shown in the Run Analysis "Rules Effects" detail panel, and the rationale for conditionally computing that data may not be sound.

The analysis document is available here:

During this analysis, a serious performance bug was discovered in the Rules Effects panel when used with a large ruleset (e.g. over 1100 rules causing a 30 second delay in a release build). This performance bug was addressed for both 6.6.2 and 6.7 development as Gnats 5582 in early February 2015.

As a result of this analysis, two checkboxes for optionally disabling data collection for analysis features have been removed from the RiverWare user interface. These features are now unconditionally enabled:

  1. "Enable Rules Model Run Analysis" ... in the Rulebased Simulation Run Parameters dialog, accessible from the Run Control "View" menu.
  2. "Collect RPL Set Performance Information" ... in the RPL Parameters dialog, accessible from the Workspace's "Policy" menu.

The first change above involved recoding a series of cwSets (cwDlists) as a series of bit arrays; this was done as a run-time performance enhancement. See the FastBmap class in RuleSetMgr.

Annual Aggregation time series slots are not correctly summing monthly flows in units of AF/month. [See Bug 5614].

Most of the aspects of Bug 5614 are related to the special Time Aggregation Series Slot which users can create on Data Objects.

One high-level problem is that rate unit types (notably, FLOW) were being summed in the "normal" way, which is not correct for rate values for multiple timesteps within a single time series. Two options which were considered for the SUM function of Time Aggregation Series Slots were: (1) "Integrating" such values with respect to time (e.g. showing the sum of those flows as a volume), or (2) Showing the sum as the average value, but with a rate unit having a "per time" factor matching the time aggregation size (e.g. showing an annual aggregation of "per month" values with the analogous "per year" unit). We have implemented the latter approach.

Another high-level problem is that rate values needed to be summed (for both the sum and average functions) using a "weighted" algorithm. This is relevant specifically for summing rate series having an irregular timestep (i.e. per month or per year).

Ancillary to these Time Aggregation Series Slot issues, we have also implemented these related enhancements:

In the course of testing the Time Aggregation Series Slot fixes, a broader problem was discovered within our unit conversion algorithms. Rate values within an annual series are not correctly converted to per-month units. The result was effectively assuming an average month-length of 31 days -- i.e. the length of the month (December) preceding the Date_Time designating the end of an annual timestep. We've determined that our variant of the "convertWithinType" C++ method which is given a Date_Time to resolve irregular time units also needs an explicit DeltaTime (symbolic time interval) to correctly compute the required value.

To address this latter problem, an analysis of the internal structure and use of our unit conversion utility methods was done. This analysis included observations about how to improve the unit conversion API and implementation for both better run-time performance and application-code readability. Most of the recommendations have been applied -- see the subsequent section, "RiverWare Unit Conversion Utility API Maintenance."

The definition of the Time Aggregation Series Slot in user documentation was reviewed and clarified with respect to computations involving unit conversion. Similar clarifications were applied to the related source code.

Time Aggregation Series Slot Redesign

Subsequent to the Time Aggregation Series Slot changes described in the preceeding section, the Time Aggregation Series Slot functionality and configuration controls were revisited. Previously, the input slot selection and the aggregation function were picked with GUI controls in the open slot dialog. These have been moved to the aggregation configuration dialog box, which now has all aggregation-related configuration controls for this slot. This redesign also incorporates these other changes:

(1) The "SUM" function was removed for FLOW units (and other unit types having an explicit "per time" factor). The other available aggregation functions are: Ave, Min, Max, First, Last.

(2) The units for the aggregation series are now explicitly settable by the user, instead of being automatically assigned. The user can choose between:

(a) Use Unit Scheme Default
(b) Use Custom Setting:
        Units: [combo box] Scale: [1, 10, 100, 1000, 0.1]
        Precision [integer spinner] Format: [Float, Scientific].

RiverWare Unit Conversion Utility API Maintenance

In the course of addressing a problem with the Time Aggregation Series Slot (Gnats 5614) -- SEE ABOVE -- it became apparent that we were not correctly converting standard flow values within an annual series to, and from, "per month" units (e.g. acre-ft/month). Furthermore, our convention of supplying the unit conversion methods with a timestep Date_Time to accommodate irregular time units wasn't actually sufficient for this particular case. For correctly handling irregular time units, also needed is the symbolic timestep size (a DeltaTime) for which the unit conversion is being done.

Beyond the application code changes which were needed to directly address Gnats 5614, we also took this opportunity to greatly simplify common uses of unit conversion utilities, both within the unit conversion library, and notibly the many uses of that library in application code (especially in the EngrObjs library). This primarily involved standard unit conversions between Flow and Volume values. Making use of the knowledge that the standard units for the Flow and Volume unit types are always related by the number of seconds in the relevant timestep, we were able to replace calls to functions taking seven (7) parameters (where the result is returned in the 4th parameter) to functions taking two (2) parameters, with the result returned as the function value. This greatly improves the readibility of EngrObjs source code. (This maintenance was applied to about 85% of the EngrObjs code).

After completing this maintenance, the Gnats 5614 solution was revisited, and was found to also need some further adjustments. This included fixes for incomplete time aggregations at the beginning and end of the series slot being aggregated.

Distributed MRM writing XLSX files

In working with the East Nile model, Kevin Wheeler discovered a problem where the Excel files automatically generated from RDF files as output from a distributed MRM configuration are always written in the older .xls Excel format. If a multiple run is not distributed, the Excel files are written in the format that matches the version of Excel on the system. The distributed MRM controller calls the RdfToExcelExecutable program in batch mode to create the Excel files, and was always calling this program with the output file argument as the base of the RDF file name with .xls added to it. This caused the output files to always be written in this format. The code in the distributed MRM controller was changed so that it does not pass any output file argument in the batch mode call. The RdfToExcelExecutable program was modified so that if an output file argument is not provided, an output file name is generated as the base of the input file name plus the Excel suffix for the version of Excel resident on the system. In this way the distributed MRM controller can generate files of the appropriate Excel version without having to have any knowledge about the Excel program on the system. A new version of the RdfToExcelExecutable (version 1.2) was generated and posted to the CADSWES web site. The modified distributed MRM controller code was checked in to the prerelease and the builds areas so that the change will appear in any RiverWare 6.6 patch releases and the 6.7 release.

Eliminated Fundamental Limit on Time Series (Serialization) Size

See Bugs 5643: Unable to load a model with extremely long time range and 5634: a 210,000 timestep model (20 years of hourly data) exceeded the capacity of a line buffer, preventing the model from loading. The short term solution was to double that capacity (from 2MB to 4MB). But ultimately we enhanced the model loading mechanism to dynamically grow this line buffer as needed. For practical purposes, there is no longer a fundamental limit to the length of time series saved in a RiverWare model file.

Workspace configuration: Initial Workspace View Scroll Locations and Zoom Levels

A new persistent configuration allows the user to indicate how each of the three workspace views are initially scrolled and zoomed after saving and reloading a RiverWare model file. The following can be specified for each workspace view:

Additional "Open Model in View" controls were added to allow the user to specify how the initially displayed view (of the three workspace views) is determined. The user can choose between these two options:

This enhancement addressed Gnats 5657, "Default workspace location when loading a model is not always correct."
This overall feature is described in this document:

Import Paste: Recognize "accounting" negation parenthesis (e.g. from Excel).

Negative numbers in Excel are sometimes indicated with enclosing parenthesis instead of a negative sign.  An enhancement was made to the Import Paste preview dialog -- used by the Open Slot dialogs and the SCT -- to recognize these character strings as negative numbers.  Before this enhancement, such cell strings weren't being recognized as numbers at all.

"rwSetting" (property list) responsiveness improvement: Enum-type combo box selection

In Model Reports, RiverWare Scripts and the Output Canvas, in configuration settings which support selection of a single value within a designated set of options (i.e. an "enumerated type"), picking a new value in the associated combo box did not have any effect until the user clicked away from the combo box. With this change, it is no longer necessary to click away for changes resulting from the new value selection to occur. In all three "rwSetting" applications, this has the effect of updating the conditional showing of related "sibling" settings right away. In the Output Canvas application, this also results in an immediate update of the canvas preview. This enhancement also resolved the Gnats 5476 dysfunction ("Model report preview not working for some RPL sets").

(4) Download, Installation, and Release Processes

Flexera InstallShield is the software used to create RiverWare installation files. The work over the past fiscal year related to InstallShield was as follows:

InstallShield Preparation for RiverWare 6.6 (Released 1-8-2015):

InstallShield Preparation for RiverWare 6.7 (Released 8-7-2015):

InstallShield Preparation for RiverWare 6.8 Development:

Other work related to download, installation, and release processes:

Updates to download/install/configure user documentation:

(5) Licensing

Ongoing licensing work:

Upgrade from Reprise License Manager RLM 10.0 to RLM 11.3 (for RiverWare 6.7)

A new version of the Reprise license software (RLM 11.3) is now used by RiverWare. This is an upgrade from RLM 10.0. We started preparing for this upgrade in January 2014, just before RLM 11.0 was released. The first RiverWare version to use this new version (actually, RLM 11.3) is RiverWare 6.7 (released on 8-7-2015). This new RLM version resolved some problems we had been having with roaming licenses. Completed tasks in FY 2015 include:

Reprise RLM Failover Server License

The failover license is a backup license for floating license users which provides the capability for a different license server to take over the license service when the primary license server has gone down. Work to support this feature included:

Reprise RLM License Generation Tool (rlmgen)

This tool is for internal use only. The purpose is to automate the generation of simple license keys for users. It generates only the license key; it does not generate the standard license information normally included in a license file. This tool is currently configured to generate license keys for the following license types:

  1. Floating 1-year
  2. Floating CPLEXfromCADSWES
  3. Floating CPLEXfromIBM
  4. Node-locked CPLEXfromCADSWES
  5. Node-locked CPLEXfromIBM
  6. Node-locked Evaluation
  7. Node-locked Full 1-year
  8. Node-locked Sponsor
  9. Node-locked Viewer
  10. Roaming host=ANY
  11. VM-enabled

Completed tasks related to the RLM License Generation Tool (rlmgen) in FY 2015 include:

Reprise Activation Pro License Center

Reprise Activation Pro allows automated generation of license keys from a web server. CADSWES has explored the possibility of using this tool to generate RiverWare Viewer licenses from our website. Internal support for this capability has been provisionally developed (excluding the web portion). Actual deployment of this capability is still under consideration. Completed tasks in FY 2015 include:

At the end of FY 2015 (Sept), work is continuing on implementing the Reprise Activation Pro License online page and user instructions. The current procedure is very tedious and has too many steps. We are working on simplifying the procedure for users. This has not yet been deployed for actual use.

Significant Licensing User Support Tasks
Note: many of these problems were resolved with the new RLM 11.3 licensing library in RiverWare 6.7 (released on 8-7-2015).

Other Licensing Support Work

(6) Regression Tests

Regression tests are a suite of RiverWare models that were automatically run every night to look for changes in results or performance from new code that was checked in to the development area. Results of the tests were evaluated on a daily basis to identify unexpected changes in model results. The model comparisons performed in the nightly regression tests can show expected differences (for example, because a new method category may have been added). When this occurred, the regression tests had to be updated to reflect the current state of the development area so model comparisons did not fail going forward. In addition, every week, the daily history of each regression test was analyzed to determine if the run time or model size had significantly changed because of new development.

In addition to the regular regression test work, the following regression test items were addressed over the course of the year:

Oct 2014:  
  • Added water user to test Soil Moisture methods.
  • Update tests: Unregulated Scenarios - New Disable Reservoir Processes category
  • Update tests: "Assign" changed to "Assignment" in diagnostics.
Nov 2014:  
  • Update tests: New Optimization Reserves Category on Power Reservoirs
  • Update tests: Series Slot with Periodic Input - Fix to synchronization issue [Gnats 5555].
Feb 2015:  
  • Update tests: Improved Optimization Warning Messages
Mar 2015:  
  • Update tests: Modified Inline Power Flow Tables algorithm
Apr 2015:  
  • Update tests: Changed series slot Min/Max terminology to Bounds
  • Added tests for new RPL Predefined functions, mostly: lower/upper bounds functions.
  • Update tests: Bug 5632 fix, Initialization issue when not using disagg methods but are specifying presim data.
  • Update tests: Gage Modifications - Stage category and Bug 4181 fix.
Jul 2015:  
  • Update tests: Bug 5660 fix, Water user soil moisture now tracks water lost when irrigated acreage decreases.
  • Update tests: Warning messages for out of bounds series slot data were removed.
Aug 2015:  
  • Update tests: New TDG categories and methods
Sep 2015:  
  • Update tests: New Power Unit Information category and fix to bug 5515: not showing optimization slots.

(7) Bug Fixes

The following tables enumerate the bugs closed in FY 2014 (Oct 2014 through Sep 2015).

Bug  Description
4181 First dispatch timestep on reach is incorrect when stream gage is present.
4951 Optimization table interpolation error message
5476 Model report preview not working for some RPL sets. / Enum rwSetting enhancement.
5491 Interpolation tolerance for 3-D interpolation too tight
5511 Plot Date/Time on Y-axis
5514 Diagnotics message MSG_SLOT_TOO_HIGH_LOW used incorrectly
5515 Slots stay visible when changing power methods
5523 Increasing precision in ruleset and editing always reverts to 8 digits of precision.
5532 Optimization Solution Analysis Tool (POSAT) window doesn't raise if already opened.
5534 Huge delay posting myriad overdetermination error messages on run abort
5537 Warning messages in optimization have bad context information
5545 When object dispatch is disabled, crosshatch is not always shown in the SCT
5546 Don't shrink tables on load if there are row labels
5547 RPL function breakpoints sometimes ignored within optimization goals
5548 DSS dataset file selector unnecessarily asked about replacing the DSS file for an input DMI.
5550 The Script Dashboard's execute run progress bars are not working
5551 Crash when a script which is executing a run is stopped
5552 Negative Outflow on the Distribution Canal – Available water is now constrained to be non-negative.
5553 Apparent tolerance problem with Inline Power Plant
5555 Pan Ice Switch, K Factor periodic slots not setting series slots, causing an abort.
5556 Problem with a background image in a model package
5557 3D interpolation
5558 Riverware freezes after using Execute Run script action
5559 edit date/time broken for some Script Dashboard actions.
5560 SCT columns in hidden sheets (subtabs) resize after a run
5562 Run numbers with Excel DMIs in MRM
5564 RPL function SolveTurbineReleaseGivenEnergyInflow not returning the correct bool values.
5566 Water Users on Agg Diversion Sites were not dispatching WQ methods.
5567 Problem with the HydropowerRelease function with Phase Balancing flood control
5569 Not post-processing scenarios in RiverSMART
5573 Crash caused by user-defined parameters in DMI control file
5575
5581
Right clicking in an SCT series cell in certain circumstances could cause a crash.
5576 Opt hard constraints after an empty Repeated Maximin do not get added
5577 Tabular Series Slot Report didn't support Monthly Timestep in Daily Model.
5578 Data Object Table Slots: several available column operations not being shown (e.g. Insert Column).
5579 DMI connection to DSS refused
5580 SCT 'Init Rules' series timestep cell Tooltip and Context Menu Problems.
5582 Huge delay operating Model Run Analysis dialog's Rules Effects panel with large Ruleset.
5583 Object Attribute Manager dialog: Missing button icons.
5584 Open Account Dialog and SCTs opened from an SCT file are not initially scrolled to the global time.
5587 Open Slot dialog: undesirable rescroll to selected cells after display change operations.
5590 Accounting Method categories were not displayed correctly on Control Points, Diversion Objects, Pipe Junctions, and Inline Pumps.
5591 On the Open Object dialog, the input I flag icon was not updating when the timestep changed.
5594 The SCT could jump to a different tab when removing a slot.
5596 RiverSMART crashes when selecting "Post-process" scenarios
5600 The passthrough account was solving incorrectly when Gain Loss was specified.
5601 POSAT misreports some values when a model is loaded
5605 Open Slot Dialog: more careful presentation of Cut/Delete Rows operations.
5606 DSS DMI problems importing monthly data.
5607 RPL predefined function toCelsius is spelled incorrectly
5609 Open Account dialog not updated when creating supplies on the workspace.
5611 Tool tip on Input accounting slots is incorrect.
5612 Two runs are fine, third run produces an error
5613 Table slot row label displays cut off underscores
5614 Annual Aggregation time series slots not correctly summing monthly flows in units of AF/month
5616 Power table extrapolation error
5622 The RPL unit parser misinterprets some units
5623 Running CRSS and hitting an error gives many new assertion messages.
5626 Probability and Logarithmic Plot Axes had been reverting to Linear Scale.
5628 Problem with the Peak Power Equation with Off Peak Spill method.
5629 Object clusters were interfering with Computational Subbasin flood control methods.
5630 Import Paste: "Limit paste operation" default setting change
5632 Initialization issue when not using methods to initialize for routing
5633 Import (Resize) on table slots does not change the number of columns.
5634 A model with > 200,000 timesteps could crash during load.
5636 Sloped reservoirs in No-opt subbasin are still doing beginning of run behavior.
5637 Output DMI writes bad end date when series slot is empty
5638 RiverWare can't plot a timeseries beyond the year 3000.
5639 Core dump on clear workspace or RiverWare exit.
5641 In Model Report or Script configurations, selecting the first item in a pull-down setting menu did not always work.
5642 Closing all dialogs opens (as minimized) RPL Set dialogs.
5643 Unable to load a model with extremely long time range
5644 Specifying Plant Power Limit in the Plant Power Equation method could lead to a crash.
5645 RPL analysis does not add columns for ascending/descending tabs.
5646 DIT slot name Request should be Requested on data tabs
5647 RiverWare crashes when hitting an over determination error due to link
5648 RPL OptValue predefined function sometimes incorrectly aborts run when debugger is enabled
5655 Expression slot diagnostics with no context which turn on when PRINT statements are enabled
5657 Default workspace location when loading a model is not correct.
5660 Negative Diversion due to Soil Moisture.
5661 Instabilities encountered while debugging a TVA optimization model.
5662 Abort run notification dialog presents bogus timestep context for optimization runs
5663 Script not able change a method to None. [fixed with 5641].
5665 Slot Copy AggObj Element slots, Paste to DataObj: Slot name problem
5667 Assertion Failure in script editor when selecting enumerated setting.
5669 DSS DMI not writing data type or units to the DSS file
5670 Water User Soil Moisture Methods run in 6.6.6 but not in 6.7
5671 Teacup Legend could not be added to Output Canvas
5673 Data Object default slot naming problem, pasting slots.
5680 Equal Priority water rights algorithm infinite loop.
 
Unfiled Bug [Nov 2014] Error with Trace DMI in MRM when not specifying a control file template
Unfiled Bug [Dec 2014] Script Dashboard, some values were displayed in standard units instead of user units
Unfiled Bug [Apr 2015] RCL command names mismatched between RiverSMART and RiverWare
Unfiled Bug [Apr 2015] More robust implementation of temporary file creation when line endings are converted for an output control file-executable DMI
Unfiled Bug [May 2015] User gets Trace 1 data for all traces when executing a Trace Directory DMI from RiverSMART

Bugs Closed without code change being made.

Bug Description Reason
4956 Cannot build DSS server No longer relevant
5362 RW Crashing during MRM Runs No longer relevant
5525 Program quits unexpectedly No longer relevant
5533 Program crashes No longer relevant
5568 RiverWare icon reverts to default color Intended behavior
5574 Reopen model menu isn't working Can't reproduce
5585 Flow in months with less than 31 days not being set correctly to outflow slots. Intended behavior
5668 URGWOM Account Model Run not working in RW6.7 Intended behavior

--- (end) ---