def METHOD_NAME(components, threshhold, output_name):
    """
    Sums up all maps listed in the given "components" object and derives a
    normalised output.
    To Do:
    * Improve `threshold` handling. What if threshholding is not desired? How
    to skip performing it?
    Parameters
    ----------
    components :
        Input list of raster maps (components)
    threshhold :
        Reference value for which to flatten all smaller raster pixel values to
        zero
    output_name :
        Name of output raster map
    Returns
    -------
    ...
    Examples
    --------
    ...
    """
    msg = " * Normalising sum of: "
    msg += ",".join(components)
    grass.debug(_(msg))
    grass.verbose(_(msg))
    if len(components) > 1:
        # prepare string for mapcalc expression
        components = [name.split("@")[0] for name in components]
        components_string = SPACY_PLUS.join(components)
        components_string = components_string.replace(" ", "")
        components_string = components_string.replace("+", "_")
        # temporary map names
        tmp_intermediate = temporary_filename(filename=components_string)
        tmp_output = temporary_filename(filename=components_string)
        # build mapcalc expression
        component_expression = SPACY_PLUS.join(components)
        component_equation = EQUATION.format(
            result=tmp_intermediate, expression=component_expression
        )
        grass.mapcalc(component_equation, overwrite=True)
    elif len(components) == 1:
        # temporary map names, if components contains one element
        tmp_intermediate = components[0]
        tmp_output = temporary_filename(filename=tmp_intermediate)
    if threshhold > THRESHHOLD_ZERO:
        msg = " * Setting values < {threshhold} in '{raster}' to zero"
        grass.verbose(msg.format(threshhold=threshhold, raster=tmp_intermediate))
        zerofy_small_values(tmp_intermediate, threshhold, tmp_output)
    else:
        tmp_output = tmp_intermediate
    # grass.verbose(_("Temporary map name: {name}".format(name=tmp_output)))
    grass.debug(_("Output map name: {name}".format(name=output_name)))
    # r.info(map=tmp_output, flags='gre')
    ### FIXME
    normalize_map(tmp_output, output_name)
    ### FIXME