InputParameterUnit

class pydsol.core.parameters.InputParameterUnit(key: str, name: str, quantity: Type[Quantity], default_value: str, display_priority: float, *, parent: InputParameterMap | None = None, description: str | None = None, read_only: bool = False)[source]

Bases: InputParameterSelectionList

InputParameterUnit defines an input parameter that is a unit for a given quantity type. The InputParameterUnit class extends the InputParameterSelectionList class and autogenerates a list of units to select from.

The InputParameterUnit has all attributes of the InputParameterSelectionList. The _value attribute is of the type str.

__init__(key: str, name: str, quantity: Type[Quantity], default_value: str, display_priority: float, *, parent: InputParameterMap | None = None, description: str | None = None, read_only: bool = False)[source]

Create a new InputParameterSelectionList that can contain a string input value for the simulation model. The vaue of the string is limited to the options in the provided selection list.

Parameters:
  • key (str) – The key of the parameter that can be a part of the dot-notation to uniquely identify the model parameter. The key does not contain the name of the parent, and should not contain any periods. It should also be unique within its node of the input parameter tree. The key is set at time of construction and it is immutable.

  • name (str) – Concise description of the input parameter, which can be used in a GUI to identify the parameter to the user.

  • quantity (type[Quantity]) – The Quantity class for which the unit selection list needs to be generated.

  • default_value (str) – The default (initial) value of the parameter. This value has to be a member of the options list, so it has to be a unit of the provided quantity.

  • display_priority (Union[int, float]) – A number indicating the order of display of the parameter in the parent parameter map. Floats are allowed to make it easy to insert an extra parameter between parameters that have already been allocated subsequent integer values.

  • parent (InputParameterMap (optional)) – The parent map in which the parameter can be retrieved using its key. Typically, only the root InputParameterMap has no parent, and all other parameters have an InputParameterMap as parent.

  • description (str (optional)) – A description or explanation of the InputParameter. For instance, an indication of the bounds or the type. This value is purely there for the user interface.

  • read_only (bool (optional)) – Whether a user is prohibited from changing the value of the parameter or not (default false, so the parameter can be changed).

Raises:
  • TypeError – when key is not a string

  • ValueError – when key is an empty string, or key contains a period

  • ValueError – when key is not unique in the parent InputParameterMap

  • TypeError – when name is not a string

  • ValueError – when name is an empty string

  • TypeError – when display priority is not a number

  • TypeError – when quantity is not a Quantity type / class

  • TypeError – when parent is not an InputParametermap or None

  • TypeError – when read_only is not a bool

  • TypeError – when default_value is not a string

  • ValueError – when default_value is not one of the units of the provided quantity

property default_value: object

Returns the default (initial) value of the parameter. The actual return type will be defined in subclasses of InputParameter. The default value is immutable.

Returns:

The default (initial) value of the parameter.

Return type:

object

property description: str

Returns a description or explanation of the InputParameter. For instance, an indication of the bounds or the type. This value is purely there for the user interface.

Returns:

A description or explanation of the InputParameter.

Return type:

str

property display_priority: float

Return the number indicating the order of display of the parameter in the parent parameter map. Floats make it easy to insert an extra parameter between parameters that have already been allocated subsequent integer values.

Returns:

The number indicating the order of display of the parameter in the parent parameter map.

Return type:

float

extended_key()

Return the extended key of this InputParameter including parents with a dot-notation. The name of this parameter is the last entry in the dot notation.

Returns:

The extended key of this InputParameter including parents with a dot-notation.

Return type:

str

property key: str

Return the key of the parameter that can be a part of the dot-notation to uniquely identify the model parameter. The key does not contain the name of the parent. The key is set at time of construction and it is immutable.

Returns:

The key of the parameter that can be a part of the dot-notation to uniquely identify the model parameter.

Return type:

str

property name: str

Returns the concise description of the input parameter, which can be used in a GUI to identify the parameter to the user.

Returns:

The concise description of the input parameter, which can be used in a GUI to identify the parameter to the user.

Return type:

str

property options: str

Returns the list of allowed values for the parameter.

Returns:

The list with allowed values for the parameter.

Return type:

list[str]

property parent: InputParameterMap

Return the parent map in which the parameter can be retrieved using its key. Typically, only the root InputParameterMap has no parent, and all other parameters have an InputParameterMap as parent.

Returns:

the parent map in which the parameter can be retrieved using its key.

Return type:

InputParameterMap

property read_only: bool

Return whether a user is prohibited from changing the value of the parameter or not.

Returns:

Whether a user is prohibited from changing the value of the parameter or not.

Return type:

bool

set_value(value: str)

Set (overwrite) the actual value of the parameter.

Parameters:

value (str) – The new value of the parameter.

Raises:
  • ValueError – if the parameter is read-only

  • TypeError – if the new value is not a string

  • ValueError – if the new value is not defined in the options list

property unittype: Type[Quantity]

Returns the quantity type for which the units can be selected.

Returns:

The quantity type for which the units can be selected.

Return type:

type[Quantity]

property value: str

Returns the actual value of the parameter. The value is initialized with default_value and is updated based on user input or data input.

Returns:

The actual value of the parameter, one of the elements of the list.

Return type:

str