User:Jmonson/DMI XML: Difference between revisions

From XMS Wiki
Jump to navigationJump to search
Line 119: Line 119:


==Elements==  
==Elements==  
===A - C===
Sorted alphabetically by element name.
 
===Elements A - C===
{{XML entry
{{XML entry
| type      = Element
| name      = arc_att
| name      = arc_att
| info      = Used to specify what attributes should be used for the arcs of a coverage.
| info      = Used to specify what attributes should be used for the arcs of a coverage.
Line 132: Line 133:


{{XML entry
{{XML entry
| type      = Element
| name      = attribute_set
| name      = attribute_set
| info      = This represents an item in the project explorer that is some sort of grouping.
| info      = This represents an item in the project explorer that is some sort of grouping.
Line 143: Line 143:


{{XML entry
{{XML entry
| type      = Element
| name      = card
| name      = card
| info      = Determines the card name and format when the item is exported.  For more examples see [[SMS:Dynamic Model Interface Schema#Element <export_format>|<export_format>]].
| info      = Determines the card name and format when the item is exported.  For more examples see [[SMS:Dynamic Model Interface Schema#Element <export_format>|<export_format>]].
Line 158: Line 157:


{{XML entry
{{XML entry
| type      = Element
| name      = card_name
| name      = card_name
| info      = The name of the card which is used in the card file.
| info      = The name of the card which is used in the card file.
Line 169: Line 167:


{{XML entry
{{XML entry
| type      = Element
| name      = check_box
| name      = check_box
| info      = Widget that displays text that is checked/unchecked.
| info      = Widget that displays text that is checked/unchecked.
Line 191: Line 188:


{{XML entry
{{XML entry
| type      = Element
| name      = color
| name      = color
| info      = The color of an item, expressed in red, green, and blue values ranging from 0 to 255.  All 0 values for red, green and blue are black. Added in SMS 11.2.
| info      = The color of an item, expressed in red, green, and blue values ranging from 0 to 255.  All 0 values for red, green and blue are black. Added in SMS 11.2.
Line 208: Line 204:


{{XML entry
{{XML entry
| type      = Element
| name      = column
| name      = column
| info      = Definition of the column in the table.  A widget defined in a column will be the widget used for each cell in the column.
| info      = Definition of the column in the table.  A widget defined in a column will be the widget used for each cell in the column.
Line 228: Line 223:


{{XML entry
{{XML entry
| type      = Element
| name      = combo_box
| name      = combo_box
| info      = Widget that displays list of options.  Only 1 can be selected.  If no default is specified and the optional tag is present, then an empty option will be added to the combo box.  If there is no default tag, and no optional tag, then the first item will be default.
| info      = Widget that displays list of options.  Only 1 can be selected.  If no default is specified and the optional tag is present, then an empty option will be added to the combo box.  If there is no default tag, and no optional tag, then the first item will be default.
Line 247: Line 241:


{{XML entry
{{XML entry
| type      = Element
| name      = command_args
| name      = command_args
| info      = Defines the command line arguments to run a particular executable.
| info      = Defines the command line arguments to run a particular executable.
Line 258: Line 251:


{{XML entry
{{XML entry
| type      = Element
| name      = comment
| name      = comment
| info      = Defines a character or sequence of characters that defines the start of a comment on a line.  Comments are always terminated by an end of line.
| info      = Defines a character or sequence of characters that defines the start of a comment on a line.  Comments are always terminated by an end of line.
Line 275: Line 267:


{{XML entry
{{XML entry
| type      = Element
| name      = condition
| name      = condition
| info      = Evaluates two or more objects using GREATER_THAN, GREATER_THAN_EQUALS, LESS_THAN, LESS_THAN_EQUALS, EQUALS, AND, OR, NOT, CHECKED, UNCHECKED, EMPTY.  If condition is not met, then message is displayed (if model_check) or widget is hidden/dimmed (if dependency).  String literals, such as an entry in a combo-box, must be enclosed in double-quotes (ex. “Combo box entry”).
| info      = Evaluates two or more objects using GREATER_THAN, GREATER_THAN_EQUALS, LESS_THAN, LESS_THAN_EQUALS, EQUALS, AND, OR, NOT, CHECKED, UNCHECKED, EMPTY.  If condition is not met, then message is displayed (if model_check) or widget is hidden/dimmed (if dependency).  String literals, such as an entry in a combo-box, must be enclosed in double-quotes (ex. “Combo box entry”).
Line 297: Line 288:


{{XML entry
{{XML entry
| type      = Element
| name      = contains
| name      = contains
| info      = Holds all the groups and items of a group.
| info      = Holds all the groups and items of a group.
Line 308: Line 298:


{{XML entry
{{XML entry
| type      = Element
| name      = control_curve
| name      = control_curve
| info      = Displays a curve push button. When pushed, the xy curve values can be updated and a curve is displayed.
| info      = Displays a curve push button. When pushed, the xy curve values can be updated and a curve is displayed.
Line 329: Line 318:


{{XML entry
{{XML entry
| type      = Element
| name      = control_dataset
| name      = control_dataset
| info      = Displays an edit box, and push buttons for select, delete and create.  Once selected, the dataset string is placed into the edit box.  The dataset_type can be scalar or vector.  Possible keyword outputs are file_name (which is the name of the dataset without path), geom_name,  and file_path (full path c:\somewhere) and sms_path.
| info      = Displays an edit box, and push buttons for select, delete and create.  Once selected, the dataset string is placed into the edit box.  The dataset_type can be scalar or vector.  Possible keyword outputs are file_name (which is the name of the dataset without path), geom_name,  and file_path (full path c:\somewhere) and sms_path.
Line 361: Line 349:


{{XML entry
{{XML entry
| type      = Element
| name      = control_date
| name      = control_date
| info      = Displays date and time selector, where a date can be selected.<br/> Possible output is value, which will be the date formatted as specified in SMS preferences.<br/> Possible outputs are year, month, day, hour, minute, second.
| info      = Displays date and time selector, where a date can be selected.<br/> Possible output is value, which will be the date formatted as specified in SMS preferences.<br/> Possible outputs are year, month, day, hour, minute, second.
Line 402: Line 389:


{{XML entry
{{XML entry
| type      = Element
| name      = control_density
| name      = control_density
| info      = Displays an edit box and combo box.  Combo box can contain kg/m^3, gr/cm^3, lb/ft^3.  Possible outputs are value and units.
| info      = Displays an edit box and combo box.  Combo box can contain kg/m^3, gr/cm^3, lb/ft^3.  Possible outputs are value and units.
Line 434: Line 420:


{{XML entry
{{XML entry
| type      = Element
| name      = control_duration
| name      = control_duration
| info      = Displays an edit box and combo box.  Combo box contains days, hours, minutes, seconds.  Possible outputs are value and units.
| info      = Displays an edit box and combo box.  Combo box contains days, hours, minutes, seconds.  Possible outputs are value and units.
Line 466: Line 451:


{{XML entry
{{XML entry
| type      = Element
| name      = control_executable
| name      = control_executable
| info      = Displays a button for running a simulation from a dialog. Unlike the normal simulations found in the project explorer, these simulations are generally hidden from the user. As such, the options that can be used are significantly less than those of a normal simulation.
| info      = Displays a button for running a simulation from a dialog. Unlike the normal simulations found in the project explorer, these simulations are generally hidden from the user. As such, the options that can be used are significantly less than those of a normal simulation.
Line 520: Line 504:


{{XML entry
{{XML entry
| type      = Element
| name      = control_feature_selector
| name      = control_feature_selector
| info      = Push button that opens a canvas window that allows users to select one or more points, arcs or polygons that are in the main window.
| info      = Push button that opens a canvas window that allows users to select one or more points, arcs or polygons that are in the main window.
Line 538: Line 521:


{{XML entry
{{XML entry
| type      = Element
| name      = control_file_selector
| name      = control_file_selector
| info      = Push button that opens a file open dialog to select files.  Possible outputs are file_path.
| info      = Push button that opens a file open dialog to select files.  Possible outputs are file_path.
Line 558: Line 540:


{{XML entry
{{XML entry
| type      = Element
| name      = control_length
| name      = control_length
| info      = Displays an edit box and combo box.  Combo box can contain meters, cm, mm, um, ft, in.  Possible outputs are value and units.
| info      = Displays an edit box and combo box.  Combo box can contain meters, cm, mm, um, ft, in.  Possible outputs are value and units.
Line 595: Line 576:


{{XML entry
{{XML entry
| type      = Element
| name      = control_nesting
| name      = control_nesting
| info      = Push button that opens a special dialog to create nesting points.  The dialog allows the user to select a parent and child grid and a coverage to put the nesting sites in.
| info      = Push button that opens a special dialog to create nesting points.  The dialog allows the user to select a parent and child grid and a coverage to put the nesting sites in.
Line 610: Line 590:


{{XML entry
{{XML entry
| type      = Element
| name      = control_set
| name      = control_set
| info      = Table like widget that allows for multiple points, polygons, or arcs to be joined together as a set.  An example usage would be to join two arcs in creating a weir.  By default the <control_set> contains two columns, object and role.  The object column identifies the arc, point, or poly id.  The role column is a user defined combo box that allows for customization of types and behavior.  See <roles>.  Addition columns can be added by simply adding a <column> tag with a widget.  See tables.  When exporting you can use the #object or #role keyword for retrieving data from those particular columns.
| info      = Table like widget that allows for multiple points, polygons, or arcs to be joined together as a set.  An example usage would be to join two arcs in creating a weir.  By default the <control_set> contains two columns, object and role.  The object column identifies the arc, point, or poly id.  The role column is a user defined combo box that allows for customization of types and behavior.  See <roles>.  Addition columns can be added by simply adding a <column> tag with a widget.  See tables.  When exporting you can use the #object or #role keyword for retrieving data from those particular columns.
Line 645: Line 624:


{{XML entry
{{XML entry
| type      = Element
| name      = control_velocity
| name      = control_velocity
| info      = Displays an edit box and combo box.  Combo box can contain m/sec, m/min, m/hours, etc....  Also could be m/sec, cm/sec, ft/sec, etc...  The option tag specifies which options are displayed.  The edit box will display doubles, within the given range, if provided.  Possible outputs are value and units.
| info      = Displays an edit box and combo box.  Combo box can contain m/sec, m/min, m/hours, etc....  Also could be m/sec, cm/sec, ft/sec, etc...  The option tag specifies which options are displayed.  The edit box will display doubles, within the given range, if provided.  Possible outputs are value and units.
Line 679: Line 657:


{{XML entry
{{XML entry
| type      = Element
| name      = control_volume_flow
| name      = control_volume_flow
| info      = Displays an edit box and combo box.  Combo box can contain m^3/sec, m^3/min, m^3/hours, etc....  Also could be m^3/sec, cm^3/sec, ft^3/sec, etc...  The option tag specifies which options are displayed.  The edit box will display doubles, within the given range, if provided.  Possible outputs are value and units.
| info      = Displays an edit box and combo box.  Combo box can contain m^3/sec, m^3/min, m^3/hours, etc....  Also could be m^3/sec, cm^3/sec, ft^3/sec, etc...  The option tag specifies which options are displayed.  The edit box will display doubles, within the given range, if provided.  Possible outputs are value and units.
Line 706: Line 683:


{{XML entry
{{XML entry
| type      = Element
| name      = count_filter
| name      = count_filter
| info      = Specifies the range on which the process_on_count is valid.
| info      = Specifies the range on which the process_on_count is valid.
Line 716: Line 692:
}}
}}


===D - H===
===Elements D - H===
{{XML entry
{{XML entry
| type      = Element
| name      = dataset_name
| name      = dataset_name
| info      = Determines the name of the dataset to be created.  Uses the standard printf and sprintf format ([http://www.cplusplus.com/reference/clibrary/cstdio/printf/ www.cplusplus.com/reference/clibrary/cstdio/printf/]).  The keywords #row_number, #column_number, #row_name, and #column_name are used when the dataset is in a table.
| info      = Determines the name of the dataset to be created.  Uses the standard printf and sprintf format ([http://www.cplusplus.com/reference/clibrary/cstdio/printf/ www.cplusplus.com/reference/clibrary/cstdio/printf/]).  The keywords #row_number, #column_number, #row_name, and #column_name are used when the dataset is in a table.
Line 733: Line 708:


{{XML entry
{{XML entry
| type      = Element
| name      = declare_coverage
| name      = declare_coverage
| info      = Defines a coverage type for the model.
| info      = Defines a coverage type for the model.
Line 763: Line 737:


{{XML entry
{{XML entry
| type      = Element
| name      = declare_dialogs
| name      = declare_dialogs
| info      = Contains all the dialogs used in a model.
| info      = Contains all the dialogs used in a model.
Line 774: Line 747:


{{XML entry
{{XML entry
| type      = Element
| name      = declare_dialog
| name      = declare_dialog
| info      = Used to define a dialog.  
| info      = Used to define a dialog.  
Line 787: Line 759:


{{XML entry
{{XML entry
| type      = Element
| name      = declare_file
| name      = declare_file
| info      = A way to declare a file that will be used in the future.
| info      = A way to declare a file that will be used in the future.
Line 798: Line 769:


{{XML entry
{{XML entry
| type      = Element
| name      = declare_pages
| name      = declare_pages
| info      = Signals the beginning of page creation for a dialog.  One or more pages may be created using declare_page.
| info      = Signals the beginning of page creation for a dialog.  One or more pages may be created using declare_page.
Line 818: Line 788:


{{XML entry
{{XML entry
| type      = Element
| name      = declare_page
| name      = declare_page
| info      = This defines the page or tab of a dialog. If there is only one page_def in a dialog, then no tabs will appear.
| info      = This defines the page or tab of a dialog. If there is only one page_def in a dialog, then no tabs will appear.
Line 829: Line 798:


{{XML entry
{{XML entry
| type      = Element
| name      = declare_parameter
| name      = declare_parameter
| info      = A way to declare data that will be used in the future.
| info      = A way to declare data that will be used in the future.
Line 840: Line 808:


{{XML entry
{{XML entry
| type      = Element
| name      = dependency
| name      = dependency
| info      = Dependencies allow widgets to be hidden, dimmed (grayed out), or shown based on the state/value of another widget.  The [[SMS:Dynamic Model Interface Schema#Element <dependency>|<dependency>]] tag can be placed in any widget, combo-box option, item, or group.  A user needs to specify the condition that this object is dependent upon and what the value(s) need(s) to be in order for the object to be shown/not dimmed.  If the condition is false, by default the control is hidden.  To have the control dimmed, use the [[SMS:Dynamic Model Interface Schema#Element <dim>|<dim>]] tag.
| info      = Dependencies allow widgets to be hidden, dimmed (grayed out), or shown based on the state/value of another widget.  The [[SMS:Dynamic Model Interface Schema#Element <dependency>|<dependency>]] tag can be placed in any widget, combo-box option, item, or group.  A user needs to specify the condition that this object is dependent upon and what the value(s) need(s) to be in order for the object to be shown/not dimmed.  If the condition is false, by default the control is hidden.  To have the control dimmed, use the [[SMS:Dynamic Model Interface Schema#Element <dim>|<dim>]] tag.
Line 877: Line 844:


{{XML entry
{{XML entry
| type      = Element
| name      = display_options
| name      = display_options
| info      = Specifies that the options in the combo box are to be used as arc/nodestring boundary condition display options.  This element should only be used once in a combo_box and once in a edit_box per dialog.
| info      = Specifies that the options in the combo box are to be used as arc/nodestring boundary condition display options.  This element should only be used once in a combo_box and once in a edit_box per dialog.
Line 894: Line 860:


{{XML entry
{{XML entry
| type      = Element
| name      = dynamic_model
| name      = dynamic_model
| info      = Used to define a dynamic model.
| info      = Used to define a dynamic model.
Line 906: Line 871:


{{XML entry
{{XML entry
| type      = Element
| name      = edit_box
| name      = edit_box
| info      = Widget that displays text or numbers.  If [[SMS:Dynamic Model Interface Schema#Element <type>|<type>]] not specified, default to double. The type can also be text, or integer.
| info      = Widget that displays text or numbers.  If [[SMS:Dynamic Model Interface Schema#Element <type>|<type>]] not specified, default to double. The type can also be text, or integer.
Line 927: Line 891:


{{XML entry
{{XML entry
| type      = Element
| name      = end_card
| name      = end_card
| info      = Defines that the card end with a single iteration of the enclosing <process_each_XXX>
| info      = Defines that the card end with a single iteration of the enclosing <process_each_XXX>
Line 938: Line 901:


{{XML entry
{{XML entry
| type      = Element
| name      = executable
| name      = executable
| info      = Represents a single executable used by the model.
| info      = Represents a single executable used by the model.
Line 1,005: Line 967:


{{XML entry
{{XML entry
| type      = Element
| name      = executable_command
| name      = executable_command
| info      = Defined command line arguments for the executable.
| info      = Defined command line arguments for the executable.
Line 1,016: Line 977:


{{XML entry
{{XML entry
| type      = Element
| name      = executable_progress_update
| name      = executable_progress_update
| info      = Updates the status bar of the model based on output from the model.
| info      = Updates the status bar of the model based on output from the model.
Line 1,036: Line 996:


{{XML entry
{{XML entry
| type      = Element
| name      = execute
| name      = execute
| info      = Defines when to run an executable. The text of this element is the text that will be displayed as the process name when running the model.
| info      = Defines when to run an executable. The text of this element is the text that will be displayed as the process name when running the model.
Line 1,047: Line 1,006:


{{XML entry
{{XML entry
| type      = Element
| name      = export_format
| name      = export_format
| info      = Placed inside the [[SMS:Dynamic Model Interface Schema#Element <card>|<card>]] to determine how the card format will be displayed when exporting to a text file.  Uses the standard printf and sprintf format (www.cplusplus.com/reference/clibrary/cstdio/printf/).  “#card_name” should be used when displaying the card.  When using an element that starts with “custom_control”, a user can use the # character to get to the value or units.
| info      = Placed inside the [[SMS:Dynamic Model Interface Schema#Element <card>|<card>]] to determine how the card format will be displayed when exporting to a text file.  Uses the standard printf and sprintf format (www.cplusplus.com/reference/clibrary/cstdio/printf/).  “#card_name” should be used when displaying the card.  When using an element that starts with “custom_control”, a user can use the # character to get to the value or units.
Line 1,092: Line 1,050:


{{XML entry
{{XML entry
| type      = Element
| name      = export_group
| name      = export_group
| info      = A way of grouping optional exports.
| info      = A way of grouping optional exports.
Line 1,104: Line 1,061:


{{XML entry
{{XML entry
| type      = Element
| name      = export_location
| name      = export_location
| info      = Relative or absolute path of the export file (.cmcards).  Can be used multiple times if exporting to more than 1 file location. Keywords can be #PROJECT_NAME and #GEOMETRY.
| info      = Relative or absolute path of the export file (.cmcards).  Can be used multiple times if exporting to more than 1 file location. Keywords can be #PROJECT_NAME and #GEOMETRY.
Line 1,120: Line 1,076:


{{XML entry
{{XML entry
| type      = Element
| name      = export_optional
| name      = export_optional
| info      = Indicator of text that might be included. If it has default as a child, then SMS will write out the text included in this element.
| info      = Indicator of text that might be included. If it has default as a child, then SMS will write out the text included in this element.
Line 1,132: Line 1,087:


{{XML entry
{{XML entry
| type      = Element
| name      = files
| name      = files
| info      =  
| info      =  
Line 1,143: Line 1,097:


{{XML entry
{{XML entry
| type      = Element
| name      = group
| name      = group
| info      = Tree group item that contains one or more items or groups.   
| info      = Tree group item that contains one or more items or groups.   
Line 1,158: Line 1,111:
}}
}}


===I - O===
===Elements I - O===
{{XML entry
{{XML entry
| type      = Element
| name      = input_file
| name      = input_file
| info      = Defines a file to be used for input for an executable.
| info      = Defines a file to be used for input for an executable.
Line 1,171: Line 1,123:


{{XML entry
{{XML entry
| type      = Element
| name      = input_files
| name      = input_files
| info      = A container to place all of the input files into for a simulation.
| info      = A container to place all of the input files into for a simulation.
Line 1,182: Line 1,133:


{{XML entry
{{XML entry
| type      = Element
| name      = item
| name      = item
| info      = Tree item contains one or more widgets ([[SMS:Dynamic Model Interface Schema#Element <combo_box>|combo_box]], [[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]], [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]], etc).  A tree item can contain multiple cards (version 1), but those cards must be mutually exclusive.   
| info      = Tree item contains one or more widgets ([[SMS:Dynamic Model Interface Schema#Element <combo_box>|combo_box]], [[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]], [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]], etc).  A tree item can contain multiple cards (version 1), but those cards must be mutually exclusive.   
Line 1,197: Line 1,147:


{{XML entry
{{XML entry
| type      = Element
| name      = location
| name      = location
| info      = Used to specify which point locations to export.  Point locations are defined as: “corner”, “mid”, “center”, “disjoint” and “all”.  Point locations can have a slightly different meaning based on their context as described below.
| info      = Used to specify which point locations to export.  Point locations are defined as: “corner”, “mid”, “center”, “disjoint” and “all”.  Point locations can have a slightly different meaning based on their context as described below.
Line 1,276: Line 1,225:


{{XML entry
{{XML entry
| type      = Element
| name      = material_att
| name      = material_att
| info      = Used to specify what attributes should be used for materials of a coverage.
| info      = Used to specify what attributes should be used for materials of a coverage.
Line 1,287: Line 1,235:


{{XML entry
{{XML entry
| type      = Element
| name      = max_rows
| name      = max_rows
| info      = Optional element used to limit the number of rows the user can specify in a control_curve.  If this element is not used, the max_rows is unlimited.
| info      = Optional element used to limit the number of rows the user can specify in a control_curve.  If this element is not used, the max_rows is unlimited.
Line 1,310: Line 1,257:


{{XML entry
{{XML entry
| type      = Element
| name      = menu_item
| name      = menu_item
| info      = Item to be placed in a menu. The text is the text displayed in the menu, use_dialog describes the dialog to be launched, dependency describes what needs to be true in order for the menu item to appear.
| info      = Item to be placed in a menu. The text is the text displayed in the menu, use_dialog describes the dialog to be launched, dependency describes what needs to be true in order for the menu item to appear.
Line 1,324: Line 1,270:


{{XML entry
{{XML entry
| type      = Element
| name      = msg
| name      = msg
| info      = Used to display text to the user when a model check condition has failed.
| info      = Used to display text to the user when a model check condition has failed.
Line 1,348: Line 1,293:


{{XML entry
{{XML entry
| type      = Element
| name      = model
| name      = model
| info      = Defines the model interface that is being created.
| info      = Defines the model interface that is being created.
Line 1,375: Line 1,319:


{{XML entry
{{XML entry
| type      = Element
| name      = model_check
| name      = model_check
| info      = Used to validate data of multiple combinations when the '''OK''' button is clicked.  Displays an error message if the logic in the [[SMS:Dynamic Model Interface Schema#Element <condition>|<condition>]] is false.  Can use AND, OR, LESS_THAN, GREATER_THAN, EQUALS and NOT.
| info      = Used to validate data of multiple combinations when the '''OK''' button is clicked.  Displays an error message if the logic in the [[SMS:Dynamic Model Interface Schema#Element <condition>|<condition>]] is false.  Can use AND, OR, LESS_THAN, GREATER_THAN, EQUALS and NOT.
Line 1,401: Line 1,344:


{{XML entry
{{XML entry
| type      = Element
| name      = model_checks
| name      = model_checks
| info      = Contains all model checks
| info      = Contains all model checks
Line 1,432: Line 1,374:


{{XML entry
{{XML entry
| type      = Element
| name      = new_line
| name      = new_line
| info      = Creates a new line before adding the next widget in a tree item.  
| info      = Creates a new line before adding the next widget in a tree item.  
Line 1,456: Line 1,397:


{{XML entry
{{XML entry
| type      = Element
| name      = option
| name      = option
| info      = Widget that displays list of options.  Only 1 can be selected.
| info      = Widget that displays list of options.  Only 1 can be selected.
Line 1,480: Line 1,420:


{{XML entry
{{XML entry
| type      = Element
| name      = output_file
| name      = output_file
| info      = Defines a file to be created by the executable.
| info      = Defines a file to be created by the executable.
Line 1,491: Line 1,430:


{{XML entry
{{XML entry
| type      = Element
| name      = output_files
| name      = output_files
| info      = A container to place all of the output files into for a simulation.  
| info      = A container to place all of the output files into for a simulation.  
Line 1,501: Line 1,439:
}}
}}


===P - S===
===Elements P - S===
{{XML entry
{{XML entry
| type      = Element
| name      = page_def
| name      = page_def
| info      = This defines the page or tab of a dialog. If there is only one page_def in a dialog, then no tabs will appear.  
| info      = This defines the page or tab of a dialog. If there is only one page_def in a dialog, then no tabs will appear.  
Line 1,515: Line 1,452:


{{XML entry
{{XML entry
| type      = Element
| name      = point_att
| name      = point_att
| info      = Used to specify what attributes should be used for the points of a coverage.   
| info      = Used to specify what attributes should be used for the points of a coverage.   
Line 1,526: Line 1,462:


{{XML entry
{{XML entry
| type      = Element
| name      = polygon_att
| name      = polygon_att
| info      = Used to specify what attributes should be used for the polygon of a coverage.  
| info      = Used to specify what attributes should be used for the polygon of a coverage.  
Line 1,537: Line 1,472:


{{XML entry
{{XML entry
| type      = Element
| name      = process_each_arc
| name      = process_each_arc
| info      = Indicator to loop through each arc in the given context.  
| info      = Indicator to loop through each arc in the given context.  
Line 1,552: Line 1,486:


{{XML entry
{{XML entry
| type      = Element
| name      = process_each_coverage
| name      = process_each_coverage
| info      = Indicator to loop through each coverage in the given context.
| info      = Indicator to loop through each coverage in the given context.
Line 1,567: Line 1,500:


{{XML entry
{{XML entry
| type      = Element
| name      = process_each_material
| name      = process_each_material
| info      = Indicator to loop through each material in the given context.
| info      = Indicator to loop through each material in the given context.
Line 1,582: Line 1,514:


{{XML entry
{{XML entry
| type      = Element
| name      = process_each_neighbor
| name      = process_each_neighbor
| info      = Indicator to loop through each neighbor in the given context.
| info      = Indicator to loop through each neighbor in the given context.
Line 1,602: Line 1,533:


{{XML entry
{{XML entry
| type      = Element
| name      = process_each_point
| name      = process_each_point
| info      = Indicator to loop through each point in the given context.
| info      = Indicator to loop through each point in the given context.
Line 1,618: Line 1,548:


{{XML entry
{{XML entry
| type      = Element
| name      = process_each_polygon
| name      = process_each_polygon
| info      = Indicator to loop through each polygon in the given context.  
| info      = Indicator to loop through each polygon in the given context.  
Line 1,633: Line 1,562:


{{XML entry
{{XML entry
| type      = Element
| name      = process_each_row
| name      = process_each_row
| info      = Indicator to loop through each row in a table.  Has the widget attribute that must be used. The widget attribute needs to be set to the name of a widget which belongs to the table to be iterated through. To iterate through the rows of a curve widget, use the name of the curve widget and a keyword, such as “#x”.
| info      = Indicator to loop through each row in a table.  Has the widget attribute that must be used. The widget attribute needs to be set to the name of a widget which belongs to the table to be iterated through. To iterate through the rows of a curve widget, use the name of the curve widget and a keyword, such as “#x”.
Line 1,649: Line 1,577:


{{XML entry
{{XML entry
| type      = Element
| name      = process_on_condition
| name      = process_on_condition
| info      = Indicator to perform a certain action only if the condition is satisfied.
| info      = Indicator to perform a certain action only if the condition is satisfied.
Line 1,660: Line 1,587:


{{XML entry
{{XML entry
| type      = Element
| name      = process_on_count
| name      = process_on_count
| info      = Indicator to perform a certain action only on certain iterations of a loop.
| info      = Indicator to perform a certain action only on certain iterations of a loop.
Line 1,671: Line 1,597:


{{XML entry
{{XML entry
| type      = Element
| name      = push_button
| name      = push_button
| info      = The button to be used for a control_dataset.  Can be SELECT, CREATE, or DELETE.  
| info      = The button to be used for a control_dataset.  Can be SELECT, CREATE, or DELETE.  
Line 1,682: Line 1,607:


{{XML entry
{{XML entry
| type      = Element
| name      = range
| name      = range
| info      = Determines the range of acceptable values in an [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]].  Can use the keywords GREATER_THAN, GREATER_THAN_EQUALS, LESS_THAN and LESS_THAN_EQUALS. Numbers assumed inclusive unless otherwise specified.
| info      = Determines the range of acceptable values in an [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]].  Can use the keywords GREATER_THAN, GREATER_THAN_EQUALS, LESS_THAN and LESS_THAN_EQUALS. Numbers assumed inclusive unless otherwise specified.
Line 1,710: Line 1,634:


{{XML entry
{{XML entry
| type      = Element
| name      = required
| name      = required
| info      = Used to indicate that something from the exported group must be used.  
| info      = Used to indicate that something from the exported group must be used.  
Line 1,721: Line 1,644:


{{XML entry
{{XML entry
| type      = Element
| name      = role
| name      = role
| info      = A single entry in a combo box option for <roles>.  Used to define the displayed text and range.  The range specifies how many objects that can have this role.   
| info      = A single entry in a combo box option for <roles>.  Used to define the displayed text and range.  The range specifies how many objects that can have this role.   
Line 1,747: Line 1,669:


{{XML entry
{{XML entry
| type      = Element
| name      = roles
| name      = roles
| info      = Defines the behavior of each role.
| info      = Defines the behavior of each role.
Line 1,773: Line 1,694:


{{XML entry
{{XML entry
| type      = Element
| name      = row
| name      = row
| info      = Typically you would only use row if you had a fixed table and wanted to display row text or to specify specific rows as read only.  Row tags are placed inside a [[SMS:Dynamic Model Interface Schema#Element < table >|< table >]].  
| info      = Typically you would only use row if you had a fixed table and wanted to display row text or to specify specific rows as read only.  Row tags are placed inside a [[SMS:Dynamic Model Interface Schema#Element < table >|< table >]].  
Line 1,791: Line 1,711:


{{XML entry
{{XML entry
| type      = Element
| name      = separator
| name      = separator
| info      = Determines how to separate text that is being exported into a text file.
| info      = Determines how to separate text that is being exported into a text file.
Line 1,802: Line 1,721:


{{XML entry
{{XML entry
| type      = Element
| name      = simulation
| name      = simulation
| info      = The simulation object that represents what will run and be exported upon launching a model.  There can only be one per model.
| info      = The simulation object that represents what will run and be exported upon launching a model.  There can only be one per model.
Line 1,813: Line 1,731:


{{XML entry
{{XML entry
| type      = Element
| name      = snap
| name      = snap
| info      = Snaps the arc, point or polygon in a coverage to the underlying geometry (mesh, grid, etc) that is defined by the [[SMS:Dynamic Model Interface Schema#Element <declare_coverage>|<declare_coverage>]] bind_to attribute  
| info      = Snaps the arc, point or polygon in a coverage to the underlying geometry (mesh, grid, etc) that is defined by the [[SMS:Dynamic Model Interface Schema#Element <declare_coverage>|<declare_coverage>]] bind_to attribute  
Line 1,840: Line 1,757:


{{XML entry
{{XML entry
| type      = Element
| name      = snap_exterior
| name      = snap_exterior
| info      = Snaps the arc, point or polygon in a coverage to the closest exterior point, arc, or polygon of the underlying geometry.
| info      = Snaps the arc, point or polygon in a coverage to the closest exterior point, arc, or polygon of the underlying geometry.
Line 1,851: Line 1,767:


{{XML entry
{{XML entry
| type      = Element
| name      = snap_interior
| name      = snap_interior
| info      = Snaps the arc, point or polygon in a coverage to the closest interior point, arc, or polygon of the underlying geometry.
| info      = Snaps the arc, point or polygon in a coverage to the closest interior point, arc, or polygon of the underlying geometry.
Line 1,861: Line 1,776:
}}
}}


===T - Z===
===Elements T - Z===
{{XML entry
{{XML entry
| type      = Element
| name      = table
| name      = table
| info      = Table widget with columns and rows.  Will most likely have multiple column and row tags (version 3).  Using the attribute fixed_row_count  means that the user can’t add or delete rows.  Not using the fixed_row_count , an insert and delete button will be included at the bottom of the table.
| info      = Table widget with columns and rows.  Will most likely have multiple column and row tags (version 3).  Using the attribute fixed_row_count  means that the user can’t add or delete rows.  Not using the fixed_row_count , an insert and delete button will be included at the bottom of the table.
Line 1,885: Line 1,799:


{{XML entry
{{XML entry
| type      = Element
| name      = take_coverage
| name      = take_coverage
| info      = Represents a coverage that can be taken in the project explorer.
| info      = Represents a coverage that can be taken in the project explorer.
Line 1,896: Line 1,809:


{{XML entry
{{XML entry
| type      = Element
| name      = take_mesh2d
| name      = take_mesh2d
| info      = Represents a coverage that can be taken in the project explorer.
| info      = Represents a coverage that can be taken in the project explorer.
Line 1,907: Line 1,819:


{{XML entry
{{XML entry
| type      = Element
| name      = takes
| name      = takes
| info      = Represents what can be dragged under another object in the project explorer.  
| info      = Represents what can be dragged under another object in the project explorer.  
Line 1,940: Line 1,851:


{{XML entry
{{XML entry
| type      = Element
| name      = text_box
| name      = text_box
| info      = Widget that displays text that is not editable.  
| info      = Widget that displays text that is not editable.  
Line 1,954: Line 1,864:


{{XML entry
{{XML entry
| type      = Element
| name      = text_size
| name      = text_size
| info      = Sets the point size of the text. Ranges from 8 to 20. Added in SMS 11.2.  
| info      = Sets the point size of the text. Ranges from 8 to 20. Added in SMS 11.2.  
Line 1,973: Line 1,882:


{{XML entry
{{XML entry
| type      = Element
| name      = text_style
| name      = text_style
| info      = Holds the style options for the text. Added in SMS 11.2.
| info      = Holds the style options for the text. Added in SMS 11.2.
Line 1,991: Line 1,899:


{{XML entry
{{XML entry
| type      = Element
| name      = title_format
| name      = title_format
| info      = This indicates what the title of an object in an h5 file is. Uses the standard printf and sprintf format ([www.cplusplus.com/reference/clibrary/cstdio/printf/ www.cplusplus.com/reference/clibrary/cstdio/printf/]). Works the same as [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]].
| info      = This indicates what the title of an object in an h5 file is. Uses the standard printf and sprintf format ([www.cplusplus.com/reference/clibrary/cstdio/printf/ www.cplusplus.com/reference/clibrary/cstdio/printf/]). Works the same as [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]].
Line 2,002: Line 1,909:


{{XML entry
{{XML entry
| type      = Element
| name      = unique_link_name
| name      = unique_link_name
| info      = A unique name given to a link when using link_to_xml. This is needed to identify the unique_name elements from the file, especially when a linked to XML file is used multiple times.  Hence, when using link_to_xml, this tag is required.  No spaces or punctuation are allowed in the name.   
| info      = A unique name given to a link when using link_to_xml. This is needed to identify the unique_name elements from the file, especially when a linked to XML file is used multiple times.  Hence, when using link_to_xml, this tag is required.  No spaces or punctuation are allowed in the name.   
Line 2,013: Line 1,919:


{{XML entry
{{XML entry
| type      = Element
| name      = update_text
| name      = update_text
| info      = Used to match the output text from a model to determine the progress amount.
| info      = Used to match the output text from a model to determine the progress amount.
Line 2,031: Line 1,936:


{{XML entry
{{XML entry
| type      = Element
| name      = use_coverage
| name      = use_coverage
| info      = Use a coverage that has previously been defined in the attribute type in <declare_coverage>
| info      = Use a coverage that has previously been defined in the attribute type in <declare_coverage>
Line 2,042: Line 1,946:


{{XML entry
{{XML entry
| type      = Element
| name      = use_file_def
| name      = use_file_def
| info      = A way to access file data that has been previously declared with <declare_file_def>.
| info      = A way to access file data that has been previously declared with <declare_file_def>.
Line 2,053: Line 1,956:


{{XML entry
{{XML entry
| type      = Element
| name      = use_parameter
| name      = use_parameter
| info      = A way to access file data that has been previously declared with <declare_parameter>.
| info      = A way to access file data that has been previously declared with <declare_parameter>.
Line 2,064: Line 1,966:


{{XML entry
{{XML entry
| type      = Element
| name      = x_column
| name      = x_column
| info      = Used to define the attributes in the x column such as text (heading).
| info      = Used to define the attributes in the x column such as text (heading).
Line 2,087: Line 1,988:


{{XML entry
{{XML entry
| type      = Element
| name      = xmdf_data
| name      = xmdf_data
| info      = Writes data to the XMDF file. The attributes rows, columns and layers indicate what information should be written for each row, column or layer respectively. By default, the attributes are set to “#specified”.  If no attributes are set then each export_format will be assumed to be a new row. The attribute columns can only be set if the rows attribute is set. The attribute layers can only be set if both the rows attribute and the columns attribute is set. The datatype attribute can be set to “float”, “double”, “integer”, or “text”. If the datatype attribute is not set or is set to “text” then export_format can be used. Otherwise, only export can be used. If more than 1 dimension is used, then the datatype cannot be “text”. If 3 dimensions are used, then the datatype cannot be “integer”.  
| info      = Writes data to the XMDF file. The attributes rows, columns and layers indicate what information should be written for each row, column or layer respectively. By default, the attributes are set to “#specified”.  If no attributes are set then each export_format will be assumed to be a new row. The attribute columns can only be set if the rows attribute is set. The attribute layers can only be set if both the rows attribute and the columns attribute is set. The datatype attribute can be set to “float”, “double”, “integer”, or “text”. If the datatype attribute is not set or is set to “text” then export_format can be used. Otherwise, only export can be used. If more than 1 dimension is used, then the datatype cannot be “text”. If 3 dimensions are used, then the datatype cannot be “integer”.  
Line 2,112: Line 2,012:


{{XML entry
{{XML entry
| type      = Element
| name      = xmdf_dataset
| name      = xmdf_dataset
| info      = Writes out all of the data of a dataset in an SMS friendly format to an xmdf file. The attribute null_value is optional. If used, it specifies a numeric value that will be treated by the model as inactive. By default, SMS will write an activity array. The attribute location specifies where data should be taken from. The attribute widget specifies to only write the dataset referenced by the named widget. If no title_format is used, then the name of the dataset will be used.
| info      = Writes out all of the data of a dataset in an SMS friendly format to an xmdf file. The attribute null_value is optional. If used, it specifies a numeric value that will be treated by the model as inactive. By default, SMS will write an activity array. The attribute location specifies where data should be taken from. The attribute widget specifies to only write the dataset referenced by the named widget. If no title_format is used, then the name of the dataset will be used.
Line 2,128: Line 2,027:


{{XML entry
{{XML entry
| type      = Element
| name      = xmdf_dimension
| name      = xmdf_dimension
| info      =  
| info      =  
Line 2,139: Line 2,037:


{{XML entry
{{XML entry
| type      = Element
| name      = xmdf_geometry
| name      = xmdf_geometry
| info      = Writes a geometric object in an SMS friendly format to an XMDF file. Different geometric types will be written differently from each other. If no title_format is used, then the name of the geometry will be used.
| info      = Writes a geometric object in an SMS friendly format to an XMDF file. Different geometric types will be written differently from each other. If no title_format is used, then the name of the geometry will be used.
Line 2,150: Line 2,047:


{{XML entry
{{XML entry
| type      = Element
| name      = xmdf_group
| name      = xmdf_group
| info      = Writes an XMDF group to the xmdf file. A title_format must be used. The group_type attribute must be used.
| info      = Writes an XMDF group to the xmdf file. A title_format must be used. The group_type attribute must be used.
Line 2,161: Line 2,057:


{{XML entry
{{XML entry
| type      = Element
| name      = y_column
| name      = y_column
| info      = Used to define the attributes in the y column such as text (heading).
| info      = Used to define the attributes in the y column such as text (heading).

Revision as of 19:18, 21 August 2015


The dynamic model interface is available in SMS version 11.2 and later. It is primarily a tool for developers. The dynamic model interface provides a way to quickly generate an interface for a numeric model.

Dynamic Dialogs

Dynamic dialogs are a quick way to generate dialogs without having to compile code. To add or delete a widget on a dynamic dialog, the user simply modifies the XML document. When the modified document is loaded, the new/modified dialog exists. The XML document defines the layout, behavior and the different dialog controls.

The dialog is divided into 2 sections: the tree view and the widget view. The tree is on the left side of the dialog and contains groups and items that represent data. Clicking on a group or item will result in the widget view being updated to match the selected tree or group item.

  • Order of the tree items and groups will match the order defined in the XML file.
  • Clicking on group will display all children items in the widget view.
  • Clicking on a single item will display associated widgets in widget view.
  • Tree item will also display the values in a non-editable field.
  • Unique_name use format: file::unique_name#value
  • Multiple widgets, when displayed on the right side, can be expanded/collapsed.
  • Can have nested groups.
  • Keywords are words SMS has reserved in the schema and can not be used as unique names. All keywords will start with a “#”.

Available Keywords

This is a list of available keywords. Additional keywords are defined with the various custom control widgets. Note that in changing from version 1 to version 2, all tags that were <custom_control_XXXX> were changed to <control_XXXX>.

General Keywords

    #card_name
    #geom_name – name of geometry as it shows up in the project explorer
    #project_name
    #value
    #units
    #xmdf_path – path inside the XMDF file
    #file_name
    #file_path
    #sms_path – path in sms project explorer once inside a geometric item
    #count (used for a widget in a table for counting the rows/columns)
    #geom_guid

Arc Keywords

    #arc_id
    #arc_count
    #arc_point_count

Coverage Keywords

    #area_property
    #activity_classification
    #cgrid_generator
    #location
    #mapping
    #mesh_generator
    #observation
    #quadtree_generator
    #spectral

executable_progress_update Keywords

    #progress_amount
    #progress_max

Material Keywords

    #material_id
    #material_name
    #material_count
    #unassigned

Point Keywords

    #point_count
    #point_id
    #point_x
    #point_y
    #point_z

Polygon Keywords

    #polygon_id
    #polygon_count
    #polygon_point_count

Projection Keywords

    #horizontal_datum: NAD83|NAD27|LOCAL
    #horizontal_system: UTM|STATE_PLANE|GEOGRAPHIC|LOCAL
    #horizontal_units: FEET|METERS|DEGREES
    #horizontal_zone: 3104 etc
    #vertical_datum
    #vertical_units

Elements

Sorted alphabetically by element name.

Elements A - C

<arc_att>
Info: Used to specify what attributes should be used for the arcs of a coverage.
Version(s): 2
Attributes: none
Children: menu_item, snap
Used by: declare_coverage
Example:

<attribute_set>
Info: This represents an item in the project explorer that is some sort of grouping.
Version(s): 4
Attributes: none
Children: takes, menu_item
Used by: model
Example: See the model example.

<card>
Info: Determines the card name and format when the item is exported. For more examples see <export_format>.
Version(s): 1
Attributes: none
Children: card_name, export_format, export_location, dependency, anything beginning with “process_each_”, export_group, export_optional, use_paramter.
Used by: item (version 1), file_def (version 2)
Example: <item text = “Formulation”>
   <card>
         <card_name>FORMULATION</card_name>
         <export_format>card "formulationUnits"</export_format>
   </card>

<card_name>
Info: The name of the card which is used in the card file.
Version(s): 1
Attributes: none
Children: none
Used by: card
Example:

<check_box>
Info: Widget that displays text that is checked/unchecked.
Version(s): 1
Attributes: default,

export_text_checked, export_text_unchecked, text, unique_name.

Children: dependency, text_style
Used by: item
Example: <check_box text = “Calculate Sediment Transport”
                     default = “checked”
                     unique_name = “togCalcSedimentTransport”  
                     export_text_checked = “ON”    
                     export_text_unchecked = “OFF”>
    <dependency>…</dependency>…
</ check_box >

<color>
Info: The color of an item, expressed in red, green, and blue values ranging from 0 to 255. All 0 values for red, green and blue are black. Added in SMS 11.2.
Version(s): 1
Attributes: red,

green, blue

Children: none
Used by: text_style
Example: This would change the text to a bright red color.
<text_style>                       	
   <color red = “255” green=”0” blue=”0”></color>
<text_style>

<column>
Info: Definition of the column in the table. A widget defined in a column will be the widget used for each cell in the column.
Version(s): 1
Attributes: text, read_only,

optional

Children: dependency, text_box, combo_box, edit_box, all elements starting with “control_”, check_box
Used by: table
Example: Column1 is read only, Column 2 isn't read only and is also optional.
This means the column can have empty fields and a warning message won't be displayed.
 < table >

    . . .
   <column   text = “Column1”  read_only>
  </column>
  < column   text = “Column2    optional></ column>

<combo_box>
Info: Widget that displays list of options. Only 1 can be selected. If no default is specified and the optional tag is present, then an empty option will be added to the combo box. If there is no default tag, and no optional tag, then the first item will be default.

In version 2, if a combo box has display_options, and is part of a dialog that is used as an arc attribute, then a limited set of display options will appear for the options of the combo box. The display option for each option of the combo box will only be line thickness and color. The display option is NOT saved at any point and will be reset every time SMS is opened.

Version(s): 1
Attributes: optional, unique_name, default
Children: option, optional, dependency, text_style, display_options (version 2)
Used by: item, row, column
Example: Creates a combo box with hours, minutes and seconds. Hours is the default item.
<combo_box  unique_name=”cbxTransportUnits”>                      	
   <option  text = “hours”  default></option>
   <option  text = “minutes”></option>
 <option  text = “seconds”></option>
 <dependency>…</dependency>…
</ combo_box >

<command_args>
Info: Defines the command line arguments to run a particular executable.
Version(s): 3
Attributes: use_file
Children: none
Used by: executable_command
Example: See executable example.

<comment>
Info: Defines a character or sequence of characters that defines the start of a comment on a line. Comments are always terminated by an end of line.
Version(s): 2
Attributes: none
Children: none
Used by: use_file_def
Example: The following example has a file where the exclamation point starts the comment.
<file_def>
...
  <comment>!</comment>
…
</file_def>

<condition>
Info: Evaluates two or more objects using GREATER_THAN, GREATER_THAN_EQUALS, LESS_THAN, LESS_THAN_EQUALS, EQUALS, AND, OR, NOT, CHECKED, UNCHECKED, EMPTY. If condition is not met, then message is displayed (if model_check) or widget is hidden/dimmed (if dependency). String literals, such as an entry in a combo-box, must be enclosed in double-quotes (ex. “Combo box entry”).
Version(s): 1
Attributes: none
Children: none
Used by: model_check, dependency, text_style
Example: < table >
  <column  text=”A”>
     <edit_box    unique_name=”colA”>
     </edit_box>
   </column>
  …// other columns also defined
  
  <model_check problem_text=”Column D or E is required”>
      <condition>( (colA EQUALS 0.0 OR colB LESS_THAN 0.0) AND NOT(colD NOT EQUALS EMPTY OR colE NOT EQUALS “Some value”))</condition>
  </model_check>
< /table >

<contains>
Info: Holds all the groups and items of a group.
Version(s): 2
Attributes: none
Children: group, item
Used by: group
Example:

<control_curve>
Info: Displays a curve push button. When pushed, the xy curve values can be updated and a curve is displayed.
Version(s): 2
Attributes: flags, unique_name, max_row_count
Children: x_column, y_column, dependency
Used by: item, row, column
Example: This example creates a curve limited to 10 rows.
<item>
   <control_curve  unique_name=”myCurve1”
                             max_row_count=”10”
                             flags = “XY_USEDATE”>
       <x_column   text=”Time”></x_column>
       <y_column   text=”Velocity”>				 
       </y_column>	
   </control_curve>
 …

<control_dataset>
Info: Displays an edit box, and push buttons for select, delete and create. Once selected, the dataset string is placed into the edit box. The dataset_type can be scalar or vector. Possible keyword outputs are file_name (which is the name of the dataset without path), geom_name, and file_path (full path c:\somewhere) and sms_path.

By default, all datasets of geometries that are part of the simulation (or part of the parameters if one or more use_parameter is used) can be selected. The the geometry attribute is set to “all”, then the datasets from all geometries currently loaded into SMS can be selected from, regardless of relation to the simulation and assuming no other attribute prevents it. If “all” is used, then the dataset values will be interpolated to the geometry in the simulation.

The time_type attribute can be set to “all” (default), “transient”, or “steady state”. When “transient” is used, only datasets with multiple timesteps may be selected. When “steady state” is used, only timesteps without timesteps may be selected.

The select_time attribute can be set to “all” (default), “single”, or “range”. If “single” is used, then only a single timestep of the dataset will be selected. If “range” is used, then both a starting and ending timestep can be selected. By default, all timesteps of a dataset are used.

(For possible future use.)The interpret_time attribute can be set to “true” or “false” (default). When true, this attribute tells SMS to interpolate dataset values at the timesteps in the selected dataset to values at timesteps calculated from a start time, end time, and delta time that is specified by the user.

Version(s): 1 (<custom_control_XXXX>), 2
Attributes: geometry,

time_type, select_time, interpret_time, unique_name, dataset_type, default, name

Children: push_button, dependency, dataset_name, text_style, use_parameter (version 2), text, export_text
Used by: item, row, column, use_parameter
Example: This example creates the custom control with only the select and delete buttons.
<item>
    <control_dataset   dataset_type=”scalar”>
        <push_button>select<push_button>
        <push_button>delete</push_button>
    </control_dataset>
 …

<control_date>
Info: Displays date and time selector, where a date can be selected.
Possible output is value, which will be the date formatted as specified in SMS preferences.
Possible outputs are year, month, day, hour, minute, second.

Keywords:

  • #DAY_DIGIT
  • #DAY_DIGIT_ZERO
  • #DAYS_IN_YEAR
  • #DAY_SHORT_NAME
  • #DAY_LONG_NAME
  • #MONTH_DIGIT
  • #MONTH_DIGIT_ZERO
  • #MONTH_SHORT_NAME
  • #MONTH_LONG_NAME
  • #YEAR_2
  • #YEAR_4
  • #HOUR
  • #HOUR_ZERO
  • #HOUR_24
  • #HOUR_24_ZERO
  • #MINUTE
  • #MINUTE_ZERO
  • #SECOND
  • #SECOND_ZERO
  • #AM_PM
  • #AM_PM_CAPS
Version(s): 1 (<custom_control_XXXX>), 2
Attributes: unique_name
Children: dependency, text_style
Used by: item, row, column
Example: <item text =”Start date>
   <control_date    unique_name=”edtDate”>
   </control_date>
   <card>
       <card_name>DATE</card_name>
       <export_format>"%s Day:%s Month:%s Year:%s Hour:%s Minute%s Second:%s\n", #card_name, edtDate#DAY_DIGIT, edtDate#MONTH_LONG_NAME, edtDate#YEAR_4, edtDate#HOUR_24, edtDate#MINUTE_ZERO, edtDate#SECOND_ZERO</export_format>
   </card>

<control_density>
Info: Displays an edit box and combo box. Combo box can contain kg/m^3, gr/cm^3, lb/ft^3. Possible outputs are value and units.

Keywords:

  • #MPV_MG_PER_L
  • #MPV_G_PER_L
  • #MPV_KG_PER_CU_M
  • #MPV_G_PER_CU_CM
  • #MPV_LB_PER_CU_FT
Version(s): 1 (<custom_control_XXXX>), 2
Attributes: default, unique_name
Children: option, dependency, range, text_style
Used by: item, row, column
Example: Displays kg/m^3 and lb/ft^3 in combo box. If kg/m^3 selected and exported, returns the text “kg m”.
<item>
   <text>Density </text>
   <control_density>
       <option      text=”kg/m^3”
                         export_text = “kg m”
                         unit_keyword=”#MPV_KG_PER_CU_M”>
       </option>
       <option    text=”lb_ft^3”
                       export_text =”lbs ft”
                       unit_keyword = ”#MPV_LB_PER_CU_FT”>
        </option>
    </control_density>
 …

<control_duration>
Info: Displays an edit box and combo box. Combo box contains days, hours, minutes, seconds. Possible outputs are value and units.

Keywords:

  • #TIME_SECONDS
  • #TIME_MINUTES
  • #TIME_HOURS
  • #TIME_DAYS
  • #TIME_WEEKS
  • #TIME_YEARS
Version(s): 1 (<custom_control_XXXX>), 2
Attributes: default, unique_name
Children: option, dependency, range, text_style
Used by: item, row, column
Example: Displays only minutes and hours in combo box. If hours selected and exported, returns the text “hrs”.
<item  text =“Transport Time Step”>
   <control_duration>
       <option  text=”minutes”
                     export_text = “min”
                     unit_keyword = “#TIME_MINUTES”>
       </option>
       <option  text = “hours”
                     export_text = “hrs”
                     unit_keyword = “#TIME_HOURS”
                     default>
       </option>
   </control_duration>
 …

<control_executable>
Info: Displays a button for running a simulation from a dialog. Unlike the normal simulations found in the project explorer, these simulations are generally hidden from the user. As such, the options that can be used are significantly less than those of a normal simulation.

The model attribute defines the name of the model to be executed. The model may be one that is already defined by another XML file. Dialogs can be specified for data that will be kept for the model, but will not be shown to the user. The simulation and files specified with this control may not be the same as one already specified in another XML file.

Version(s): 3
Attributes: model,

unique_name

Children: option, dependency, range, text_style
Used by: unique_name, dependency, text_style, use_parameter, simulation, dialogs, files
Example: This example declares a control_executable that runs “MyModel”.
<control_executable model = "MyModel"       
                                  unique_name=”exeMyModel”>
  <declare dialogs>
	<declare dialog   name=”Arc BC”>
  	<pages>
    	    <page_def  name=”ArcBC”
      	                        display=”NO_NAV”>
      	       <contains>
        	          <item>
          	             <edit_box   unique_name=”edtMyModelText”>
          	            </edit_box>
        	         </item>
      	       </contains>
    	    </page_def>
  	</pages>
       </dialog>
  </dialogs>
  <simulation>
      <executable name =”MyModel”>
          <use_parameter>HydroFile</use_parameter>
          <execute_command>
             <command_args>" \"%s\"", edtMyModelText</command_args>
             <execute>"%s", #executable_name</execute> 
          </execute_command>
      </executable>
      <input_files>
        <input_file>
             <use_file_def>myFile</use_file_def>
             <export_location>"%s.srhhydro", #project_name</export_location>
             <declare_parameter>HydroFile</declare_parameter>
        <input_file>  
     </input_files>      
  </simulation>
  <files>
      <declare file_def name=MyFile  type=CARD_ASCII>  
           <comment>! this is myfile</comment>
      </declare file_def>
  </files>
 </control_executable>

<control_feature_selector>
Info: Push button that opens a canvas window that allows users to select one or more points, arcs or polygons that are in the main window.
Version(s): 3
Attributes: feature,

unique_name

Children: range
Used by: item, row, column
Example: Allows the user to select 1 to 10 arcs
 <item>
    <control_feature_selector feature = “arc”>
                                     unique_name=”mySelector”>
         <range>1-10</range> 
     </control_feature_selector>
 …

<control_file_selector>
Info: Push button that opens a file open dialog to select files. Possible outputs are file_path.
Version(s): 1 (<custom_control_XXXX>), 2
Attributes: default,

create_file, filter, unique_name

Children: dependency, text_style
Used by: item, row, column
Example: Opens a file dialog, filtering on files with *.h5 and *.cmcards extensions
<item>
   <text>File:</text>
   <control_file_selector
           filter = “Cmcards file (.cmcards)”> 
    </control_file_selector>
…

<control_length>
Info: Displays an edit box and combo box. Combo box can contain meters, cm, mm, um, ft, in. Possible outputs are value and units.

Keywords:

  • #LEN_MM
  • #LEN_CM
  • #LEN_M
  • #LEN_KM
  • #LEN_INCH
  • #LEN_FT
  • #LEN_YD
  • #LEN_MILE
  • #LEN_UM
Version(s): 1 (<custom_control_XXXX>), 2
Attributes: default, unique_name
Children: option, dependency, range, text_style
Used by: item, row, column
Example: Displays only cm, and mm in combo box. If cm is selected and exported, returns the text “centimeter”.
<item   text = “Length”>
   <control_length   unique_name=”myLength”>
       <option>
          text = “cm”
          export_text=”centimeter”
          unit_keyword = “#LEN_CM”>
       </option>
       <option>
          text = “mm”
          export_text = “mm”>
          unit_keyword=”#LEN_MM”
          default
        </option>
    </control_length>
 …

<control_nesting>
Info: Push button that opens a special dialog to create nesting points. The dialog allows the user to select a parent and child grid and a coverage to put the nesting sites in.
Version(s): 3
Attributes: unique_name
Children: dependency
Used by: item, row, column
Example: Creates the nesting dialog widget
<item>
   <control_nesting   unique_name=”ccNesting”>
    </control_nesting>
…

<control_set>
Info: Table like widget that allows for multiple points, polygons, or arcs to be joined together as a set. An example usage would be to join two arcs in creating a weir. By default the <control_set> contains two columns, object and role. The object column identifies the arc, point, or poly id. The role column is a user defined combo box that allows for customization of types and behavior. See <roles>. Addition columns can be added by simply adding a <column> tag with a widget. See tables. When exporting you can use the #object or #role keyword for retrieving data from those particular columns.
Version(s): 3
Attributes: min (default = 0),

max (default = 2.147 billion), increment (default is 1), unique_name

Children: column, roles
Used by: item, row, column
Example: Example of a culvert widget with a extra “Name” column. The culvert requires 2 arcs.
<control_set min = “2” 
                     max = “2”
                     unique_name = “tblSetCulverts”>
      <roles behavior = "SWAP">
	<role   text = “upper”>
 	   <range>1-1</range>
	</role>
	<role  text = “lower”>
 	   <range>1-1</range> 	 
	</role>
       </roles>
       <column   text = “Name”>
	<edit_box  unique_name=”edtMyArcsName”
  	                              type=”text”> 
	</edit_box>
        </column>
</control_set>

User allows for either 2 or 4 arcs on a weir.

<control_set min = “2” max = “4” increment = “2” >
….

<control_velocity>
Info: Displays an edit box and combo box. Combo box can contain m/sec, m/min, m/hours, etc.... Also could be m/sec, cm/sec, ft/sec, etc... The option tag specifies which options are displayed. The edit box will display doubles, within the given range, if provided. Possible outputs are value and units.

Keywords:

  • #VEL_M_PER_S
  • #VEL_KM_PER_H
  • #VEL_FT_PER_S
  • #VEL_MPH
  • #VEL_KNOTS
  • #VEL_CM_PER_S
  • #VEL_MM_PER_S
Version(s): 1 (<custom_control_XXXX>), 2
Attributes: default, unique_name
Children: option, dependency, range, text_style
Used by: item, row, column
Example: Displays m/sec and cm/sec in combo box. If m/sec selected and exported, returns the text “m sec”.
<item>
   <text>Velocity </text>
   <control_velocity    unique_name=”ccVelocity”>
       <range>0-100</range>
       <option  text=”m/sec”
                     export_text = “m sec”
                     unit_keyword = “#VEL_M_PER_S”>
       </option>
       <option   text = “cm/sec”
                      export_text = “cm sec”xt
                      unit_keyword = “#VEL_CM_PER_S”>
        </option>
    </control_velocity>
 …

<control_volume_flow>
Info: Displays an edit box and combo box. Combo box can contain m^3/sec, m^3/min, m^3/hours, etc.... Also could be m^3/sec, cm^3/sec, ft^3/sec, etc... The option tag specifies which options are displayed. The edit box will display doubles, within the given range, if provided. Possible outputs are value and units.
Version(s): 2
Attributes: default,

unique_name

Children: option, dependency, range, text_style
Used by: item, row, column
Example: Displays m^3/sec and cm^3/sec in combo box. If m^3/sec selected and exported, returns the text “m^3 sec”.
<item   text=”Volume flow”>
   <control_volume_flow  unique_name =”ccVolumeFlow”>            
       <range>0-100</range>
       <option
          text = “m^3/sec”
          export_text = ”m^3 sec”
          unit_keyword = “#VFLOW_CU_M_PER_SEC”>
       </option>
       <option
          text = “cm^3/sec”
          export_text = “cm^3 sec”
          unit_keyword = “#VFLOW_CU_CM_PER_SEC”>
        </option>
    </control_volume_flow>
 …

<count_filter>
Info: Specifies the range on which the process_on_count is valid.
Version(s): 2
Attributes: none
Children: none
Used by: process_on_count
Example:

Elements D - H

<dataset_name>
Info: Determines the name of the dataset to be created. Uses the standard printf and sprintf format (www.cplusplus.com/reference/clibrary/cstdio/printf/). The keywords #row_number, #column_number, #row_name, and #column_name are used when the dataset is in a table.
Version(s): 1
Attributes: none
Children: none
Used by: control_dataset
Example: <control_dataset>
    <dataset_name>”Five percent Layer %d”, #row_number</dataset_name>
	…
</control_dataset>

<declare_coverage>
Info: Defines a coverage type for the model.
Version(s): 2
Attributes: z_is_elev,

bind_to, name, use_icon

Children: point_att,

arc_att, polygon_att, material_att, menu_item

Used by: model
Example: This defines a coverage that can be created.
<declare_coverage z_is_elev = “true”   name=”MyCov”>
  <point_att>
    <menu_item  text = “Assign BC…”  use_dialog = “NodeAtt”>
    </menu_item>
  </point_att>
  <arc_att>
   <menu_item  text = “Assign BC…”  use_dialog= “NodestringBC”>
    </menu_item>
  </arc_att>
  <material_att   use_dialog= “MaterialProp”</material_att>
</coverage>

<declare_dialogs>
Info: Contains all the dialogs used in a model.
Version(s): 2
Attributes: none
Children: declare_dialog
Used by: model
Example:

<declare_dialog>
Info: Used to define a dialog.
Version(s): 2
Attributes: name,

help_button_url, help_button_wiki

Children: pages
Used by: dialogs
Example:

<declare_file>
Info: A way to declare a file that will be used in the future.
Version(s): 3
Attributes: name, file_type
Children: comment, identifier, card, export_format, export, process_each_row, process_each_coverage, export_group, process_on_condition, xmdf_group, xmdf_data, xmdf_geometry, xmdf_dataset, section
Used by: files
Example:

<declare_pages>
Info: Signals the beginning of page creation for a dialog. One or more pages may be created using declare_page.
Version(s): 3
Attributes: none
Children: declare_page
Used by: dialog
Example: <declare_dialog name =”Model Control”>
   <declare_pages>
       <declare_page  text=”Page1”>
                ….
       </declare_pagef>
       <declare_page  text =”Page2”>
                ….
       </declare_page>
   </declare_pages>

<declare_page>
Info: This defines the page or tab of a dialog. If there is only one page_def in a dialog, then no tabs will appear.
Version(s): 3
Attributes: text, display
Children: contains
Used by: declare_pages
Example:

<declare_parameter>
Info: A way to declare data that will be used in the future.
Version(s): 3
Attributes: none
Children: none
Used by: input_file, anything beginning with “process_each”, takes
Example:

<dependency>
Info: Dependencies allow widgets to be hidden, dimmed (grayed out), or shown based on the state/value of another widget. The <dependency> tag can be placed in any widget, combo-box option, item, or group. A user needs to specify the condition that this object is dependent upon and what the value(s) need(s) to be in order for the object to be shown/not dimmed. If the condition is false, by default the control is hidden. To have the control dimmed, use the <dim> tag.
Version(s): 1
Attributes: dim
Children: condition
Used by: card, check_box, text_box, combo_box, table, any element that begins with “custom_control”, edit_box, item, group
Example: Example 1

We only want our edit_box displayed if the check_box is checked (true). If check_box is not checked, we want to dim (show but is grayed out) the edit_box.

<check_box  unique_name = “MyBox”>
…

<edit_box>
  <dependency   dim>	
      <condition>MyBox EQUALS CHECKED</condition>
  </dependency>

Example 2 We want our text_box displayed if the edit_box has a value between 0-3 or if the combo box has the value minutes or days.

<edit_box   unique_name=”MyEdit_box”>
…
<combo_box   unique_name = “MyComboBox”>
   <option  text = “hours”></option>
   <option  text =”minutes”></option>
  …


<text_box>
   <dependency>
       <condition>(MyEdit_box GREATER_THAN_EQUALS 0 AND MyEdit_box LESS_THAN_EQUALS 3) OR (MyComboBox EQUALS “minutes” OR MyComboBox EQUALS “days”)</condition>
  </dependency>
</text_box>

<display_options>
Info: Specifies that the options in the combo box are to be used as arc/nodestring boundary condition display options. This element should only be used once in a combo_box and once in a edit_box per dialog.
Version(s): 2
Attributes: type,

text

Children: none
Used by: combo_box
Example: <combo_box unique_name=”cbxArcDeleteMe”>
 <display_options type= "point" text ="Save Points Name"></display_options>
   <option   text=”Hydro”   default></option>
   <option  text=”Sediment”></option>
</combo_box>

<dynamic_model>
Info: Used to define a dynamic model.
Version(s): 1
Attributes: file_type – always “dynamic model”,

version

Children: model
Used by: none
Example:

<edit_box>
Info: Widget that displays text or numbers. If <type> not specified, default to double. The type can also be text, or integer.
Version(s): 1
Attributes: default,

optional, type, unique_name

Children: range, dependency, text_style, display_options
Used by: item, row, column
Example: <edit_box type=”double”
                  default=”1.0”  
                  unique_name=”edtBox5”
                  optional>
   <range>0, 2.2</range>
   <dependency>…</dependency>…
</ edit_box >

<end_card>
Info: Defines that the card end with a single iteration of the enclosing <process_each_XXX>
Version(s): 1
Attributes: none
Children: none
Used by: anything starting with process_each
Example:

<executable>
Info: Represents a single executable used by the model.
Version(s): 2
Attributes: executable_order,

text, default_executable_name32, default_executable_name64

Children: use_parameter, executable_command
Used by: simulation
Example: Example 1
<executable name =”MyModel”  executable_order = “1” 
       default_executable_name32="MyModel32.exe"
       default_executable_name64="MyModel64.exe">
     <use_parameter>HydroFile</use_parameter>
     <execute_command>
        <command_args>" \"%s\"", edtMyModelText</command_args>
        <execute>"%s", #executable_name</execute>
     </execute_command>
 </executable>
  <input_files>
     <input_file>
         <use_file_def>myFile</use_file_def>
        <export_location>"%s.srhhydro", #project_name</export_location>
        <declare_paremeter>HydroFile</declare_parameter>
     <input_file>  
  </input_files>  

Example 2 In the following example, one instance of the numeric model is executed per coverage. A file will be exported per coverage and no command line arguments are used when launching the model.

<executable name = “SRH 2D”   executable_order=”1” </executable>
  <use_parameter>MyCaseFile</use_parameter>
  <executable_command>
       <command_args>"\"%s\"", #file_name</command_args>
       <execute>”%s - %s”, #executable_name, #geom_name</execute>
  </executable_command>
</executable>
<input_files>
    <input_file>
      <process_each_coverage>
         <use_file_def>caseFile</use_file_def>
         <export_location>"%s/%s", #geom_name,      #project_name</export_location>
         <declare_paramter>MyCaseFile</declare_parameter>
      </process_each_coverage>
   </input_file>
</input_files>

Example 3 In the following example, only one instance of the numeric model is executed. A file will be exported per coverage and no command line arguments are used when launching the model.

<executable name =”SRH 2D   executable_order=”1””</executable>
  <executable_command>
       <execute>”%s”, #executable_name</execute>
  </executable_command>
</executable>
<input_files>
  <input_file>
    <use_file_def>caseFile</use_file_def>
    <process_each_coverage>
      <export_location>"%s/%s", #geom_name, #project_name</export_location>
   </process_each_coverage>
  </input_file>
</input_files>

<executable_command>
Info: Defined command line arguments for the executable.
Version(s): 3
Attributes: none
Children: command_args, execute
Used by: executable
Example: See executable example.

<executable_progress_update>
Info: Updates the status bar of the model based on output from the model.
Version(s): 3
Attributes: amount,

max

Children: update_text
Used by: executable
Example: For a model that outputs “CASE 1 of 35”,“CASE 2 of 35” etc..
<executable name=”My Model Main”</executable>
   <executable_progress_update   
       amount="0"  max ="35"
       <update_text>"CASE %d of %d" #progress_amount, #progress_max       
        </update_text>
    </executable_progress_update> 
</executable>

<execute>
Info: Defines when to run an executable. The text of this element is the text that will be displayed as the process name when running the model.
Version(s): 2
Attributes: none
Children: none
Used by: input_file, anything starting with process_
Example: See executable example.

<export_format>
Info: Placed inside the <card> to determine how the card format will be displayed when exporting to a text file. Uses the standard printf and sprintf format (www.cplusplus.com/reference/clibrary/cstdio/printf/). “#card_name” should be used when displaying the card. When using an element that starts with “custom_control”, a user can use the # character to get to the value or units.
Version(s): 1
Attributes: ignore_on_read
Children: none
Used by: card, export_each_row (version 1), export_column (Version 1), export_each_coverage (version 1), export_each_polygon (version 1), export_each_arc (version 1), export_each_point (version 1),

anything starting with process_each_

Example: Example 1
<edit_box   unique_name=”MyEditBox”>
</edit_box>
…
<card>
  <card_name>FIFTH_GRAIN</card_name>
  <export_format>”%s %lf\n", #card_name, MyEditBox</export_format>
</card>

If the edit_box has the value of 15, this would print out: FIFTH_GRAIN 15

Example 2 If export_format was changed to this: <export_format>”%s \”%lf\” // comment\n", #card_name, MyEditBox </export_format>

FIFTH_GRAIN “15” // comment

<control_length   unique_name=”MyLength”>

Example 3

...
</control_length>
…
<card>
  <card_name>ADAPTATION_LENGTH_TOTAL</card_name>
  <export_format>”%s %lf, %s\n", #card_name, MyLength#value,
                             MyLength#units</export_format>
</card>

ADAPTATION_LENGTH_TOTAL 25 cm

<export_group>
Info: A way of grouping optional exports.
Version(s): 2
Attributes: ignore_on_read,

required

Children: Any element beginning with “process_” and required (version 2), xmdf_dataset, xmdf_data, xmdf_group, xmdf_geometry, export_optional, section
Used by: Any element beginning with “process_”.
Example:

<export_location>
Info: Relative or absolute path of the export file (.cmcards). Can be used multiple times if exporting to more than 1 file location. Keywords can be #PROJECT_NAME and #GEOMETRY.
Version(s): 1, 2
Attributes: none
Children: none
Used by: group, card, input_file (version 2), output_file (version 2). If it used just within group then everything within the element will use the same export location unless specified in the child group or item card.
Example: Example 1

<export_location>\\Ideal__Inlet.cmcards</export_location>

Example 2 <export_location>\\#PROJECT_NAME_#GEOMETRY.cmcards</export_location> <export_location>”\\%s__%s.cmcards”, #PROJECT_NAME, #GEOMETRY</export_location>

<export_optional>
Info: Indicator of text that might be included. If it has default as a child, then SMS will write out the text included in this element.
Version(s): 2
Attributes: ignore_on_read,

default

Children: Any element beginning with “process_”, export_format, default (version 2), separator, xmdf_dataset, xmdf_data, xmdf_group, xmdf_geometry, section
Used by: Any element beginning with “process_”.
Example:

<files>
Info:
Version(s): 2
Attributes:
Children: file_def
Used by: model_control_executable
Example:

<group>
Info: Tree group item that contains one or more items or groups.
Version(s): 1
Attributes: text
Children: item (version 1), dependency, text_style, contains (version 2)
Used by: link_to (version 1), page_def (version 2), another <group> if nested (version 1), <contains> (version 2)
Example: <group text = “Timing”>
  <item>
 	… tree item stuff
  </item>
</group>

Elements I - O

<input_file>
Info: Defines a file to be used for input for an executable.
Version(s): 2
Attributes: none
Children: use_file_def, export_location, process_each_row, process_each_coverage, process_each_material, declare_parameter
Used by: input_files
Example: See executable example.

<input_files>
Info: A container to place all of the input files into for a simulation.
Version(s): 3
Attributes: none
Children: input_file
Used by: simulation
Example:

<item>
Info: Tree item contains one or more widgets (combo_box, text_box, edit_box, etc). A tree item can contain multiple cards (version 1), but those cards must be mutually exclusive.
Version(s): 1
Attributes: text
Children: card, dependency, text_box, edit_box, check_box, combo_box, table, any element starting with “control”, text_style, new_line
Used by: group
Example: <item>
     <text>Transport Time Step</text>
     <edit_box>…. </edit_box>
     <card>…</card>

<location>
Info: Used to specify which point locations to export. Point locations are defined as: “corner”, “mid”, “center”, “disjoint” and “all”. Point locations can have a slightly different meaning based on their context as described below.

Exporting coverage arc points:

  • mid = middle points of arc
  • corner = 2 end points of an arc
  • disjoint = not valid
  • center = not valid

Exporting coverage polygon points:

  • mid = non nodes in the polygon
  • corner = nodes in the polygon
  • disjoint = not valid
  • center = not valid

Exporting grid/quad points:

  • mid = midside points on the cell
  • corner = corner points on the cell
  • disjoint = not valid
  • center = center point on cell

Exporting mesh points:

  • disjoint = disjoint points only
  • corner = end points of arcs, nodes in polygons
  • mid = mid points in arcs, mid points in polygons
  • center = not valid
Version(s): 3
Attributes: none
Children: none
Used by: process_each_point, snap
Example: // writes out snapped coordinates of the 2 end points of each arc
<process_each_coverage>
    <use_parameter>myCov</use_parameter>
    <process_each_arc source = "snap">
        <process_each_point source = "snap">
            <location>corner</location>
            <export_format>"%Lf %Lf %Lf\n", #point_x, #point_y,  #point_z
            </export_format>
        </process_each_point>
    </process_each_arc>
</process_each_coverage>

// writes out all points of each arc
<process_each_coverage>
    <use_parameter>myCov</use_parameter>
    <process_each_arc source = "snap">
        <process_each_point source = "snap">
            <location>corner</location>
            <location>mid</location>
            <export_format>"%Lf %Lf %Lf\n", #point_x, #point_y,  #point_z
            </export_format>
        </process_each_point>
    </process_each_arc>
</process_each_coverage> 

// writes disjoint nodes in a mesh
<process_each_geometry>
    <use_parameter>myMesh</use_parameter>
    <process_each_point source = "geometry">
        <location>disjoint</location>
        <export_format>"%Lf %Lf %Lf\n", #point_x, #point_y,  #point_z
        </export_format>
    </process_each_point>
</process_each_geometry>

// writes all midpoints in a grid
<process_each_geometry>
    <use_parameter>myGrid</use_parameter>
    <process_each_point source = "geometry">
        <location>mid</location>
        <export_format>"%Lf %Lf %Lf\n", #point_x, #point_y,  #point_z
        </export_format>
    </process_each_point>
</process_each_geometry>

<material_att>
Info: Used to specify what attributes should be used for materials of a coverage.
Version(s): 2
Attributes: use_dialog
Children: none
Used by: declare_coverage
Example: See coverage example.

<max_rows>
Info: Optional element used to limit the number of rows the user can specify in a control_curve. If this element is not used, the max_rows is unlimited.
Version(s): 2
Attributes: none
Children: none
Used by: control_curve
Example: This example creates a curve button with the date/time flag.
 <item>
   <control_curve>
       <unique_name>myCurve1</unique_name>
       <max_rows>10</max_rows>
       <x_column>
          <text>Time
       </x_column>
       <y_column>
  	<text>Velocity</text>   						 
       </y_column>	
   </control_curve>
 …

<menu_item>
Info: Item to be placed in a menu. The text is the text displayed in the menu, use_dialog describes the dialog to be launched, dependency describes what needs to be true in order for the menu item to appear.

The double_click attribute (if true) indicates that this is the menu item to be launched on a double click event. For example, if a menu_item is in an arc_att, and has double_click = “true”, then when an arc is double clicked, the dialog specified by the menu item is launched.

Version(s): 2
Attributes: double_click,

use_dialog, text

Children: dependency
Used by: simulation, attribute_set (version 3), declare_coverage, point_att, arc_att, polygon_att, material_att
Example: See the model example.

<msg>
Info: Used to display text to the user when a model check condition has failed.
Version(s): (Version 3 replaced with problem_text, description_text and fix_text)
Attributes: none
Children: none
Used by: model_check
Example: < table >
  <column   text=”A>
     <edit_box  unique_name = “colA”>
     </edit_box>
   </column>
…// other columns also defined
  
<model_check  problem_text = ”Column D or E is required.” 
               description_text = “This model requires column D.“
               fix_text = “To fix do the following:  …...   “>
      <condition>( (colA OR colB) AND NOT(colD OR colE))</condition>
  </model_check>
< /table >

<model>
Info: Defines the model interface that is being created.
Version(s): 2
Attributes: name,

version

Children: simulation, declare_coverage, dialogs, files
Used by: dynamic_model
Example: A simple model that has one coverage type, one dialog, and one file definition. This interfaces with version 4 of “MyModel”.
<dynamic_model filetype=”dynamic model”>
                            version=”2”>
 <model  name=”MyModel”  version=”4”>
   <simulation>
     …
   </simulation>
   <declare_coverage  name= “MyCov”>l</coverage>
     ...
   </coverage>
   <declare_dialogs>
     …
   </declare_dialogs>
   <file_def>
     …

<model_check>
Info: Used to validate data of multiple combinations when the OK button is clicked. Displays an error message if the logic in the <condition> is false. Can use AND, OR, LESS_THAN, GREATER_THAN, EQUALS and NOT.
Version(s): 1
Attributes: problem_text,

description_text, fix_text

Children: condition, process_each_coverage, process_each_geometry
Used by: item (version 1), model_checks (version 2)
Example: < table >
  <column  text=”A”>
     <edit_box  unique_name=”colA”>
     </edit_box>
   </column>
…// other columns also defined
< /table >
  
<model_check  problem_text = ”Column D or E is required.” 
               description_text = “This model requires column D.“
               fix_text = “To fix do the following:  …...   “>
    <condition>( (colA EQUALS 0.0 OR colB EQUALS 0.0) AND NOT(colD EQUALS 0.0 OR colE EQUALS 0.0))</condition>
</model_check>

<model_checks>
Info: Contains all model checks
Version(s): 2
Attributes: none
Children: model_check
Used by:
Example: <declare_dialogs>
 <declare_dialog>
 ...
   < table >
      <column  text=”A”>
         <edit_box  unique_name=”colA”>
         </edit_box>
       </column>
…// other columns also defined
   < /table >
 ...
 <declare_dialog>
<declare_dialogs>
<model_checks>
<model_check  problem_text = ”Column D or E is required.” 
               description_text = “This model requires column D.“
               fix_text = “To fix do the following:  …...   “>
    <condition>( (colA EQUALS 0.0 OR colB EQUALS 0.0) AND NOT(colD EQUALS 0.0 OR colE EQUALS 0.0))</condition>
 </model_check>
<model_checks>

<new_line>
Info: Creates a new line before adding the next widget in a tree item.
Version(s): 1
Attributes: none
Children: none
Used by: item
Example: In the dialog there would be:
    Breaking Efficency:   [edit box]        (new_line called)
    Friction Efficency:
<item>
   <text>Non-cohesive bedload entrainment</text>
        <text_box>
           <text>Breaking Efficency:</text>
        </text_box>
        <edit_box  unique_name=”edtBreakingEff”>
        </edit_box>
        <new_line></new_line>
        <text_box  text=”Friction Efficency:”>
        </text_box>

<option>
Info: Widget that displays list of options. Only 1 can be selected.
Version(s): 1
Attributes: default,

text, unit_keyword, display_options_hide

Children: export_text, dependency, text_style
Used by: combo_box, any element that starts with “custom_control” and has units
Example: Creates a combo box with hours, minutes and seconds. Minutes is the default item.
<combo_box  unique_name=”cbxTransportUnits”>                      	
      <option  text=”hours”>
       </option>
       <option  text=”minutes”     
                     default>
        </option>
        <option  text=”seconds”>
        </option>
   <dependency>…</dependency>…
</ combo_box >

<output_file>
Info: Defines a file to be created by the executable.
Version(s): 1
Attributes: none
Children: use_file_def, export_location, export_table, export_each_coverage, export_each_material
Used by: executable
Example: See executable example.

<output_files>
Info: A container to place all of the output files into for a simulation.
Version(s): 3
Attributes: none
Children: output_file
Used by: simulation
Example: See executable example.

Elements P - S

<page_def>
Info: This defines the page or tab of a dialog. If there is only one page_def in a dialog, then no tabs will appear.
Version(s): 2 (depreciated use <delcare_page>)
Attributes: name,

display

Children: contains
Used by: dialog
Example:

<point_att>
Info: Used to specify what attributes should be used for the points of a coverage.
Version(s): 2
Attributes: none
Children: menu_item, snap
Used by: coverage
Example:

<polygon_att>
Info: Used to specify what attributes should be used for the polygon of a coverage.
Version(s): 2
Attributes: none
Children: menu_item, snap
Used by: coverage
Example:

<process_each_arc>
Info: Indicator to loop through each arc in the given context.
Version(s): 2
Attributes: ignore_on_read,

order, i_order, j_order, source

Children: card_name, export_format, separator, process_each_point, end_card, use_parameter, declare_parameter, executable_command, section, export_group, export_optional, process_on_condition, process_each_neighbor, xmdf_dataset, xmdf_data, xmdf_group, xmdf_geometry
Used by: card, process_each_coverage, process_each_polygon
Example:

<process_each_coverage>
Info: Indicator to loop through each coverage in the given context.
Version(s): 2
Attributes: ignore_on_read,

order, i_order, j_order, source

Children: card_name, export_format, separator, process_each_point, process_each_polygon, process_each_arc, end_card, use_parameter, declare_parameter, process_each_set, executable_command, export_group, export_optional, process_on_condition, process_each_material, xmdf_dataset, xmdf_data, xmdf_group, xmdf_geometry, count_range, section, location
Used by: card
Example:

<process_each_material>
Info: Indicator to loop through each material in the given context.
Version(s): 2
Attributes: ignore_on_read,

order, i_order, j_order, source

Children: card_name, export_format, separator, end_card, use_parameter, declare_parameter, process_each_polygon, export_group, export_optional, process_on_condition, process_each_polygon, section, count_range, xmdf_dataset, xmdf_data, xmdf_group, xmdf_geometry
Used by: card, process_each_coverage, process_each_polygon
Example:

<process_each_neighbor>
Info: Indicator to loop through each neighbor in the given context.
Version(s): 3
Attributes: corner_skip,

feature, ignore_on_read, order, i_order, j_order, interior_polygon, null_id, neighbor_per_edge, source

Children: card_name, export_format, separator, end_card, use_parameter, declare_parameter, process_each_polygon, export_group, export_optional, process_on_condition, process_each_arc, process_each_polygon, process_each_point, section, xmdf_dataset, xmdf_data, xmdf_group, xmdf_geometry
Used by: card, process_each_coverage, process_each_polygon
Example:

<process_each_point>
Info: Indicator to loop through each point in the given context.
Version(s): 2
Attributes: ignore_on_read,

order, i_order, j_order, source, dataset_widget

Children: card_name, export_format, separator, end_card, use_parameter, declare_parameter, executable_command, location, export_group, export_optional, process_on_condition, section, process_each_ neighbor, xmdf_dataset, xmdf_data, xmdf_group, xmdf_geometry
Used by: card, process_each_coverage, process_each_polygon, process_each_arc
Example:

<process_each_polygon>
Info: Indicator to loop through each polygon in the given context.
Version(s): 2
Attributes: ignore_on_read,

order, i_order, j_order, source

Children: card_name, export_format, separator, process_each_point, process_each_arc, end_card, use_parameter, declare_parameter, executable_command, export_group, export_optional, process_on_condition, section, process_each_neighbor, process_each_material, xmdf_dataset, xmdf_data, xmdf_group, xmdf_geometry
Used by: card, process_each_coverage
Example:

<process_each_row>
Info: Indicator to loop through each row in a table. Has the widget attribute that must be used. The widget attribute needs to be set to the name of a widget which belongs to the table to be iterated through. To iterate through the rows of a curve widget, use the name of the curve widget and a keyword, such as “#x”.
Version(s): 2
Attributes: ignore_on_read,

widget, order, i_order, j_order

Children: card_name, export_format, separator, export_group, export_optional, process_on_condition, section, process_each_polygon, process_each_material, process_each_arc, process_each_point, executable_command, xmdf_dataset, xmdf_data, xmdf_group, xmdf_geometry
Used by: card, process_each_coverage, process_each_polygon, process_each_arc, process_each_point
Example: <process_each_row widget = “someColumnWidget”>

<process_on_condition>
Info: Indicator to perform a certain action only if the condition is satisfied.
Version(s): 2
Attributes: ignore_on_read
Children: process_each_coverage, process_each_geometry, process_each_polygon, process_each_arc, process_each_point, card_name, export_format, separator, condition, use_file_def, xmdf_dataset, xmdf_data, xmdf_group, use_parameter, end_card, xmdf_geometry, export_location, export_group, export_optional, process_on_condition, section, process_each_row, process_each_material, process_each_neighbor, process_on_count, process_model
Used by: card, process_each_coverage, process_each_polygon, process_each_arc, process_each_point
Example:

<process_on_count>
Info: Indicator to perform a certain action only on certain iterations of a loop.
Version(s): 2
Attributes: ignore_on_read
Children: process_on_condition, process_each_geometry, process_each_material, section, export_optional, export_group, process_each_coverage, process_each_polygon, process_each_arc, process_each_point, card_name, export_format, separator, count_filter, xmdf_dataset, xmdf_data, xmdf_group, xmdf_geometry
Used by: card, process_each_coverage, process_each_polygon, process_each_arc, process_each_point
Example:

<push_button>
Info: The button to be used for a control_dataset. Can be SELECT, CREATE, or DELETE.
Version(s): 1, 2
Attributes: none
Children: none
Used by: control_dataset
Example: See control_dataset example.

<range>
Info: Determines the range of acceptable values in an edit_box. Can use the keywords GREATER_THAN, GREATER_THAN_EQUALS, LESS_THAN and LESS_THAN_EQUALS. Numbers assumed inclusive unless otherwise specified.
Version(s): 1
Attributes: none
Children: none
Used by: edit_box, any element that starts with “control” except: control_file_selector, control_dataset and control_date
Example: Example 1
<edit_box>                       	
    <range>0-1</range>
</ edit_box >

Example 2

<range>0 – 5.6546</range>

Example 3

<range>GREATER_THAN 0</range>

Example 4

<range>GREATER_THAN 0.0 - LESS_THAN 5.0</range>

Example 5 Both examples are equivalent

<range>0.0 - LESS_THAN 5.0</range>
<range>GREATER_THAN_EQUALS 0.0 - LESS_THAN 5.0</range>

<required>
Info: Used to indicate that something from the exported group must be used.
Version(s): 2
Attributes: none
Children: none
Used by: export_group
Example:

<role>
Info: A single entry in a combo box option for <roles>. Used to define the displayed text and range. The range specifies how many objects that can have this role.
Version(s): 3
Attributes: none
Children: text, range
Used by: roles
Example: Example of a culvert widget with a extra “Name” column
<control_set  unique_name=”tblSetCulverts”>
      <roles behavior = "SWAP">
	<role  text=”upper”>
 	   <range>1-1</range>
	</role>
	<role  text=”lower”>
 	   <range>1-1</range> 	
	</role>
       </roles>
       <column  text = “Name”>
	<edit_box  unique_name=”edtMyArcsName”
 	                  type=”text”>
	</edit_box>
        </column>
</control_set>

<roles>
Info: Defines the behavior of each role.
Version(s): 3
Attributes: behavior
Children: role
Used by: control_set
Example: Example of a culvert widget with a extra “Name” column
<control_set  unique_name=”tblSetCulverts”>
      <roles behavior = "SWAP">
	<role  text=”upper”>
 	   <range>EQUALS 1</range>
	</role>
	<role  text = “lower”>
 	   <range>EQUALS 1</range> 	
	</role>
       </roles>
       <column text=”Name”>
	<edit_box    unique_name=”edtMyArcsName”
 	                    type=”text”>
	</edit_box>
        </column>
</control_set>

<row>
Info: Typically you would only use row if you had a fixed table and wanted to display row text or to specify specific rows as read only. Row tags are placed inside a < table >.
Version(s): 1
Attributes: text,

read_only

Children: optional, dependency, text_box, combo_box, edit_box, all elements starting with “custom_control”, check_box, text_style
Used by: table
Example: Row 1 is read only, row 2 isn’t
< table >
       …
   <row   text = “Row1”  read_only></row>
   <row   text = “Row2”></row>
< /table >

<separator>
Info: Determines how to separate text that is being exported into a text file.
Version(s): 1
Attributes: none
Children: none
Used by: export_each_row
Example: See <export_table>

<simulation>
Info: The simulation object that represents what will run and be exported upon launching a model. There can only be one per model.
Version(s): 2
Attributes: use_icon
Children: takes, executable, menu_item, input_files, output_files
Used by: model
Example: See the model example.

<snap>
Info: Snaps the arc, point or polygon in a coverage to the underlying geometry (mesh, grid, etc) that is defined by the <declare_coverage> bind_to attribute
Version(s): 3
Attributes: none
Children: snap_exterior, snap_interior, location
Used by: arc_att, point_att, polygon_att
Example: Snaps an arc boundary condition to the interior of the mesh when the arc type is Monitor Line and to the exterior when the arc is a Inlet-Q.
<declare_coverage name= “Boudary Conditions” bind to =”MESH2D”>
   <arc_att>
       <menu_item double_click = "true" text = “Assign Linear BC”
                               link_to = “Linear BC” </menu_item>
           <snap>
     	    <snap_exterior>
       	        <condition>cbxLineType EQUALS "Inlet-Q"
                   </condition>
     	    </snap_exterior>
     	    <snap_interior>
       	        <condition>cbxLineType EQUALS "Monitor-Line" </condition>
     	    </snap_interior>  
   	</snap>
     </arc_att>
</coverage>

<snap_exterior>
Info: Snaps the arc, point or polygon in a coverage to the closest exterior point, arc, or polygon of the underlying geometry.
Version(s): 3
Attributes: none
Children: condition
Used by: snap
Example: See <snap>

<snap_interior>
Info: Snaps the arc, point or polygon in a coverage to the closest interior point, arc, or polygon of the underlying geometry.
Version(s): 3
Attributes: none
Children: condition
Used by: snap
Example: See <snap>.

Elements T - Z

<table>
Info: Table widget with columns and rows. Will most likely have multiple column and row tags (version 3). Using the attribute fixed_row_count means that the user can’t add or delete rows. Not using the fixed_row_count , an insert and delete button will be included at the bottom of the table.
Version(s): 1
Attributes: read_only,

fixed_row_count (version 3), max_row_count (version3), min_row_count (version 3), min_height (version3), unique_name

Children: column, row, dependency, text_style
Used by: item
Example: (version 3) Read only table with 2 columns and 3 rows. The number of rows are fixed.
< table unique_name = “myTable”   
            read_only
            fixed_row_count=”3”>
   <column   text = “hours”</column>
   <column   text = “minutes”</column>
</ table >

<take_coverage>
Info: Represents a coverage that can be taken in the project explorer.
Version(s): 2
Attributes: limit
Children: declare_parameter, condition, use_coverage
Used by: simulation, attribute_set(version 3)
Example: See takes example.

<take_mesh2d>
Info: Represents a coverage that can be taken in the project explorer.
Version(s): 2
Attributes: limit, linear
Children: declare_parameter, condition
Used by: simulation, attribute_set(version 3)
Example: See takes example.

<takes>
Info: Represents what can be dragged under another object in the project explorer.
Version(s): 2
Attributes: none
Children: declare_parameter, take_coverage, take_mesh2d, take_grid2d
Used by: simulation, attribute_set(version 3)
Example: Example 1

This example shows a simulation that can take a coverage and a 2D mesh which uses linear elements.

<takes>
 <take_coverage limit = "1">
   <use_coverage>My Cov</use_coverage>
   <condition>""</condition>
 </take_coverage>
 <take_mesh2d limit = "1" linear = "true">
   <condition>""</condition>
 </take_mesh2d>
 <declare_parameter>meshCov</declare_parameter>
</takes>

Example 2 This example shows taking one type of coverage OR another type of coverage.

<takes>
 <take_coverage limit = "1">
   <use_coverage>My Cov</use_coverage>
   <use_coverage>My Other Cov</use_coverage>
   <condition>""</condition>
 </take_coverage>
 <declare_parameter>monitorCov</declare_parameter>
</takes>

<text_box>
Info: Widget that displays text that is not editable.
Version(s): 1
Attributes: alignH, alignV, text, unique_name
Children: dependency, text_style
Used by: item, row, column
Example: <text_box unique_name = “edtD50Units” alignH= “CENTER”
       text = “mm”>
</text_box>

<text_size>
Info: Sets the point size of the text. Ranges from 8 to 20. Added in SMS 11.2.
Version(s): 1, 2
Attributes: none
Children: none
Used by: text_style
Example: This would set the size of the text to 20pt. when the value in the edit_box is less than 0.0.
<edit_box>
  <unique_name>edtA</unique_name>
  <default>1.0</default>
  <text_style>
      <text_size>20</text_size>
      <condition>edtA LESS_THAN 0.0</condition>
  <text_style>
</edit_box>

<text_style>
Info: Holds the style options for the text. Added in SMS 11.2.
Version(s): 1
Attributes: bold, italic, strike_through, text_size, underline
Children: color, condition
Used by: group, item, text_box, combo_box, edit_box, all elements starting with “custom_control”, check_box, options
Example: This would bold the text when the value in the edit_box is less than 0.0.
<edit_box>
 <unique_name>edtA</unique_name>
 <default>1.0</default>
 <text_style   bold   text_size=”12”>
     <condition>edtA LESS_THAN 0.0</condition>
 <text_style>
</edit_box>

<title_format>
Info: This indicates what the title of an object in an h5 file is. Uses the standard printf and sprintf format ([www.cplusplus.com/reference/clibrary/cstdio/printf/ www.cplusplus.com/reference/clibrary/cstdio/printf/]). Works the same as export_format.
Version(s): 3
Attributes: none
Children: none
Used by: h5_group, h5_geometry, h5_dataset, h5_data
Example:

<unique_link_name>
Info: A unique name given to a link when using link_to_xml. This is needed to identify the unique_name elements from the file, especially when a linked to XML file is used multiple times. Hence, when using link_to_xml, this tag is required. No spaces or punctuation are allowed in the name.
Version(s): 1, 2
Attributes: none
Children: none
Used by: link_to_xml
Example: See link_to_xml example.

<update_text>
Info: Used to match the output text from a model to determine the progress amount.
Version(s): 3
Attributes: none
Children: none
Used by: executable_progress_update
Example: Lets say our model outputs “CASE 1 of 35” then “CASE 2 of 35” etc..
<executable name=”My Model Main”</executable>
   <executable_progress_update   amount="0"  max ="35">
       <update_text>"CASE %d of %d" #progress_amount, #progress_max       
        </update_text>
    </executable_progress_update> 
</executable>

<use_coverage>
Info: Use a coverage that has previously been defined in the attribute type in <declare_coverage>
Version(s): 2
Attributes: none
Children: none
Used by: declare_coverage, take_coverage
Example: See the coverage example and the takes example.

<use_file_def>
Info: A way to access file data that has been previously declared with <declare_file_def>.
Version(s): 2
Attributes: control_file
Children: output_file, input_file
Used by: file
Example:

<use_parameter>
Info: A way to access file data that has been previously declared with <declare_parameter>.
Version(s): 3
Attributes: none
Children: none
Used by: anything beginning with “process_each”, card, control_dataset
Example:

<x_column>
Info: Used to define the attributes in the x column such as text (heading).
Version(s): 2
Attributes: text
Children: none
Used by: control_curve
Example: This example creates a curve button with the date/time flag.
<item>
   <control_curve>
       <unique_name>myCurve1</unique_name>
       <max_rows>10</max_rows>
       <x_column>
          <text>Time
       </x_column>
       <y_column>
  	<text>Velocity</text>  		 
       </y_column>	
   </control_curve>
 …

<xmdf_data>
Info: Writes data to the XMDF file. The attributes rows, columns and layers indicate what information should be written for each row, column or layer respectively. By default, the attributes are set to “#specified”. If no attributes are set then each export_format will be assumed to be a new row. The attribute columns can only be set if the rows attribute is set. The attribute layers can only be set if both the rows attribute and the columns attribute is set. The datatype attribute can be set to “float”, “double”, “integer”, or “text”. If the datatype attribute is not set or is set to “text” then export_format can be used. Otherwise, only export can be used. If more than 1 dimension is used, then the datatype cannot be “text”. If 3 dimensions are used, then the datatype cannot be “integer”.
Version(s): 3
Attributes: datatype
Children: export_format, title_format, export
Used by: xmdf_group, file_def, and anything beginning with “process_each”.
Example: This writes out 6 different widgets’ values, one on each row.
<xmdf_data datatype = “text”>
  <export_format>"%s", widget1</export_format>
  <export_format>"%s", widget2</export_format>
  <export_format>"%s", widget3</export_format>
  <export_format>"%s", widget4</export_format>
  <export_format>"%s", widget5</export_format>
  <export_format>"%s", widget6</export_format>
</xmdf_data>

This writes out a table with each row being a different timestep and each column a different point. Each export would be written to different layers.

<xmdf_data rows = "#timestep" columns = "#point" datatype = “double”>
  <export>#component1</export>
  <export>#component2</export>
</xmdf_data>

<xmdf_dataset>
Info: Writes out all of the data of a dataset in an SMS friendly format to an xmdf file. The attribute null_value is optional. If used, it specifies a numeric value that will be treated by the model as inactive. By default, SMS will write an activity array. The attribute location specifies where data should be taken from. The attribute widget specifies to only write the dataset referenced by the named widget. If no title_format is used, then the name of the dataset will be used.
Version(s): 3
Attributes: null_value,

location, widget

Children: title_format
Used by: xmdf_group, xmdf_geometry, process_each_coverage.
Example: This writes out the hardbottom dataset as specified by the widget edtHardBottomWidget that exists in some dialog. Any value that is inactive is written as -999.0.
<xmdf_dataset widget = “edtHardBottomWidget” location = “all” null_value = “-999.0”>
  <title_format>”Hardbottom”</title_format>
</xmdf_dataset>

<xmdf_dimension>
Info:
Version(s): 3
Attributes: dimension
Children:
Used by: xmdf_data
Example:

<xmdf_geometry>
Info: Writes a geometric object in an SMS friendly format to an XMDF file. Different geometric types will be written differently from each other. If no title_format is used, then the name of the geometry will be used.
Version(s): 3
Attributes: none
Children: title_format, xmdf_dataset
Used by: file_def, xmdf_group
Example:

<xmdf_group>
Info: Writes an XMDF group to the xmdf file. A title_format must be used. The group_type attribute must be used.
Version(s): 3
Attributes: group_type
Children: xmdf_group, xmdf_geometry, xmdf_dataset, xmdf_data, title_format, and anything beginning with “process_each”.
Used by: file_def, xmdf_group, xmdf_geometry, xmdf_dataset, and anything beginning with “process_each”.
Example:

<y_column>
Info: Used to define the attributes in the y column such as text (heading).
Version(s): 2
Attributes: text
Children: none
Used by: control_curve
Example: See example in x_column

Attributes

Attribute<alignH>
Info Align text horizontally in a text box.
Values
  • BOTTOM
  • TOP
  • Center
Versions 1
Used by text_box
Attribute<alignV>
Info Align text vertically in a text box.
Values
  • Bottom
  • Top
  • Center
Versions 1
Used by text_box
Attribute <amount>
Info
Values integer
Versions 3
Used by execute_progress_update
Attribute <behavior>
Info When a user changes a role, you can define behaviors that automatically update the roles.
Values

None: no enforcement of rules in the dialog

Swap: all assigned up front. When some object is being assigned a role and is there are already a max number of objects assigned to the role, then any objects that had that role will be switched to the old role of the object being asgined until we surpass the maximum amount of that role, then unassigned.

Max_hide: Don’t allow the role to show up in the combo box to be assigned to a "object" if the max has been reached for that role.

Swap_max_default: (not implemented yet) Enforce max with default is like swap, but instead of the old option, it changes it to the default or unassigned (if no default provided) value. Chooses the first or last “object” of the role it encounters to change.

Versions 3
Used by roles
Attribute <bind_to>
Info Binds a coverage to a mesh, or grid
Values MEHS2D, CGRID
Versions 3
Used by declare_coverage
Attribute <blue>, <green>, <red>
Info A color. Ranges from 0 to 255. Added in SMS 11.2.
Values integer (0 to 255)
Version 1
Used by color
Attribute <bold>
Info Sets the text to be bolded when this attribute is used. Added in SMS 11.2.
Values none
Version 1
Used by text_style
Attribute <columns>
Info Represents a column in the H5 file that we are mapping to
Values #timestep, #point, #arc, #polygon, #coverage, #material
Versions 3
Used by xmdf_data
Attribute <corner_skip>
Info Skip corners when exporting neighbors
Values true, false
Versions 3
Used by process_each_neighbor
Attribute <create_file>
Info If attribute is specified, then create_file is true
Values None
Versions 3
Used by control_file_selector
Attribute <dataset_type>
Info Specify the dataset type as scalar or vector. Default is scalar.
Values "scalar", "vector"
Version 1
Used by control_dataset
Attribute <dataset_widget>
Info When exporting points from a dataset, the attribute identifies the dataset widget being used (contains the selected dataset)
Values Name of the dataset_widget
Versions 3
Used by process_each_point
Attribute <datatype>
Info
Values "float", "double", "integer", "text"
Versions 3
Used by xmdf_data
Attribute<default>
Info Sets the initial default value of a widget. Can also be used to state the default combo-box option.
Values
  • edit_box or any element that begins with “custom_control”:

double

  • check_box:

"checked"
"unchecked"

  • combo_box:

no values or empty string

  • export_optional:

“true”
“false”

Version 1
Used by edit_box, check_box, option, any element that begins with “control” (“custom_control” in version 1), combo_box, export_optional
Attribute <default_executable_name32>
Info Sets the initial default file name for the 32-bit executable.
Values text
Versions 3
Used by executable
Attribute <default_executable_name64>
Info Sets the initial default file name for the 64-bit executable.
Values text
Versions 3
Used by executable
Attribute <description_text>
Info A detailed description of why a model check failed. This text is displayed to the user.
Values string
Versions 3
Used by model_check
Attribute <dim>
Info Specifies that when the dependency is false, the widget should be dimmed, not hidden.
Values none
Versions 1
Used by dependency
Attribute <dimension>
Info Specifies values for rows, columns and layers.
Values "rows", "columns", "layers"
Versions 3
Used by xmdf_dimension
Attribute <display>
Info This is used to describe how the dialog should display.

FLEX is the default. In this mode, there is a tree on the left hand side of the dialog. Clicking on an item in the tree will display that portion of the tree along with any child items below the clicked item. Other items will be hidden on the right hand side.

FULL will show a tree on the left hand side of the dialog. Clicking on an item in the tree will move the scroll bars on the right hand side to make the item visible. All items that are not disabled due to dependencies are shown on the right hand side of the dialog in this mode.

NO_NAV will have no left hand side tree. Instead, all items that are not disabled due to dependencies are shown in this mode. Added in SMS 11.2.

Values FLEX, FULL, NO_NAV
Versions 1
Used by declare_page
Attribute <display_options_hide>
Info Don’t show a specific combo-box option in the display option dialog of SMS. This only applies to <combo_box> ‘s that have included the <display_options> element. Default value is false.
Values <option display_options_hide = “true”>
Versions 3
Used by option
Attribute <double_click>
Info The double_click attribute (if true) indicates that this is the menu item to be launched on a double click event.
Values true, false
Versions 2
Used by menu_item
Attribute <executable_order>
Info Defines the order in which this executable should run relative to other executables in the same simulation.
Values interger starting at 1
Versions 2
Used by executable
Attribute <feature>
Info Determine whether to select points, arcs or polys
Values point, arc, poly
Versions 2
Used by control_feature_selector, process_each_neighbor
Attribute <fix_text>
Info A brief summary of what steps to take to fix a model check failure. This text is displayed to the user.
Values string
Versions 3
Used by model_check
Attribute <file_type>
Info Specifies a file type of <declare_file_def> defines the file type.
Values "CARD_ASCII", "SEQUENTIAL_ASCII", "SEQUENTIAL_BINARY", "XMDF"
Versions 2
Used by declare_file_def, section
Attribute <filter>
Info When selecting a file, used to filter the available files by the extension type. The filter tag contains two parts. The first part is the text describing the filter that gets displayed to the user. The second part is a pair of parentheses that contains the actual filter.
Values string “(“string “)” ex. Cmcards file (.cmcards)
Versions 3
Used by control_file_selector
Attribute <flags>
Info Flags are optional, and are used to modify the behavior/appearance of the control_curve. Only 1 flag is currently defined: XY_USEDATE. When this flag is set, the x column becomes a date/time calendar.
Values "XY_USEDATE"
Versions 2
Used by control_curve
Attribute <footer>
Info Exported text inside a table that is placed at the end
Values string
Versions 1
Used by export_table, export_each_row, export_column
Attribute <geometry>
Info The default behavior is to only allow geometric objects that are contained under a simulation to be a candidate for selection. Otherwise “all” geometries are candidates.
Values all
Versions 2
Used by control_dataset
Attribute <header>
Info Exported text inside a table that is placed at the beginning
Values string
Versions 1
Used by export_table, export_each_row, export_column
Attribute <help_button_url>
Info Provides online help when the help button is clicked. Loads the specified url in a web browser.
Values string
Versions 2
Used by declare_dialog
Example
<declare_dialog   name=”Model Control”
               help_button_url=”www.aquaveo.com”>
      …
</declare_dialog>
Attribute <help_button_wiki>
Info Provides online help when the help button is clicked. Loads the specified url in a web browser.
Values string
Versions 2
Used by declare_dialog
Example
<dialog   name=”Model Control”
    help_button_wiki=”DynSrhModelControl”>
      …
</dialog>
Attribute <increment>
Info An increment values. Used Increment from the min time to the max time, using the increment
Values positive integer

1 : default

Versions 2
Used by control_set
Attribute <interior_polygon>
Info Only used for polygons when finding neighbors. Specify the polygon preference.
Values “interior_first”, “exterior_first”, “interior_only”, “exterior_only”
Versions 3
Used by process_each_neighbor
Attribute <italic>
Info Sets the text to be italicized when the element is specified. Added in SMS 11.2.
Values none
Version 1
Used by text_style
Attribute <i_order>
Info Start at min i and go to max. Only used by cartesian grids and process_each_neighbor on quad trees.
Values “ascending”, “descending”
Versions 3
Used by process_each_arc, process_each_coverage, process_each_material, process_each_point, process_each_polygon, process_each_row
Attribute <j_order>
Info Start at min j and go to max. Only used by cartesian grids and process_each_neighbor on quad trees.
Values “ascending”, “descending”
Versions 3
Used by process_each_arc, process_each_coverage, process_each_material, process_each_point, process_each_polygon, process_each_row
Attribute <layers>
Info Represents a layer in the H5 file that we are mapping to
Values “#timestep”, “#point”, “#arc”, “#polygon”, “#coverage”, “#material”
Versions 3
Used by xmdf_data
Attribute <location>
Info The location from which we will be getting dataset values
Values TBD
Versions 3
Used by xmdf_dataset
Attribute <max>
Info A max value. Default is 2.147 billion.
Values positive integer

2.147 billion : default

Versions 2
Used by control_set, execute_progress_update
Attribute <max_row_count>
Info Used to set the maximum number of rows allowed in a table or curve.
Values integer
Versions 3
Used by table, control_curve
Attribute <min>
Info A minimim value. Default is 0.
Values positive integer

0: default

Versions 2
Used by control_set
Attribute <model>
Info Specify the model name of the executable
Values string
Versions 2
Used by control_executable
Attribute <name>
Info Specify a name. When used by dialog this is required
Values string
Versions 3
Used by declare_file_def, declare_dialog, model, control_dataset, declare_coverage
Attribute <neighbor_per_edge>
Info Min number of neighbors in any direction
Values integer

0- default

Versions 3
Used by process_each_neighbor
Attribute <null_id>
Info Integer for an id of a neighbor not found
Values integer
Versions 3
Used by process_each_neighbor
Attribute <null_value>
Info The null_value for the dataset
Values any integer, any double
Versions 3
Used by xmdf_dataset
Attribute <optional>
Info Placed inside widgets to suppress a warning message from being displayed if the widgets data is empty. By default, data associated with a widget is required. If the <optional> tag is included and the widget’s data is empty, a warning message won’t be displayed.
Values none
Version 2
Used by text_box, combo_box, edit_box, table, any element that starts with “custom_control”, check_box, column, row
Attribute <order>
Info The way spatial entity objects are to be sorted before iterating. Currently only available for Cartesian grids and quadtrees (process_each_neighbor).
Values “clockwise”, “counter_clockwise”, “ij”, “ji”
Versions 3
Used by process_each_arc, process_each_material, process_each_point, process_each_polygon, process_each_neighbor
Attribute <problem_text>
Info A brief summary of why a model check failed. This text is displayed to the user.
Values string
Versions 3
Used by model_check
Attribute <required>
Info Specifies that at least one option in the group must be present.
Values true
Versions 3
Used by export_group
Attribute <rows>
Info Represents a row in the .h5 file to map to
Values “#timestep”, “#point”, “#arc”, “#polygon”, “#coverage”, “#material”
Versions 3
Used by xmdf_data
Attribute <select_time>
Info
Values “single”, “#range”, “#all”
Versions 2
Used by control_dataset
Attribute <source>
Info When exporting things such as point or arc locations, the source identifies the desired location such as on the coverage or on the geometry (grid, mesh)
Values
  • “coverage” – use locations from coverage
  • “snapped” – use the snapped location on a geometry from a coverage
  • “geometry” – use locations from geometry.
Versions 3
Used by process_each_polygon, process_each_arc, process_each_point, process_each_material, process_each_coverage, process_each_neighbor
Attribute <strike_through>
Info

Sets the text to have a line through the middle when the element is specified. Added in SMS 11.2.

Values none
Version 1
Used by text_style
Attribute <text>
Info Text that is displayed in the SMS user interface.
Values any text string
Versions 1
Used by group, item, text_box, check_box, option, x_column, y_column, column, row, display_options, menu_item, declare_page, executable
Attribute <type>
Info For <display_options> defines point, or arc
Values display_options
  • “arc”
  • “point”

edit_box

  • “text”
  • “integer”
  • “double”
Versions 2
Used by declare_coverage, display_options, edit_box
Attribute <time_type>
Info Type of time either transient, steady state, or all. Default is all.
Values “transient”, “steady state”, “all”
Versions 2
Used by control_dataset
Attribute <underline>
Info

Sets the text to be underlined when this attribute is specified. Added in SMS 11.2.

Values none
Version 1
Used by text_style
Attribute <unique_name>
Info

A unique name given to an widget, which determines how to reference the widget. This is needed if the widget is being used as a dependency (parent), or if the widget value is being exported. When a unique_name is being referenced it should be by the file (nothing if current file), then unique_name. No spaces or punctuation (except _) are allowed in the name. The name must contain at least 1 non-numeric letter. The name must be unique. Names are not case sensitive, hence “aaa” is the same as “AAA”.

Values string (unique)
Version 1
Used by card, text_box, combo_box, edit_box, table, all elements starting with “custom_control”, check_box, text_box, control_curve
Attribute <unit_keyword>
Info The units of a widget that begins with “control_” (where applicable). This provides a mapping for SMS to know the unit type.
Values Length:
#LEN_KM (kilometers)
#LEN_M (meters)
#LEN_FT (feet)
#LEN_CM (cm)
#LEN_MM (mm)
#LEN_INCH (inch)
#LEN_YD (yd)
#LEN_MILE (mile)
#LEN_UM (um)

Time:

#TIME_SECONDS
#TIME_HOURS
#TIME_MINUTES
#TIME_DAYS
#TIME_WEEKS

Volume:

#VFLOW_CU_FT_PER_SEC
#VFLOW_CU_M_PER_SEC
Versions 1
Used by option
Attribute <use_dialog>
Info Determines which dialog definition we are linking to
Values string
Versions 2
Used by material_att, menu_item
Attribute <use_file>
Info Complex command arguments can be built by referencing a <declare_file>.
Values string = a <declare_filename >
Versions 3
Used by command_args
Attribute <use_icon>
Info Allows for a custom icon to be imported into sms for coverages and simulations. When a coverage or simulation is create the custom icon will be shown instead of the default one in the tree structure. The icon must be given to Aquaveo in advance. The icon dimensions are 16x16 pixels.
Values string = (icon_name.bmp)
Versions 3
Used by simulation, declare_coverage
Attribute <version>
Info Sets the version number
Values integer
Versions 1
Used by model, dynamic_model
Attribute <z_is_elev>
Info If the z value is elevation set this to true. Default is false.
Values
  • “true”: default
  • “false”
Versions 2
Used by declare_coverage

Tutorial Links

For more information on using the Dynamic Model Interface, download the XML file tutorial: