SMS:Dynamic Model Interface Schema: Difference between revisions

From XMS Wiki
Jump to navigationJump to search
No edit summary
 
(413 intermediate revisions by 5 users not shown)
Line 1: Line 1:
__NOINDEX__
<center>'''Sorry the page you are looking for cannot be found.''' </center>
[[File:Undercosntruction.png|center|200 px]]
<center>'''We are working on creating a page for this topic.'''</center>
[[SMS:SMS|Back to SMS]]
<!--
{{TOCright}}
{{TOCright}}
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.
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.
==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 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.
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.
* Order of the tree items and groups will match the order defined in the XML file.
Line 10: Line 22:
* Clicking on a single item will display associated widgets in 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.
* Tree item will also display the values in a non-editable field.
* Unique_name use format:  file::unique_name#value
* 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 the right side, can be expanded/collapsed.
* Multiple widgets when displayed on right side can be expanded/collapsed &ndash; TO BE DETERMINED
* Can have nested groups.
* 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 "#".   
* 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:
<blockquote>
* #card_name
* #geom_name &ndash; name of geometry as it shows up in the project explorer
* #project_name
* #value
* #units
* #xmdf_path &ndash; path inside the XMDF file
* #file_name
* #file_path
* #sms_path &ndash; 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:
===Available Keywords===
* #progress_amount
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 <code><custom_control_XXXX></code> were changed to <code><control_XXXX></code>.
* #progress_max
-->
<!-- template for this section


Material keywords:
{|class="mw-collapsible mw-collapsed" style="border:1px solid #D0E0FF; margin-bottom:0.4em;"
* #material_id
|-  
* #material_name
! width="400" style="text-align:left;" colspan="2" | General Keywords
* #material_count
|- style="background-color:#F0F0FF;"
* #unassigned
| width="100" style="text-align:left;" | '''entry'''  
 
| width="500" style="text-align:left;" | description or &nbsp;
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
</blockquote>
<blockquote>
Additional keywords are defined with the various custom control widgets.
</blockquote>
 
'''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:
* [http://smsdocs.aquaveo.com.s3.amazonaws.com/DMI_XML_File.pdf DMI XML File Tutorial]
* [http://smsdocs.aquaveo.com.s3.amazonaws.com/DynamicSample.zip DMI Tutorial Data]
* [http://smsdocs.aquaveo.com.s3.amazonaws.com/DMISamplePreProc.exe DMI Sample Pre-Processing Executable]
* [http://smsdocs.aquaveo.com.s3.amazonaws.com/DMISample.exe DMI Sample Executable]
 
==Elements=
 
=====Element ''<arc_att>''=====
{|class="wikitable"
|-
|width="70"|'''Info'''
|width="530"|Used to specify what attributes should be used for the arcs of a coverage.
|-
|'''Versions'''
|2
|-
|'''Attributes'''
|none
|-
|-
|'''Children'''
|&nbsp; '''entry'''  
|[[SMS:Dynamic Model Interface Schema#Element <menu_item>|menu_item]], snap
| description or &nbsp;
|- style="background-color:#F0F0FF;"
|&nbsp; '''entry'''
| description or &nbsp;
|-
|-
|'''Used by'''
|&nbsp; '''entry'''  
|[[SMS:Dynamic Model Interface Schema#Element <coverage>|coverage]]
| description or &nbsp;
|}
|}


=====Element ''<attribute_set>''=====
-->
{|class="wikitable"
<!--
{|class="mw-collapsible mw-collapsed" style="border:1px solid #D0E0FF; margin-bottom:0.4em;"
|-
! width="400" style="text-align:left;" colspan="2" | General Keywords
|- style="background-color:#F0F0FF;"
| width="100" style="text-align:left;" |&nbsp; '''&#35;card_name'''  
| width="500" style="text-align:left;" | &nbsp;
|-
|-
|width="70"|'''Info'''
|&nbsp; '''&#35;geom_name'''
|width="530"|This represents an item in the project explorer that is some sort of grouping.
| name of geometry as it shows up in the project explorer
|- style="background-color:#F0F0FF;"
|&nbsp; '''&#35;project_name'''  
| &nbsp;
|-
|-
|'''Versions'''
|&nbsp; '''&#35;value'''  
|4
| &nbsp;
|- style="background-color:#F0F0FF;"
|&nbsp; '''&#35;units'''
| &nbsp;
|-
|-
|'''Attributes'''
|&nbsp; '''&#35;xmdf_path'''  
|none
| path inside the XMDF file
|- style="background-color:#F0F0FF;"
|&nbsp; '''&#35;file_name'''
| &nbsp;
|-
|-
|'''Children'''
|&nbsp; '''&#35;file_path'''  
|takes, menu_item
| &nbsp;
|- style="background-color:#F0F0FF;"
|&nbsp; '''&#35;sms_path'''
| path in sms project explorer once inside a geometric item
|-
|-
|'''Used by'''
|&nbsp; '''&#35;count'''  
|model
| used for a widget in a table for counting the rows/columns
|- style="background-color:#F0F0FF;"
|&nbsp; '''&#35;geom_guid'''
| &nbsp;
|}
 
{|class="mw-collapsible mw-collapsed" style="border:1px solid #D0E0FF; margin-bottom:0.4em;"
|-
! width="400" style="text-align:left;" colspan="2" | Arc Keywords
|- style="background-color:#F0F0FF;"
| width="140" style="text-align:left;" |&nbsp; '''&#35;arc_id'''
| width="460" style="text-align:left;" | &nbsp;
|-
|-
|'''Example'''
|&nbsp; '''&#35;arc_count'''  
|See the model example.
| &nbsp;
|- style="background-color:#F0F0FF;"
|&nbsp; '''&#35;arc_point_count'''
| &nbsp;
|}
|}


=====Element ''<card>''=====
{|class="mw-collapsible mw-collapsed" style="border:1px solid #D0E0FF; margin-bottom:0.4em;"
{|class="wikitable"
|-
! width="400" style="text-align:left;" colspan="2" | Coverage Keywords
|- style="background-color:#F0F0FF;"
| width="160" style="text-align:left;" |&nbsp; '''&#35;area_property '''  
| width="440" style="text-align:left;" | &nbsp;
|-
|-
|width="70"|'''Info'''
|&nbsp; '''&#35;activity_classification'''  
|width="530"|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>]].
| &nbsp;
|- style="background-color:#F0F0FF;"
|&nbsp; '''&#35;cgrid_generator'''
| &nbsp;
|-
|-
|'''Version'''
|&nbsp; '''&#35;location'''  
|1
| &nbsp;
|- style="background-color:#F0F0FF;"
|&nbsp; '''&#35;mapping'''
| &nbsp;
|-
|-
|'''Attributes'''
|&nbsp; '''&#35;mesh_generator'''  
|none
| &nbsp;
|- style="background-color:#F0F0FF;"
|&nbsp; '''&#35;observation'''
| &nbsp;
|-
|-
|'''Children'''
|&nbsp; '''&#35;quadtree_generator'''  
|width="530"|[[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <export_location>|export_location]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], anything beginning with “process_each_”, [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]], [[SMS:Dynamic Model Interface Schema#Element <export_optional>|export_optional]], use_paramter, export_group, export_optional
| &nbsp;
|- style="background-color:#F0F0FF;"
|&nbsp; '''&#35;spectral'''
| &nbsp;
|}
 
{|class="mw-collapsible mw-collapsed" style="border:1px solid #D0E0FF; margin-bottom:0.4em;"
|-
! width="400" style="text-align:left;" colspan="2" | executable_progress_update Keywords
|- style="background-color:#F0F0FF;"
| width="140" style="text-align:left;" |&nbsp; '''&#35;progress_amount'''
| width="460" style="text-align:left;" | &nbsp;
|-
|-
|'''Used by'''
|&nbsp; '''&#35;progress_max'''  
|item (version 1), [[SMS:Dynamic Model Interface Schema#Element <file_def>|file_def]] (version 2)
| &nbsp;
|-
|'''Example'''
|
<item  text = “Formulation”>
    <card>
          <card_name>FORMULATION</card_name>
          <export_format>card "formulationUnits"</export_format>
    </card>
|}
|}


=====Element ''<card_name>''=====
{|class="mw-collapsible mw-collapsed" style="border:1px solid #D0E0FF; margin-bottom:0.4em;"
{|class="wikitable"
|-
! width="400" style="text-align:left;" colspan="2" | Material Keywords
|- style="background-color:#F0F0FF;"
| width="120" style="text-align:left;" |&nbsp; '''&#35;material_id'''  
| width="480" style="text-align:left;" | &nbsp;
|-
|-
|width="70"|'''Info'''
|&nbsp; '''&#35;material_name'''
|width="530"|The name of the card which is used in the card file.
| &nbsp;
|- style="background-color:#F0F0FF;"
|&nbsp; '''&#35;material_count'''  
| &nbsp;
|-
|-
|'''Version'''
|&nbsp; '''&#35;unassigned'''  
|1
| &nbsp;
|}
 
{|class="mw-collapsible mw-collapsed" style="border:1px solid #D0E0FF; margin-bottom:0.4em;"
|-
! width="400" style="text-align:left;" colspan="2" | Point Keywords
|- style="background-color:#F0F0FF;"
| width="100" style="text-align:left;" |&nbsp; '''&#35;point_count'''
| width="500" style="text-align:left;" | &nbsp;
|-
|-
|'''Attributes'''
|&nbsp; '''&#35;point_id'''  
|none
| &nbsp;
|- style="background-color:#F0F0FF;"
|&nbsp; '''&#35;point_x'''
| &nbsp;
|-
|-
|'''Children'''
|&nbsp; '''&#35;point_y'''  
|none
| &nbsp;
|-
|- style="background-color:#F0F0FF;"
|'''Used by'''
|&nbsp; '''&#35;point_z'''  
|[[SMS:Dynamic Model Interface Schema#Element <card>|card]]
| &nbsp;
|}
 
{|class="mw-collapsible mw-collapsed" style="border:1px solid #D0E0FF; margin-bottom:0.4em;"
|-
! width="400" style="text-align:left;" colspan="2" | Polygon Keywords
|- style="background-color:#F0F0FF;"
| width="160" style="text-align:left;" |&nbsp; '''&#35;polygon_id'''
| width="440" style="text-align:left;" | &nbsp;
|-
|-
|'''Example'''
|&nbsp; '''&#35;polygon_count'''  
|
| &nbsp;
|- style="background-color:#F0F0FF;"
|&nbsp; '''&#35;polygon_point_count'''
| &nbsp;
|}
|}


=====Element ''<check_box>''=====
{|class="mw-collapsible mw-collapsed" style="border:1px solid #D0E0FF; margin-bottom:0.4em;"
{|class="wikitable"
|-
! width="400" style="text-align:left;" colspan="2" | Projection Keywords
|- style="background-color:#F0F0FF;"
| width="140" style="text-align:left;" |&nbsp; '''&#35;horizontal_datum'''  
| width="460" style="text-align:left;" | NAD83, NAD27, LOCAL
|-
|-
|width="70"|'''Info'''
|&nbsp; '''&#35;horizontal_system'''
|width="530"|Widget that displays text that is checked/unchecked.
| UTM, STATE_PLANE, GEOGRAPHIC, LOCAL
|- style="background-color:#F0F0FF;"
|&nbsp; '''&#35;horizontal_units'''  
| FEET, METERS, DEGREES
|-
|-
|'''Version'''
|&nbsp; '''&#35;horizontal_zone'''  
|1
| 3104, etc.
|- style="background-color:#F0F0FF;"
|&nbsp; '''&#35;vertical_datum'''
| &nbsp;
|-
|-
|'''Attributes'''
|&nbsp; '''&#35;vertical_units'''  
|width="530"|
| &nbsp;
*[[SMS:Dynamic Model Interface Schema#Element <default>|default]]
|}
*[[SMS:Dynamic Model Interface Schema#Element <export_text>|export_text_checked]]
 
*[[SMS:Dynamic Model Interface Schema#Element <export_text>|export_text_unchecked]]
==Elements==
*[[SMS:Dynamic Model Interface Schema#Element <text>|text]]
Sorted alphabetically by element name.
*[[SMS:Dynamic Model Interface Schema#Element <unique_name>|unique_name]]
 
|-
===Elements A-C===
|'''Children'''
{{XML entry
| dependency, text_style
| name      = arc_att
|-
| info      = Used to specify what attributes should be used for the arcs of a coverage.
|'''Used by'''
| version    = 2
|[[SMS:Dynamic Model Interface Schema#Element <item>|item]]
| attributes = none
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <menu_item>|menu_item]], [[SMS:Dynamic Model Interface Schema#Element <snap>|snap]]
|'''Example'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <declare_coverage>|declare_coverage]]
|
| example    =
  <check_box  text = “Calculate Sediment Transport”  
}}
                       default = “checked”
-->
                       unique_name = “togCalcSedimentTransport”  
<!--obsolete
                       export_text_checked = “ON”    
{{XML entry
                       export_text_unchecked = “OFF”>
| name      = attribute_set
| info      = This represents an item in the project explorer that is some sort of grouping.
| version    = 4
| attributes = none
| children  = [[SMS:Dynamic Model Interface Schema#Elements <takes>|takes]], [[SMS:Dynamic Model Interface Schema#Elements <menu_item>|menu_item]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Elements <model>|model]]
| example    = See the model example.
}}-->
<!--
{{XML entry
| 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>]].
| version    = 1
| attributes = none
| children  = [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <export_location>|export_location]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], anything beginning with "process_", [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]], [[SMS:Dynamic Model Interface Schema#Element <export_optional>|export_optional]], [[SMS:Dynamic Model Interface Schema#Attribute <use_parameter>|use_paramter]].
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <item>|item]], file_def
| example    = <item  text = "Formulation">
    <card>
          <card_name>FORMULATION</card_name>
          <export_format>card "formulationUnits"</export_format>
    </card>
}}
 
{{XML entry
| name      = card_name
| info      = The name of the card which is used in the card file.
| version    = 1
| attributes = none
| children  = none
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <card>|card]]
| example    =
}}
 
{{XML entry
| name      = check_box
| info      = Widget that displays text that is checked/unchecked.
| version    = 1
| attributes = [[SMS:Dynamic Model Interface Schema#Element <default>|default]], [[SMS:Dynamic Model Interface Schema#Element <export_text>|export_text_checked]], [[SMS:Dynamic Model Interface Schema#Element <export_text>|export_text_unchecked]], [[SMS:Dynamic Model Interface Schema#Element <text>|text]], [[SMS:Dynamic Model Interface Schema#Element <unique_name>|unique_name]].
| children  = [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]]
| example    =
  <check_box  text = "Calculate Sediment Transport"  
                       default = "checked"
                       unique_name = "togCalcSedimentTransport"  
                       export_text_checked = "ON"    
                       export_text_unchecked = "OFF">
     <dependency>…</dependency>…
     <dependency>…</dependency>…
  </ check_box >
  </ check_box >
|}
}}


=====Element ''<color>''=====
{{XML entry
{|class="wikitable"
| 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.
|width="70"|'''Info'''
| version    = 1
|width="530"|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.
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <blue>, <green>, <red>|red]],
|-
[[SMS:Dynamic Model Interface Schema#Attribute <blue>, <green>, <red>|green]],
|'''Version'''
[[SMS:Dynamic Model Interface Schema#Attribute <blue>, <green>, <red>|blue]]
|1
| children  = none
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|'''Attributes'''
| example    =
|
*red
*green
*blue
|-
|'''Children'''
|none
|-
|'''Used by'''
|[[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|-
|'''Example'''
|
This would change the text to a bright red color.
This would change the text to a bright red color.
  <text_style>                     
  <text_style>                     
     <color red = “255” green=”0” blue=”0”></color>
     <color red = "255" green="0" blue="0"></color>
  <text_style>
  <text_style>
|}
}}


=====Element ''<column>''=====
{{XML entry
{|class="wikitable"
| 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.
|width="70"|'''Info'''
| version    = 1
|width="530"|Definition of the column in the table.  A widget defined in a column will be the widget used for each cell in the column.
| attributes = [[SMS:Dynamic Model Interface Schema#Element <text>|text]], [[SMS:Dynamic Model Interface Schema#Element <read_only>|read_only]],
|-
[[SMS:Dynamic Model Interface Schema#Element <optional>|optional]]
|'''Version'''
| children  = [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]], [[SMS:Dynamic Model Interface Schema#Element <combo_box>|combo_box]], [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]], all elements starting with "control_", [[SMS:Dynamic Model Interface Schema#Element <check_box>|check_box]]
|1
| used_by    = [[SMS:Dynamic Model Interface Schema#Element < table >|table]]
|-
| example    = Column1 is read only, Column 2 isn't read only and is also optional.<br/> This means the column can have empty fields and a warning message won't be displayed.
|'''Attributes'''
|
*[[SMS:Dynamic Model Interface Schema#Element <text>|text]]
*read_only
*[[SMS:Dynamic Model Interface Schema#Element <optional>|optional]]
|-
|'''Children'''
|width="530"|[[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]], [[SMS:Dynamic Model Interface Schema#Element <combo_box>|combo_box]], [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]], all elements starting with “control_”, [[SMS:Dynamic Model Interface Schema#Element <check_box>|check_box]]
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element < table >|table]]
|-
|'''Example'''
|Column1 is read only, Column 2 isn’t read only and is also optional.<br/> This means the column can have empty fields and a warning message won’t be displayed.
  < table >
   
   
    . . .
  table
     <column  text = “Column1” read_only>
      . . .
     <column  text = "Column1" read_only>
   </column>
   </column>
   < column  text = “Column2   optional></ column>
   < column  text = "Column2   optional></ column>
   </table>
   </table>
|}
}}


=====Element ''<combo_box>''=====
{{XML entry
{|class="wikitable"
| 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.
|width="70"|'''Info'''
|width="530"|
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.
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
|'''Version'''
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <optional>|optional]], [[SMS:Dynamic Model Interface Schema#Element <unique_name>|unique_name]]  
|1
| children  = [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]], [[SMS:Dynamic Model Interface Schema#Element <display_options>|display_options]]
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|'''Attributes'''
| example    = Creates a combo box with hours, minutes and seconds.  Hours is the default item.
|
  <combo_box  unique_name="cbxTransportUnits">                     
*optional
     <option  text = "hours" default></option>
*[[SMS:Dynamic Model Interface Schema#Element <unique_name>|unique_name]]
     <option  text = "minutes"></option>
*default
   <option  text = "seconds"></option>
|-
|'''Children'''
|width="530"|[[SMS:Dynamic Model Interface Schema#Element <option>|option]], [[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]], display_options (version 2)
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|-
|'''Example'''
|width="530"|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>…
   <dependency>…</dependency>…
  </ combo_box >
  </ combo_box >
}}


|}
{{XML entry
 
| name      = command_args
=====Element ''<command_args>''=====
| info      = Defines the command line arguments to run a particular executable.
{|class="wikitable"
| version    = 3
|-
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <use_file>|use_file]]
|width="70"|'''Info'''
| children  = none
|width="530"|Defines the command line arguments to run a particular executable.
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <executable_command>|executable_command]]
|-
| example    = See executable example.
|'''Version'''
}}
|3
|-
|'''Attributes'''
|use_file
|-
|'''Children'''
|none
|-
|'''Used by'''
| executable_command
|-
|'''Example'''
|See executable example.
|}


=====Element ''<comment>''=====
{{XML entry
{|class="wikitable"
| 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.
|width="70"|'''Info'''
| version    = 2
|width="530"|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.
| attributes = none
|-
| children  = none
|'''Versions'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <declare_file>|declare_file]]
|2
| example    = The following example has a file where the exclamation point starts the comment.
|-
|'''Attributes'''
|none
|-
|'''Children'''
|none
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <file_def>|file_def]]
|-
|'''Example'''
|width="530"|The following example has a file where the exclamation point starts the comment.


  <file_def>
  <file_def>
Line 355: Line 362:
  …
  …
  </file_def>
  </file_def>
}}


|}
{{XML entry
| 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").
| version    = 1
| attributes = none
| children  = none
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <model_check>|model_check]], [[SMS:Dynamic Model Interface Schema#Element <model_check_condition>|model_check_condition]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <process_on_condition>|process_on_condition]], [[SMS:Dynamic Model Interface Schema#Element <snap_exterior>|snap_exterior]], [[SMS:Dynamic Model Interface Schema#Element <snap_interior>|snap_interior]],  [[SMS:Dynamic Model Interface Schema#Element <take_coverage>|take_coverage]], [[SMS:Dynamic Model Interface Schema#Element <take_mesh2d>|take_mesh2d]], [[SMS:Dynamic Model Interface Schema#Element <take_cgrid2d>|take_cgrid2d]], [[SMS:Dynamic Model Interface Schema#Element <take_quadtree>|take_quadtree]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
| example    = See below


=====Element ''<condition>''=====
{|class="wikitable"
|-
|width="70"|'''Info'''
|width="530"|
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'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <model_check>|model_check]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|-
|'''Example'''
|width="530"|
  < table >
  < table >
   <column  text=”A”>
   <column  text="A">
       <edit_box    unique_name=”colA”>
       <edit_box    unique_name="colA">
       </edit_box>
       </edit_box>
     </column>
     </column>
   …// other columns also defined
   …// other columns also defined
    
    
   <model_check problem_text=”Column D or E is required”>
   <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>
       <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>
   </model_check>
  < /table >
  < /table >
|}
}}


=====Element ''<contains>''=====
{{XML entry
{|class="wikitable"
| name      = contains
|-
| info      = Holds all the groups and items of a group.
|width="70"|'''Info'''
| version    = 2
|width="530"|Holds all the groups and items of a group.
| attributes = none
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <group>|group]], [[SMS:Dynamic Model Interface Schema#Element <item>|item]]
|'''Versions'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <group>|group]], [[SMS:Dynamic Model Interface Schema#Element <declare_page>|declare_page]],
|2
| example    =
|-
}}
|'''Attributes'''
|none
|-
|'''Children'''
|[[SMS:Dynamic Model Interface Schema#Element <group>|group]], [[SMS:Dynamic Model Interface Schema#Element <item>|item]]
|-
|'''Used by'''
| group
|-
|'''Example'''
|
|}


=====Element ''<control_curve>''=====
{{XML entry
{|class="wikitable"
| name      = control_curve
|-
| info      = Displays a curve push button. When pushed, the xy curve values can be updated and a curve is displayed.
|width="70"|'''Info'''
| version    = 2
|width="530"| Displays a curve push button. When pushed, the xy curve values can be updated and a curve is displayed.
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <flags>|flags]], [[SMS:Dynamic Model Interface Schema#Attribute <unique_name>|unique_name]], [[SMS:Dynamic Model Interface Schema#Attribute <max_row_count>|max_row_count]]
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <x_column>|x_column]], [[SMS:Dynamic Model Interface Schema#Element <y_column>|y_column]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]], [[SMS:Dynamic Model Interface Schema#Element <populate_method>|populate_method]]
|'''Version'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|2
| example    = This example creates a curve limited to 10 rows.
|-
|'''Attributes'''
|
*[[SMS:Dynamic Model Interface Schema#Element <flags>|flags]]
*[[SMS:Dynamic Model Interface Schema#Element <unique_name>|unique_name]]
*max_row_count
|-
|'''Children'''
| [[SMS:Dynamic Model Interface Schema#Element <x_column>|x_column]], [[SMS:Dynamic Model Interface Schema#Element <y_column>|y_column]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]]
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|-
|'''Example'''
|This example creates a curve limited to 10 rows.
  <item>
  <item>
     <control_curve  unique_name=”myCurve1”
     <control_curve  unique_name="myCurve1"
                               max_row_count=”10”
                               max_row_count="10"
                               flags = “XY_USEDATE”>
                               flags = "XY_USEDATE">
         <x_column  text=”Time”></x_column>
         <x_column  text="Time"></x_column>
         <y_column  text=”Velocity”>  
         <y_column  text="Velocity">  
         </y_column>
         </y_column>
     </control_curve>
     </control_curve>
   …
   …


|}
}}


=====Element ''<control_dataset>''=====
{{XML entry
{|class="wikitable"
| 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.
|width="70"|'''Info'''
|width="530"|
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.
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 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.
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.
 
| version    = 1 (<custom_control_XXXX>), 2
(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.
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <geometry>|geometry]], [[SMS:Dynamic Model Interface Schema#Attribute <type>|type]], [[SMS:Dynamic Model Interface Schema#Attribute <text>|text]], [[SMS:Dynamic Model Interface Schema#Attribute <export_text>|export_text]], [[SMS:Dynamic Model Interface Schema#Attribute <inactive_export_text>|inactive_export_text]], [[SMS:Dynamic Model Interface Schema#Attribute <time_type>|time_type]], [[SMS:Dynamic Model Interface Schema#Attribute <select_time>|select_time]], [[SMS:Dynamic Model Interface Schema#Attribute <unique_name>|unique_name]], [[SMS:Dynamic Model Interface Schema#Attribute <default>|default]],[[SMS:Dynamic Model Interface Schema#Attribute <name>|name]]
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <push_button>|push_button]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]], [[SMS:Dynamic Model Interface Schema#Element <use_parameter>|use_parameter]], [[SMS:Dynamic Model Interface Schema#Element <text>|text]], [[SMS:Dynamic Model Interface Schema#Element <export_text>|export_text]]
|'''Versions'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|1 (<custom_control_XXXX>), 2
| example    = This example creates the custom control with only the select and delete buttons.
|-
|'''Attributes'''
|
*geometry,
*time_type
*select_time
*interpret_time
*[[SMS:Dynamic Model Interface Schema#Element <unique_name>|unique_name]]
*[[SMS:Dynamic Model Interface Schema#Element <dataset_type>|dataset_type]]
*[[SMS:Dynamic Model Interface Schema#Element <default>|default]]
*name
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <push_button>|push_button]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <dataset_name>|dataset_name]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]], use_parameter (version 2), text, export_text
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]], use_parameter
|-
|'''Example'''
|width="530"|This example creates the custom control with only the select and delete buttons.
  <item>
  <item>
     <control_dataset  dataset_type=”scalar”>
     <control_dataset  dataset_type="scalar">
         <push_button>select<push_button>
         <push_button>select<push_button>
         <push_button>delete</push_button>
         <push_button>delete</push_button>
     </control_dataset>
     </control_dataset>
   …
   …
|}
}}


=====Element ''<control_date>''=====
{{XML entry
{|class="wikitable"
| 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.
|width="70"|'''Info'''
|width="530"| 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.


Keywords:
Keywords:
Line 522: Line 464:
* #AM_PM                       
* #AM_PM                       
* #AM_PM_CAPS           
* #AM_PM_CAPS           
|-
| version    = 1 (<custom_control_XXXX>), 2
|'''Versions'''
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <default>|default]], [[SMS:Dynamic Model Interface Schema#Attribute <unique_name>|unique_name]]
|1 (<custom_control_XXXX>), 2
| children  = [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|'''Attributes'''
| example    =
|
  <item  text ="Start date>
* [[SMS:Dynamic Model Interface Schema#Element <unique_name>|unique_name]]
     <control_date    unique_name="edtDate">
|-
|'''Children'''
|width="530"|[[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|-
|'''Example'''
|
  <item  text =”Start date>
     <control_date    unique_name=”edtDate”>
     </control_date>
     </control_date>
     <card>
     <card>
Line 545: Line 476:
         <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>
         <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>
     </card>
|}
}}


=====Element ''<control_density>''=====
{{XML entry
{|class="wikitable"
| 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.
|width="70"|'''Info'''
|width="530"| 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:
Keywords:
Line 559: Line 488:
* #MPV_G_PER_CU_CM
* #MPV_G_PER_CU_CM
* #MPV_LB_PER_CU_FT
* #MPV_LB_PER_CU_FT
|-
| version    = 1 (<custom_control_XXXX>), 2
|'''Versions'''
| attributes = [[SMS:Dynamic Model Interface Schema#Element <default>|default]], [[SMS:Dynamic Model Interface Schema#Attribute <precision>|precision]], [[SMS:Dynamic Model Interface Schema#Element <unique_name>|unique_name]]
|1 (<custom_control_XXXX>), 2
| children  = [[SMS:Dynamic Model Interface Schema#Element <option>|option]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <populate_method>|populate_method]], [[SMS:Dynamic Model Interface Schema#Element <range>|range]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|'''Attributes'''
| example    =  
|
Displays kg/m^3 and lb/ft^3 in combo box.  If kg/m^3 selected and exported, returns the text "kg m".
*[[SMS:Dynamic Model Interface Schema#Element <default>|default]]
*[[SMS:Dynamic Model Interface Schema#Element <unique_name>|unique_name]]
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <option>|option]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <range>|range]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|-
|'''Example'''
|width="530"|
Displays kg/m^3 and lb/ft^3 in combo box.  If kg/m^3 selected and exported, returns the text “kg m”.
  <item>
  <item>
     <text>Density </text>
     <text>Density </text>
     <control_density>
     <control_density>
         <option      text=”kg/m^3”
         <option      text="kg/m^3"
                           export_text = “kg m”
                           export_text = "kg m"
                           unit_keyword=#MPV_KG_PER_CU_M”>
                           unit_keyword="#MPV_KG_PER_CU_M">
         </option>
         </option>
         <option    text=”lb_ft^3”
         <option    text="lb_ft^3"
                         export_text =”lbs ft”
                         export_text ="lbs ft"
                         unit_keyword = #MPV_LB_PER_CU_FT”>
                         unit_keyword = "#MPV_LB_PER_CU_FT">
         </option>
         </option>
     </control_density>
     </control_density>
   …
   …
}}


|}
{{XML entry
 
| name      = control_duration
=====Element ''<control_duration>''=====
| info      = Displays an edit box and combo box.  Combo box contains days, hours, minutes, seconds.  Possible outputs are value and units.
{|class="wikitable"
|-
|width="70"|'''Info'''
|width="530"| Displays an edit box and combo box.  Combo box contains days, hours, minutes, seconds.  Possible outputs are value and units.


Keywords:
Keywords:
Line 606: Line 520:
* #TIME_WEEKS
* #TIME_WEEKS
* #TIME_YEARS
* #TIME_YEARS
|-
| version    = 1 (<custom_control_XXXX>), 2
|'''Versions'''
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <default>|default]], [[SMS:Dynamic Model Interface Schema#Attribute <precision>|precision]], [[SMS:Dynamic Model Interface Schema#Attribute <unique_name>|unique_name]]
|1 (<custom_control_XXXX>), 2
| children  = [[SMS:Dynamic Model Interface Schema#Element <option>|option]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <populate_method>|populate_method]],  [[SMS:Dynamic Model Interface Schema#Element <range>|range]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|'''Attributes'''
| example    = Displays only minutes and hours in combo box.  If hours selected and exported, returns the text "hrs".
|
  <item  text ="Transport Time Step">
*[[SMS:Dynamic Model Interface Schema#Element <default>|default]]
*[[SMS:Dynamic Model Interface Schema#Element <unique_name>|unique_name]]
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <option>|option]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <range>|range]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|-
|'''Example'''
|width="530"| Displays only minutes and hours in combo box.  If hours selected and exported, returns the text “hrs”.
  <item  text =“Transport Time Step”>
     <control_duration>
     <control_duration>
         <option  text=”minutes”
         <option  text="minutes"
                       export_text = “min”
                       export_text = "min"
                       unit_keyword = #TIME_MINUTES”>
                       unit_keyword = "#TIME_MINUTES">
         </option>
         </option>
         <option  text = “hours”
         <option  text = "hours"
                       export_text = “hrs”
                       export_text = "hrs"
                       unit_keyword = #TIME_HOURS”
                       unit_keyword = "#TIME_HOURS"
                       default>
                       default>
         </option>
         </option>
     </control_duration>
     </control_duration>
   …
   …
}}


|}
{{XML entry
 
| name      = control_executable
=====Element ''<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.
{|class="wikitable"
|-
|width="70"|'''Info'''
|width="530"| 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.
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    = 3
|'''Versions'''
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <model>|model]],  
|3
[[SMS:Dynamic Model Interface Schema#Attribute <unique_name>|unique_name]]
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <option>|option]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <range>|range]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]], [[SMS:Dynamic Model Interface Schema#Element <declare_dialogs>|declare_dialogs]], [[SMS:Dynamic Model Interface Schema#Element <declare_files>|declare_files]]
|'''Attributes'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <unique_name>|unique_name]], dependency, text_style, [[SMS:Dynamic Model Interface Schema#Element <simulation>|simulation]]
|
| example    = This example declares a control_executable that runs "MyModel".
model,  
unique_name
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <option>|option]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <range>|range]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|-
|'''Used by'''
| unique_name, dependency, text_style, use_parameter, simulation, dialogs, files
|-
|'''Example'''
|width="530"| This example declares a control_executable that runs “MyModel”.


  <control_executable model = "MyModel"       
  <control_executable model = "MyModel"       
                                   unique_name=”exeMyModel”>
                                   unique_name="exeMyModel">
   <declare dialogs>
   <declare dialogs>
  <declare dialog  name=”Arc BC”>
  <declare dialog  name="Arc BC">
   <pages>
   <pages>
         <page_def  name=”ArcBC”
         <page_def  name="ArcBC"
                               display=”NO_NAV”>
                               display="NO_NAV">
             <contains>
             <contains>
                   <item>
                   <item>
                       <edit_box  unique_name=”edtMyModelText”>
                       <edit_box  unique_name="edtMyModelText">
                       </edit_box>
                       </edit_box>
                 </item>
                 </item>
Line 682: Line 570:
   </dialogs>
   </dialogs>
   <simulation>
   <simulation>
       <executable name =”MyModel”>
       <executable name ="MyModel">
           <use_parameter>HydroFile</use_parameter>
           <use_parameter>HydroFile</use_parameter>
           <execute_command>
           <execute_command>
Line 703: Line 591:
   </files>
   </files>
   </control_executable>
   </control_executable>
|}
}}


=====Element ''<control_feature_selector>''=====
{{XML entry
{|class="wikitable"
| 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.
|width="70"|'''Info'''
| version    = 3
|width="530"| 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.
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <feature>|feature]],  
|-
[[SMS:Dynamic Model Interface Schema#Attribute <unique_name>|unique_name]]
|'''Versions'''
| children  = [[SMS:Dynamic Model Interface Schema#Element <range>|range]]
|3
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|-
| example    = Allows the user to select 1 to 10 arcs
|'''Attributes'''
|
feature,  
unique_name
|-
|'''Children'''
|width="530"| range
|-
|'''Used by'''
| item, row, column
|-
|'''Example'''
|width="530"| Allows the user to select 1 to 10 arcs
   <item>
   <item>
     <control_feature_selector feature = “arc”>
     <control_feature_selector feature = "arc">
                                       unique_name=”mySelector”>
                                       unique_name="mySelector">
           <range>1-10</range>  
           <range>1-10</range>  
       </control_feature_selector>
       </control_feature_selector>
   …
   …
}}


|}
{{XML entry
 
| name      = control_file_selector
=====Element ''<control_file_selector>''=====
| info      = Push button that opens a file open dialog to select files.  Possible outputs are file_path.
{|class="wikitable"
| version    = 1 (<custom_control_XXXX>), 2
|-
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <default>|default]],  
|width="70"|'''Info'''
[[SMS:Dynamic Model Interface Schema#Attribute <create_file>|create_file]],  
|width="530"| Push button that opens a file open dialog to select files.  Possible outputs are file_path.
[[SMS:Dynamic Model Interface Schema#Attribute <filter>|filter]],  
|-
[[SMS:Dynamic Model Interface Schema#Attribute <unique_name>|unique_name]]
|'''Versions'''
| children  = [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|1 (<custom_control_XXXX>), 2
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|-
| example    = Opens a file dialog, filtering on files with *.h5 and *.cmcards extensions
|'''Attributes'''
|
default,  
create_file,  
filter,  
unique_name
|-
|'''Children'''
|width="530"| dependency, text_style
|-
|'''Used by'''
| item, row, column
|-
|'''Example'''
|width="530"| Opens a file dialog, filtering on files with *.h5 and *.cmcards extensions
  <item>
  <item>
     <text>File:</text>
     <text>File:</text>
     <control_file_selector
     <control_file_selector
             filter = “Cmcards file (.cmcards)>  
             filter = "Cmcards file (.cmcards)">  
     </control_file_selector>
     </control_file_selector>
  …
  …
}}


 
{{XML entry
|}
| 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.
=====Element ''<control_length>''=====
{|class="wikitable"
|-
|width="70"|'''Info'''
|width="530"| Displays an edit box and combo box.  Combo box can contain meters, cm, mm, um, ft, in.  Possible outputs are value and units.


Keywords:
Keywords:
Line 786: Line 643:
* #LEN_MILE
* #LEN_MILE
* #LEN_UM
* #LEN_UM
|-
| version    = 1 (<custom_control_XXXX>), 2
|'''Versions'''
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <default>|default]], [[SMS:Dynamic Model Interface Schema#Attribute <precision>|precision]], [[SMS:Dynamic Model Interface Schema#Attribute <unique_name>|unique_name]]
|1 (<custom_control_XXXX>), 2
| children  = [[SMS:Dynamic Model Interface Schema#Element <option>|option]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <populate_method>|populate_method]], [[SMS:Dynamic Model Interface Schema#Element <range>|range]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|'''Attributes'''
| example    = Displays only cm, and mm in combo box. If cm is selected and exported, returns the text "centimeter".
|
  <item  text = "Length">
*[[SMS:Dynamic Model Interface Schema#Element <default>|default]]
     <control_length  unique_name="myLength">
*[[SMS:Dynamic Model Interface Schema#Element <unique_name>|unique_name]]
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <option>|option]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <range>|range]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|-
|'''Example'''
|width="530"| 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>
         <option>
           text = “cm”
           text = "cm"
           export_text=”centimeter”
           export_text="centimeter"
           unit_keyword = #LEN_CM”>
           unit_keyword = "#LEN_CM">
         </option>
         </option>
         <option>
         <option>
           text = “mm”
           text = "mm"
           export_text = “mm”>
           export_text = "mm">
           unit_keyword=#LEN_MM”
           unit_keyword="#LEN_MM"
           default
           default
         </option>
         </option>
     </control_length>
     </control_length>
   …
   …
}}


|}
{{XML entry
 
| name      = control_nesting
=====Element ''<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.
{|class="wikitable"
| version    = 3
|-
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <unique_name>|unique_name]]
|width="70"|'''Info'''
| children  = [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]]
|width="530"| 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.
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|-
| example    = Creates the nesting dialog widget
|'''Versions'''
|3
|-
|'''Attributes'''
|unique_name
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]]
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|-
|'''Example'''
|width="530"| Creates the nesting dialog widget
  <item>
  <item>
     <control_nesting  unique_name=”ccNesting”>
     <control_nesting  unique_name="ccNesting">
     </control_nesting>
     </control_nesting>
  …
  …
}}


 
{{XML entry
|}
| 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.
=====Element ''<control_set>''=====
| version    = 3
{|class="wikitable"
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <min>|min]] (default = 0),  
|-
[[SMS:Dynamic Model Interface Schema#Attribute <max>|max]] (default = 2.147 billion),
|width="70"|'''Info'''
[[SMS:Dynamic Model Interface Schema#Attribute <increment>|increment]] (default is 1),  
|width="530"| 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.
[[SMS:Dynamic Model Interface Schema#Attribute <unique_name>|unique_name]]
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <column>|column]], [[SMS:Dynamic Model Interface Schema#Element <roles>|roles]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]]
|'''Versions'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <column>|column]], [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]]
|3
| example    = Example of a culvert widget with a extra "Name" column.  The culvert requires 2 arcs.  
|-
  <control_set min = "2"
|'''Attributes'''
                       max = "2"
|min (default = 0),  
                       unique_name = "tblSetCulverts">
max (default = 2.147 billion),
increment (default is 1),  
unique_name
|-
|'''Children'''
|width="530"| column, roles
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|-
|'''Example'''
|width="530"| 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">
       <roles behavior = "SWAP">
  <role  text = “upper”>
  <role  text = "upper">
     <range>1-1</range>
     <range>1-1</range>
  </role>
  </role>
  <role  text = “lower”>
  <role  text = "lower">
     <range>1-1</range>  
     <range>1-1</range>  
  </role>
  </role>
         </roles>
         </roles>
         <column  text = “Name”>
         <column  text = "Name">
  <edit_box  unique_name=”edtMyArcsName”
  <edit_box  unique_name="edtMyArcsName"
                                 type=”text”>  
                                 type="text">  
  </edit_box>
  </edit_box>
         </column>
         </column>
Line 891: Line 709:


User allows for either 2 or 4 arcs on a weir.   
User allows for either 2 or 4 arcs on a weir.   
  <control_set min = “2” max = “4” increment = “2” >
  <control_set min = "2" max = "4" increment = "2" >
  ….
  ….
|}
}}


=====Element ''<control_velocity>''=====
{{XML entry
{|class="wikitable"
| 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.
|width="70"|'''Info'''
|width="530"| 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:
Keywords:
Line 909: Line 725:
* #VEL_CM_PER_S
* #VEL_CM_PER_S
* #VEL_MM_PER_S
* #VEL_MM_PER_S
|-
| version    = 1 (<custom_control_XXXX>), 2
|'''Versions'''
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <default>|default]], [[SMS:Dynamic Model Interface Schema#Attribute <precision>|precision]], [[SMS:Dynamic Model Interface Schema#Attribute <unique_name>|unique_name]]
|1 (<custom_control_XXXX>), 2
| children  = [[SMS:Dynamic Model Interface Schema#Element <option>|option]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <populate_method>|populate_method]], [[SMS:Dynamic Model Interface Schema#Element <range>|range]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|'''Attributes'''
| example    = Displays m/sec and cm/sec in combo box. If m/sec selected and exported, returns the text "m sec".
|
*[[SMS:Dynamic Model Interface Schema#Element <default>|default]]
*[[SMS:Dynamic Model Interface Schema#Element <unique_name>|unique_name]]
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <option>|option]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <range>|range]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|-
|'''Example'''
|width="530"| Displays m/sec and cm/sec in combo box. If m/sec selected and exported, returns the text “m sec”.
  <item>
  <item>
     <text>Velocity </text>
     <text>Velocity </text>
     <control_velocity    unique_name=”ccVelocity”>
     <control_velocity    unique_name="ccVelocity">
         <range>0-100</range>
         <range>0-100</range>
         <option  text=”m/sec”
         <option  text="m/sec"
                       export_text = “m sec”
                       export_text = "m sec"
                       unit_keyword = #VEL_M_PER_S”>
                       unit_keyword = "#VEL_M_PER_S">
         </option>
         </option>
         <option  text = “cm/sec”
         <option  text = "cm/sec"
                       export_text = “cm sec”xt
                       export_text = "cm sec"xt
                       unit_keyword = #VEL_CM_PER_S”>
                       unit_keyword = "#VEL_CM_PER_S">
         </option>
         </option>
     </control_velocity>
     </control_velocity>
   …
   …
}}


|}
{{XML entry
 
| name      = control_volume_flow
=====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.
{|class="wikitable"
| version    = 2
|-
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <default>|default]], [[SMS:Dynamic Model Interface Schema#Attribute <precision>|precision]], [[SMS:Dynamic Model Interface Schema#Attribute <unique_name>|unique_name]]
|width="70"|'''Info'''
| children  = [[SMS:Dynamic Model Interface Schema#Element <option>|option]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <populate_method>|populate_method]], [[SMS:Dynamic Model Interface Schema#Element <range>|range]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|width="530"| 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.
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|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".
|'''Versions'''
  <item  text="Volume flow">
| 2
     <control_volume_flow  unique_name ="ccVolumeFlow">             
|-
|'''Attributes'''
|
*[[SMS:Dynamic Model Interface Schema#Element <default>|default]]
*[[SMS:Dynamic Model Interface Schema#Element <unique_name>|unique_name]]
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <option>|option]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <range>|range]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|-
|'''Example'''
|width="530"| 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>
         <range>0-100</range>
         <option
         <option
           text = “m^3/sec”
           text = "m^3/sec"
           export_text = ”m^3 sec”
           export_text = "m^3 sec"
           unit_keyword = #VFLOW_CU_M_PER_SEC”>
           unit_keyword = "#VFLOW_CU_M_PER_SEC">
         </option>
         </option>
         <option
         <option
           text = “cm^3/sec”
           text = "cm^3/sec"
           export_text = “cm^3 sec”
           export_text = "cm^3 sec"
           unit_keyword = #VFLOW_CU_CM_PER_SEC”>
           unit_keyword = "#VFLOW_CU_CM_PER_SEC">
         </option>
         </option>
     </control_volume_flow>
     </control_volume_flow>
   …
   …
}}


|}
{{XML entry
 
| name      = count_filter
=====Element ''<count_filter>''=====
| info      = Specifies the range on which the process_on_count is valid.
{|class="wikitable"
| version    = 2
|-
| attributes = none
|width="70"|'''Info'''
| children  = none
|width="530"| Specifies the range on which the process_on_count is valid.
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <process_on_count>|process_on_count]]
|-
| example    =  
|'''Versions'''
}}
| 2
|-
|'''Attributes'''
|none
|-
|'''Children'''
|width="530"| none
|-
|'''Used by'''
| process_on_count
|-
|'''Example'''
|width="530"|
 
|}


=====Element ''<dataset_name>''=====
===Elements D-H===
{|class="wikitable"
-->
|-
<!--obsolete
|width="70"|'''Info'''
{{XML entry
|width="530"| 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.
| 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.
|'''Version'''
| version    = 1
| 1
| attributes = none
|-
| children  = none
|'''Attributes'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_dataset>|control_dataset]]
|none
| example    =  
|-
|'''Children'''
|width="530"| none
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <control_dataset>|control_dataset]]
|-
|'''Example'''
|width="530"|
  <control_dataset>                           
  <control_dataset>                           
     <dataset_name>”Five percent Layer %d”, #row_number</dataset_name>
     <dataset_name>"Five percent Layer %d", #row_number</dataset_name>
  …
  …
  </control_dataset>
  </control_dataset>
|}
}}-->
 
<!--
=====Element ''<declare_coverage>''=====
{{XML entry
{|class="wikitable"
| name      = declare_coverage
|-
| info      = Defines a coverage type for the model.
|width="70"|'''Info'''
| version    = 2
|width="530"| Defines a coverage type for the model.
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <z_is_elev>|z_is_elev]],
|-
[[SMS:Dynamic Model Interface Schema#Attribute <bind_to>|bind_to]],  
|'''Version'''
[[SMS:Dynamic Model Interface Schema#Attribute <name>|name]],  
| 2
[[SMS:Dynamic Model Interface Schema#Attribute <use_icon>|use_icon]]
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <point_att>|point_att]],  
|'''Attributes'''
[[SMS:Dynamic Model Interface Schema#Element <arc_att>|arc_att]],  
|
[[SMS:Dynamic Model Interface Schema#Element <polygon_att>|polygon_att]],  
z_is_elev, bind_to, name, use_icon
[[SMS:Dynamic Model Interface Schema#Attribute <material_att>|material_att]],  
|-
[[SMS:Dynamic Model Interface Schema#Attribute <menu_item>|menu_item]]
|'''Children'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <model>|model]]
|width="530"| point_att, arc_att, polygon_att, material_att, menu_item
| example    = This defines a coverage that can be created.
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <model>|model]]
|-
|'''Example'''
|width="530"|This defines a coverage that can be created.


  <declare_coverage z_is_elev = “true”   name=”MyCov”>
  <declare_coverage z_is_elev = "true"   name="MyCov">
   <point_att>
   <point_att>
     <menu_item  text = “Assign BC…” use_dialog = “NodeAtt”>
     <menu_item  text = "Assign BC…" use_dialog = "NodeAtt">
     </menu_item>
     </menu_item>
   </point_att>
   </point_att>
   <arc_att>
   <arc_att>
     <menu_item  text = “Assign BC…” use_dialog= “NodestringBC”>
     <menu_item  text = "Assign BC…" use_dialog= "NodestringBC">
     </menu_item>
     </menu_item>
   </arc_att>
   </arc_att>
   <material_att  use_dialog= “MaterialProp”</material_att>
   <material_att  use_dialog= "MaterialProp"</material_att>
  </coverage>
  </coverage>
|}
}}
 
{{XML entry
| name      = declare_dialogs
| info      = Contains all the dialogs used in a model.
| version    = 2
| attributes = none
| children  = [[SMS:Dynamic Model Interface Schema#Element <declare_dialog>|declare_dialog]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_executable>|control_executable]], [[SMS:Dynamic Model Interface Schema#Element <model>|model]]
| example    =
}}


=====Element ''<declare_dialogs>''=====
{{XML entry
{|class="wikitable"
| name      = declare_dialog
|-
| info      = Used to define a dialog.  
|width="70"|'''Info'''
| version    = 2
|width="530"| Contains all the dialogs used in a model.
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <name>|name]],
|-
[[SMS:Dynamic Model Interface Schema#Attribute <help_button_url>|help_button_url]],
|'''Version'''
[[SMS:Dynamic Model Interface Schema#Attribute <help_button_wiki>|help_button_wiki]]
| 2
| children  = [[SMS:Dynamic Model Interface Schema#Element <pages>|pages]]
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <dialogs>|dialogs]]
|'''Attributes'''
| example    =  
|none
}}
|-
|'''Children'''
|width="530"| declare_dialog
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <model>|model]]
|-
|'''Example'''
|width="530"|
|}


=====Element ''<declare_dialog>''=====
{{XML entry
{|class="wikitable"
| name      = declare_files
|-
| info      = Contains all the files used in a model.
|width="70"|'''Info'''
| version    = 3
|width="530"| Used to define a dialog.  
| attributes =
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <declare_file>|declare_file]]
|'''Version'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_executable>|control_executable]], [[SMS:Dynamic Model Interface Schema#Element <model>|model]]
| 2
| example    =  
|-
}}
|'''Attributes'''
|name, help_button_url, help_button_wiki
|-
|'''Children'''
|width="530"| pages
|-
|'''Used by'''
| dialogs
|-
|'''Example'''
|width="530"|
|}


=====Element ''<declare_file>''=====
{{XML entry
{|class="wikitable"
| name      = declare_file
|-
| info      = A way to declare a file that will be used in the future.
|width="70"|'''Info'''
| version    = 3
|width="530"| A way to declare a file that will be used in the future.
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <control_file>|control_file]], [[SMS:Dynamic Model Interface Schema#Attribute <name>|name]], [[SMS:Dynamic Model Interface Schema#Attribute <file_type>|file_type]]
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <comment>|comment]], [[SMS:Dynamic Model Interface Schema#Element <identifier>|identifier]], [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <export>|export]][[SMS:Dynamic Model Interface Schema#Element <process_each_row>|process_each_row]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]], [[SMS:Dynamic Model Interface Schema#Element <process_on_condition>|process_on_condition]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]], [[SMS:Dynamic Model Interface Schema#Element <section>|section]]
|'''Version'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <declare_files>|declare_files]]
| 3
| example    =  
|-
}}
|'''Attributes'''
|name, file_type
|-
|'''Children'''
|width="530"| 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'''
|width="530"|
|}


=====Element ''<declare_pages>''=====
{{XML entry
{|class="wikitable"
| name      = declare_pages
|-
| info      = Signals the beginning of page creation for a dialog.  One or more pages may be created using declare_page.
|width="70"|'''Info'''
| version    = 3
|width="530"| Signals the beginning of page creation for a dialog.  One or more pages may be created using declare_page.
| attributes = none
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <declare_page>|declare_page]]
|'''Version'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <declare_dialog>|declare_dialog]]
| 3
| example    =  
|-
  <declare_dialog name ="Model Control">
|'''Attributes'''
|none
|-
|'''Children'''
|width="530"| declare_page
|-
|'''Used by'''
| dialog
|-
|'''Example'''
|width="530"|
  <declare_dialog name =”Model Control”>
     <declare_pages>
     <declare_pages>
         <declare_page  text=”Page1”>
         <declare_page  text="Page1">
                 ….
                 ….
         </declare_pagef>
         </declare_pagef>
         <declare_page  text =”Page2”>
         <declare_page  text ="Page2">
                 ….
                 ….
         </declare_page>
         </declare_page>
     </declare_pages>
     </declare_pages>
|}
}}


=====Element ''<declare_page>''=====
{{XML entry
{|class="wikitable"
| 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.
|width="70"|'''Info'''
| version    = 3
|width="530"| This defines the page or tab of a dialog. If there is only one page_def in a dialog, then no tabs will appear.
| attributes = text, display
|-
| children  = contains
|'''Version'''
| used_by    = declare_pages
| 3
| example    =  
|-
}}
|'''Attributes'''
|text, display
|-
|'''Children'''
|width="530"| contains
|-
|'''Used by'''
| declare_pages
|-
|'''Example'''
|width="530"|
|}
 
=====Element ''<declare_parameter>''=====
{|class="wikitable"
|-
|width="70"|'''Info'''
|width="530"| A way to declare data that will be used in the future.
|-
|'''Version'''
| 3
|-
|'''Attributes'''
|none
|-
|'''Children'''
|width="530"| none
|-
|'''Used by'''
| input_file, anything beginning with “process_each”, takes
|-
|'''Example'''
|width="530"|
|}


=====Element ''<dependency>''=====
{{XML entry
{|class="wikitable"
| name      = declare_parameter
|-
| info      = A way to declare data that will be used in the future.
|width="70"|'''Info'''
| version    = 3
|width="530"| 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.
| attributes = none
| children  = none
| used_by    = input_file, [[SMS:Dynamic Model Interface Schema#Element <executable>|executable]], [[SMS:Dynamic Model Interface Schema#Element <output_file>|output_file]], anything beginning with "process_", [[SMS:Dynamic Model Interface Schema#Element <takes>|takes]]
| example    =
}}


|-
{{XML entry
|'''Version'''
| name      = dependency
| 1
| 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.
|-
| version    = 1
|'''Attributes'''
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <dim>|dim]]
|
| children  = [[SMS:Dynamic Model Interface Schema#Element <condition>|condition]]
*[[SMS:Dynamic Model Interface Schema#Element <dim>|dim]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <check_box>|check_box]], [[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]], [[SMS:Dynamic Model Interface Schema#Element <combo_box>|combo_box]], [[SMS:Dynamic Model Interface Schema#Element < table >|table]], any element that begins with "control_", [[SMS:Dynamic Model Interface Schema#Element <column>|column]], [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]], [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <group>|group]], [[SMS:Dynamic Model Interface Schema#Element <menu_item>|menu_item]], [[SMS:Dynamic Model Interface Schema#Element <option>|option]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]]
|-
| example    = '''Example 1'''
|'''Children'''
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.
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <condition>|condition]]
|-
|'''Used by'''
|width="530"|[[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <check_box>|check_box]], [[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]], [[SMS:Dynamic Model Interface Schema#Element <combo_box>|combo_box]], [[SMS:Dynamic Model Interface Schema#Element < table >|table]], any element that begins with “custom_control”, [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]], [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <group>|group]]
|-
|'''Example 1'''
|width="530"| 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”>
  <check_box  unique_name = "MyBox">
  …
  …
   
   
Line 1,238: Line 925:
       <condition>MyBox EQUALS CHECKED</condition>
       <condition>MyBox EQUALS CHECKED</condition>
   </dependency>
   </dependency>
|-
 
|'''Example 2'''
'''Example 2'''
|width="530"|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.
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”>
  <edit_box  unique_name="MyEdit_box">
  …
  …
  <combo_box  unique_name = “MyComboBox”>
  <combo_box  unique_name = "MyComboBox">
     <option  text = “hours”></option>
     <option  text = "hours"></option>
     <option  text =”minutes”></option>
     <option  text ="minutes"></option>
   …
   …
   
   
Line 1,252: Line 939:
  <text_box>
  <text_box>
     <dependency>
     <dependency>
         <condition>(MyEdit_box GREATER_THAN_EQUALS 0 AND MyEdit_box LESS_THAN_EQUALS 3) OR (MyComboBox EQUALS “minutes” OR MyComboBox EQUALS “days”)</condition>
         <condition>(MyEdit_box GREATER_THAN_EQUALS 0 AND MyEdit_box LESS_THAN_EQUALS 3) OR (MyComboBox EQUALS "minutes" OR MyComboBox EQUALS "days")</condition>
   </dependency>
   </dependency>
  </text_box>
  </text_box>
|}
}}


=====Element ''<display_options>''=====
{{XML entry
{|class="wikitable"
| 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.
|width="70"|'''Info'''
| version    = 2
|width="530"| 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.  
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <type>|type]],
|-
[[SMS:Dynamic Model Interface Schema#Attribute <text>|text]]
|'''Versions'''
| children  = none
| 2
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <combo_box>|combo_box]], [[SMS:Dynamic Model Interface Schema#Element <control_set>|control_set]], [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]]
|-
| example    =
|'''Attributes'''
  <combo_box  unique_name="cbxArcDeleteMe">
|
*type
*text
|-
|'''Children'''
|width="530"| none
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <combo_box>|combo_box]]
|-
|'''Example'''
|width="530"|
  <combo_box  unique_name=”cbxArcDeleteMe”>
   <display_options type= "point" text ="Save Points Name"></display_options>
   <display_options type= "point" text ="Save Points Name"></display_options>
     <option  text=”Hydro”   default></option>
     <option  text="Hydro"   default></option>
     <option  text=”Sediment”></option>
     <option  text="Sediment"></option>
  </combo_box>
  </combo_box>
|}
}}


=====Element ''<dynamic_model>''=====
{{XML entry
{|class="wikitable"
| name      = dynamic_model
|-
| info      = Used to define a dynamic model.
|width="70"|'''Info'''
| version    = 1
|width="530"| Used to define a dynamic model.  
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <file_type>|file_type]] &ndash; always "dynamic model",
|-
[[SMS:Dynamic Model Interface Schema#Attribute <version>|version]]
|'''Versions'''
| children  = [[SMS:Dynamic Model Interface Schema#Element <model>|model]]
| 1
| used_by    = none
|-
| example    =  
|'''Attributes'''
}}
|
*filetype &ndash; always “dynamic model”
*version
|-
|'''Children'''
|width="530"| model
|-
|'''Used by'''
| none
|-
|'''Example'''
|width="530"|
|}


=====Element ''<edit_box>''=====
{{XML entry
{|class="wikitable"
| 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.
|width="70"|'''Info'''
| version    = 1
|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.
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <default>|default]], [[SMS:Dynamic Model Interface Schema#Attribute <optional>|optional]],
|-
[[SMS:Dynamic Model Interface Schema#Attribute <precision>|precision]], [[SMS:Dynamic Model Interface Schema#Attribute <type>|type]], [[SMS:Dynamic Model Interface Schema#Attribute <unique_name>|unique_name]]
|'''Version'''
| children  = [[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]], [[SMS:Dynamic Model Interface Schema#Element <display_options>|display_options]]
| 1
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|-
| example    =  
|'''Attributes'''
  <edit_box  type="double"    
|
                   default="1.0"  
*[[SMS:Dynamic Model Interface Schema#Element <default>|default]]
                   unique_name="edtBox5"
*[[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'''
|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'''
| [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|-
|'''Example'''
|width="530"|
  <edit_box  type=”double”    
                   default=”1.0”  
                   unique_name=”edtBox5”
                   optional>
                   optional>
     <range>0, 2.2</range>
     <range>0, 2.2</range>
     <dependency>…</dependency>…
     <dependency>…</dependency>…
  </ edit_box >
  </ edit_box >
|}
}}


=====Element ''<end_card>''=====
{{XML entry
{|class="wikitable"
| name      = end_card
|-
| info      = Defines that the card end with a single iteration of the enclosing <process_>
|width="70"|'''Info'''
| version    = 1
|width="530"|Defines that the card end with a single iteration of the enclosing <process_each_XXX>
| attributes = none
|-
| children  = none
|'''Versions'''
| used_by    = anything starting with "process_"
|1
| example    =
|-
}}
|'''Attributes'''
|none
|-
|'''Children'''
|none
|-
|'''Used by'''
|anything starting with process_each
|-
|'''Example'''
|
|}


=====Element ''<executable>''=====
{{XML entry
{|class="wikitable"
| name      = executable
|-
| info      = Represents a single executable used by the model.
|width="70"|'''Info'''
| version    = 2
|width="530"| Represents a single executable used by the model.
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <executable_order>|executable_order]],
|-
[[SMS:Dynamic Model Interface Schema#Attribute <text>|text]],
|'''Versions'''
[[SMS:Dynamic Model Interface Schema#Attribute <default_executable_name32>|default_executable_name32]],
| 2
[[SMS:Dynamic Model Interface Schema#Attribute <default_executable_name64>|default_executable_name64]]
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <declare_parameter>|declare_parameter]], [[SMS:Dynamic Model Interface Schema#Element <use_parameter>|use_parameter]], [[SMS:Dynamic Model Interface Schema#Element <executable_command>|executable_command]], [[SMS:Dynamic Model Interface Schema#Element <executable_progress_update>|executable_progress_update]]
|'''Attributes'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <simulation>|simulation]]
|
| example    = '''Example 1'''
*[[SMS:Dynamic Model Interface Schema#Element <executable_order>|executable_order]]
  <executable name ="MyModel" executable_order = "1"
*text
*default_executable_name32
*default_executable_name64
|-
|'''Children'''
|width="530"| use_parameter, executable_command
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <simulation>|simulation]]
|-
|'''Example 1'''
|width="530"|
  <executable name =”MyModel” executable_order = “1”
         default_executable_name32="MyModel32.exe"
         default_executable_name32="MyModel32.exe"
         default_executable_name64="MyModel64.exe">
         default_executable_name64="MyModel64.exe">
Line 1,405: Line 1,026:
       <input_file>   
       <input_file>   
   </input_files>   
   </input_files>   
|-
|'''Example 2'''
|width="530"|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>
'''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>
   <use_parameter>MyCaseFile</use_parameter>
   <executable_command>
   <executable_command>
         <command_args>"\"%s\"", #file_name</command_args>
         <command_args>"\"%s\"", #file_name</command_args>
         <execute>%s - %s”, #executable_name, #geom_name</execute>
         <execute>"%s - %s", #executable_name, #geom_name</execute>
   </executable_command>
   </executable_command>
  </executable>
  </executable>
Line 1,425: Line 1,046:
     </input_file>
     </input_file>
  </input_files>
  </input_files>
|-
|'''Example 3'''
|width="530"|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>
'''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>
   <executable_command>
         <execute>%s”, #executable_name</execute>
         <execute>"%s", #executable_name</execute>
   </executable_command>
   </executable_command>
  </executable>
  </executable>
Line 1,442: Line 1,063:
   </input_file>
   </input_file>
  </input_files>
  </input_files>
}}


|}
{{XML entry
| name      = executable_command
| info      = Defined command line arguments for the executable.
| version    = 3
| attributes = none
| children  = [[SMS:Dynamic Model Interface Schema#Element <command_args>|command_args]], [[SMS:Dynamic Model Interface Schema#Element <execute>|execute]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <executable>|executable]], anything starting with process_
| example    = See executable example.
}}


=====Element ''<executable_command>''=====
{{XML entry
{|class="wikitable"
| name      = executable_progress_update
|-
| info      = Updates the status bar of the model based on output from the model.
|width="70"|'''Info'''
| version    = 3
|width="530"| Defined command line arguments for the executable.
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <progress_amount>|progress_amount]], [[SMS:Dynamic Model Interface Schema#Attribute <progress_max>|progress_max]]
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <update_text>|update_text]]
|'''Versions'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <executable>|executable]]
| 3
| example    = For a model that outputs "CASE 1 of 35","CASE 2 of 35" etc..  
|-
|'''Attributes'''
|none
|-
|'''Children'''
|width="530"| command_args, execute
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <executable>|executable]]
|-
|'''Example'''
|width="530"| See executable example.
|}
 
=====Element ''<executable_progress_update>''=====
{|class="wikitable"
|-
|width="70"|'''Info'''
|width="530"| Updates the status bar of the model based on output from the model.
|-
|'''Versions'''
| 3
|-
|'''Attributes'''
|amount, max
|-
|'''Children'''
|width="530"| update_text
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <executable>|executable]]
|-
|'''Example'''
|width="530"| For a model that outputs “CASE 1 of 35”,“CASE 2 of 35” etc..  


  <executable name=”My Model Main”</executable>
  <executable name="My Model Main">
     <executable_progress_update   
     <executable_progress_update   
         amount="0"  max ="35"
         progress_amount="0"  progress_max ="35">
         <update_text>"CASE %d of %d" #progress_amount, #progress_max       
         <update_text>"CASE %d of %d" #progress_amount, #progress_max       
         </update_text>
         </update_text>
     </executable_progress_update>  
     </executable_progress_update>  
  </executable>
  </executable>
|}
}}


=====Element ''<execute>''=====
{{XML entry
{|class="wikitable"
| 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.
|width="70"|'''Info'''
| version    = 2
|width="530"| 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.
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <script>|script]]
|-
| children  = anything starting with "process_"
|'''Versions'''
| used_by    =[[SMS:Dynamic Model Interface Schema#Element <executable_command>|executable_command]]
| 2
| example    = See executable example.
|-
}}
|'''Attributes'''
|none
|-
|'''Children'''
|width="530"| none
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <input_file>|input_file]], anything starting with process_
|-
|'''Example'''
|width="530"| See executable example.
|}


=====Element ''<export_format>''=====
{{XML entry
{|class="wikitable"
| 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.  It can be used anywhere in a sequential 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.
|width="70"|'''Info'''
| version    = 1
|width="530"| 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.
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_read>|ignore_on_read]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_write>|ignore_on_write]]
|-
| children  = none
|'''Version'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <export_each_row>|export_each_row]], [[SMS:Dynamic Model Interface Schema#Element <export_column>|export_column]], [[SMS:Dynamic Model Interface Schema#Element <export_each_coverage>|export_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <export_each_polygon>|export_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <export_each_arc>|export_each_arc]], [[SMS:Dynamic Model Interface Schema#Element <export_each_point>|export_each_point]],
| 1
anything starting with "process_"
|-
| example    = '''Example 1'''
|'''Attributes'''
|ignore_on_read
  <edit_box  unique_name="MyEditBox">
|-
|'''Children'''
|width="530"| none
|-
|'''Used by'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <card>|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 1'''
|width="530"|
  <edit_box  unique_name=”MyEditBox”>
  </edit_box>
  </edit_box>
  …
  …
  <card>
  <card>
   <card_name>FIFTH_GRAIN</card_name>
   <card_name>FIFTH_GRAIN</card_name>
   <export_format>%s %lf\n", #card_name, MyEditBox</export_format>
   <export_format>"%s %lf\n", #card_name, MyEditBox</export_format>
  </card>
  </card>
   
   
If the edit_box has the value of 15, this would print out:
If the edit_box has the value of 15, this would print out:
FIFTH_GRAIN 15
FIFTH_GRAIN 15
|-
 
|'''Example 2'''
'''Example 2'''
|width="530"|
If export_format was changed to this:
If export_format was changed to this:
<export_format>%s \%lf\// comment\n", #card_name, MyEditBox
<export_format>"%s \"%lf\" // comment\n", #card_name, MyEditBox
</export_format>
</export_format>
   
   
FIFTH_GRAIN “15” // comment
FIFTH_GRAIN "15" // comment
 
<control_length  unique_name="MyLength">
 
'''Example 3'''


<control_length  unique_name=”MyLength”>
|-
|'''Example 3'''
|width="530"|
  ...
  ...
  </control_length>
  </control_length>
Line 1,568: Line 1,140:
  <card>
  <card>
   <card_name>ADAPTATION_LENGTH_TOTAL</card_name>
   <card_name>ADAPTATION_LENGTH_TOTAL</card_name>
   <export_format>%s %lf, %s\n", #card_name, MyLength#value,
   <export_format>"%s %lf, %s\n", #card_name, MyLength#value,
                               MyLength#units</export_format>
                               MyLength#units</export_format>
  </card>
  </card>


ADAPTATION_LENGTH_TOTAL 25 cm
ADAPTATION_LENGTH_TOTAL 25 cm
|}
}}


=====Element ''<export_group>''=====
{{XML entry
{|class="wikitable"
| name      = export_group
|-
| info      = A way of grouping optional exports.
|width="70"|'''Info'''
| version    = 2
|width="530"| A way of grouping optional exports.
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_read>|ignore_on_read]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_write>|ignore_on_write]], [[SMS:Dynamic Model Interface Schema#Attribute <required>|required]]
|-
| children  = Any element beginning with "process_" and required, [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]], [[SMS:Dynamic Model Interface Schema#Element <mxmdf_data>|xmdf_data]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <export_optional>|export_optional]], [[SMS:Dynamic Model Interface Schema#Element <section>|section]]
|'''Version'''
| used_by    = Any element beginning with "process_".
| 2
| example    =  
|-
}}
|'''Attributes'''
|
*ignore_on_read
*required
|-
|'''Children'''
|width="530"| 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'''
|width="530"|
|}


=====Element ''<export_location>''=====
{{XML entry
{|class="wikitable"
| name      = export_location
|-
| info      = File name of a model specific file including a relative path. Can be used multiple times if exporting to more than 1 file location. It can be used the like an export_format element to specify any of the variables in the name.
|width="70"|'''Info'''
| version    = 1, 2
|width="530"| 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.
| attributes = none
|-
| children  = none
|'''Versions'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <inpute_file>|input_file]], [[SMS:Dynamic Model Interface Schema#Element <output_file>|output_file]], anything starting with "process_”
| 1, 2
| example    = '''Example 1'''
|-
<export_location>\\Ideal__Inlet.cmcards</export_location>
|'''Attributes'''
|none
|-
|'''Children'''
|width="530"| none
|-
|'''Used by'''
| width="530"| 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 1'''
|width="530"|
<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>''=====
'''Example 2'''
{|class="wikitable"
<export_location>"\\%s__%s.cmcards", #PROJECT_NAME, #GEOMETRY</export_location>
|-
}}
|width="70"|'''Info'''
|width="530"| 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
*default
|-
|'''Children'''
|width="530"| AAny element beginning with “process_”, export_format, default(version 2), separator,xmdf_dataset, xmdf_data, xmdf_group, xmdf_geometry, section
|-
|'''Used by'''
| width="530"| Any element beginning with “process_”.
|-
|'''Example'''
|width="530"|
|}


=====Element ''<files>''=====
{{XML entry
{|class="wikitable"
| 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.
|width="70"|'''Info'''
| version    = 2
|width="530"|
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_read>|ignore_on_read]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_write>|ignore_on_write]], [[SMS:Dynamic Model Interface Schema#Attribute <default>|default]]
|-
| children  = Any element beginning with "process_", [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <default>|default]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], xmdf_dataset, xmdf_data, xmdf_group, xmdf_geometry, [[SMS:Dynamic Model Interface Schema#Element <section>|section]]
|'''Versions'''
| used_by    = , [[SMS:Dynamic Model Interface Schema#Attribute <export_group>|export_group]], any element beginning with "process_"
| 2
| example    =
|-
}}
|'''Attributes'''
<!--obsolete
|
{{XML entry
|-
| name      = files
|'''Children'''
| info      =
|width="530"| file_def  
| version    = 2
|-
| attributes =
|'''Used by'''
| children  = file_def  
| width="530"| model_control_executable
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <model_control_executable>|model_control_executable]]
|-
| example    =  
|'''Example'''
}}
|width="530"|
-->
|}
<!--
 
{{XML entry
=====Element ''<group>''=====
| name      = group
{|class="wikitable"
| info      = Tree group item that contains one or more items or groups.   
|-
| version    = 1
|width="70"|'''Info'''
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <text>|text]]
|width="530"| Tree group item that contains one or more items or groups.   
| children  = [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]], contains
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <contains>|<contains>]]
|'''Version'''
| example    =  
| 1
  <group  text = "Timing">
|-
  <contains>
|'''Attributes'''
|
*[[SMS:Dynamic Model Interface Schema#Element <text>|text]]
|-
|'''Children'''
|width="530"| item (version 1), [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]], contains (version 2)
|-
|'''Used by'''
| width="530"| link_to (version 1), page_def (version 2), another <group> if nested (version 1), <contains> (version 2)
|-
|'''Example'''
|width="530"|
  <group  text = “Timing”>
   <item>
   <item>
   … tree item stuff
   … tree item stuff
   </item>
   </item>
  </contains>
  </group>
  </group>
|}
}}


=====Element ''<input_file>''=====
-->
{|class="wikitable"
<!--
|-
===Elements I-O===
|width="70"|'''Info'''
{{XML entry
|width="530"| Defines a file to be used for input for an executable.
| name      = input_file
|-
| info      = Defines a file to be used for input for an executable.
|'''Version'''
| version    = 2
| 2
| attributes = none
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <use_file>|use_file]], [[SMS:Dynamic Model Interface Schema#Element <export_location>|export_location]], [[SMS:Dynamic Model Interface Schema#Element <process_each_row>|process_each_row]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_material>|process_each_material]], [[SMS:Dynamic Model Interface Schema#Element <declare_parameter>|declare_parameter]]
|'''Attributes'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <inpute_files>|input_files]]
|none
| example    = See executable example.
|-
}}
|'''Children'''
|width="530"| use_file_def, [[SMS:Dynamic Model Interface Schema#Element <export_location>|export_location]], [[SMS:Dynamic Model Interface Schema#Element <process_each_row>|process_each_row]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_material>|process_each_material]], declare_parameter
|-
|'''Used by'''
| width="530"| input_files
|-
|'''Example'''
|width="530"| See executable example.
|}


=====Element ''<input_files>''=====
{{XML entry
{|class="wikitable"
| name      = input_files
|-
| info      = A container to place all of the input files into for a simulation.
|width="70"|'''Info'''
| version    = 3
|width="530"| A container to place all of the input files into for a simulation.  
| attributes = none
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <input_file>|input_file]]
|'''Version'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <simulation>|simulation]]
| 3
| example    =  
|-
}}
|'''Attributes'''
|none
|-
|'''Children'''
|width="530"| input_file
|-
|'''Used by'''
| width="530"| simulation
|-
|'''Example'''
|width="530"|
|}


=====Element ''<item>''=====
{{XML entry
{|class="wikitable"
| 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).  
|width="70"|'''Info'''
| version    = 1
|width="530"| 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. 
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <text>|text]]
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]], [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]], [[SMS:Dynamic Model Interface Schema#Element <check_box>|check_box]], [[SMS:Dynamic Model Interface Schema#Element <combo_box>|combo_box]], [[SMS:Dynamic Model Interface Schema#Element < table >|table]], any element starting with "control", [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]], [[SMS:Dynamic Model Interface Schema#Element <new_line>|new_line]]
|'''Version'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <contains>|contains]]
| 1
| example    =  
|-
|'''Attributes'''
|
*[[SMS:Dynamic Model Interface Schema#Element <text>|text]]
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]], [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]], [[SMS:Dynamic Model Interface Schema#Element <check_box>|check_box]], [[SMS:Dynamic Model Interface Schema#Element <combo_box>|combo_box]], [[SMS:Dynamic Model Interface Schema#Element < table >|table]], any element starting with “control”, [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]], new_line
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <group>|group]]
|-
|'''Example '''
|width="530"|
  <item>
  <item>
       <text>Transport Time Step</text>
       <text>Transport Time Step</text>
       <edit_box>…. </edit_box>
       <edit_box>…. </edit_box>
       <card>…</card>
       <card>…</card>
|}
}}
 
{{XML entry
| 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.
 
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


=====Element ''<material_att>''=====
Exporting mesh points:
{|class="wikitable"
*disjoint = disjoint points only
|-
*corner = end points of arcs, nodes in polygons
|width="70"|'''Info'''
*mid = mid points in arcs, mid points in polygons
|width="530"| Used to specify what attributes should be used for materials of a coverage.  
*center = not valid 
|-
| version    = 3
|'''Versions'''
| attributes = none
| 2
| children  = none
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]], [SMS:Dynamic Model Interface Schema#Element <process_model>|process_model]], [SMS:Dynamic Model Interface Schema#Element <process_selector>|process_selector]], [[SMS:Dynamic Model Interface Schema#Element <snap>|snap]]
|'''Attributes'''
| example    =  
|
  // writes out snapped coordinates of the 2 end points of each arc
*use_dialog
<process_each_coverage>
|-
    <use_parameter>myCov</use_parameter>
|'''Children'''
    <process_each_arc source = "snap">
|width="530"| none
        <process_each_point source = "snap">
|-
            <location>corner</location>
|'''Used by'''
            <export_format>"%Lf %Lf %Lf\n", #point_x, #point_y,  #point_z
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <coverage>|coverage]]
            </export_format>
|-
        </process_each_point>
|'''Example '''
    </process_each_arc>
|width="530"| See coverage example.
</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>
}}


=====Element ''<max_rows>''=====
{{XML entry
{|class="wikitable"
| name      = material_att
|-
| info      = Used to specify what attributes should be used for materials of a coverage.
|width="70"|'''Info'''
| version    = 2
|width="530"| 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.
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <use_dialog>|use_dialog]]
|-
| children  = none
|'''Version'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <declare_coverage>|declare_coverage]]
| 2
| example    = See coverage example.
|-
}}
|'''Attributes'''
-->
|none
<!--obsolete
|-
{{XML entry
|'''Children'''
| name      = max_rows
|width="530"| none
| 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    = 2
|'''Used by'''
| attributes = none
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <control_curve>|control_curve]]
| children  = none
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_curve>|control_curve]]
|'''Example '''
| example    = This example creates a curve button with the date/time flag.
|width="530"|This example creates a curve button with the date/time flag.
   <item>
   <item>
     <control_curve>
     <control_curve>
Line 1,827: Line 1,355:
     </control_curve>
     </control_curve>
   …
   …
|}
}}-->
 
<!--
=====Element ''<menu_item>''=====
{{XML entry
{|class="wikitable"
| 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.
|width="70"|'''Info'''
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.
|width="530"| 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.
| version    = 2
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.
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <double_click>|double_click]],
|-
[[SMS:Dynamic Model Interface Schema#Attribute <use_dialog>|use_dialog]],
|'''Version'''
[[SMS:Dynamic Model Interface Schema#Attribute <text>|text]]
| 2
| children  = [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]]
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <simulation>|simulation]], [[SMS:Dynamic Model Interface Schema#Element <declare_coverage>|declare_coverage]], [[SMS:Dynamic Model Interface Schema#Element <point_att>|point_att]], [[SMS:Dynamic Model Interface Schema#Element <arc_att>|arc_att]], [[SMS:Dynamic Model Interface Schema#Element <polygon_att>|polygon_att]]
|'''Attributes'''
| example    = See the model example.
|
}}
*double_click
-->
*use_dialog
<!--obsolete
*[[SMS:Dynamic Model Interface Schema#Element <text>|text]]
{{XML entry
|-
| name      = msg
|'''Children'''
| info      = Used to display text to the user when a model check condition has failed.
|width="530"|  [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]]
| version    = (Version 3 replaced with problem_text, description_text and fix_text)
|-
| attributes = none
|'''Used by'''
| children  = none
| width="530"| simulation, attribute_set (version 3), [[SMS:Dynamic Model Interface Schema#Element <coverage>|coverage]], [[SMS:Dynamic Model Interface Schema#Element <point_att>|point_att]], [[SMS:Dynamic Model Interface Schema#Element <arc_att>|arc_att]], [[SMS:Dynamic Model Interface Schema#Element <polygon_att>|polygon_att]], [[SMS:Dynamic Model Interface Schema#Element <material_att>|material_att]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <model_check>|model_check]]
|-
| example    =  
|'''Example '''
|width="530"|See the model example.
|}
 
=====Element ''<msg>''=====
{|class="wikitable"
|-
|width="70"|'''Info'''
|width="530"| Used to display text to the user when a model check condition has failed.
|-
|'''Versions'''
(Version 3 replaced with problem_text, description_text and fix_text)
|-
|'''Attributes'''
|none
|-
|'''Children'''
|width="530"| none
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <model_check>|model_check]]
|-
|'''Example '''
|width="530"|
  < table >
  < table >
   <column  text=”A>
   <column  text="A>
       <edit_box  unique_name = “colA”>
       <edit_box  unique_name = "colA">
       </edit_box>
       </edit_box>
     </column>
     </column>
  …// other columns also defined
  …// other columns also defined
    
    
  <model_check  problem_text = ”Column D or E is required.
  <model_check  problem_text = "Column D or E is required."
                 description_text = “This model requires column D.
                 description_text = "This model requires column D."
                 fix_text = “To fix do the following:  …...  >
                 fix_text = "To fix do the following:  …...  ">
       <condition>( (colA OR colB) AND NOT(colD OR colE))</condition>
       <condition>( (colA OR colB) AND NOT(colD OR colE))</condition>
   </model_check>
   </model_check>
  < /table >
  < /table >
|}
}}-->
<!--
{{XML entry
| name      = model
| info      = Defines the model interface that is being created.
| version    = 2
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <name>|name]], [[SMS:Dynamic Model Interface Schema#Attribute <version>|version]]
| children  = [[SMS:Dynamic Model Interface Schema#Element <simulation>|simulation]], [[SMS:Dynamic Model Interface Schema#Element <declare_coverage>|declare_coverage]], [[SMS:Dynamic Model Interface Schema#Element <declare_dialogs>|declare_dialogs]], [[SMS:Dynamic Model Interface Schema#Element <declare_files>|declare_files]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <dynamic_model>|dynamic_model]]
| example    = A simple model that has one coverage type, one dialog, and one file definition.  This interfaces with version 4 of "MyModel".


=====Element ''<model>''=====
  <dynamic_model filetype="dynamic model">
{|class="wikitable"
                             version="2">
|-
   <model  name="MyModel" version="4">
|width="70"|'''Info'''
|width="530"| Defines the model interface that is being created.  
|-
|'''Version'''
| 2
|-
|'''Attributes'''
|
*name
*version
|-
|'''Children'''
|width="530"| simulation, [[SMS:Dynamic Model Interface Schema#Element <coverage>|coverage]], [[SMS:Dynamic Model Interface Schema#Element <dialogs>|dialogs]], files
|-
|'''Used by'''
| width="530"| dynamic_model
|-
|'''Example '''
|width="530"|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>
       …
       …
     </simulation>
     </simulation>
     <declare_coverage  name= “MyCov”>l</coverage>
     <declare_coverage  name= "MyCov">l</coverage>
       ...
       ...
     </coverage>
     </coverage>
Line 1,927: Line 1,417:
     <file_def>
     <file_def>
       …
       …
|}
}}


=====Element ''<model_check>''=====
{{XML entry
{|class="wikitable"
| 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.
|width="70"|'''Info'''
| version    = 1
|width="530"| 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.
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <problem_text>|problem_text]], [[SMS:Dynamic Model Interface Schema#Attribute <description_text>|description_text]], [[SMS:Dynamic Model Interface Schema#Attribute <fix_text>|fix_text]]
  |-
| children  = [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_geometry>|process_each_geometry]], [[SMS:Dynamic Model Interface Schema#Element <declare_counter>|declare_counter]], [[SMS:Dynamic Model Interface Schema#Element <model_check_condition>|model_check_condition]]
|'''Version'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Eleements <model_checks>|model_checks]]
| 1
| example    =  
|-
|'''Attributes'''
|
*problem_text
*description_text
*fix_text
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <condition>|condition]], process_each_coverage, process_each_geometry
|-
|'''Used by'''
| width="530"| item (version 1), model_checks (version 2)
|-
|'''Example '''
|width="530"|
  < table >
  < table >
   <column  text=”A”>
   <column  text="A">
       <edit_box  unique_name=”colA”>
       <edit_box  unique_name="colA">
       </edit_box>
       </edit_box>
     </column>
     </column>
Line 1,960: Line 1,435:
  < /table >
  < /table >
    
    
  <model_check  problem_text = ”Column D or E is required.
  <model_check  problem_text = "Column D or E is required."
                 description_text = “This model requires column D.
                 description_text = "This model requires column D."
                 fix_text = “To fix do the following:  …...  >
                 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>
     <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_check>
|}
}}


=====Element ''<model_checks>''=====
{{XML entry
{|class="wikitable"
| name      = model_checks
|-
| info      = Contains all model checks
|width="70"|'''Info'''
| version    = 2
|width="530"| Contains all model checks
| attributes = none
  |-
| children  = [[SMS:Dynamic Model Interface Schema#Element <model_check>|model_check]]
|'''Versions'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <model>|model]]
| 2
| example    = .
|-
<declare_dialogs>
|'''Attributes'''
|none
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <model_check>|model_check]]
|-
|'''Used by'''
| width="530"|  
|-
|'''Example '''
|width="530"|
  <declare_dialogs>
   <declare_dialog>
   <declare_dialog>
   ...
   ...
     < table >
     < table >
       <column  text=”A”>
       <column  text="A">
           <edit_box  unique_name=”colA”>
           <edit_box  unique_name="colA">
           </edit_box>
           </edit_box>
         </column>
         </column>
Line 2,001: Line 1,464:
  <declare_dialogs>
  <declare_dialogs>
  <model_checks>
  <model_checks>
  <model_check  problem_text = ”Column D or E is required.
  <model_check  problem_text = "Column D or E is required."
                 description_text = “This model requires column D.
                 description_text = "This model requires column D."
                 fix_text = “To fix do the following:  …...  >
                 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>
     <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_check>
  <model_checks>
  <model_checks>
|}
}}
 
{{XML entry
| name      = model_check_condition
| info      =
| version    = 3
| attributes = none
| children  = none
| used_by    =
| example    =
}}


=====Element ''<new_line>''=====
{{XML entry
{|class="wikitable"
| name      = new_line
|-
| info      = Creates a new line before adding the next widget in a tree item.  
|width="70"|'''Info'''
| version    = 1
|width="530"| Creates a new line before adding the next widget in a tree item.
| attributes = none
|-
| children  = none
|'''Version'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <item>|item]]
| 1
| example    = In the dialog there would be:
|-
|'''Attributes'''
|none
|-
|'''Children'''
|width="530"| none
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <item>|item]]
|-
|'''Example '''
|width="530"|In the dialog there would be:
     Breaking Efficency:  [edit box]        (new_line called)
     Breaking Efficency:  [edit box]        (new_line called)
     Friction Efficency:
     Friction Efficency:
Line 2,037: Line 1,498:
             <text>Breaking Efficency:</text>
             <text>Breaking Efficency:</text>
         </text_box>
         </text_box>
         <edit_box  unique_name=”edtBreakingEff”>
         <edit_box  unique_name="edtBreakingEff">
         </edit_box>
         </edit_box>
         <new_line></new_line>
         <new_line></new_line>
         <text_box  text=”Friction Efficency:>
         <text_box  text="Friction Efficency:">
         </text_box>
         </text_box>
}}


|}
{{XML entry
 
| name      = option
=====Element ''<option>''=====
| info      = Widget that displays list of options.  Only 1 can be selected.
{|class="wikitable"
| version    = 1
|-
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <default>|default]], [[SMS:Dynamic Model Interface Schema#Attribute <text>|text]], [[SMS:Dynamic Model Interface Schema#Attribute <unit_keyword>|unit_keyword]], [[SMS:Dynamic Model Interface Schema#Element <export_text>|export_text]], display_options_hide
|width="70"|'''Info'''
| children  = [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|width="530"| Widget that displays list of options.  Only 1 can be selected.  
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <combo_box>|combo_box]], any element that starts with "control_" and has units
|-
| example    = Creates a combo box with hours, minutes and seconds.  Minutes is the default item.
|'''Version'''
  <combo_box  unique_name="cbxTransportUnits">                     
| 1
       <option  text="hours">
|-
|'''Attributes'''
|
*[[SMS:Dynamic Model Interface Schema#Element <default>|default]]
*[[SMS:Dynamic Model Interface Schema#Element <text>|text]]
*[[SMS:Dynamic Model Interface Schema#Element <unit_keyword>|unit_keyword]]
*display_options_hide
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <export_text>|export_text]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <combo_box>|combo_box]], any element that starts with “custom_control” and has units
|-
|'''Example '''
|width="530"|Creates a combo box with hours, minutes and seconds.  Minutes is the default item.
  <combo_box  unique_name=”cbxTransportUnits”>                     
       <option  text=”hours”>
         </option>
         </option>
         <option  text=”minutes”      
         <option  text="minutes"      
                       default>
                       default>
         </option>
         </option>
         <option  text=”seconds”>
         <option  text="seconds">
         </option>
         </option>
     <dependency>…</dependency>…
     <dependency>…</dependency>…
  </ combo_box >
  </ combo_box >
}}
{{XML entry
| name      = output_file
| info      = Defines a file to be created by the executable.
| version    = 1
| attributes = none
| children  = [[SMS:Dynamic Model Interface Schema#Element <export_location>|export_location]], [[SMS:Dynamic Model Interface Schema#Element <declare_parameter>|declare_parameter]], [[SMS:Dynamic Model Interface Schema#Element <use_file>|use_file]], anything starting with "process_"
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <output_files>|output_files]]
| example    = See executable example.
}}
{{XML entry
| name      = output_files
| info      = A container to place all of the output files into for a simulation.
| version    = 3
| attributes = none
| children  = [[SMS:Dynamic Model Interface Schema#Element <output_file>|output_file]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <simulation>|simulation]]
| example    = See executable example.
}}
===Elements P-S===
-->
<!--obsolete
{{XML entry
| 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.
| version    = 2 (depreciated use <delcare_page>)
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <name>|name]],
[[SMS:Dynamic Model Interface Schema#Attribute <display>|display]]
| children  = [[SMS:Dynamic Model Interface Schema#Element <contains>|contains]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <dialog>|dialog]]
| example    =
}}-->
<!--
{{XML entry
| name      = point_att
| info      = Used to specify what attributes should be used for the points of a coverage. 
| version    = 2
| attributes = none
| children  = [[SMS:Dynamic Model Interface Schema#Element <menu_item>|menu_item]], [[SMS:Dynamic Model Interface Schema#Element <snap>|snap]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <declare_coverage>|declare_coverage]]
| example    =
}}
{{XML entry
| name      = polygon_att
| info      = Used to specify what attributes should be used for the polygon of a coverage.
| version    = 2
| attributes = none
| children  = [[SMS:Dynamic Model Interface Schema#Element <menu_item>|menu_item]], [[SMS:Dynamic Model Interface Schema#Element <snap>|snap]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <declare_coverage>|declare_coverage]]
| example    =
}}
{{XML entry
| name      = process_dataset
| info      = Indicator to loop through each dataset in the given context.
| version    = 3
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_read>|ignore_on_read]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_write>|ignore_on_write]], [[SMS:Dynamic Model Interface Schema#Attribute <null_value>|null_value]], [[SMS:Dynamic Model Interface Schema#Attribute <widget>|widget]]
| children  = 
| example    =
}}
{{XML entry
| name      = process_each_arc
| info      = Indicator to loop through each arc in the given context.
| version    = 2
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_read>|ignore_on_read]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_write>|ignore_on_write]], [[SMS:Dynamic Model Interface Schema#Attribute <order>|order]], [[SMS:Dynamic Model Interface Schema#Attribute <i_order>|i_order]], [[SMS:Dynamic Model Interface Schema#Attribute <j_order>|j_order]], [[SMS:Dynamic Model Interface Schema#Attribute ''<source''>|source]]
| children  = [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]], [[SMS:Dynamic Model Interface Schema#Element <end_card>|end_card]], [[SMS:Dynamic Model Interface Schema#Element <use_parameter>|use_parameter]], [[SMS:Dynamic Model Interface Schema#Element <declare_parameter>|declare_parameter]], [[SMS:Dynamic Model Interface Schema#Element <executable_command>|executable_command]], [[SMS:Dynamic Model Interface Schema#Element <section>|section]], [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]], [[SMS:Dynamic Model Interface Schema#Element <export_optional>|export_optional]], [[SMS:Dynamic Model Interface Schema#Element <process_on_condition>|process_on_condition]], [[SMS:Dynamic Model Interface Schema#Element <process_each_neighbor>|process_each_neighbor]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]]
| example    =
}}
{{XML entry
| name      = process_each_coverage
| info      = Indicator to loop through each coverage in the given context.
| version    = 2
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_read>|ignore_on_read]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_write>|ignore_on_write]], [[SMS:Dynamic Model Interface Schema#Attribute <order>|order]], [[SMS:Dynamic Model Interface Schema#Attribute <i_order>|i_order]], [[SMS:Dynamic Model Interface Schema#Attribute <j_order>|j_order]], source
| children  = [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|process_each_arc]], [[SMS:Dynamic Model Interface Schema#Element <end_card>|end_card]], [[SMS:Dynamic Model Interface Schema#Element <use_parameter>|use_parameter]], [[SMS:Dynamic Model Interface Schema#Element <declare_parameter>|declare_parameter]], [[SMS:Dynamic Model Interface Schema#Element <process_each_set>|process_each_set]], [[SMS:Dynamic Model Interface Schema#Element <executable_command>|executable_command]], [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]], [[SMS:Dynamic Model Interface Schema#Element <export_optional>|export_optional]], [[SMS:Dynamic Model Interface Schema#Element <process_on_condition>|process_on_condition]], [[SMS:Dynamic Model Interface Schema#Element <cprocess_each_material>|process_each_material]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]], count_range, [[SMS:Dynamic Model Interface Schema#Element <section>|section]], [[SMS:Dynamic Model Interface Schema#Element <location>|location]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <card>|card]]
| example    =
}}
{{XML entry
| name      = process_each_geometry
| info      = Indicator to loop through each geometry in the given context.
| version    = 2
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_read>|ignore_on_read]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_write>|ignore_on_write]], [[SMS:Dynamic Model Interface Schema#Attribute <order>|order]], [[SMS:Dynamic Model Interface Schema#Attribute <i_order>|i_order]], [[SMS:Dynamic Model Interface Schema#Attribute <j_order>|j_order]], source
| children  = [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|process_each_arc]], [[SMS:Dynamic Model Interface Schema#Element <end_card>|end_card]], [[SMS:Dynamic Model Interface Schema#Element <use_parameter>|use_parameter]], [[SMS:Dynamic Model Interface Schema#Element <declare_parameter>|declare_parameter]], [[SMS:Dynamic Model Interface Schema#Element <process_each_set>|process_each_set]], [[SMS:Dynamic Model Interface Schema#Element <executable_command>|executable_command]], [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]], [[SMS:Dynamic Model Interface Schema#Element <export_optional>|export_optional]], [[SMS:Dynamic Model Interface Schema#Element <process_on_condition>|process_on_condition]], [[SMS:Dynamic Model Interface Schema#Element <cprocess_each_material>|process_each_material]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]], count_range, [[SMS:Dynamic Model Interface Schema#Element <section>|section]], [[SMS:Dynamic Model Interface Schema#Element <location>|location]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <card>|card]]
| example    =
}}


|}
{{XML entry
| name      = process_each_material
| info      = Indicator to loop through each material in the given context.
| version    = 2
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_read>|ignore_on_read]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_write>|ignore_on_write]], [[SMS:Dynamic Model Interface Schema#Attribute <order>|order]], [[SMS:Dynamic Model Interface Schema#Attribute <i_order>|i_order]], [[SMS:Dynamic Model Interface Schema#Attribute <j_order>|j_order]], source
| children  = [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], [[SMS:Dynamic Model Interface Schema#Element <end_card>|end_card]], [[SMS:Dynamic Model Interface Schema#Element <use_parameter>|use_parameter]], declare_parameter, [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]], [[SMS:Dynamic Model Interface Schema#Element <export_optional>|export_optional]], [[SMS:Dynamic Model Interface Schema#Element <process_on_condition>|process_on_condition]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <section>|section]], count_range, [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]]
| example    =
}}
 
{{XML entry
| name      = process_each_neighbor
| info      = Indicator to loop through each neighbor in the given context.
| version    = 3
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <corner_skip>|corner_skip]], [[SMS:Dynamic Model Interface Schema#Attribute <feature>|feature]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_read>|ignore_on_read]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_write>|ignore_on_write]], [[SMS:Dynamic Model Interface Schema#Attribute <order>|order]], [[SMS:Dynamic Model Interface Schema#Attribute <i_order>|i_order]], [[SMS:Dynamic Model Interface Schema#Attribute <j_order>|j_order]], [[SMS:Dynamic Model Interface Schema#Attribute <interior_polygon>|interior_polygon]], [[SMS:Dynamic Model Interface Schema#Attribute <null_id>|null_id]], [[SMS:Dynamic Model Interface Schema#Attribute <neighbor_per_edge>|neighbor_per_edge]], source
| children  = [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], [[SMS:Dynamic Model Interface Schema#Element <end_card>|end_card]], [[SMS:Dynamic Model Interface Schema#Element <use_parameter>|use_parameter]], [[SMS:Dynamic Model Interface Schema#Element <declare_parameter>|declare_parameter]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]], [[SMS:Dynamic Model Interface Schema#Element <export_optional>|export_optional]], [[SMS:Dynamic Model Interface Schema#Element <process_on_condition>|process_on_condition]], [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|process_each_arc]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]], [[SMS:Dynamic Model Interface Schema#Element <section>|section]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]]
| example    =
}}
 
{{XML entry
| name      = process_each_point
| info      = Indicator to loop through each point in the given context.
| version    = 2
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_read>|ignore_on_read]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_write>|ignore_on_write]], [[SMS:Dynamic Model Interface Schema#Attribute <order>|order]], [[SMS:Dynamic Model Interface Schema#Attribute <i_order>|i_order]], [[SMS:Dynamic Model Interface Schema#Attribute <j_order>|j_order]], source
| children  = [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], [[SMS:Dynamic Model Interface Schema#Element <end_card>|end_card]], [[SMS:Dynamic Model Interface Schema#Element <use_parameter>|use_parameter]], [[SMS:Dynamic Model Interface Schema#Element <declare_parameter>|declare_parameter]], [[SMS:Dynamic Model Interface Schema#Element <executable_command>|executable_command]], [[SMS:Dynamic Model Interface Schema#Element <location>|location]], [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]], [[SMS:Dynamic Model Interface Schema#Element <export_optional>|export_optional]], [[SMS:Dynamic Model Interface Schema#Element <process_on_condition>|process_on_condition]], [[SMS:Dynamic Model Interface Schema#Element <section>|section]], [[SMS:Dynamic Model Interface Schema#Element <process_each_neighbor>|process_each_ neighbor]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|process_each_arc]]
| example    =
}}
 
{{XML entry
| name      = process_each_polygon
| info      = Indicator to loop through each polygon in the given context.
| version    = 2
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_read>|ignore_on_read]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_write>|ignore_on_write]], [[SMS:Dynamic Model Interface Schema#Attribute <order>|order]], [[SMS:Dynamic Model Interface Schema#Attribute <i_order>|i_order]], [[SMS:Dynamic Model Interface Schema#Attribute <j_order>|j_order]], source
| children  = [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]], [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|process_each_arc]], [[SMS:Dynamic Model Interface Schema#Element <end_card>|end_card]], [[SMS:Dynamic Model Interface Schema#Element <use_parameter>|use_parameter]], [[SMS:Dynamic Model Interface Schema#Element <declare_parameter>|declare_parameter]], [[SMS:Dynamic Model Interface Schema#Element <executable_command>|executable_command]], [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]], [[SMS:Dynamic Model Interface Schema#Element <export_optional>|export_optional]], [[SMS:Dynamic Model Interface Schema#Element <process_on_condition>|process_on_condition]], [[SMS:Dynamic Model Interface Schema#Element <section>|section]], [[SMS:Dynamic Model Interface Schema#Element <process_each_neighbor>|process_each_neighbor]], [[SMS:Dynamic Model Interface Schema#Element <process_each_material>|process_each_material]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]]
| example    =
}}
 
{{XML entry
| 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".
| version    = 2
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_read>|ignore_on_read]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_write>|ignore_on_write]], widget, [[SMS:Dynamic Model Interface Schema#Attribute <order>|order]], [[SMS:Dynamic Model Interface Schema#Attribute <i_order>|i_order]], [[SMS:Dynamic Model Interface Schema#Attribute <j_order>|j_order]]
| children  = [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]], [[SMS:Dynamic Model Interface Schema#Element <export_optional>|export_optional]], [[SMS:Dynamic Model Interface Schema#Element <process_on_condition>|process_on_condition]], [[SMS:Dynamic Model Interface Schema#Element <section>|section]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_material>|process_each_material]], [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|process_each_arc]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]], [[SMS:Dynamic Model Interface Schema#Element <executable_command>|executable_command]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|process_each_arc]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]]
| example    =
<process_each_row widget = "someColumnWidget">
}}
 
{{XML entry
| name      = process_each_set
| info      = Indicator to loop through each set.
| version    = 2
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_read>|ignore_on_read]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_write>|ignore_on_write]], [[SMS:Dynamic Model Interface Schema#Attribute <order>|order]], [[SMS:Dynamic Model Interface Schema#Attribute <i_order>|i_order]], [[SMS:Dynamic Model Interface Schema#Attribute <j_order>|j_order]], source
| children  = [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]], [[SMS:Dynamic Model Interface Schema#Element <export_optional>|export_optional]], [[SMS:Dynamic Model Interface Schema#Element <process_on_condition>|process_on_condition]], [[SMS:Dynamic Model Interface Schema#Element <section>|section]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_material>|process_each_material]], [[SMS:Dynamic Model Interface Schema#Element <executable_command>|executable_command]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]]
| example    =
 
}}


=====Element ''<output_file>''=====
{{XML entry
{|class="wikitable"
| name      = process_each_timestep
|-
| info      = Indicator to loop through each time step.
|width="70"|'''Info'''
| version    = 2
|width="530"| Defines a file to be created by the executable. 
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_read>|ignore_on_read]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_write>|ignore_on_write]], [[SMS:Dynamic Model Interface Schema#Attribute <order>|order]], [[SMS:Dynamic Model Interface Schema#Attribute <i_order>|i_order]], [[SMS:Dynamic Model Interface Schema#Attribute <j_order>|j_order]], source
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]], [[SMS:Dynamic Model Interface Schema#Element <export_optional>|export_optional]], [[SMS:Dynamic Model Interface Schema#Element <process_on_condition>|process_on_condition]], [[SMS:Dynamic Model Interface Schema#Element <section>|section]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_material>|process_each_material]], [[SMS:Dynamic Model Interface Schema#Element <executable_command>|executable_command]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]]
|'''Version'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]]
| 1
| example    =
|-
|'''Attributes'''
|none
|-
|'''Children'''
|width="530"| use_file_def, [[SMS:Dynamic Model Interface Schema#Element <export_location>|export_location]], export_table, export_each_coverage, export_each_material
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <executable>|executable]]
|-
|'''Example '''
|width="530"|See executable example.
|}


=====Element ''<page_def>''=====
}}
{|class="wikitable"
|-
|width="70"|'''Info'''
|width="530"| 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'''
| 2 (depreciated use <delcare_page>)
|-
|'''Attributes'''
|
*name
*display
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <contains>|contains]]
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <dialog>|dialog]]
|-
|'''Example '''
|width="530"|
|}


=====Element ''<point_att>''=====
{{XML entry
{|class="wikitable"
| name      = process_model
|-
| info      = Indicator to loop through the model.
|width="70"|'''Info'''
| version    = 2
|width="530"| Used to specify what attributes should be used for the points of a coverage. 
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_read>|ignore_on_read]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_write>|ignore_on_write]], [[SMS:Dynamic Model Interface Schema#Attribute <order>|order]], [[SMS:Dynamic Model Interface Schema#Attribute <i_order>|i_order]], [[SMS:Dynamic Model Interface Schema#Attribute <j_order>|j_order]], source
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]], [[SMS:Dynamic Model Interface Schema#Element <export_optional>|export_optional]], [[SMS:Dynamic Model Interface Schema#Element <process_on_condition>|process_on_condition]], [[SMS:Dynamic Model Interface Schema#Element <section>|section]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_material>|process_each_material]], [[SMS:Dynamic Model Interface Schema#Element <executable_command>|executable_command]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]]
|'''Versions'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]]
| 2
| example    =
|-
|'''Attributes'''
|none
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <menu_item>|menu_item]], snap
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <coverage>|coverage]]
|-
|'''Example '''
|width="530"|
|}


=====Element ''<polygon_att>''=====
}}
{|class="wikitable"
|-
|width="70"|'''Info'''
|width="530"| Used to specify what attributes should be used for the polygon of a coverage. 
|-
|'''Versions'''
| 2
|-
|'''Attributes'''
|none
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <menu_item>|menu_item]], snap
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <coverage>|coverage]]
|-
|'''Example '''
|width="530"|
|}


=====Element ''<process_each_arc>''=====
{{XML entry
{|class="wikitable"
| name      = process_multi
|-
| info      = Indicator to loop through multiple simulations.  
|width="70"|'''Info'''
| version    = 2
|width="530"| Indicator to loop through each arc in the given context.  
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_read>|ignore_on_read]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_write>|ignore_on_write]], [[SMS:Dynamic Model Interface Schema#Attribute <order>|order]], [[SMS:Dynamic Model Interface Schema#Attribute <i_order>|i_order]], [[SMS:Dynamic Model Interface Schema#Attribute <j_order>|j_order]], source
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]], [[SMS:Dynamic Model Interface Schema#Element <export_optional>|export_optional]], [[SMS:Dynamic Model Interface Schema#Element <process_on_condition>|process_on_condition]], [[SMS:Dynamic Model Interface Schema#Element <section>|section]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_material>|process_each_material]], [[SMS:Dynamic Model Interface Schema#Element <executable_command>|executable_command]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]]
|'''Versions'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]]  
| 2
| example    =  
|-
|'''Attributes'''
|
*ignore_on_read
*order
*i_order
*j_order
*source
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]], end_card, use_parameter, declare_parameter, executable_command, section, export_group, export_optional, process_on_contion, process_each_neighbor, xmdf_dataset, xmdf_data, xmdf_group, xmdf_geometry
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]]
|-
|'''Example '''
|width="530"|
|}


=====Element ''<process_each_coverage>''=====
}}
{|class="wikitable"
|-
|width="70"|'''Info'''
|width="530"| Indicator to loop through each coverage in the given context. 
|-
|'''Version'''
| 2
|-
|'''Attributes'''
|
*ignore_on_read
*order
*i_order
*j_order
*source
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|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'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <card>|card]]
|-
|'''Example '''
|width="530"|
|}


=====Element ''<process_each_material>''=====
{{XML entry
{|class="wikitable"
| name      = process_on_condition
|-
| info      = Indicator to perform a certain action only if the condition is satisfied.
|width="70"|'''Info'''
| version    = 2
|width="530"| Indicator to loop through each material in the given context.  
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_read>|ignore_on_read]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_write>|ignore_on_write]]
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_geometry>|process_each_geometry]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|process_each_arc]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]], [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_formt>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], [[SMS:Dynamic Model Interface Schema#Element <condition>|condition]], [[SMS:Dynamic Model Interface Schema#Element <use_file_def>|use_file_def]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]], [[SMS:Dynamic Model Interface Schema#Element <use_parameter>|use_parameter]], [[SMS:Dynamic Model Interface Schema#Element <end_card>|end_card]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]], [[SMS:Dynamic Model Interface Schema#Element <export_location>|export_location]], [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]], [[SMS:Dynamic Model Interface Schema#Element <export_optional>|export_optional]], [[SMS:Dynamic Model Interface Schema#Element <process_on_condition>|process_on_condition]], [[SMS:Dynamic Model Interface Schema#Element <section>|section]], [[SMS:Dynamic Model Interface Schema#Element <process_each_row>|process_each_row]], [[SMS:Dynamic Model Interface Schema#Element <process_each_material>|process_each_material]], [[SMS:Dynamic Model Interface Schema#Element <process_each_neighbor>|process_each_neighbor]], [[SMS:Dynamic Model Interface Schema#Element <process_on_count>|process_on_count]], [[SMS:Dynamic Model Interface Schema#Element <process_model>|process_model]], [[SMS:Dynamic Model Interface Schema#Element <model_check_condition>|model_check_condition]]
|'''Version'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|process_each_arc]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]]
| 2
| example    =  
|-
}}
|'''Attributes'''
|
*ignore_on_read
*order
*i_order
*j_order
*source
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], end_card, use_parameter, declare_parameter, [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|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'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]]
|-
|'''Example '''
|width="530"|
|}


=====Element ''<process_each_point>''=====
{{XML entry
{|class="wikitable"
| name      = process_on_count
|-
| info      = Indicator to perform a certain action only on certain iterations of a loop.
|width="70"|'''Info'''
| version    = 2
|width="530"| Indicator to loop through each point in the given context.  
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_read>|ignore_on_read]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_write>|ignore_on_write]]
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <process_on_condition>|process_on_condition]], [[SMS:Dynamic Model Interface Schema#Element <process_each_geometry>|process_each_geometry]], [[SMS:Dynamic Model Interface Schema#Element <process_each_material>|process_each_material]], [[SMS:Dynamic Model Interface Schema#Element <section>|section]], [[SMS:Dynamic Model Interface Schema#Element <export_optional>|export_optional]], [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|process_each_arc]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]], [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], [[SMS:Dynamic Model Interface Schema#Element <count_filter>|count_filter]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]]
|'''Version'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|process_each_arc]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]]
| 2
| example    =  
|-
}}
|'''Attributes'''
|
*ignore_on_read
*order
*i_order
*j_order
*source
*dataset_widget
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|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'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|process_each_arc]]
|-
|'''Example '''
|width="530"|
|}


=====Element ''<process_each_polygon>''=====
{{XML entry
{|class="wikitable"
| name      = process_selector
|-
| info      = 
|width="70"|'''Info'''
| version    = 2
|width="530"| Indicator to loop through each polygon in the given context. 
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_read>|ignore_on_read]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_write>|ignore_on_write]], [[SMS:Dynamic Model Interface Schema#Attribute <order>|order]], [[SMS:Dynamic Model Interface Schema#Attribute <i_order>|i_order]], [[SMS:Dynamic Model Interface Schema#Attribute <j_order>|j_order]], source
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]], [[SMS:Dynamic Model Interface Schema#Element <export_optional>|export_optional]], [[SMS:Dynamic Model Interface Schema#Element <process_on_condition>|process_on_condition]], [[SMS:Dynamic Model Interface Schema#Element <section>|section]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_material>|process_each_material]], [[SMS:Dynamic Model Interface Schema#Element <executable_command>|executable_command]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]]
|'''Version'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]]  
| 2
| example    =  
|-
|'''Attributes'''
|
*ignore_on_read
*order
*i_order
*j_order
*source
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]], [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|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'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]]
|-
|'''Example '''
|width="530"|
|}


=====Element ''<process_each_row>''=====
}}
{|class="wikitable"
|-
|width="70"|'''Info'''
|width="530"| 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'''
| 2
|-
|'''Attributes'''
|
*ignore_on_read
*widget
*order
*i_order
*j_order
|-
|'''Children'''
|width="530"| 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'''
| width="530"| card, [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|process_each_arc]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]]
|-
|'''Example '''
|width="530"|
<process_each_row widget = “someColumnWidget”>
|}


=====Element ''<process_on_condition>''=====
{{XML entry
{|class="wikitable"
| name      = process_spectral_grid
|-
| info      = Indicator to loop through spectral grid data.  
|width="70"|'''Info'''
| version    = 2
|width="530"| Indicator to perform a certain action only if the condition is satisfied.
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_read>|ignore_on_read]], [[SMS:Dynamic Model Interface Schema#Attribute <ignore_on_write>|ignore_on_write]], [[SMS:Dynamic Model Interface Schema#Attribute <order>|order]], [[SMS:Dynamic Model Interface Schema#Attribute <i_order>|i_order]], [[SMS:Dynamic Model Interface Schema#Attribute <j_order>|j_order]], source
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <card_name>|card_name]], [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <separator>|separator]], [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]], [[SMS:Dynamic Model Interface Schema#Element <export_optional>|export_optional]], [[SMS:Dynamic Model Interface Schema#Element <process_on_condition>|process_on_condition]], [[SMS:Dynamic Model Interface Schema#Element <section>|section]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_material>|process_each_material]], [[SMS:Dynamic Model Interface Schema#Element <executable_command>|executable_command]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]]
|'''Versions'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]]
| 2
| example    =  
|-
|'''Attributes'''
|ignore_on_read
|-
|'''Children'''
|width="530"| process_each_coverage, process_each_geometry, process_each_polygon, process_each_arc, process_each_point, card_name, export_format, separator, condition, use_file, 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'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|process_each_arc]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]]
|-
|'''Example '''
|width="530"|
|}


=====Element ''<process_on_count>''=====
}}
{|class="wikitable"
|-
|width="70"|'''Info'''
|width="530"| Indicator to perform a certain action only on certain iterations of a loop. 
|-
|'''Versions'''
| 2
|-
|'''Attributes'''
|ignore_on_read
|-
|'''Children'''
|width="530"| 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'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|process_each_arc]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]]
|-
|'''Example '''
|width="530"|
|}


=====Element ''<push_button>''=====
{{XML entry
{|class="wikitable"
| name      = push_button
|-
| info      = The button to be used for a control_dataset.  Can be SELECT, CREATE, or DELETE.  
|width="70"|'''Info'''
| version    = 1, 2
|width="530"| The button to be used for a control_dataset.  Can be SELECT, CREATE, or DELETE.
| attributes = none
|-
| children  = none
|'''Versions'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_dataset>|control_dataset]]
| 1, 2
| example    = See control_dataset example.
|-
}}
|'''Attributes'''
|none
|-
|'''Children'''
|width="530"| none
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <control_dataset>|control_dataset]]
|-
|'''Example '''
|width="530"|See control_dataset example.
|}


=====Element ''<range>''=====
{{XML entry
{|class="wikitable"
| 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.
|width="70"|'''Info'''
| version    = 1
|width="530"| 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.
| attributes = none
|-
| children  = none
|'''Version'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]],  [[SMS:Dynamic Model Interface Schema#Element <role>|role]], any element that starts with "control_" except: control_file_selector, control_dataset and control_date
| 1
| example    = '''Example 1'''
|-
|'''Attributes'''
|none
|-
|'''Children'''
|width="530"| none
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]], any element that starts with “control” except control_file_selector, control_dataset and control_date
|-
|'''Example 1'''
|width="530"|
  <edit_box>                     
  <edit_box>                     
     <range>0-1</range>
     <range>0-1</range>
  </ edit_box >
  </ edit_box >
|-
 
|'''Example 2'''
'''Example 2'''
|
  <range>0 – 5.6546</range>
  <range>0 – 5.6546</range>
|-
 
|'''Example 3'''
'''Example 3'''
|
  <range>GREATER_THAN 0</range>
  <range>GREATER_THAN 0</range>
|-
 
|'''Example 4'''
'''Example 4'''
|
  <range>GREATER_THAN 0.0 - LESS_THAN 5.0</range>
  <range>GREATER_THAN 0.0 - LESS_THAN 5.0</range>
|-
 
|'''Example 5'''
'''Example 5'''
|Both examples are equivalent
Both examples are equivalent
  <range>0.0 - LESS_THAN 5.0</range>
  <range>0.0 - LESS_THAN 5.0</range>
  <range>GREATER_THAN_EQUALS 0.0 - LESS_THAN 5.0</range>
  <range>GREATER_THAN_EQUALS 0.0 - LESS_THAN 5.0</range>
}}
{{XML entry
| name      = required
| info      = Used to indicate that something from the exported group must be used.
| version    = 2
| attributes = none
| children  = none
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]]
| example    =
}}


|}
{{XML entry
| 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. 
| version    = 3
| attributes = none
| children  = [[SMS:Dynamic Model Interface Schema#Attribute <text>|text]], [[SMS:Dynamic Model Interface Schema#Attribute <range>|range]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <roles>|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>
}}


=====Element ''<required>''=====
{{XML entry
{|class="wikitable"
| name      = roles
|-
| info      = Defines the behavior of each role.
|width="70"|'''Info'''
| version    = 3
|width="530"| Used to indicate that something from the exported group must be used.
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <behavior>|behavior]]
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <role>|role]]
|'''Versions'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_set>|control_set]]
| 2
| example    = Example of a culvert widget with a extra "Name" column
|-
<control_set  unique_name="tblSetCulverts">
|'''Attributes'''
      <roles behavior = "SWAP">
|none
<role  text="upper">
|-
    <range>EQUALS 1</range>
|'''Children'''
</role>
|width="530"| none
<role  text = "lower">
|-
    <range>EQUALS 1</range>
|'''Used by'''
</role>
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]]
        </roles>
|-
        <column text="Name">
|'''Example '''
<edit_box    unique_name="edtMyArcsName"
|width="530"|
                      type="text">
|}
</edit_box>
        </column>
</control_set>
}}


=====Element ''<row>''=====
{{XML entry
{|class="wikitable"
| name      = row
|-
| info      = Definition of the row in the table. A widget defined in a row will be the widget used for each cell in the column..
|width="70"|'''Info'''
| version    = 1
|width="530"| 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 >]]
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <text>|text]],
|-
[[SMS:Dynamic Model Interface Schema#Attribute <read_only>|read_only]]
|'''Version'''
| children  = [[SMS:Dynamic Model Interface Schema#Element <optional>|optional]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]], [[SMS:Dynamic Model Interface Schema#Element <combo_box>|combo_box]], [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]], all elements starting with "custom_control", [[SMS:Dynamic Model Interface Schema#Element <check_box>|check_box]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
| 1
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_set>|control_set]], [[SMS:Dynamic Model Interface Schema#Element < table >|table]]
|-
| example    = Row 1 is read only, row 2 isn’t
|'''Attributes'''
|
*[[SMS:Dynamic Model Interface Schema#Element <text>|text]]
*read_only
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <optional>|optional]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]], [[SMS:Dynamic Model Interface Schema#Element <combo_box>|combo_box]], [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]], all elements starting with “custom_control”, [[SMS:Dynamic Model Interface Schema#Element <check_box>|check_box]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element < table >|table]]
|-
|'''Example '''
|width="530"|Row 1 is read only, row 2 isn’t
   
   
  < table >
  < table >
         …
         …
     <row  text = “Row1” read_only></row>
     <row  text = "Row1" read_only></row>
     <row  text = “Row2”></row>
     <row  text = "Row2"></row>
  < /table >
  < /table >
|}
}}
 
{{XML entry
| name      = separator
| info      = Determines how to separate text that is being exported into a text file.
| version    = 1
| attributes = none
| children  = none
| used_by    =
| example    =
}}
 
{{XML entry
| 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.
| version    = 2
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <use_icon>|use_icon]]
| children  = [[SMS:Dynamic Model Interface Schema#Element <takes>|takes]], [[SMS:Dynamic Model Interface Schema#Element <executable>|executable]], [[SMS:Dynamic Model Interface Schema#Element <menu_item>|menu_item]], [[SMS:Dynamic Model Interface Schema#Element <input_files>|input_files]], [[SMS:Dynamic Model Interface Schema#Element <output_files>|output_files]]
| used_by    =  [[SMS:Dynamic Model Interface Schema#Element <control_executable>|control_executable]], [[SMS:Dynamic Model Interface Schema#Element <model>|model]]
| example    = See the model example.
}}
 
{{XML entry
| 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
| version    = 3
| attributes = none
| children  = [[SMS:Dynamic Model Interface Schema#Element <snap_exterior>|snap_exterior]], [[SMS:Dynamic Model Interface Schema#Element <snap_extrior>|snap_interior]], [[SMS:Dynamic Model Interface Schema#Element <location>|location]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <arc_att>|arc_att]], [[SMS:Dynamic Model Interface Schema#Element <point_att>|point_att]], [[SMS:Dynamic Model Interface Schema#Element <polygon_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>
}}
 
{{XML entry
| 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.
| version    = 3
| attributes = none
| children  = [[SMS:Dynamic Model Interface Schema#Element <condition>|condition]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <snap>|snap]]
| example    = See <snap>
}}


=====Element ''<separator>''=====
{{XML entry
{|class="wikitable"
| 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.
|width="70"|'''Info'''
| version    = 3
|width="530"| Determines how to separate text that is being exported into a text file.
| attributes = none
|-
| children  = [[SMS:Dynamic Model Interface Schema#Element <condition>|condition]]
|'''Version'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <snap>|snap]]
| 1
| example    = See <snap>.
|-
}}
|'''Attributes'''
|none
|-
|'''Children'''
|width="530"| none
|-
|'''Used by'''
| width="530"| export_each_row
|-
|'''Example '''
|width="530"|See <export_table>
|}


=====Element ''< table >''=====
===Elements T-Z===
{|class="wikitable"
{{XML entry
|-
| name      = table
|width="70"|'''Info'''
| info      = Table widget with columns and rows.  Will most likely have multiple column and row tags.  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.
|width="530"| 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    = 1
|-
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <read_only>|read_only]],
|'''Version'''
[[SMS:Dynamic Model Interface Schema#Attribute <fixed_row_count>|fixed_row_count]],
| 1
[[SMS:Dynamic Model Interface Schema#Attribute <max_row_count>|max_row_count]],
|-
[[SMS:Dynamic Model Interface Schema#Attribute <min_row_count>|min_row_count]],
|'''Attributes'''
[[SMS:Dynamic Model Interface Schema#Attribute <min_height>|min_height]],
|
[[SMS:Dynamic Model Interface Schema#Attribute <unique_name>|unique_name]]
*read_only
| children  = [[SMS:Dynamic Model Interface Schema#Element <column>|column]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
*fixed_row_count (version 3)
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <item>|item]]
*max_row_count (version3)
| example    = Read only table with 2 columns and 3 rows.  The number of rows are fixed.
*min_row_count (version 3)
  < table unique_name = "myTable"    
*min_height (version3)
*unique_name
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <column>|column]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <item>|item]]
|-
|'''Example '''
|width="530"|(version 3) Read only table with 2 columns and 3 rows.  The number of rows are fixed.
  < table unique_name = “myTable”    
             read_only
             read_only
             fixed_row_count=”3”>
             fixed_row_count="3">
     <column  text = “hours”</column>
     <column  text = "hours"</column>
     <column  text = “minutes”</column>
     <column  text = "minutes"</column>
  </ table >
  </ table >
|}
}}


=====Element ''<take_coverage>''=====
{{XML entry
{|class="wikitable"
| name      = take_coverage
|-
| info      = Represents a coverage that can be taken in the project explorer.
|width="70"|'''Info'''
| version    = 2
|width="530"| Represents a coverage that can be taken in the project explorer.
| attributes = limit
|-
| children  = declare_parameter, [[SMS:Dynamic Model Interface Schema#Element <condition>|condition]], [[SMS:Dynamic Model Interface Schema#Element <use_coverage>|use_coverage]]
|'''Version'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <simulation>|simulation]], attribute_set
| 2
| example    = See takes example.
|-
}}
|'''Attributes'''
|limit
|-
|'''Children'''
|width="530"| declare_parameter, [[SMS:Dynamic Model Interface Schema#Element <condition>|condition]], use_coverage
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <simulation>|simulation]], attribute_set(version 3)
|-
|'''Example '''
|width="530"|See takes example.
|}
 
=====Element ''<take_mesh2d>''=====
{|class="wikitable"
|-
|width="70"|'''Info'''
|width="530"| Represents a coverage that can be taken in the project explorer. 
|-
|'''Versions'''
| 2
|-
|'''Attributes'''
|limit, linear
|-
|'''Children'''
|width="530"| declare_parameter, [[SMS:Dynamic Model Interface Schema#Element <condition>|condition]]
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <simulation>|simulation]], attribute_set(version 3)
|-
|'''Example '''
|width="530"|See takes example.
|}


=====Element ''<takes>''=====
{{XML entry
{|class="wikitable"
| name      = take_mesh2d
|-
| info      = Represents a coverage that can be taken in the project explorer.
|width="70"|'''Info'''
| version    = 2
|width="530"| Represents what can be dragged under another object in the project explorer.
| attributes = limit, linear
|-
| children  = declare_parameter, [[SMS:Dynamic Model Interface Schema#Element <condition>|condition]]
|'''Versions'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <simulation>|simulation]], attribute_set
| 2
| example    = See takes example.
|-
}}
|'''Attributes'''
|none
|-
|'''Children'''
|width="530"| declare_parameter, [[SMS:Dynamic Model Interface Schema#Element <take_coverage>|take_coverage]], [[SMS:Dynamic Model Interface Schema#Element <take_mesh2d>|take_mesh2d]], take_grid2d
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <simulation>|simulation]], attribute_set(version 3)


|-
{{XML entry
|'''Example 1'''
| name      = takes
|width="530"|This example shows a simulation that can take a coverage and a 2D mesh which uses linear elements.
| info      = Represents what can be dragged under another object in the project explorer.
| version    = 2
| attributes = none
| children  = declare_parameter, [[SMS:Dynamic Model Interface Schema#Element <take_coverage>|take_coverage]], [[SMS:Dynamic Model Interface Schema#Element <take_mesh2d>|take_mesh2d]], take_grid2d
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <simulation>|simulation]], attribute_set
| example    = '''Example 1''' This example shows a simulation that can take a coverage and a 2D mesh which uses linear elements.
  <takes>
  <takes>
   <take_coverage limit = "1">
   <take_coverage limit = "1">
Line 2,628: Line 1,995:
   <declare_parameter>meshCov</declare_parameter>
   <declare_parameter>meshCov</declare_parameter>
  </takes>
  </takes>
|-
 
|'''Example 2'''
'''Example 2'''
|width="530"|This example shows taking one type of coverage OR another type of coverage.
This example shows taking one type of coverage OR another type of coverage.
  <takes>
  <takes>
   <take_coverage limit = "1">
   <take_coverage limit = "1">
Line 2,639: Line 2,006:
   <declare_parameter>monitorCov</declare_parameter>
   <declare_parameter>monitorCov</declare_parameter>
  </takes>
  </takes>
}}


|}
{{XML entry
 
| name      = text_box
=====Element ''<text_box>''=====
| info      = Widget that displays text that is not editable.  
{|class="wikitable"
| version    = 1
|-
| attributes = alignH, alignV, text, unique_name
|width="70"|'''Info'''
| children  = [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|width="530"| Widget that displays text that is not editable.
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|-
| example    =  
|'''Version'''
  <text_box  unique_name = "edtD50Units" alignH= "CENTER"      
| 1
         text = "mm">
|-
|'''Attributes'''
|
*alignH
*alignV
*text
*unique_name
|-
|'''Children'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]], [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]]
|-
|'''Example'''
|width="530"|
  <text_box  unique_name = “edtD50Units” alignH= “CENTER”      
         text = “mm”>
  </text_box>
  </text_box>
|}
}}


=====Element ''<text_size>''=====
{{XML entry
{|class="wikitable"
| name      = text_size
|-
| info      = Sets the point size of the text. Ranges from 8 to 20. Added in SMS 11.2.  
|width="70"|'''Info'''
| version    = 1, 2
|width="530"| Sets the point size of the text. Ranges from 8 to 20. Added in SMS 11.2.
| attributes = none
|-
| children  = none
|'''Versions'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
| 1, 2
| example    = This would set the size of the text to 20pt. when the value in the [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]] is less than 0.0.
|-
|'''Attributes'''
|none
|-
|'''Children'''
|width="530"| none
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|-
|'''Example'''
|width="530"|This would set the size of the text to 20pt. when the value in the [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]] is less than 0.0.
  <edit_box>
  <edit_box>
   <unique_name>edtA</unique_name>
   <unique_name>edtA</unique_name>
Line 2,699: Line 2,037:
   <text_style>
   <text_style>
  </edit_box>
  </edit_box>
|}
}}


=====Element ''<text_style>''=====
{{XML entry
{|class="wikitable"
| name      = text_style
|-
| info      = Holds the style options for the text. Added in SMS 11.2.
|width="70"|'''Info'''
| version    = 1
|width="530"| Holds the style options for the text. Added in SMS 11.2.
| attributes = bold, italic, strike_through, text_size, underline
|-
| children  = color, condition
|'''Version'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <group>|group]], [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]], [[SMS:Dynamic Model Interface Schema#Element <combo_box>|combo_box]], [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]], all elements starting with "custom_control", [[SMS:Dynamic Model Interface Schema#Element <check_box>|check_box]], [[SMS:Dynamic Model Interface Schema#Element <options>|options]]
| 1
| example    = This would bold the text when the value in the edit_box is less than 0.0.
|-
|'''Attributes'''
|
*bold
*italic
*strike_through
*text_size
*underline
|-
|'''Children'''
|width="530"| color, condition
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <group>|group]], [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]], [[SMS:Dynamic Model Interface Schema#Element <combo_box>|combo_box]], [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]], all elements starting with “custom_control”, [[SMS:Dynamic Model Interface Schema#Element <check_box>|check_box]], [[SMS:Dynamic Model Interface Schema#Element <options>|options]]
|-
|'''Example'''
|width="530"|This would bold the text when the value in the edit_box is less than 0.0.
  <edit_box>
  <edit_box>
   <unique_name>edtA</unique_name>
   <unique_name>edtA</unique_name>
   <default>1.0</default>
   <default>1.0</default>
   <text_style  bold  text_size=”12”>
   <text_style  bold  text_size="12">
       <condition>edtA LESS_THAN 0.0</condition>
       <condition>edtA LESS_THAN 0.0</condition>
   <text_style>
   <text_style>
  </edit_box>
  </edit_box>
}}


|}
{{XML entry
| 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]].
| version    = 3
| attributes = none
| children  = none
| used_by    = h5_group, h5_geometry, h5_dataset, h5_data
| example    =
}}
 
{{XML entry
| 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. 
| version    = 1, 2
| attributes = none
| children  = none
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <link_to_xml>|link_to_xml]]
| example    = See link_to_xml example.
}}
 
{{XML entry
| name      = update_text
| info      = Used to match the output text from a model to determine the progress amount.
| version    = 3
| attributes = none
| children  = none
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <executable_progress_update>|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>
}}
 
{{XML entry
| name      = use_coverage
| info      = Use a coverage that has previously been defined in the attribute type in <declare_coverage>
| version    = 2
| attributes = none
| children  = none
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <declare_coverage>|declare_coverage]], [[SMS:Dynamic Model Interface Schema#Element <take_coverage>|take_coverage]]
| example    = See the coverage example and the takes example.
}}
 
{{XML entry
| name      = use_file_def
| info      = A way to access file data that has been previously declared with <declare_file_def>.
| version    = 2
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <coontrol_file>|control_file]]
| children  = [[SMS:Dynamic Model Interface Schema#Element <output_file>|output_file]], [[SMS:Dynamic Model Interface Schema#Element <input_file>|input_file]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <file>|file]]
| example    =
}}


=====Element ''<unique_link_name>''=====
{{XML entry
{|class="wikitable"
| name      = use_parameter
|-
| info      = A way to access file data that has been previously declared with <declare_parameter>.
|width="70"|'''Info'''
| version    = 3
|width="530"| 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. 
| attributes = none
|-
| children  = none
|'''Versions'''
| used_by    = anything beginning with "process_", [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <control_dataset>|control_dataset]]
| 1, 2
| example    =  
|-
}}
|'''Attributes'''
|none
|-
|'''Children'''
|width="530"| none
|-
|'''Used by'''
| width="530"| link_to_xml
|-
|'''Example'''
|width="530"|See link_to_xml example.
|}


=====Element ''<x_column>'', ''<y_column>''=====
{{XML entry
{|class="wikitable"
| name      = x_column
|-
| info      = Used to define the attributes in the x column such as text (heading).
|width="70"|'''Info'''
| version    = 2
|width="530"|Used to define the attributes in the column such as text (heading).
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <text>|text]]
|-
| children  = none
|'''Version'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_curve>|control_curve]]
| 2
| example    = This example creates a curve button with the date/time flag.
|-
|'''Attributes'''
|
*[[SMS:Dynamic Model Interface Schema#Element <text>|text]]
|-
|'''Children'''
|width="530"| none
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <control_curve>|control_curve]]
|-
|'''Example'''
|width="530"|This example creates a curve button with the date/time flag.
  <item>
  <item>
     <control_curve>
     <control_curve>
Line 2,787: Line 2,139:
         </x_column>
         </x_column>
         <y_column>
         <y_column>
   <text>Velocity</text>  
   <text>Velocity</text>
         </y_column>
         </y_column>
     </control_curve>
     </control_curve>
   …
   …
}}
{{XML entry
| 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".
| version    = 3
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <datatype>|datatype]]
| children  = [[SMS:Dynamic Model Interface Schema#Element <export_format>|export_format]], [[SMS:Dynamic Model Interface Schema#Element <title_format>|title_format]], [[SMS:Dynamic Model Interface Schema#Element <export>|export]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]], file_def, and anything beginning with "process_".
| 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>
}}


|}
{{XML entry
| 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.
| version    = 3
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <null_value>|null_value]],
[[SMS:Dynamic Model Interface Schema#Attribute <location>|location]],
widget
| children  = [[SMS:Dynamic Model Interface Schema#Element <title_format>|title_format]]
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|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>
}}
 
{{XML entry
| name      = xmdf_dimension
| info      =
| version    = 3
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <dimension>|dimension]]
| children  =
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]]
| example    = '''Example 1:''' The following shows how to write out the text rows of a single column of a table into a single column XMDF dataset.
<xmdf_group>
  <title_format>"Test"</title_format>
  <xmdf_data>
    <title_format>"Table"</title_format>
    <process_each_row widget="myColumn1">
      <xmdf_dimension dimension="rows">
        <export_format>"%s", myColumn1</export_format>
      </xmdf_dimension>
    </process_each_row>
  </xmdf_data>
</xmdf_group>
'''Example 2:''' The following shows how to write out two columns of a table into two columns of single XMDF dataset. It should be noted that multi-column XMDF datasets may not be text.
<xmdf_group>
  <title_format>"Test"</title_format>
  <xmdf_data  datatype="double">
    <title_format>"Table"</title_format>
    <process_each_row widget="myColumn1">
      <xmdf_dimension dimension="rows">
        <xmdf_dimension dimension="columns">
          <export>myColumn1</export>
        </xmdf_dimension>
        <xmdf_dimension dimension="columns">
          <export>myColumn2</export>
        </xmdf_dimension>
      </xmdf_dimension>
    </process_each_row>
  </xmdf_data>
</xmdf_group>
}}
 
{{XML entry
| 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.
| version    = 3
| attributes = none
| children  = [[SMS:Dynamic Model Interface Schema#Element <title_format>|title_format]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]]
| used_by    = file_def, [[SMS:Dynamic Model Interface Schema#Element <xmdf_group>|xmdf_group]]
| example    =
}}
 
{{XML entry
| 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.
| version    = 3
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <group_type>|group_type]]
| children  = xmdf_group, [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]],  [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]], [[SMS:Dynamic Model Interface Schema#Element <title_format>|title_format]], and anything beginning with "process_".
| used_by    = file_def, xmdf_group, [[SMS:Dynamic Model Interface Schema#Element <xmdf_geometry>|xmdf_geometry]], [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]], and anything beginning with "process_".
| example    =
}}
 
{{XML entry
| name      = y_column
| info      = Used to define the attributes in the y column such as text (heading).
| version    = 2
| attributes = [[SMS:Dynamic Model Interface Schema#Attribute <text>|text]]
| children  = none
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_curve>|control_curve]]
| example    = See example in x_column
}}


==Attributes==
==Attributes==
=====Attribute''<alignH>''=====
===Attributes A-C===
{|class="wikitable"
{{XML attributes
|-
| name      = alignH
|width="70"|'''Info'''
| info      = Align text horizontally in a text box.  
|width="530"|Align text horizontally in a text box.
| values    = bottom, top, center
|-
| versions  = 1
|'''Values'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]]
|
}}
*BOTTOM
*TOP
*Center
|-
|'''Versions'''
|1
|-
|'''Used by'''
|[[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]]
|}


=====Attribute''<alignV>''=====
{{XML attributes
{|class="wikitable"
| name      = alignV
|-
| info      = Align text vertically in a text box.  
|width="70"|'''Info'''
| values    = bottom, top, center
|width="530"|Align text vertically in a text box.  
| versions  = 1
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]]
|'''Values'''
}}
|
*Bottom
*Top
*Center
|-
|'''Versions'''
|1
|-
|'''Used by'''
|[[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]]
|}


=====Attributes ''<amount>''=====
{{XML attributes
{|class="wikitable"
| name      = amount
|-
| info      =  
|width="70"|'''Info'''
| values    = integer
|width="530"|
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <execute_progress_update>|execute_progress_update]]
|'''Values'''
}}
| integer
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| execute_progress_update
|}


=====Attributes ''<behavior>''=====
{{XML attributes
{|class="wikitable"
| name      = behavior
|-
| info      = When a user changes a role, you can define behaviors that automatically update the roles.
|width="70"|'''Info'''
| values    = ''None'': no enforcement of rules in the dialog
|width="530"|When a user changes a role, you can define behaviors that automatically update the roles.
|-
|'''Values'''
|width="530"|
''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.
''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.
Line 2,863: Line 2,287:
''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.
''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.
''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    = [[SMS:Dynamic Model Interface Schema#Element <roles>|roles]]
}}


|-
{{XML attributes
|'''Versions'''
| name      = bind_to
| 3
| info      = Binds a coverage to a mesh, or grid
|-
| values    = MESH2D, CGRID
|'''Used by'''
| versions  = 3
|width="530"| roles
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <declare_coverage>|declare_coverage]]
|}
}}


=====Attributes ''<bind_to>''=====
{{XML attributes
{|class="wikitable"
| name      = blue
|-
| info      = A color. Ranges from 0 to 255. Added in SMS 11.2. See also green and red.
|width="70"|'''Info'''
| values    = integer (0 to 255)
|width="530"|Binds a coverage to a mesh, or grid
| versions  = 1
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <color>|color]]
|'''Values'''
}}
| MEHS2D, CGRID
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| coverage
|}


=====Attribute ''<blue>'', ''<green>'', ''<red>''=====
{{XML attributes
{|class="wikitable"
| name      = bold
|-
| info      = Sets the text to be bolded when this attribute is used. Added in SMS 11.2.
|width="70"|'''Info'''
| values    = none
|width="530"|A color. Ranges from 0 to 255. Added in SMS 11.2.
| versions  = 1
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|'''Values'''
}}
|integer (0 to 255)
|-
|'''Version'''
|1
|-
|'''Used by'''
|[[SMS:Dynamic Model Interface Schema#Element <color>|color]]
|}


=====Attribute ''<bold>''=====
{{XML attributes
{|class="wikitable"
| name      = columns
|-
| info      = Represents a column in the H5 file that we are mapping to
|width="70"|'''Info'''
| values    = #timestep, #point, #arc, #polygon, #coverage, #material
|width="530"|Sets the text to be bolded when this attribute is used. Added in SMS 11.2.
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]]
|'''Values'''
}}
| none
|-
|'''Version'''
|1
|-
|'''Used by'''
|[[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|}


=====Attributes ''<columns>''=====
{{XML attributes
{|class="wikitable"
| name      = corner_skip
|-
| info      = Skip corners when exporting neighbors
|width="70"|'''Info'''
| values    = true, false
|width="530"|Represents a column in the H5 file that we are mapping to
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <process_each_neighbor>|process_each_neighbor]]
|'''Values'''
}}
| #timestep, #point, #arc, #polygon, #coverage, #material
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| xmdf_data
|}


=====Attributes ''<corner_skip>''=====
{{XML attributes
{|class="wikitable"
| name      = create_file
|-
| info      = If attribute is specified, then create_file is true
|width="70"|'''Info'''
| values    = none
|width="530"|Skip corners when exporting neighbors
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_file_selector>|control_file_selector]]
|'''Values'''
}}
| true, false
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| process_each_neighbor
|}


=====Attributes ''<create_file>''=====
{{XML attributes
{|class="wikitable"
| name      = dataset_type
|-
| info      = Specify the dataset type as scalar or vector.  Default is scalar.
|width="70"|'''Info'''
| values    = scalar, vector
|width="530"|If attribute is specified, then create_file is true
| versions  = 1
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_dataset>|control_dataset]]
|'''Values'''
}}
| None
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| control_file_selector
|}


=====Attribute ''<dataset_type>''=====
{{XML attributes
{|class="wikitable"
| name      = dataset_widget
|-
| info      = When exporting points from a dataset, the attribute identifies the dataset widget being used (contains the selected dataset).
|width="70"|'''Info'''
| values    = Name of the dataset_widget
|width="530"| Specify the dataset type as scalar or vector.  Default is scalar.
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]]
|'''Values'''
}}
|
*"scalar"
*"vector"
|-
|'''Version'''
| 1
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <control_dataset>|control_dataset]]
|}


=====Attributes ''<dataset_widget>''=====
{{XML attributes
{|class="wikitable"
| name      = datatype
|-
| info      =  
|width="70"|'''Info'''
| values    = float, double, integer, text
|width="530"|When exporting points from a dataset, the attribute identifies the dataset widget being used (contains the selected dataset)
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]]
|'''Values'''
}}
| Name of the dataset_widget
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| process_each_point
|}


=====Attributes ''<datatype>''=====
{{XML attributes
{|class="wikitable"
| name      = default
|-
| info      = Sets the initial default value of a widget. Can also be used to state the default combo-box option.
|width="70"|'''Info'''
| values    =  
|width="530"|
''edit_box'' or any element that begins with ''custom_control'': double<br/>
|-
''check_box'': checked, unchecked<br/>
|'''Values'''
''combo_box'': no values or empty string<br/>
| float, double, integer, text
''export_optional'': true, false
|-
| versions  = 1
|'''Versions'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]], [[SMS:Dynamic Model Interface Schema#Element <check_box>|check_box]], [[SMS:Dynamic Model Interface Schema#Element <option>|option]], any element that begins with "control" ("custom_control" in version 1), [[SMS:Dynamic Model Interface Schema#Element <combo_box>|combo_box]], [[SMS:Dynamic Model Interface Schema#Element <export_optional>|export_optional]]
| 3
}}
|-
|'''Used by'''
|width="530"| xmdf_data
|}


=====Attribute''<default>''=====
{{XML attributes
{|class="wikitable"
| name      = default_executable_name32
|-
| info      = Sets the initial default file name for the 32-bit executable.
|width="70"|'''Info'''
| values     = text
|width="530"| Sets the initial default value of a widget. Can also be used to state the default combo-box option.
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <executable>|executable]]
|'''Values'''
}}
|
*edit_box or any element that begins with “custom_control”:
double
*check_box:
"checked"<br/>
"unchecked"
*combo_box:
no values or empty string
*export_optional:
“true”<br/>
“false”
|-
|'''Version'''
| 1
|-
|'''Used by'''
| [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]], [[SMS:Dynamic Model Interface Schema#Element <check_box>|check_box]], [[SMS:Dynamic Model Interface Schema#Element <option>|option]], any element that begins with “control” (“custom_control” in version 1), combo_box, export_optional
|}


=====Attributes ''<default_executable_name32>''=====
{{XML attributes
{|class="wikitable"
| name      = default_executable_name64
|-
| info      = Sets the initial default file name for the 64-bit executable.
|width="70"|'''Info'''
| values    = text
|width="530"|Sets the initial default file name for the 32-bit executable.
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <executable>|executable]]
|'''Values'''
}}
| text
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| executable
|}


=====Attributes ''<default_executable_name64>''=====
{{XML attributes
{|class="wikitable"
| name      = description_text
|-
| info      = A detailed description of why a model check failed.  This text is displayed to the user.
|width="70"|'''Info'''
| values    = string
|width="530"|Sets the initial default file name for the 64-bit executable.
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <model_check>|model_check]]
|'''Values'''
}}
| text
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| executable
|}


=====Attributes ''<description_text>''=====
{{XML attributes
{|class="wikitable"
| name      = dim
|-
| info      = Specifies that when the dependency is false, the widget should be dimmed, not hidden.
|width="70"|'''Info'''
| values    = none
|width="530"|A detailed description of why a model check failed.  This text is displayed to the user.
| versions  = 1
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <dependency>|dependency]]
|'''Values'''
}}
| string
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| model_check
|}


=====Attributes ''<dim>''=====
{{XML attributes
{|class="wikitable"
| name      = dimension
|-
| info      = Specifies values for rows, columns and layers.
|width="70"|'''Info'''
| values    = rows, columns, layers
|width="530"|Specifies that when the dependency is false, the widget should be dimmed, not hidden.
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <xmdf_dimension>|xmdf_dimension]]
|'''Values'''
}}
| none
|-
|'''Versions'''
| 1
|-
|'''Used by'''
|width="530"| dependency
|}


=====Attributes ''<display>''=====
{{XML attributes
{|class="wikitable"
| name      = display
|-
| info      = This is used to describe how the dialog should display.   
|width="70"|'''Info'''
|width="530"|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.
''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.
''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.
''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
|'''Values'''
| versions  = 1
| FLEX, FULL, NO_NAV
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <declare_page>|declare_page]]
|-
}}
|'''Versions'''
| 1
|-
|'''Used by'''
|width="530"| declare_page
|}


=====Attributes ''<display_options_hide>''=====
{{XML attributes
{|class="wikitable"
| name      = 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.
|width="70"|'''Info'''
| values    = true, false
|width="530"| 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.
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <option>|option]]
|'''Values'''
}}
| <option display_options_hide = “true”>
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| option
|}


=====Attributes ''<double_click>''=====
{{XML attributes
{|class="wikitable"
| name      = double_click
|-
| info      = The double_click attribute (if true) indicates that this is the menu item to be launched on a double click event.
|width="70"|'''Info'''
| values    = true, false
|width="530"| The double_click attribute (if true) indicates that this is the menu item to be launched on a double click event.
| versions  = 2
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <menu_item>|menu_item]]
|'''Values'''
}}
| true, false
|-
|'''Versions'''
| 2
|-
|'''Used by'''
|width="530"| menu_item
|}


=====Attributes ''<executable_order>''=====
===Attributes E-L===
{|class="wikitable"
{{XML attributes
|-
| name      = executable_order
|width="70"|'''Info'''
| info      = Defines the order in which this executable should run relative to other executables in the same simulation.
|width="530"| Defines the order in which this executable should run relative to other executables in the same simulation.
| values    = integer ≥ 1
|-
| versions  = 2
|'''Values'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <executable>|executable]]
| interger starting at 1
}}
|-
|'''Versions'''
| 2
|-
|'''Used by'''
|width="530"| executable
|}


=====Attributes ''<feature>''=====
{{XML attributes
{|class="wikitable"
| name      = feature
|-
| info      = Determine whether to select points, arcs or polygons (poly).
|width="70"|'''Info'''
| values    = point, arc, poly
|width="530"| Determine whether to select points, arcs or polys
| versions  = 2
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_feature_selector>|control_feature_selector]], [[SMS:Dynamic Model Interface Schema#Element <process_each_neighbor>|process_each_neighbor]]
|'''Values'''
}}
| point, arc, poly
|-
|'''Versions'''
| 2
|-
|'''Used by'''
|width="530"| control_feature_selector, process_each_neighbor
|}


=====Attributes ''<fix_text>''=====
{{XML attributes
{|class="wikitable"
| name      = fix_text
|-
| info      = A brief summary of what steps to take to fix a model check failure.  This text is displayed to the user.
|width="70"|'''Info'''
| values    = string
|width="530"| A brief summary of what steps to take to fix a model check failure.  This text is displayed to the user.
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <model_check>|model_check]]
|'''Values'''
}}
| string
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| model_check
|}


=====Attributes ''<file_type>''=====
{{XML attributes
{|class="wikitable"
| name      = file_type
|-
| info      = Specifies a file type of <declare_file_def> defines the file type.
|width="70"|'''Info'''
| values    = CARD_ASCII, SEQUENTIAL_ASCII, SEQUENTIAL_BINARY, XMDF
|width="530"|Specifies a file type of <declare_file_def> defines the file type.
| versions  = 2
|-
| used_by    = declare_file_def, [[SMS:Dynamic Model Interface Schema#Element <section>|section]]
|'''Values'''
}}
| CARD_ASCII, SEQUENTIAL_ASCII, SEQUENTIAL_BINARY, XMDF
|-
|'''Versions'''
| 2
|-
|'''Used by'''
|width="530"| declare_file_def, section
|}


=====Attributes ''<filter>''=====
{{XML attributes
{|class="wikitable"
| name      = 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. For example: Cmcards file (.cmcards)
|width="70"|'''Info'''
| values    = string (string)
|width="530"|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  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_file_selector>|control_file_selector]]
|'''Values'''
}}
| string “(“string “)”  ex. Cmcards file (.cmcards)
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| control_file_selector
|}


=====Attributes ''<flags>''=====
{{XML attributes
{|class="wikitable"
| name      = 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.
|width="70"|'''Info'''
| values    = XY_USEDATE
|width="530"|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
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_curve>|control_curve]]
|'''Values'''
}}
| XY_USEDATE
|-
|'''Versions'''
| 2
|-
|'''Used by'''
|width="530"| control_curve
|}


=====Attributes ''<footer>''=====
{{XML attributes
{|class="wikitable"
| name      = footer
|-
| info      = Exported text inside a table that is placed at the end.
|width="70"|'''Info'''
| values    = string  
|width="530"|Exported text inside a table that is placed at the end
| versions  = 2
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <export_table>|export_table]], [[SMS:Dynamic Model Interface Schema#Element <export_each_row>|export_each_row]], [[SMS:Dynamic Model Interface Schema#Element <export_column>|export_column]]
|'''Values'''
}}
| string  
|-
|'''Versions'''
| 1
|-
|'''Used by'''
|width="530"| export_table, export_each_row, export_column
|}


=====Attributes ''<geometry>''=====
{{XML attributes
{|class="wikitable"
| name      = 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.
|width="70"|'''Info'''
| values    = all
|width="530"|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.
| versions  = 2
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_dataset>|control_dataset]]
|'''Values'''
}}
| all  
|-
|'''Versions'''
| 2
|-
|'''Used by'''
|width="530"| control_dataset
|}


=====Attributes ''<header>''=====
{{XML attributes
{|class="wikitable"
| name      = green
|-
| info      = A color. Ranges from 0 to 255. Added in SMS 11.2. See also blue and red.
|width="70"|'''Info'''
| values    = integer (0 to 255)
|width="530"|Exported text inside a table that is placed at the beginning
| versions  = 1
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <color>|color]]
|'''Values'''
}}
| string
|-
|'''Versions'''
| 1
|-
|'''Used by'''
|width="530"| export_table, export_each_row, export_column
|}


=====Attributes ''<help_button_url>''=====
{{XML attributes
{|class="wikitable"
| name      = header
|-
| info      = Exported text inside a table that is placed at the beginning.
|width="70"|'''Info'''
| values    = string  
|width="530"|Provides online help when the help button is clicked.  Loads the specified url in a web browser.
| versions  = 1
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <export_table>|export_table]], [[SMS:Dynamic Model Interface Schema#Element <export_each_row>|export_each_row]], [[SMS:Dynamic Model Interface Schema#Element <export_column>|export_column]]
|'''Values'''
}}
| string  
|-
|'''Versions'''
| 2
|-
|'''Used by'''
|width="530"| declare_dialog
|-
|'''Example'''
|
<declare_dialog  name=”Model Control”
                help_button_url=”www.aquaveo.com”>
      …
</declare_dialog>
|}


=====Attributes ''<help_button_wiki>''=====
{{XML attributes
{|class="wikitable"
| name      = help_button_url
|-
| info      = Provides online help when the help button is clicked. Loads the specified url in a web browser. Example: help_button_url="www.aquaveo.com"
|width="70"|'''Info'''
| values    = string
|width="530"|Provides online help when the help button is clicked. Loads the specified url in a web browser.
| versions   = 2
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <declare_dialog>|declare_dialog]]
|'''Values'''
}}
| string
|-
|'''Versions'''
| 2
|-
|'''Used by'''
|width="530"| declare_dialog
|-
|'''Example'''
|
<dialog   name=”Model Control”
    help_button_wiki=”DynSrhModelControl”>
      …
</dialog>
|}


=====Attributes ''<increment>''=====
{{XML attributes
{|class="wikitable"
| name      = help_button_wiki
|-
| info      = Provides online help when the help button is clicked.  Loads the specified url in a web browser. Example: help_button_wiki="DynSrhModelControl"
|width="70"|'''Info'''
| values    = string
|width="530"|An increment values.  Used Increment from the min time to the max time, using the increment
| versions  = 2
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <declare_dialog>|declare_dialog]]
|'''Values'''
}}
| positive integer


1 : default
{{XML attributes
|-
| name      = increment
|'''Versions'''
| info      = An increment values.  Used Increment from the min time to the max time, using the increment.
| 2
| values    = Integer ≥ 1
|-
| versions  = 2
|'''Used by'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_set>|control_set]]
|width="530"| control_set
}}
|}


=====Attributes ''<interior_polygon>''=====
{{XML attributes
{|class="wikitable"
| name      = ignore_on_read
|-
| info      =
|width="70"|'''Info'''
| values    =  
|width="530"|Only used for polygons when finding neighbors. Specify the polygon preference.
| versions  = 2
|-
| used_by    = Anything that starts with "process_"
|'''Values'''
}}
| “interior_first”, “exterior_first”, “interior_only”, “exterior_only”
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| process_each_neighbor
|}


=====Attribute ''<italic>''=====
{{XML attributes
{|class="wikitable"
| name      = ignore_on_write
|-
| info      =  
|width="70"|'''Info'''
| values    =
|width="530"|Sets the text to be italicized when the element is specified. Added in SMS 11.2.
| versions  = 2
|-
| used_by    = Anything that starts with "process_"
|'''Values'''
}}
|none
|-
|'''Version'''
|1
|-
|'''Used by'''
|text_style
|}


=====Attributes ''<i_order>''=====
{{XML attributes
{|class="wikitable"
| name      = interior_polygon
|-
| info      = Only used for polygons when finding neighbors. Specify the polygon preference.
|width="70"|'''Info'''
| values    = interior_first, exterior_first, interior_only, exterior_only
|width="530"|Start at min i and go to max.  Only used by cartesian grids and process_each_neighbor on quad trees.
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <process_each_neighbor>|process_each_neighbor]]
|'''Values'''
}}
| “ascending”, “descending”
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| process_each_arc, process_each_coverage, process_each_material, process_each_point, process_each_polygon, process_each_row
|}


=====Attributes ''<j_order>''=====
{{XML attributes
{|class="wikitable"
| name      = italic
|-
| info      = Sets the text to be italicized when the element is specified. Added in SMS 11.2.
|width="70"|'''Info'''
| values    = none
|width="530"|Start at min j and go to max. Only used by cartesian grids and process_each_neighbor on quad trees.
| versions  = 1
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|'''Values'''
}}
| “ascending”, “descending”
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| process_each_arc, process_each_coverage, process_each_material, process_each_point, process_each_polygon, process_each_row
|}


=====Attributes ''<layers>''=====
{{XML attributes
{|class="wikitable"
| name      = i_order
|-
| info      = Start at min i and go to max.  Only used by cartesian grids and process_each_neighbor on quad trees.
|width="70"|'''Info'''
| values    = ascending, descending
|width="530"|Represents a layer in the H5 file that we are mapping to
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|process_each_arc]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_material>|process_each_material]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_row>|process_each_row]]
|'''Values'''
}}
| #timestep”, #point”, #arc”, #polygon”, #coverage”, #material”
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| xmdf_data
|}


=====Attributes ''<location>''=====
{{XML attributes
{|class="wikitable"
| name      = j_order
|-
| info      = Start at min j and go to max.  Only used by cartesian grids and process_each_neighbor on quad trees.
|width="70"|'''Info'''
| values    = ascending, descending
|width="530"|The location from which we will be getting dataset values
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|process_each_arc]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_material>|process_each_material]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_row>|process_each_row]]
|'''Values'''
}}
|TBD
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| xmdf_dataset
|}


=====Attributes ''<max>''=====
{{XML attributes
{|class="wikitable"
| name      = layers
|-
| info      = Represents a layer in the H5 file to which we are mapping.
|width="70"|'''Info'''
| values    = #timestep, #point, #arc, #polygon, #coverage, #material
|width="530"|A max value.  Default is 2.147 billion.
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]]
|'''Values'''
}}
|positive integer


2.147 billion : default
{{XML attributes
|-
| name      = location
|'''Versions'''
| info      = The location from which we will be getting dataset values.
| 2
| values    = TBD
|-
| versions  = 3
|'''Used by'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]]
|width="530"| control_set,  execute_progress_update
}}
|}


=====Attributes ''<max_row_count>''=====
===Attributes M-S===
{|class="wikitable"
{{XML attributes
|-
| name      = max
|width="70"|'''Info'''
| info      = A max value. The default is 2.147 billion.
|width="530"|Used to set the maximum number of rows allowed in a table or curve.
| values    = Integer ≥ 1
|-
| versions  = 2
|'''Values'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_set>|control_set]], [[SMS:Dynamic Model Interface Schema#Element <execute_progress_update>|execute_progress_update]]
| integer
}}
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| table, control_curve
|}


=====Attributes ''<min>''=====
{{XML attributes
{|class="wikitable"
| name      = max_row_count
|-
| info      = Used to set the maximum number of rows allowed in a table or curve.
|width="70"|'''Info'''
| values    = integer
|width="530"|A minimim value.  Default is 0.
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element < table >|table]], [[SMS:Dynamic Model Interface Schema#Element <control_curve>|control_curve]]
|'''Values'''
}}
|positive integer


0: default
{{XML attributes
|-
| name      = min
|'''Versions'''
| info      = A minimum value. The default is 0 (zero).
| 2
| values    = Integer ≥ 1
|-
| versions  = 2
|'''Used by'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_set>|control_set]]
|width="530"| control_set
}}
|}


=====Attributes ''<model>''=====
{{XML attributes
{|class="wikitable"
| name      = model
|-
| info      = Specify the model name of the executable
|width="70"|'''Info'''
| values    = string
|width="530"|Specify the model name of the executable
| versions  = 2
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_executable>|control_executable]]
|'''Values'''
}}
|string
|-
|'''Versions'''
| 2
|-
|'''Used by'''
|width="530"| control_executable
|}


=====Attributes ''<name>''=====
{{XML attributes
{|class="wikitable"
| name      = name
|-
| info      = Specify a name.  When used by dialog this is required.
|width="70"|'''Info'''
| values    = string
|width="530"|Specify a name.  When used by dialog this is required
| versions  = 3
|-
| used_by    = declare_file_def, [[SMS:Dynamic Model Interface Schema#Element <declare_dialog>|declare_dialog]], [[SMS:Dynamic Model Interface Schema#Element <model>|model]], [[SMS:Dynamic Model Interface Schema#Element <control_dataset>|control_dataset]], [[SMS:Dynamic Model Interface Schema#Element <declare_coverag>|declare_coverage]]
|'''Values'''
}}
|string
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| declare_file_def, declare_dialog, model, control_dataset, declare_coverage
|}


=====Attributes ''<neighbor_per_edge>''=====
{{XML attributes
{|class="wikitable"
| name      = neighbor_per_edge
|-
| info      = Minimum number of neighbors in any direction. The default value is 0 (zero).
|width="70"|'''Info'''
| values    = integer
|width="530"|Min number of neighbors in any direction
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <process_each_neighbor>|process_each_neighbor]]
|'''Values'''
}}
|integer


0- default
{{XML attributes
|-
| name      = null_id
|'''Versions'''
| info      = Integer for an id of a neighbor not found
| 3
| values    = integer
|-
| versions  = 3
|'''Used by'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <process_each_neighbor>|process_each_neighbor]]
|width="530"| process_each_neighbor
}}
|}


=====Attributes ''<null_id>''=====
{{XML attributes
{|class="wikitable"
| name      = null_value
|-
| info      = The null_value for the dataset.
|width="70"|'''Info'''
| values    = any integer, any double
|width="530"|Integer for an id of a neighbor not found
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <xmdf_dataset>|xmdf_dataset]]
|'''Values'''
}}
|integer
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| process_each_neighbor
|}


=====Attributes ''<null_value>''=====
{{XML attributes
{|class="wikitable"
| name      = 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.
|width="70"|'''Info'''
| values    = none
|width="530"|The null_value for the dataset
| versions  = 2
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]], [[SMS:Dynamic Model Interface Schema#Element <combo_box>|combo_box]], [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]], [[SMS:Dynamic Model Interface Schema#Element < table >|table]], any element that starts with "custom_control", [[SMS:Dynamic Model Interface Schema#Element <check_box>|check_box]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]]
|'''Values'''
}}
|any integer, any double
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| xmdf_dataset
|}


=====Attribute ''<optional>''=====
{{XML attributes
{|class="wikitable"
| name      = order
|-
| info      = The way spatial entity objects are to be sorted before iterating. Currently only available for Cartesian grids and quadtrees (process_each_neighbor).
|width="70"|'''Info'''
| values    = clockwise, counter_clockwise, ij, ji
|width="530"| 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  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|process_each_arc]], [[SMS:Dynamic Model Interface Schema#Element <process_each_material>|process_each_material]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]], [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_neighbor>|process_each_neighbor]]
|'''Values'''
}}
|none
|-
|'''Version'''
| 2
|-
|'''Used by'''
| width="530"| [[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]], [[SMS:Dynamic Model Interface Schema#Element <combo_box>|combo_box]], [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]], [[SMS:Dynamic Model Interface Schema#Element < table >|table]], any element that starts with “custom_control”, [[SMS:Dynamic Model Interface Schema#Element <check_box>|check_box]], column, row
|}


=====Attributes ''<order>''=====
{{XML attributes
{|class="wikitable"
| name      = problem_text
|-
| info      = A brief summary of why a model check failed.  This text is displayed to the user.
|width="70"|'''Info'''
| values    = string
|width="530"|The way spatial entity objects are to be sorted before iterating. Currently only available for Cartesian grids and quadtrees (process_each_neighbor).
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <model_check>|model_check]]
|'''Values'''
}}
|“clockwise”, “counter_clockwise”, “ij”, “ji”
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| process_each_arc, process_each_material, process_each_point, process_each_polygon, process_each_neighbor
|}


=====Attributes ''<problem_text>''=====
{{XML attributes
{|class="wikitable"
| name      = red
|-
| info      = A color. Ranges from 0 to 255. Added in SMS 11.2. See also blue and green.
|width="70"|'''Info'''
| values    = integer (0 to 255)
|width="530"|A brief summary of why a model check failed. This text is displayed to the user.
| versions  = 1
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <color>|color]]
|'''Values'''
}}
|string
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| model_check
|}


=====Attributes ''<required>''=====
{{XML attributes
{|class="wikitable"
| name      = required
|-
| info      = Specifies that at least one option in the group must be present.
|width="70"|'''Info'''
| values    = true
|width="530"|Specifies that at least one option in the group must be present.
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <export_group>|export_group]]
|'''Values'''
}}
|true
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| export_group
|}


=====Attributes ''<rows>''=====
{{XML attributes
{|class="wikitable"
| name      = rows
|-
| info      = Represents a row in the .h5 file to map to
|width="70"|'''Info'''
| values    = #timestep, #point, #arc, #polygon, #coverage, #material
|width="530"|Represents a row in the .h5 file to map to
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <xmdf_data>|xmdf_data]]
|'''Values'''
}}
|“#timestep”, #point”, #arc”, #polygon”, #coverage”, #material”
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| xmdf_data
|}


=====Attributes ''<select_time>''=====
{{XML attributes
{|class="wikitable"
| name      = select_time
|-
| info      =  
|width="70"|'''Info'''
| values    = single, #range, #all
|width="530"|
| versions  = 2
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_dataset>|control_dataset]]
|'''Values'''
}}
|“single”, #range”, #all”
|-
|'''Versions'''
| 2
|-
|'''Used by'''
|width="530"| control_dataset
|}


=====Attributes ''<source''>=====
{{XML attributes
{|class="wikitable"
| name      = 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)
|width="70"|'''Info'''
| values    = coverage (use locations from coverage), snapped (use the snapped location on a geometry from a coverage), geometry (use locations from geometry)
|width="530"|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)
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <process_each_polygon>|process_each_polygon]], [[SMS:Dynamic Model Interface Schema#Element <process_each_arc>|process_each_arc]], [[SMS:Dynamic Model Interface Schema#Element <process_each_point>|process_each_point]], [[SMS:Dynamic Model Interface Schema#Element <process_each_material>|process_each_material]], [[SMS:Dynamic Model Interface Schema#Element <process_each_coverage>|process_each_coverage]], [[SMS:Dynamic Model Interface Schema#Element <process_each_neighbor>|process_each_neighbor]]
|'''Values'''
}}
|
*“coverage” &ndash; use locations from coverage
*“snapped” &ndash; use the snapped location on a geometry from a coverage
*“geometry” &ndash; use locations from geometry.
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| process_each_polygon, process_each_arc, process_each_point, process_each_material, process_each_coverage, process_each_neighbor
|}


=====Attribute ''<strike_through>''=====
{{XML attributes
{|class="wikitable"
| name      = strike_through
|-
| info      = Sets the text to have a line through the middle when the element is specified. Added in SMS 11.2.
|width="70"|'''Info'''
| values    = none
|width="530"|
| versions  = 1
Sets the text to have a line through the middle when the element is specified. Added in SMS 11.2.
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
}}


|-
===Attributes T-Z===
|'''Values'''
{{XML attributes
|none
| name      = text
|-
| info      = Text that is displayed in the SMS user interface.
|'''Version'''
| values    = any text string
|1
| versions  = 1
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <group>|group]], [[SMS:Dynamic Model Interface Schema#Element <item>|item]], [[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]], [[SMS:Dynamic Model Interface Schema#Element <check_box>|check_box]], [[SMS:Dynamic Model Interface Schema#Element <option>|option]], [[SMS:Dynamic Model Interface Schema#Element <x_column>|x_column]], [[SMS:Dynamic Model Interface Schema#Element <y_column>|y_column]], [[SMS:Dynamic Model Interface Schema#Element <column>|column]], [[SMS:Dynamic Model Interface Schema#Element <row>|row]], [[SMS:Dynamic Model Interface Schema#Element <display_options>|display_options]], [[SMS:Dynamic Model Interface Schema#Element <menu_item>|menu_item]], [[SMS:Dynamic Model Interface Schema#Element <declare_page>|declare_page]], [[SMS:Dynamic Model Interface Schema#Element <executable>|executable]]
|'''Used by'''
}}
|text_style
|}


=====Attributes ''<text''>=====
{{XML attributes
{|class="wikitable"
| name      = type
|-
| info      = For <display_options> defines point, or arc
|width="70"|'''Info'''
| values    = ''display_options'': arc, point<br/>
|width="530"|Text that is displayed in the SMS user interface.
''edit_box'': text, integer, double
|-
| versions  = 2
|'''Values'''
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <declare_coverage>|declare_coverage]], [[SMS:Dynamic Model Interface Schema#Element <display_options>|display_options]], [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]]
|any text string
}}
|-
|'''Versions'''
| 1
|-
|'''Used by'''
|width="530"| group, item, text_box, check_box, option, x_column, y_column, column, row, display_options, menu_item declare_page executable
|}


=====Attributes ''<type''>=====
{{XML attributes
{|class="wikitable"
| name      = time_type
|-
| info      = Type of time either transient, steady state, or all.  Default is all.
|width="70"|'''Info'''
| values    = transient, steady state, all
|width="530"|For <display_options> defines point, or arc
| versions  = 2
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <control_dataset>|control_dataset]]
|'''Values'''
}}
|display_options
*“arc”
*“point”
edit_box
*“text”
*“integer”
*“double”
|-
|'''Versions'''
| 2
|-
|'''Used by'''
|width="530"| coverage, display_options, edit_box
|}


=====Attributes ''<time_type''>=====
{{XML attributes
{|class="wikitable"
| name      = underline
|-
| info      = Sets the text to be underlined when this attribute is specified. Added in SMS 11.2.
|width="70"|'''Info'''
| values    = none
|width="530"|Type of time either transient, steady state, or all. Default is all.
| versions  = 1
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <text_style>|text_style]]
|'''Values'''
}}
|
*“transient”
*“steady state”
*“all”


|-
{{XML attributes
|'''Versions'''
| name      = unique_name
| 2
| info      = A unique name given to an widget, which determines how to reference the widget. 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)
|'''Used by'''
| versions  = 1
|width="530"| control_dataset
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <card>|card]], [[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]], [[SMS:Dynamic Model Interface Schema#Element <combo_box>|combo_box]], [[SMS:Dynamic Model Interface Schema#Element <edit_box>|edit_box]], [[SMS:Dynamic Model Interface Schema#Element < table >|table]], all elements starting with "custom_control", [[SMS:Dynamic Model Interface Schema#Element <check_box>|check_box]], [[SMS:Dynamic Model Interface Schema#Element <text_box>|text_box]], [[SMS:Dynamic Model Interface Schema#Element <control_curve>|control_curve]]
|}
}}


=====Attribute ''<underline>''=====
{{XML attributes
{|class="wikitable"
| name      = 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.
|width="70"|'''Info'''
| values    =  
|width="530"|
Length:
Sets the text to be underlined when this attribute is specified. Added in SMS 11.2.
* #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:
|'''Values'''
* #TIME_SECONDS
|none
* #TIME_HOURS
|-
* #TIME_MINUTES
|'''Version'''
* #TIME_DAYS
|1
* #TIME_WEEKS
|-
|'''Used by'''
|text_style
|}
 
=====Attribute ''<unique_name>''=====
{|class="wikitable"
|-
|width="70"|'''Info'''
|width="530"|
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'''
|width="530"|card, text_box, combo_box, edit_box, table, all elements starting with “custom_control”, check_box, text_box, control_curve
|}


=====Attributes ''<unit_keyword''>=====
{|class="wikitable"
|-
|width="70"|'''Info'''
|width="530"|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:
Volume:
#VFLOW_CU_FT_PER_SEC
* #VFLOW_CU_FT_PER_SEC
#VFLOW_CU_M_PER_SEC
* #VFLOW_CU_M_PER_SEC
| versions  = 1
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <option>|option]]
}}


|-
{{XML attributes
|'''Versions'''
| name      = use_dialog
| 1
| info      = Determines which dialog definition we are linking to
|-
| values    = string
|'''Used by'''
| versions  = 2
|width="530"| option
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <material_att>|material_att]], [[SMS:Dynamic Model Interface Schema#Element <menu_item>|menu_item]]
|}
}}


=====Attributes ''<use_dialog''>=====
{{XML attributes
{|class="wikitable"
| name      = use_file
|-
| info      = Complex command arguments can be built by referencing a <declare_file>.
|width="70"|'''Info'''
| values    = string = a <declare_filename >
|width="530"|Determines which dialog definition we are linking to
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <command_args>|command_args]]
|'''Values'''
}}
|string
|-
|'''Versions'''
| 2
|-
|'''Used by'''
|width="530"| material_att, menu_item
|}


=====Attributes ''<use_file''>=====
{{XML attributes
{|class="wikitable"
| name      = 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.
|width="70"|'''Info'''
| values    = string = (icon_name.bmp)
|width="530"|Complex command arguments can be built by referencing a <declare_file>.
| versions  = 3
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <simulation>|simulation]], [[SMS:Dynamic Model Interface Schema#Element <declare_coverage>|declare_coverage]]
|'''Values'''
}}
|string = a <declare_filename >
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| command_args
|}


=====Attributes ''<use_icon''>=====
{{XML attributes
{|class="wikitable"
| name      = version
|-
| info      = Sets the version number
|width="70"|'''Info'''
| values    = integer
|width="530"|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.
| versions  = 1
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <model>|model]], [[SMS:Dynamic Model Interface Schema#Element <dynamic_model>|dynamic_model]]
|'''Values'''
}}
|string = (icon_name.bmp)
|-
|'''Versions'''
| 3
|-
|'''Used by'''
|width="530"| simulation, declare_coverage
|}
 
=====Attributes ''<version''>=====
{|class="wikitable"
|-
|width="70"|'''Info'''
|width="530"|Sets the version number
|-
|'''Values'''
|integer
|-
|'''Versions'''
| 1
|-
|'''Used by'''
|width="530"| [[SMS:Dynamic Model Interface Schema#Element <model>|model]], [[SMS:Dynamic Model Interface Schema#Element <dynamic_model>|dynamic_model]]
|}


=====Attributes ''<z_is_elev''>=====
{{XML attributes
{|class="wikitable"
| name      = z_is_elev
|-
| info      = If the z value is elevation, set this to true.  Default is false.
|width="70"|'''Info'''
| values    = true, false
|width="530"|If the z value is elevation set this to true.  Default is false.
| versions  = 2
|-
| used_by    = [[SMS:Dynamic Model Interface Schema#Element <declare_coverage>|declare_coverage]]
|'''Values'''
}}
|
*“true”:  default
*“false”
|-
|'''Versions'''
| 2
|-
|'''Used by'''
|width="530"| coverage
|}


==Converting to the Dynamic Model Interface==
The Dynamic Model Interface offers more flexibility to model developers than the Generic Model Interface which was used before. Generic Model Interface files can be converted into files for the Dynamic Model Interface. [http://www.aquaveo.com/contact-us Contact Aquaveo] for more information.


==Tutorial Links==
For more information on using the Dynamic Model Interface, download the XML file tutorial:
* [http://smsdocs.aquaveo.com.s3.amazonaws.com/DMI_XML_File.pdf DMI XML File Tutorial]
* [http://smsdocs.aquaveo.com.s3.amazonaws.com/DynamicSample.zip DMI Tutorial Data]
* [http://smsdocs.aquaveo.com.s3.amazonaws.com/DMISamplePreProc.exe DMI Sample Pre-Processing Executable]
* [http://smsdocs.aquaveo.com.s3.amazonaws.com/DMISample.exe DMI Sample Executable]
-->


{{Navbox SMS}}
{{Navbox SMS}}


[[Category:General Information]]
[[Category:Dynamic Model Interface]]
[[Category:External Links]]
[[Category:Needs Update]]
[[Category:Needs Update]]

Latest revision as of 16:04, 4 March 2019

Sorry the page you are looking for cannot be found.
Undercosntruction.png
We are working on creating a page for this topic.


Back to SMS