def METHOD_NAME():
    x = numpy.linspace(0.1, 5, 50)
    num = 4
    ntemplates = 2**num
    g1 = Gauss1D('g1')
    # create a 4-dimensional grid from 0 to 1 inclusive, shape = (16,4)
    grid = numpy.mgrid[[slice(0, 2, 1) for ii in range(num)]]
    grid = numpy.asarray(list(map(numpy.ravel, grid))).T
    coords = numpy.linspace(0.01, 6, 100)
    names = [f"p{i}" for i in range(num)]
    # Since we randomize the parameters use for the gaussian models,
    # use a fixed seed.
    #
    rng = numpy.random.default_rng(9427205)
    templates = []
    for ii in range(ntemplates):
        t = TableModel()
        g1.fwhm = rng.uniform(0.5, 2.0)
        g1.pos = rng.uniform(1.0, 4.5)
        g1.ampl = rng.uniform(1.0, 50.)
        t.load(coords, g1(coords))
        templates.append(t)
    return x, create_template_model("mdl", names, grid, templates)