def METHOD_NAME(time_names, freq, prefix):
    """Generate (constant) rasters of harmonics
        t0, t1, t2, ..., t_{N-1})
        where t0 = 0, t_{N-1} = 2*pi
    freq -- frequencies for sin() and cos() rasters
    prefix -- prefix for the raster names
    return list of names for the result rasters
    """
    names = dict()
    for i in time_names:
        harm = dict()
        t = get_time(len(time_names), i)
        for f in freq:
            sin_output = prefix + "sin" + _time_to_name(i) + _freq_to_name(f)
            grass.mapcalc(
                "${out} = sin(${f} * ${t})",
                out=sin_output,
                t=t,
                f=f,
                quiet=True,
                overwrite=grass.overwrite(),
            )
            cos_output = prefix + "cos" + _time_to_name(i) + _freq_to_name(f)
            grass.mapcalc(
                "${out} = cos(${f} * ${t})",
                out=cos_output,
                t=t,
                f=f,
                quiet=True,
                overwrite=grass.overwrite(),
            )
            harm[f] = dict(sin=sin_output, cos=cos_output)
        names[i] = harm
    return names