def METHOD_NAME(
    folder,
    tile_size,
    resolution,
    device,
    erosion=True,
    snowfall=True,
):
    Path(folder).mkdir(parents=True, exist_ok=True)
    x = np.linspace(-tile_size / 2, tile_size / 2, resolution)
    y = np.linspace(-tile_size / 2, tile_size / 2, resolution)
    X, Y = np.meshgrid(x, y, indexing="ij")
    params = multi_mountains_params()
    mountains = Mountains(
        device=device,
        min_freq=params["min_freq"],
        max_freq=params["max_freq"],
        height=params["height"],
        coverage=params["coverage"],
        slope_freq=params["slope_freq"],
        slope_height=params["slope_height"],
    )
    heightmap = mountains.get_heightmap(X, Y)
    mountains.cleanup()
    Element.called_time.pop("mountains")
    cv2.imwrite(str(folder / f'{AssetFile.Heightmap}.exr'), heightmap)
    with open(folder/f'{AssetFile.TileSize}.txt', "w") as f:
        f.write(f"{tile_size}\n")
    with open(folder/f'{AssetFile.Params}.txt', "w") as f:
        json.dump(multi_mountains_params(raw=1), f)
    if erosion: run_erosion(folder)
    if snowfall: run_snowfall(folder)