def METHOD_NAME(base_dir, start_date, end_date, force, interactive):
    session = Session()
    click.secho(
        emoji.emojize(":file_cabinet:") + " Creating archives for:", color="green"
    )
    click.secho(base_dir, color="green")
    click.secho("From: %s" % start_date, color="green")
    click.secho("To: %s" % end_date, color="green")
    exp_db = Experiments(expid=base_dir.split("/")[-1])
    if not session.query(Experiments).filter_by(expid=exp_db.expid).all():
        session.add(exp_db)
    else:
        exp_db = session.query(Experiments).filter_by(expid=exp_db.expid).all()[0]
    archive_db = Archive(exp_ref=exp_db)
    if not session.query(Archive).filter_by(exp_ref=exp_db):
        session.add(archive_db)
    for filetype in ["outdata", "restart"]:
        files = group_files(base_dir, filetype)
        files = stamp_files(files)
        files = sort_files_to_tarlists(files, start_date, end_date, config)
        existing, missing = check_tar_lists(files)
        if interactive:
            click.secho("The following files were requested and found:")
            pp.pprint(existing)
            pp.pprint(sum_tar_lists_human_readable(existing))
        if missing:
            if interactive:
                click.secho("The following files were requested but missing:")
                pp.pprint(missing)
        for model in files:
            click.secho(
                emoji.emojize(":open_file_folder: --> :package:", use_aliases=True)
                + f" Packing up files for {model} ({filetype})"
            )
            archive_name = os.path.join(
                base_dir, f"{model}_{filetype}_{start_date}_{end_date}.tgz"
            )
            tarball_db = Tarball(fname=archive_name, archive=archive_db)
            session.add(tarball_db)
            click.secho(archive_name)
            pack_tarfile(existing[model], base_dir, archive_name)
            for file in existing[model]:
                file_db = ArchivedFile(fname=file, tarball=tarball_db)
                session.add(file_db)
    session.commit()