def METHOD_NAME(x: np.ndarray, y: np.ndarray) -> float:
    r"""Compute the manhattan distance between two time series.
    The manhattan distance between two time series is defined as:
    .. math::
        manhattan(x, y) = \sum_{i=1}^{n} |x_i - y_i|
    Parameters
    ----------
    x : np.ndarray
        First time series, either univariate, shape ``(n_timepoints,)``, or
        multivariate, shape ``(n_channels, n_timepoints)``.
    y : np.ndarray
        Second time series, either univariate, shape ``(n_timepoints,)``, or
        multivariate, shape ``(n_channels, n_timepoints)``.
    Returns
    -------
    float
        manhattan distance between x and y.
    Raises
    ------
    ValueError
        If x and y are not 1D or 2D arrays.
    Examples
    --------
    >>> import numpy as np
    >>> from aeon.distances import manhattan_distance
    >>> x = np.array([[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]])
    >>> y = np.array([[11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
    >>> manhattan_distance(x, y)
    100.0
    """
    if x.ndim == 1 and y.ndim == 1:
        return _univariate_manhattan_distance(x, y)
    if x.ndim == 2 and y.ndim == 2:
        return _manhattan_distance(x, y)
    raise ValueError("x and y must be 1D or 2D")