Users can modify parameter values if an attribute Role="Input" is added on the ParamML parameter definition. Input parameters can also be grouped by specifying the Category for easier navigation.
Example:
<O N="Bottom Plate" T="Group">
<P N="bp_thk" V="1" D="Bottom plate thickness" Role="Input" Category="Bottom Plate" />
<P N="bp_l" V="15" D="Bottom plate length" Role="Input" Category="Bottom Plate" />
<P N="bp_w" V="10" D="Bottom plate width" Role="Input" Category="Bottom Plate" />
</O>
<O N="Top Plate" T="Group">
<P N="tp_thk" V="1" D="top plate thickness" Role="Input" Category="Top Plate" />
<P N="tp_l" V="15" D="top plate length" Role="Input" Category="Top Plate" />
<P N="tp_w" V="10" D="top plate width" Role="Input" Category="Top Plate" />
</O>
These input parameters can be selected in the drop down menu grouped per specified category.
Figure 1.2.1.1: Input parameter grouped per category.
Parameters can be modified by selecting and editing the value in the parameter box.
Figure 1.2.1.2: Input parameter box.
If we define a special parameter named EndUserInputFields with value specified to 1 (V=1) inside an object or group object, all parameters in that object including all of its child parameters can be modified by the end user. This object or group object will appear at the right hand sidebar of the OpenBrIM interface named Params.
Example:
<O N="Parameters" T="Group">
<O N="Concrete Cap" T="Group">
<P N="EndUserInputFields" V="1" />
<P N="cc_h" V="1" D="concrete cap height" />
<P N="cc_w" V="2.5" D="concrete cap width" />
<P N="cc_l" V="20" D="concrete cap length" />
</O>
<O N="Wall" T="Group">
<P N="EndUserInputFields" V="1" />
<P N="w_h" V="15" D="wall height" />
<P N="w_w" V="2" D="wall width" />
<P N="w_l" V="19.5" D="wall length" />
</O>
<O N="Footing" T="Group">
<P N="EndUserInputFields" V="1" />
<P N="f_w" V="4" D="footing width" />
<P N="f_l" V="22" D="footing length" />
<P N="f_t" V="1" D="footing thickness" />
</O>
</O>
Figure 1.2.1.3: Params sidebar.