def __hydpy__get_value__(self):
        """The actual parameter or sequence value(s).

        First, we prepare a simple (not fully functional) |Variable| subclass:

        >>> from hydpy.core.variabletools import Variable
        >>> class Var(Variable):
        ...     NDIM = 0
        ...     TYPE = float
        ...     __hydpy__connect_variable2subgroup__ = None
        ...     initinfo = 3.0, True

        Without making use of default values (see below), trying to
        query the actual value of a freshly initialised |Variable|
        object results in the following error:

        >>> var = Var(None)
        >>> var.value
        Traceback (most recent call last):
        ...
        AttributeError: For variable `var`, no value has been defined so far.

        Property |Variable.value| tries to normalise assigned values and
        raises an error, if not possible:

        >>> var.value = 3
        >>> var.value
        3.0

        >>> var.value = ['2.0']
        >>> var.value
        2.0

        >>> var.value = 1.0, 1.0
        Traceback (most recent call last):
        ...
        ValueError: While trying to set the value(s) of variable `var`, the \
following error occurred: 2 values are assigned to the scalar variable `var`.
        >>> var.value
        2.0

        >>> var.value = 'O'
        Traceback (most recent call last):
        ...
        TypeError: While trying to set the value(s) of variable `var`, \
the following error occurred: The given value `O` cannot be converted \
to type `float`.
        >>> var.value
        2.0

        The above examples deal with a 0-dimensional variable handling
        |float| values.  The following examples focus on a 2-dimensional
        variable handling |int| values:

        >>> from hydpy import INT_NAN
        >>> Var.NDIM = 2
        >>> Var.TYPE = int
        >>> Var.initinfo = INT_NAN, False

        For multidimensional objects, assigning new values required
        defining their |Variable.shape| first:

        >>> var = Var(None)
        >>> var.value
        Traceback (most recent call last):
        ...
        AttributeError: Shape information for variable `var` can only be \
retrieved after it has been defined.

        >>> var.value = 2
        Traceback (most recent call last):
        ...
        AttributeError: While trying to set the value(s) of variable `var`, \
the following error occurred: Shape information for variable `var` can only \
be retrieved after it has been defined.

        >>> var.shape = (2, 3)
        >>> var.value
        Traceback (most recent call last):
        ...
        AttributeError: For variable `var`, no values have been defined so far.

        >>> var.value = 2
        >>> var.value
        array([[2, 2, 2],
               [2, 2, 2]])

        >>> var.value = 1, 2
        Traceback (most recent call last):
        ...
        ValueError: While trying to set the value(s) of variable `var`, \
the following error occurred: While trying to convert the value(s) `(1, 2)` \
to a numpy ndarray with shape `(2, 3)` and type `int`, the following error \
occurred: could not broadcast input array from shape (2) into shape (2,3)
        >>> var.value
        array([[2, 2, 2],
               [2, 2, 2]])

        >>> var.shape = (0, 0)
        >>> var.shape
        (0, 0)
        >>> var.value   # doctest: +ELLIPSIS
        array([], shape=(0, 0), dtype=int...)
        """
        value = getattr(self.fastaccess, self.name, None)
        if self.__valueready or not self.strict_valuehandling:
            if self.NDIM:
                return numpy.asarray(value)
            return self.TYPE(value)
        if self.NDIM and not sum(self.shape):
            return numpy.asarray(value)
        substring = 'values have' if self.NDIM else 'value has'
        raise AttributeError(
            f'For variable {objecttools.devicephrase(self)}, '
            f'no {substring} been defined so far.')
def __hydpy__get_value__ ( self ) : value = getattr ( self . fastaccess , self . name , None ) if self . __valueready or not self . strict_valuehandling : if self . NDIM : return numpy . asarray ( value ) return self . TYPE ( value ) if self . NDIM and not sum ( self . shape ) : return numpy . asarray ( value ) substring = 'values have' if self . NDIM else 'value has' raise AttributeError ( f'For variable {objecttools.devicephrase(self)}, ' f'no {substring} been defined so far.' )
The actual parameter or sequence value(s).

        First, we prepare a simple (not fully functional) |Variable| subclass:

        >>> from hydpy.core.variabletools import Variable
        >>> class Var(Variable):
        ...     NDIM = 0
        ...     TYPE = float
        ...     __hydpy__connect_variable2subgroup__ = None
        ...     initinfo = 3.0, True

        Without making use of default values (see below), trying to
        query the actual value of a freshly initialised |Variable|
        object results in the following error:

        >>> var = Var(None)
        >>> var.value
        Traceback (most recent call last):
        ...
        AttributeError: For variable `var`, no value has been defined so far.

        Property |Variable.value| tries to normalise assigned values and
        raises an error, if not possible:

        >>> var.value = 3
        >>> var.value
        3.0

        >>> var.value = ['2.0']
        >>> var.value
        2.0

        >>> var.value = 1.0, 1.0
        Traceback (most recent call last):
        ...
        ValueError: While trying to set the value(s) of variable `var`, the \
following error occurred: 2 values are assigned to the scalar variable `var`.
        >>> var.value
        2.0

        >>> var.value = 'O'
        Traceback (most recent call last):
        ...
        TypeError: While trying to set the value(s) of variable `var`, \
the following error occurred: The given value `O` cannot be converted \
to type `float`.
        >>> var.value
        2.0

        The above examples deal with a 0-dimensional variable handling
        |float| values.  The following examples focus on a 2-dimensional
        variable handling |int| values:

        >>> from hydpy import INT_NAN
        >>> Var.NDIM = 2
        >>> Var.TYPE = int
        >>> Var.initinfo = INT_NAN, False

        For multidimensional objects, assigning new values required
        defining their |Variable.shape| first:

        >>> var = Var(None)
        >>> var.value
        Traceback (most recent call last):
        ...
        AttributeError: Shape information for variable `var` can only be \
retrieved after it has been defined.

        >>> var.value = 2
        Traceback (most recent call last):
        ...
        AttributeError: While trying to set the value(s) of variable `var`, \
the following error occurred: Shape information for variable `var` can only \
be retrieved after it has been defined.

        >>> var.shape = (2, 3)
        >>> var.value
        Traceback (most recent call last):
        ...
        AttributeError: For variable `var`, no values have been defined so far.

        >>> var.value = 2
        >>> var.value
        array([[2, 2, 2],
               [2, 2, 2]])

        >>> var.value = 1, 2
        Traceback (most recent call last):
        ...
        ValueError: While trying to set the value(s) of variable `var`, \
the following error occurred: While trying to convert the value(s) `(1, 2)` \
to a numpy ndarray with shape `(2, 3)` and type `int`, the following error \
occurred: could not broadcast input array from shape (2) into shape (2,3)
        >>> var.value
        array([[2, 2, 2],
               [2, 2, 2]])

        >>> var.shape = (0, 0)
        >>> var.shape
        (0, 0)
        >>> var.value   # doctest: +ELLIPSIS
        array([], shape=(0, 0), dtype=int...)