rtm_wrapper.parameters.base#

Base classes defining the parameter tree.

Module Contents#

Classes#

Field

Base class for field descriptors.

ParameterMeta

Metaclass for parameters.

Parameter

Base class for input parameters.

AbstractParameterMeta

Metaclass for abstract parameters.

AbstractParameter

Base class for abstract input parameters.

ParameterField

Field containing a swappable parameter.

StrField

Field taking on a string value.

FloatField

Field taking on a float value.

IntField

Field taking on an integer value.

FloatArrayField

Field taking on a float value.

Functions#

validate_fields(→ Generator[None, None, None])

Context manager for temporary enabling or disabling field validation.

class Field(title: str | None = None, unit: str | None = None)[source]#

Bases: Generic[F]

Base class for field descriptors.

Fields are leaves in the input parameter tree that are responsible for storing fixed input parameter values.

Each instance of a field may optionally specify a title and unit, which help document the meaning of the field and can be used in human-readable representations.

Parameters:
  • title (str | None) –

  • unit (str | None) –

public_name: str#

Name of this descriptor in the host class.

private_name: str#

Attribute used to store this field’s value in the host instance.

title: str | None#

Human readable title of this field.

unit: str | None#

Unit that this field is measured in.

dtype: ClassVar[numpy.dtype[Any]]#

Numpy dtype used to store sweeps of this field.

class ParameterMeta[source]#

Bases: type

Metaclass for parameters.

class Parameter(**kwargs: Any)[source]#

Base class for input parameters.

Parameter subclasses should represent some definite physical representation of a model parameter that RTM engines can optionally implement.

Parameters:

kwargs (Any) –

__repr__() str[source]#

Return repr(self).

Return type:

str

get_fields(style: typing_extensions.Literal[., __] = ...) list[str][source]#
get_fields(style: typing_extensions.Literal[()]) list[tuple[str, Ellipsis]]

Return list containing the paths to all this parameter’s terminal fields.

class AbstractParameterMeta[source]#

Bases: ParameterMeta, abc.ABCMeta

Metaclass for abstract parameters.

class AbstractParameter(**kwargs: Any)[source]#

Bases: Parameter

Base class for abstract input parameters.

Like Parameter, but supports abc.ABC astract behavior.

Parameters:

kwargs (Any) –

class ParameterField(parameter_type: type[P], title: str | None = None)[source]#

Bases: Field[P]

Field containing a swappable parameter.

Creates a branch in the parameter tree.

Parameters:
  • parameter_type (type[P]) –

  • title (str | None) –

class StrField(title: str | None = None, unit: str | None = None)[source]#

Bases: Field[str]

Field taking on a string value.

Parameters:
  • title (str | None) –

  • unit (str | None) –

class FloatField(title: str | None = None, unit: str | None = None)[source]#

Bases: Field[float]

Field taking on a float value.

Parameters:
  • title (str | None) –

  • unit (str | None) –

class IntField(title: str | None = None, unit: str | None = None)[source]#

Bases: Field[int]

Field taking on an integer value.

Parameters:
  • title (str | None) –

  • unit (str | None) –

class FloatArrayField(title: str | None = None, unit: str | None = None)[source]#

Bases: Field[numpy.ndarray[Any, Any]]

Field taking on a float value.

Parameters:
  • title (str | None) –

  • unit (str | None) –

validate_fields(flag: bool) Generator[None, None, None][source]#

Context manager for temporary enabling or disabling field validation.

Parameters:

flag (bool) –

Return type:

Generator[None, None, None]