#!/bin/bash
# processa_todos.sh

SRC=/mnt/beegfs/caroline.viezel/SMNA_v3.0.0.t11889/SMG/datainout/bam/posATMS_CNT_warm/pos/dataout/TQ0299L064
DEST=/mnt/beegfs/thaisa.lopes/SCANTEC/dataout/PRECIP/SMNA

cd "$DEST" || exit 1

total=0
ok=0
falta=0
erro=0

for day in 202510{20..31} 202511{01..15}; do
    next=$(date -d "${day} +1 day" +%Y%m%d)
    dir="$SRC/${day}00"

    for hh in ${day}06 ${day}12 ${day}18 ${next}00; do
        base="GPOSCPT${day}00${hh}P.fct.TQ0299L064"
        grb_in="$dir/${base}.grb"
        ctl_in="$dir/${base}.ctl"

        total=$((total+1))
        echo ">>> [$total] $base"

        # Verifica existência
        if [[ ! -e "$grb_in" || ! -e "$ctl_in" ]]; then
            echo "    ⚠️  falta na origem: ${base}.{grb,ctl}"
            falta=$((falta+1))
            continue
        fi

        # 1. Extrai só PREC
        if ! cdo -s selname,var61 "$grb_in" "${base}.grb" 2>/dev/null; then
            echo "    ❌ erro no cdo"
            erro=$((erro+1))
            continue
        fi

        # 2. Reescreve o .ctl
        awk '
            /^vars/ { print "vars    1"; in_vars=1; next }
            /^endvars/ { print; in_vars=0; next }
            in_vars { if ($1 == "PREC") print; next }
            { print }
        ' "$ctl_in" > "${base}.ctl"

        # 3. Gera o .idx
        if ! gribmap -i "${base}.ctl" > /dev/null 2>&1; then
            echo "    ❌ erro no gribmap"
            erro=$((erro+1))
            continue
        fi

        echo "    ✅ ok"
        ok=$((ok+1))
    done
done

echo ""
echo "===================================="
echo "Total tentado : $total"
echo "OK            : $ok"
echo "Faltando      : $falta"
echo "Erros         : $erro"
echo "===================================="
