DMI
DMI Generated Error Messages
Although DMIs may now exit with a -1 return status, DMI generated error messages will not be properly interpreted by RiverWare. For proper handling of errors and messages, the accepted exit codes are:
• 0 Success
• 1 - 127 Error
New Keyword=Value Pair: Flags
Valid keyword=value pairs have been expanded to include flags. This keyword can enable the importing or exporting of the SeriesSlot flags at every timestep, in addition to the slot values. The possible values for this keyword are true and false.
A keyword=value of the type:
flags=true
will cause SeriesSlot flags (INPUT, OUTPUT, TARGET, TARGET_BEGIN, BEST_EFFICIENCY, MAX_CAPACITY, and DRIFT) to be imported or exported with the data. This is an optional keyword=value pair which defaults to false if not specified.
Values in User-defined Keyword=Value Pairs
Values may no longer include spaces ( ), colons (:), or exclamation points (!). Due to changes in the parsing of DMI control files, these characters are now used as delimiters. Their use within a value field will cause a syntax error and prevent proper execution of the DMI. As there are no known DMIs currently using this punctuation, the change should not affect any existing models.
Control File Object and Slot Wildcards
Control File Object and Slot Wildcards have been expanded to include subBasins and dispatch slots, respectively. An object.slot specification of the type:
<basinname>.<slot>
will match any <slot(s)> within the subBasin <basinname>. Similarly, an object.slot specification of the type:
<object>.dispatch
will match any dispatching slot in the given <object(s)>. These new object.slot wildcards may be used in conjunction with the flags=true optional keyword=value to import or export all of the values and flags for the dispatching slots of a subBasin. This type of DMI allows the information required to uniquely reproduce a scenario to be moved between subBasins of different models. For more information on using DMIs towards this end, contact CADSWES staff.