|
|
Line 911: |
Line 911: |
| |- | | |- |
| |width="70"|'''Info''' | | |width="70"|'''Info''' |
| |width="530"| Widget that displays text or numbers. If [[SMS:Dynamic Model Interface Schema#Element <type>|<type>]] not specified, default to double. | | |width="530"| 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. |
| |- | | |- |
| |'''Versions''' | | |'''Version''' |
| | 1, 2 | | | 1 |
| |- | | |- |
| |'''Attributes''' | | |'''Attributes''' |
| |none | | | |
| | *[[SMS:Dynamic Model Interface Schema#Element <default>|default]] |
| | *[[SMS:Dynamic Model Interface Schema#Element <optional>|optional]] |
| | *[[SMS:Dynamic Model Interface Schema#Element <type>|type]] |
| | *[[SMS:Dynamic Model Interface Schema#Element <unique_name>|unique_name]] |
| |- | | |- |
| |'''Children''' | | |'''Children''' |
| |width="530"| [[SMS:Dynamic Model Interface Schema#Element <type>|type]], [[SMS:Dynamic Model Interface Schema#Element <default>|default]], [[SMS:Dynamic Model Interface Schema#Element <unique_name>|unique_name]], [[SMS:Dynamic Model Interface Schema#Element <range>|range]], [[SMS:Dynamic Model Interface Schema#Element <optional>|optional]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]] | | |width="530"| [[SMS:Dynamic Model Interface Schema#Element <range>|range]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]], display_options |
| |- | | |- |
| |'''Used by''' | | |'''Used by''' |
Line 927: |
Line 931: |
| |'''Example''' | | |'''Example''' |
| |width="530"| | | |width="530"| |
| <edit_box> | | <edit_box type=”double” |
| <type>double</type>
| | default=”1.0” |
| | unique_name=”edtBox5” |
| | optional> |
| <range>0, 2.2</range> | | <range>0, 2.2</range> |
| <default>1.0 </default>
| |
| <unique_name>edtBox5</unique_name>
| |
| <optional></optional>
| |
| <dependency>…</dependency>… | | <dependency>…</dependency>… |
| </ edit_box | | </ edit_box > |
| |} | | |} |
|
| |
|
Revision as of 17:48, 20 March 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 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 and the widget view. The tree is on the left side of the dialog and it contains groups and items that represent data. Clicking on a group or item will result with 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
- Widgets or groups of widgets can be loaded from an outside file by using <link_to_xml>.
- Multiple widgets when displayed on right side can be expanded/collapsed – TO BE DETERMINED
- 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 “#”. Here is a list of available 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
Projection keyword:
- #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
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
Arc keywords:
- #arc_id
- #arc_count
- #arc_point_count
Polygon keywords:
- #polygon_id
- #polygon_count
- #polygon_point_count
Additional keywords are defined with the various custom control widgets.
Note: In changing from version 1 to version 2, all tags that were <custom_control_XXXX> were changed to <control_XXXX>.
For more information on using the Dynamic Model Interface, download the XML file tutorial:
Elements
Element <arc_att>
Info
|
Used to specify what attributes should be used for the arcs of a coverage.
|
Versions
|
2
|
Attributes
|
none
|
Children
|
menu_item, snap
|
Used by
|
coverage
|
Element <card>
Info
|
Determines the card name and format when the item is exported. For more examples see <export_format>.
|
Version
|
1
|
Attributes
|
none
|
Children
|
card_name, export_format, export_location, dependency, anything beginning with “process_each_”, export_group, export_optional, use_paramter, export_group, export_optional
|
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>
|
Element <card_name>
Info
|
The name of the card which is used in the card file.
|
Version
|
1
|
Attributes
|
none
|
Children
|
none
|
Used by
|
card
|
Example
|
|
Element <check_box>
Info
|
Widget that displays text that is checked/unchecked.
|
Version
|
1
|
Attributes
|
|
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 >
|
Element <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
|
1
|
Attributes
|
|
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>
|
Element <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
|
1
|
Attributes
|
|
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>
|
Element <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
|
1
|
Attributes
|
|
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 >
|
Element <command_args>
Info
|
Defines the command line arguments to run a particular executable.
|
Version
|
3
|
Attributes
|
use_file
|
Children
|
none
|
Used by
|
executable_command
|
Example
|
See executable example.
|
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.
|
Versions
|
2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
file_def
|
Example
|
The following example has a file where the exclamation point starts the comment.
<file_def>
...
<comment>!</comment>
…
</file_def>
|
Element <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
|
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 >
|
Element <contains>
Info
|
Holds all the groups and items of a group.
|
Versions
|
2
|
Attributes
|
none
|
Children
|
group, item
|
Used by
|
group
|
Example
|
|
Element <control_curve>
Info
|
Displays a curve push button. When pushed, the xy curve values can be updated and a curve is displayed.
|
Version
|
2
|
Attributes
|
|
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>
…
|
Element <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.
|
Versions
|
1 (<custom_control_XXXX>), 2
|
Attributes
|
|
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>
…
|
Element <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
|
Versions
|
1 (<custom_control_XXXX>), 2
|
Attributes
|
|
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>
|
Element <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
|
Versions
|
1 (<custom_control_XXXX>), 2
|
Attributes
|
|
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>
…
|
Element <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
|
Versions
|
1 (<custom_control_XXXX>), 2
|
Attributes
|
|
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>
…
|
Element <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
|
Versions
|
1 (<custom_control_XXXX>), 2
|
Attributes
|
|
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>
…
|
Element <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
|
Versions
|
1 (<custom_control_XXXX>), 2
|
Attributes
|
|
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>
…
|
Element <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.
|
Versions
|
2
|
Attributes
|
|
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>
…
|
Element <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
|
1
|
Attributes
|
none
|
Children
|
none
|
Used by
|
control_dataset
|
Example
|
<control_dataset>
<dataset_name>”Five percent Layer %d”, #row_number</dataset_name>
…
</control_dataset>
|
Element <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
|
1
|
Attributes
|
|
Children
|
condition
|
Used by
|
card, check_box, text_box, combo_box, table, any element that begins with “custom_control”, edit_box, item, group
|
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>
|
Element <declare_dialogs>
Info
|
Contains all the dialogs used in a model.
|
Version
|
2
|
Attributes
|
none
|
Children
|
declare_dialog
|
Used by
|
model
|
Example
|
|
Element <declare_dialog>
Info
|
Used to define a dialog.
|
Version
|
2
|
Attributes
|
- name
- help_button_url
- help_button_wiki
|
Children
|
pages
|
Used by
|
dialogs
|
Example
|
|
Element <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.
|
Versions
|
2
|
Attributes
|
|
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>
|
Element <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
|
1
|
Attributes
|
|
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 >
|
Element <executable>
Info
|
Represents a single executable used by the model.
|
Versions
|
2
|
Attributes
|
none
|
Children
|
executable_name, input_file, output_file, executable_order
|
Used by
|
simulation
|
Example 1
|
<executable>
<executable_name>SRH 2D</executable_name>
<input_file>
<file_ref>caseFile</file_ref>
<export_location>"%s", #project_name</export_location>
<command_args>” -%s", #file_name</command_args>
<execute>”%s”, #executable_name</execute>
</input_file>
<executable_order>1</executable_order>
</executable>
|
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>
<executable_name>SRH 2D</executable_name>
<input_file>
<process_each_coverage>
<file_ref>caseFile</file_ref>
<export_location>"%s/%s", #geom_name, #project_name</export_location>
<execute>”%s - %s”, #executable_name, #geom_name</execute>
</process_each_coverage>
</input_file>
<executable_order>1</executable_order>
</executable>
|
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>
<executable_name>SRH 2D</executable_name>
<input_file>
<file_ref>caseFile</file_ref>
<process_each_coverage>
<export_location>"%s/%s", #geom_name, #project_name</export_location>
</process_each_coverage>
<execute>”%s”, #executable_name</execute>
</input_file>
<executable_order>1</executable_order>
</executable>
|
Element <executable name>
Info
|
Defines the name for the executable in the preferences window.
|
Versions
|
2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
executable
|
Example
|
See executable example
|
Element <executable order>
Info
|
Defines the order in which this executable should run relative to other executables in the same simulation.
|
Versions
|
2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
executable
|
Example
|
In this example, the executable for “My Model Preprocess” will run before “My Model Main” is allowed to start.
<executable>
<executable_name>My Model Main</executable_name>
<execuatble_order>1</executable_order>
...
</executable>
<executable>
<executable_name>My Model Preprocess</executable_name>
<execuatble_order>0</executable_order>
...
</executable>
|
Element <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.
|
Versions
|
2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
input_file, anything starting with process_
|
Example
|
See executable example.
|
Element <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.
|
Versions
|
1, 2
|
Attributes
|
ignore_on_read
|
Children
|
none
|
Used by
|
card
|
Example 1
|
<edit_box>
<unique_name>MyEditBox</unique_name>
</edit_box>
…
<card>
<card_name>FIFTH_GRAIN</card_name>
<export_format>”%s %lf\n", #card_name, MyEditBox</export_format>
</card>
|
Example 2
|
If the edit_box has the value of 15, this would print out:
FIFTH_GRAIN 15
|
Example 3
|
If export_format was changed to this:
<export_format>”%s \”%lf\” // comment\n", #card_name, MyEditBox
</export_format>
FIFTH_GRAIN “15” // comment
|
Example 4
|
<control_length>
<unique_name>MyLength</unique_name>
...
</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
|
Element <export_group>
Info
|
A way of grouping optional exports.
|
Versions
|
2
|
Attributes
|
ignore_on_read
|
Children
|
Any element beginning with “process_” and required.
|
Used by
|
Any element beginning with “process_”.
|
Example
|
|
Element <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.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
group, card, input_file, output_file. If it used just within group or link_to (version 1), then everything within the element will use the same export location unless specified in the child group or item card.
|
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>
|
Element <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.
|
Versions
|
2
|
Attributes
|
ignore_on_read
|
Children
|
Any element beginning with “process_”, export_format, default, separator.
|
Used by
|
Any element beginning with “process_”.
|
Example
|
|
Element <export_text>
Info
|
Used to write out a different name to the export file than the “text” displayed to the user.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
option
|
Example
|
We have a combo box and one of the options is Equilibrium which is selected. If the file is exported and the <export_text> card is omitted we would write out:
FORMULATION Equilibrium
However, if we wanted to write out EQ instead, we would use the <export_text> tag. The exported line would look like:
FORMULATION EQ
<combo_box>
<unique_name>formulationUnits</unique_name>
<option>
<text>Equilibrium</text>
<export_text>EQ</export_text>
</option>
…
<card>
<card_name>FORMULATION</card_name>
<export_format>"%s %s\n, #card_name, formulationUnits
</card>
</combo_box>
|
Element <file_def>
Element <file_type>
Info
|
The file format. Keywords include SEQUENTIAL_ASCII, CARD_ASCII
|
Versions
|
2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
file_def
|
Example
|
|
Element <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.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
control_file_opener
|
Example 1
|
Displays all files with *.cmcards extension
<item>
<text>Select Some File:</text>
<control_file_opener>
<filter>Cmcards file (*.cmcards)</filter>
</control_date>
|
Example 2
|
Displays all files
<filter>All Files (*.*)</filter>
|
Element <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.
|
Versions
|
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>
<flags>XY_USEDATE</flags>
<x_column>
<text>Time
</x_column>
<y_column>
<text>Velocity</text>
</y_column>
</control_curve>
…
|
Element <group>
Info
|
Tree group item that contains one or more items or groups.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
text, dependency, text_style, contains
|
Used by
|
page_def, contains
|
Example
|
<group>
<text> Timing </text>
<item>
… tree item stuff
</item>
</group>
|
Element <help_button_url>
Info
|
Provides online help when the help button is clicked. Loads the specified url in a web browser.
|
Versions
|
2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
dialog
|
Example
|
<dialog>
<dialog_name>Model Control</dialog_name>
<help_button_url>www.aquaveo.com</help_button_url>
…
</dialog>
|
Element <help_button_wiki>
Info
|
Displays a wiki help page when the help button is clicked. Loads either a local or online wiki page based on the user settings in the preferences dialog. Must provide the correct key from the wiki dialogs page.
|
Versions
|
2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
dialog
|
Example
|
<dialog>
<dialog_name>Model Control</dialog_name>
<help_button_wiki>DynSrhModelControl</help_button_wiki
…
</dialog>
|
Element <input_file>
Element <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.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
text, card, dependency, text_box, edit_box, check_box, combo_box, table, any element starting with “custom_control”, text_style
|
Used by
|
group
|
Example
|
<item>
<text>Transport Time Step</text>
<edit_box>…. </edit_box>
<card>…</card>
|
Element <link_to>
Info
|
Determines which dialog definition we are linking to.
|
Versions
|
2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
menu_item, material_att
|
Example
|
<simulation>
<menu_item>
<text>Model Control...</text>
<link_to>SRHModelControl</link_to>
</menu_item>
</simulation>
<page_def>
<page>SRHModelControl</page>
<group>
<contains>
…<item>...</item>
</contains>
</group>
</page_def>
|
Element <material_att>
Info
|
Used to specify what attributes should be used for materials of a coverage.
|
Versions
|
2
|
Attributes
|
none
|
Children
|
link_to
|
Used by
|
coverage
|
Example
|
See coverage example.
|
Element <max_rows>
Info
|
Optional element used to limit the number of rows the user can specify in a SMS:Dynamic Model Interface Schema#Element <control_curve>control_curve. If this element is not used, the max_rows is unlimited.
|
Versions
|
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>
…
|
Info
|
Item to be placed in a menu. The text is the text displayed in the menu, link_to 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.
|
Versions
|
2
|
Attributes
|
double_click
|
Children
|
text, link_to, dependency
|
Used by
|
simulation, coverage, point_att, arc_att, polygon_att, material_att
|
Example
|
See the model example.
|
Element <message>
Info
|
Used to display text to the user when a model check condition has failed.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
model_check
|
Example
|
< table >
<column>
<text>A</text>
<edit_box>
<unique_name>colA</unique_name>
</edit_box>
</column>
…// other columns also defined
<model_check>
<condition>( (colA OR colB) AND NOT(colD OR colE))</condition>
<message>Column D or E is required</message>
</model_check>
</ table >
|
Element <minimum_height>
Info
|
Used to set the minimum height of a widget in pixels. Added in SMS 11.2.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
table
|
Example
|
< table >
<minimum_height>500</minimum_height>
</ table >
|
Element <model>
Info
|
Defines the model interface that is being created.
|
Versions
|
2
|
Attributes
|
none
|
Children
|
model_name, simulation, coverage, dialogs, file_def
|
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</version>
<model>
<model_name>MyModel</model_name>
<model_version>4</model_version>
<simulation>
…
</simulation>
<coverage>
<coverage_type>My Model</coverage_type>
...
</coverage>
<dialogs>
…
</dialogs>
<file_def>
…
</file_def>
</model>
</dynamic_model>
|
Element <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.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
condition, message
|
Used by
|
model_checks
|
Example
|
< table >
<column>
<text>A</text>
<edit_box>
<unique_name>colA</unique_name>
</edit_box>
</column>
…// other columns also defined
< /table >
<model_check>
<condition>( (colA EQUALS 0.0 OR colB EQUALS 0.0) AND NOT
(colD EQUALS 0.0 OR colE EQUALS 0.0))</condition>
<message>Column D or E is required</message>
</model_check>
|
Element <model_checks>
Info
|
Contains all model checks
|
Versions
|
2
|
Attributes
|
none
|
Children
|
model_check
|
Used by
|
|
Example
|
<dialogs>
<dialog>
...
< table >
<column>
<text>A</text>
<edit_box>
<unique_name>colA</unique_name>
</edit_box>
</column>
…// other columns also defined
< /table >
...
<dialog>
<dialogs>
<model_checks>
<model_check>
<condition>( (colA EQUALS 0.0 OR colB EQUALS 0.0) AND NOT
(colD EQUALS 0.0 OR colE EQUALS 0.0))</condition>
<message>Column D or E is required</message>
</model_check>
<model_checks>
|
Element <model_name>
Info
|
The name of the model whose interface is being defined.
|
Versions
|
2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
model
|
Example
|
See the model example.
|
Element <model_version>
Info
|
The version of the numeric model this interfaces with.
|
Versions
|
2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
model
|
Example
|
See the model example.
|
Element <new_line>
Info
|
Creates a new line before adding the next widget in a tree item.
|
Versions
|
1, 2
|
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</unique_name>
</edit_box>
<new_line></new_line>
<text_box>
<text>Friction Efficency:</text>
</text_box>
|
Element <option>
Info
|
Widget that displays list of options. Only 1 can be selected.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
text, export_text, default, dependency, unit_keyword, 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</unique_name>
<option>
<text>hours</text>
</option>
<option>
<text>minutes</text>
<default></default>
</option>
<option>
<text>seconds</text>
</option>
<dependency>…</dependency>…
</ combo_box >
|
Element <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.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
text_box, combo_box, edit_box, table, any element that starts with “custom_control”, check_box
|
Example
|
<optional></optional>
|
Element <output_file>
Info
|
Defines a file to be created by the executable.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
file_ref, export_location, execute, export_table, export_each_coverage, export_each_material
|
Used by
|
executable
|
Example
|
See executable example.
|
Element <page>
Info
|
This is the name of the page or tab to which everything inside the link_to(version 1) or page_def(version 2) tag belongs. No spaces or punctuation are allowed in the name.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
page_def
|
Example
|
<page>CMSSedimentTransportPage</page>
|
Element <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.
|
Versions
|
2
|
Attributes
|
none
|
Children
|
page, page_display, contains
|
Used by
|
dialog
|
Example
|
|
Element <page_display>
Info
|
This is used to describe how the dialog should display. There are 3 options that can be given: FLEX, FULL, and NO_NAV.
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.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
page_def
|
Example
|
<page_display>FULL</page_display>
|
Element <point_att>
Info
|
Used to specify what attributes should be used for the points of a coverage.
|
Versions
|
2
|
Attributes
|
none
|
Children
|
menu_item
|
Used by
|
coverage
|
Example
|
|
Element <polygon_att>
Info
|
Used to specify what attributes should be used for the polygon of a coverage.
|
Versions
|
2
|
Attributes
|
none
|
Children
|
menu_item
|
Used by
|
coverage
|
Example
|
|
Element <process_each_arc>
Element <process_each_coverage>
Element <process_each_material>
Element <process_each_point>
Element <process_each_polygon>
Element <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”.
|
Versions
|
2
|
Attributes
|
ignore_on_read, widget
|
Children
|
process_column, card_name, export_format, separator
|
Used by
|
process_column, card, process_each_coverage, process_each_polygon, process_each_arc, process_each_point
|
Example
|
<process_each_row widget = “someColumnWidget”>
|
Element <process_on_condition>
Info
|
Indicator to perform a certain action only if the condition is satisfied.
|
Versions
|
2
|
Attributes
|
ignore_on_read
|
Children
|
process_column, card, process_each_coverage, process_each_polygon, process_each_arc, process_each_point, card_name, export_format, separator
|
Used by
|
process_column, card, process_each_coverage, process_each_polygon, process_each_arc, process_each_point
|
Example
|
|
Element <process_on_count>
Info
|
Indicator to perform a certain action only on certain iterations of a loop.
|
Versions
|
2
|
Attributes
|
ignore_on_read
|
Children
|
process_column, card, process_each_coverage, process_each_polygon, process_each_arc, process_each_point, card_name, export_format, separator
|
Used by
|
process_column, card, process_each_coverage, process_each_polygon, process_each_arc, process_each_point
|
Example
|
|
Element <push_button>
Info
|
The button to be used for a control_dataset. Can be SELECT, CREATE, or DELETE.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
control_dataset
|
Example
|
See control_dataset example.
|
Element <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.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
edit_box, any element that starts with “control” except control_file_opener, control_dataset and control_date
|
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>
|
Element <required>
Info
|
Used to indicate that something from the exported group must be used.
|
Versions
|
2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
export_group
|
Example
|
|
Element <row>
Info
|
Typically a user would only use row if there is a fixed table and wanting to display row text or to specify specific rows as read only. Row tags are placed inside a < table >.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
text, read_only, 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</text>
<read_only></read_only>
</row>
<row>
<text>Row2</text>
</row>
</ table >
|
Element <separator>
Info
|
Determines how to separate text that is being exported into a text file.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
export_each_row
|
Example
|
See <export_table>
|
Element < table >
Info
|
Table widget with columns and rows. Will most likely have multiple column and row tags.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
read_only, column, row, dependency, unique_name, text_style
|
Used by
|
item
|
Example
|
Read only table with 2 columns and 3 rows. The number of rows are fixed.
< table >
<unique_name>myTable </unique_name>
<read_only></read_only>
<fixed_row_count>3</fixed_row_count>
<column>
<text>hours</text>
</column>
<column>
<text>minutes</text>
</column>
</ table >
|
Element <take_coverage>
Info
|
Represents a coverage that can be taken in the project explorer.
|
Versions
|
2
|
Attributes
|
limit
|
Children
|
declare_parameter, condition, coverage_type
|
Used by
|
simulation
|
Example
|
See <takes> example.
|
Element <take_mesh2d>
Info
|
Represents a coverage that can be taken in the project explorer.
|
Versions
|
2
|
Attributes
|
limit, linear
|
Children
|
declare_parameter, condition
|
Used by
|
simulation
|
Example
|
See <takes> example.
|
Element <takes>
Info
|
Represents what can be dragged under another object in the project explorer.
|
Versions
|
2
|
Attributes
|
none
|
Children
|
declare_parameter, take_coverage, take_mesh2d
|
Used by
|
simulation
|
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">
<coverage_type>My Model Type</coverage_type>
<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">
<coverage_type>My Model Type</coverage_type>
<coverage_type>My Other Model Type</coverage_type>
<condition>""</condition>
</take_coverage>
<declare_parameter>monitorCov</declare_parameter>
</takes>
|
Element <text>
Element <text_box>
Info
|
Widget that displays text that is not editable.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
text, dependency, unique_name, alignH, alignV, text_style
|
Used by
|
item, row, column
|
Example
|
<text_box>
<text>Time Step:</text>
<unique_name>Transport_TS</unique_name>
<alignH>LEFT</alignH>
<dependency>…</dependency>…
</text_box>
|
Element <text_size>
Info
|
Sets the point size of the text. Ranges from 8 to 20. Added in SMS 11.2.
|
Versions
|
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>
|
Element <text_style>
Info
|
Holds the style options for the text. Added in SMS 11.2.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
none
|
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></bold>
<condition>edtA LESS_THAN 0.0</condition>
<text_style>
</edit_box>
|
Element <type>
Info
|
Determines if the edit_box is displaying text, an integer or a double.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
edit_box
|
Example 1
|
<edit_box>
<type>double</type>
…
</ edit_box >
|
Example 2
|
<type>integer</type>
|
Example 3
|
<type>text</type>
|
Element <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.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
link_to_xml
|
Example
|
See link_to_xml example.
|
Element <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”.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
card, text_box, combo_box, edit_box, table, all elements starting with “custom_control”, check_box, link_to_xml
|
Example
|
|
Element <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.
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
option
|
Example
|
<control_duration>
<option>
<unit_keyword>#TIME_SECONDS</unit_keyword>
<text>seconds</text>
</option>
<option>
<unit_keyword>#TIME_MINUTES</unit_keyword>
<text>minutes</text>
</option>
</control_duration>
See also dependency example.
|
Definitions
|
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
|
Element <version>
Info
|
Stores the SMS .xml version number. Initial version is 1
|
Versions
|
1, 2
|
Attributes
|
none
|
Children
|
none
|
Used by
|
none, should be placed near the top of the XML file
|
Example
|
<version>1</version>
|
Element <x_column>
Info
|
Used to define the attributes in the column such as text (heading).
|
Versions
|
2
|
Attributes
|
none
|
Children
|
text
|
Used by
|
control_curve
|
Example
|
This example creates a curve button with the date/time flag.
<item>
<control_curve>
<unique_name>myCurve1</unique_name>
<flags>XY_USEDATE</flags>
<x_column>
<text>Time
</x_column>
<y_column>
<text>Velocity</text>
</y_column>
</control_curve>
…
|
Element <y_column>
Info
|
Used to define the attributes in the column such as text (heading).
|
Versions
|
2
|
Attributes
|
none
|
Children
|
text
|
Used by
|
control_curve
|
Example
|
This example creates a curve button with the date/time flag.
<item>
<control_curve>
<unique_name>myCurve1</unique_name>
<flags>XY_USEDATE</flags>
<x_column>
<text>Time
</x_column>
<y_column>
<text>Velocity</text>
</y_column>
</control_curve>
…
|
Attributes
Attribute<alignH>
Info
|
Align text horizontally in a text box.
|
Values
|
|
Versions
|
1
|
Used by
|
text_box
|
Attribute<alignV>
Info
|
Align text vertically in a text box.
|
Values
|
|
Versions
|
1
|
Used by
|
text_box
|
Attributes <amount>
Info
|
|
Values
|
integer
|
Versions
|
3
|
Used by
|
execute_progress_update
|
Attributes <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
|
Attributes <bind_to>
Info
|
Binds a coverage to a mesh, or grid
|
Values
|
MEHS2D, CGRID
|
Versions
|
3
|
Used by
|
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
|
Attributes <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
|
Attributes <corner_skip>
Info
|
Skip corners when exporting neighbors
|
Values
|
true, false
|
Versions
|
3
|
Used by
|
process_each_neighbor
|
Attributes <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
|
|
Version
|
1
|
Used by
|
control_dataset
|
Attributes <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
|
Attributes <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
"checked"
"unchecked"
no values or empty string
“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
|
Attributes <default_executable_name32>
Info
|
Sets the initial default file name for the 32-bit executable.
|
Values
|
text
|
Versions
|
3
|
Used by
|
executable
|
Attributes <default_executable_name64>
Info
|
Sets the initial default file name for the 64-bit executable.
|
Values
|
text
|
Versions
|
3
|
Used by
|
executable
|
Attributes <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
|
Attributes <dim>
Info
|
Specifies that when the dependency is false, the widget should be dimmed, not hidden.
|
Values
|
none
|
Versions
|
1
|
Used by
|
dependency
|
Attributes <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
|
Attributes <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
|
Attributes <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
|
Attributes <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
|
Attributes <feature>
Info
|
Determine whether to select, points, arcs or polys
|
Values
|
point, arc, poly
|
Versions
|
2
|
Used by
|
control_feature_selector, process_each_neighbor
|
Attributes <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
|
Attributes <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
|
Attributes <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
|
Attributes <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
|
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
|
Attributes <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
|
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
|
Attributes <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>
|
Attributes <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>
|
Attributes <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
|
Attributes <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
|
Attributes <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
|
Attributes <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
|
Attributes <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
|
Attributes <location>
Info
|
The location from which we will be getting dataset values
|
Values
|
TBD
|
Versions
|
3
|
Used by
|
xmdf_dataset
|
Attributes <max>
Info
|
A max value. Default is 2.147 billion.
|
Values
|
positive integer
2.147 billion : default
|
Versions
|
2
|
Used by
|
control_set, execute_progres_update
|
Attributes <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
|
Attributes <min>
Info
|
A minimim value. Default is 0.
|
Values
|
positive integer
0: default
|
Versions
|
2
|
Used by
|
control_set
|
Attributes <model>
Info
|
Specify the model name of the executable
|
Values
|
string
|
Versions
|
2
|
Used by
|
control_executable
|
Attributes <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
|
Attributes <neighbor_per_edge>
Info
|
Min number of neighbors in any direction
|
Values
|
integer
0- default
|
Versions
|
3
|
Used by
|
process_each_neighbor
|
Attributes <null_id>
Info
|
Integer for an id of a neighbor not found
|
Values
|
integer
|
Versions
|
3
|
Used by
|
process_each_neighbor
|
Attributes <null_value>
Info
|
The null_value for the dataset
|
Values
|
any integer, any double
|
Versions
|
3
|
Used by
|
xmdf_dataset
|
Attributes <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
|
Attributes <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
|
Attributes <required>
Info
|
Specifies that at least one option in the group must be present.
|
Values
|
true
|
Versions
|
3
|
Used by
|
export_group
|
Attributes <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
|
Attributes <select_time>
Info
|
|
Values
|
“single”, “#range”, “#all”
|
Versions
|
2
|
Used by
|
control_dataset
|
Attributes <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
|
Attributes <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
|
Attributes <type>
Info
|
For <display_options> defines point, or arc
|
Values
|
display_options
edit_box
- “text”
- “integer”
- “double”
|
Versions
|
2
|
Used by
|
coverage, display_options, edit_box
|
Attributes <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
|
Attributes <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
|
Attributes <use_dialog>
Info
|
Determines which dialog definition we are linking to
|
Values
|
string
|
Versions
|
2
|
Used by
|
material_att, menu_item
|
Attributes <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
|
Attributes <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
|
Attributes <version>
Info
|
Sets the version number
|
Values
|
integer
|
Versions
|
1
|
Used by
|
model, dynamic_model
|
Attributes <z_is_elev>
Info
|
If the z value is elevation set this to true. Default is false.
|
Values
|
|
Versions
|
2
|
Used by
|
coverage
|