#!/bin/bash
# make_synoptic_links.sh
# 批量把 synoptic 下各年份目录里的 crXXXX 文件软链接到 synoptic/ 根目录
# 链接名格式：fmg.Synoptic_Ml.XXXX.fits.gz
# 链接目标使用相对路径（相对于 synoptic 目录）

set -e

# 脚本所在目录即为 synoptic 目录
BASE_DIR="$(cd "$(dirname "$0")" && pwd)"

cd "$BASE_DIR"

find . -mindepth 2 -maxdepth 2 -type f -name "*_cr*_*.fits.gz" | while read -r SRC; do
    # SRC 形如 ./2026/fmg_lev20_..._cr2310_v01.fits.gz
    CR_NUM=$(basename "$SRC" | grep -oP 'cr\K[0-9]+' | head -1)

    if [ -z "$CR_NUM" ]; then
        echo "跳过（无法提取 cr 编号）: $SRC"
        continue
    fi

    # 目标链接名（放在当前目录）
    DST="./fmg.Synoptic_Ml.${CR_NUM}.fits.gz"

    # 去掉开头的 ./，得到相对路径：2026/fmg_lev20_..._cr2310_v01.fits.gz
    REL_SRC="${SRC#./}"

    if [ -e "$DST" ] || [ -L "$DST" ]; then
        rm -f "$DST"
    fi

    # 用相对路径创建软链接
    ln -s "$REL_SRC" "$DST"
    echo "链接: $DST -> $REL_SRC"
done

echo "完成。"
