#!/bin/bash
# run_download.sh - ?????????????
# ??:
#   ./run_download.sh            # ?1993?2024????
#   ./run_download.sh 2000       # ??2000?
#   ./run_download.sh 2000 2005  # ?2000?2005?
set -u
cd /data/public/lzy/test

LOG_DIR="/data/public/lzy/test/logs"
mkdir -p "$LOG_DIR"

if [ $# -ge 2 ]; then
    START=$1; END=$2
elif [ $# -ge 1 ]; then
    START=$1; END=$1
else
    START=1993; END=2024
fi

echo "=== ????: ${START}-${END} ==="
echo "=== ????: $(date) ==="

FAILED_YEARS=""
for year in $(seq "$START" "$END"); do
    LOGFILE="$LOG_DIR/download_${year}.log"
    echo ""
    echo ">>> [$year] ????  $(date)"
    echo ">>> [$year] ??: $LOGFILE"

    # ????????????????
    if python3 download_sealevel.py "$year" > "$LOGFILE" 2>&1; then
        echo ">>> [$year] ?? ?  $(date)"
        # ??????
        NCFILE="/data/public/lzy/test/sealevel_glo_phy_l4_my/${year}/cmems_obs-sl_glo_phy-ssh_my_allsat-demo-l4-duacs-0.125deg_P1D-i_${year}.nc"
        if [ -f "$NCFILE" ]; then
            SIZE=$(du -h "$NCFILE" | cut -f1)
            echo ">>> [$year] ????: $SIZE"
        fi
    else
        echo ">>> [$year] ?? ?  $(date)"
        FAILED_YEARS="$FAILED_YEARS $year"
        echo ">>> [$year] ????:"
        tail -5 "$LOGFILE"
    fi

    # ??????
    AVAIL=$(df -h /data/public/lzy/test | tail -1 | awk '{print $4}')
    echo ">>> ????: $AVAIL"
done

echo ""
echo "=== ????: $(date) ==="
if [ -n "$FAILED_YEARS" ]; then
    echo "=== ????:$FAILED_YEARS ==="
    echo "=== ?????: ./run_download.sh <????> ==="
else
    echo "=== ???????? ==="
fi