#!/usr/bin/env bash
set -euo pipefail
package=$(CDPATH= cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)
command=plan
if [[ ${1:-} == --execute ]]; then command=submit; shift; fi
if (($# < 3)); then
    echo "Usage: bash run_rcms_preserve.sh [--execute] YEAR MONTH DAY [HOUR] [--model both|wrf|regcm]"
    exit 2
fi
for value in "$1" "$2" "$3"; do
    [[ $value =~ ^[0-9]{1,4}$ ]] || { echo 'Invalid date component' >&2; exit 2; }
done
printf -v cycle '%04d%02d%02d' "$((10#$1))" "$((10#$2))" "$((10#$3))"
shift 3
hour=00
if [[ ${1:-} =~ ^[0-9]{1,2}$ ]]; then printf -v hour '%02d' "$((10#$1))"; shift; fi
exec python3 "$package/rcms.py" "$command" "${cycle}${hour}" "$@"
