def METHOD_NAME():
    import argparse
    parser = argparse.ArgumentParser(description="Regenerate or generate mirrored AHI data structure")
    parser.add_argument(
        "base_ahi_dir",
        default="/odyssey/isis/tmp/davidh/sift_data/ahi",
        help="Base AHI directory for the geotiff data files " "(next child directory is the full dated directory)",
    )
    parser.add_argument(
        "-v",
        "--verbose",
        dest="verbosity",
        action="count",
        default=int(os.environ.get("VERBOSITY", 2)),
        help="each occurrence increases verbosity 1 level through " "ERROR-WARNING-Info-DEBUG (default Info)",
    )
    parser.add_argument("--overwrite", action="store_true", help="Overwrite existing hardlinks")
    args = parser.parse_args()
    levels = [logging.ERROR, logging.WARN, logging.INFO, logging.DEBUG]
    level = levels[min(3, args.verbosity)]
    logging.basicConfig(level=level)
    if not os.path.isdir(args.base_ahi_dir):
        raise NotADirectoryError("Directory does not exist: %s" % (args.base_ahi_dir,))
    os.chdir(args.base_ahi_dir)
    for section_name, cases in guam_cases.items():
        for case in cases:
            start_str = case.start.strftime(DT_FORMAT)
            end_str = case.end.strftime(DT_FORMAT)
            # Note this only uses the minutes!
            case_name = CASE_NAME_FORMAT.format(
                start=start_str, end=end_str, delta=int(case.delta.total_seconds() / 60.0)
            )
            case_dir = os.path.join(args.base_ahi_dir, section_name, case_name)
            if not os.path.isdir(case_dir):
                LOG.debug("Creating case directory: %s", case_dir)
                os.makedirs(case_dir)
            else:
                LOG.error("Case directory already exists: %s", case_dir)
                continue
            t = case.start
            while t <= case.end:
                glob_pattern = t.strftime("%Y_%m_%d_%j/%H%M/*_%Y%m%d_%H%M_B??_*.merc.tif")
                t = t + case.delta
                matches = glob(glob_pattern)
                if len(matches) == 0:
                    LOG.error("Zero files found matching pattern: %s", glob_pattern)
                    continue
                for input_pathname in matches:
                    fn = os.path.basename(input_pathname)
                    link_path = os.path.join(case_dir, fn)
                    if os.path.exists(link_path) and not args.overwrite:
                        LOG.debug("Link '%s' already exists, skipping...", link_path)
                        continue
                    LOG.debug("Creating hardlink '%s' -> '%s'", link_path, input_pathname)
                    os.link(input_pathname, link_path)
                if int(case.delta.total_seconds()) == 0:
                    LOG.debug("Only one file needed to meet delta of 0")
                    break
            LOG.info("done mirroring files")