def METHOD_NAME(dest_dir: str) -> None:
    garden_dataset = catalog.Dataset(DATA_DIR / f"garden/{NAMESPACE}/{VERSION}/{FNAME}")
    dataset = catalog.Dataset.create_empty(dest_dir, garden_dataset.metadata)
    dataset.save()
    # add tables to dataset
    clean_source_map = load_clean_source_mapping()
    # NOTE: we renamed namespace from un_sdg to un, but we still use old walden
    walden_ds = Catalog().find_one(namespace="un_sdg", short_name=FNAME, version=VERSION)
    ds_garden = Dataset((DATA_DIR / f"garden/{NAMESPACE}/{VERSION}/{FNAME}").as_posix())
    sdg_tables = ds_garden.table_names
    for var in sdg_tables:
        var_df = create_dataframe_with_variable_name(ds_garden, var)
        var_df["source"] = clean_source_name(var_df["source"], clean_source_map)
        var_gr = var_df.groupby("variable_name")
        for var_name, df_var in var_gr:
            df_tab = add_metadata_and_prepare_for_grapher(df_var, walden_ds)
            # NOTE: long format is quite inefficient, we're creating a table for every variable
            # converting it to wide format would be too sparse, but we could move dimensions from
            # variable names to proper dimensions
            # currently we generate ~10000 files with total size 73MB (grapher step runs in 692s
            # and both reindex and publishing is fast, so this is not a real bottleneck besides
            # polluting `grapher` channel in our catalog)
            # see https://github.com/owid/etl/issues/447
            for wide_table in gh.long_to_wide_tables(df_tab):
                # table is generated for every column, use it as a table name
                # shorten it under 255 characteres as this is the limit for file name
                wide_table.metadata.short_name = wide_table.columns[0][:245]
                dataset.add(wide_table)