#!/bin/bash

export PYTHONPATH=.

algos=(zero)
suite=magw
# envs=(escalation staghunt harvest)
envs=(escalation)
config=magw
args1=(1)
args2=(3)
args3=(forward reverse)
date=$(date +"%m%d")
info="ppo"
ld="${suite}-logs"
gpus=$(nvidia-smi -L | wc -l)
# for x in $(seq 1 1); do
#     shift
# done

if [ -z "$info" ]; then
    n=$date
else
    n="$date-$info"
fi

# INF_MAC_NODE_RANK=$1
for e in "${envs[@]}"; do
    config=$e
    for a in "${algos[@]}"; do
        # for a1 in "${args1[@]}"; do
        for s in {0..9}; do
            la1=${#args1[@]}
            idx=$(($INF_MAC_NODE_RANK % $la1))
            a1=${args1[$idx]}
            la2=${#args2[@]}
            idx=$(($INF_MAC_NODE_RANK % $la2))
            a2=${args2[$idx]}
            kws="n_imaginary_runs=$a2 "
            # echo $kws
            env="${suite}-${e}"
            if [[ "$OSTYPE" == 'linux-gnu'* ]]; then
                gpu=$(($i % $gpus))
                py_script="python run/train.py -a ${a} -e $env -c $config -ld $ld -n $n -s $s --gpu $gpu -na 2 -kw $kws &"
            else
                py_script="python run/train.py -a ${a} -e $env -c $config -ld $ld -n $n -s $s -na 2 -kw $kws &"
            fi
            echo $py_script
            eval $py_script
            ((i=(i+1) ))
        done
        # done
        wait
    done
    wait
done
wait
echo "Script completed"
# for e in "${envs[@]}"; do
#     config=$e
#     for a in "${algos[@]}"; do
#         for s in {10..19}; do
#             # la1=${#args1[@]}
#             # idx=$(($INF_MAC_NODE_RANK % $la1))
#             # a1=${args1[$idx]}
#             # la2=${#args2[@]}
#             # idx=$(($INF_MAC_NODE_RANK % $la2))
#             # a2=${args2[$idx]}
#             la3=${#args3[@]}
#             idx=$(($INF_MAC_NODE_RANK % $la3))
#             a3=${args3[$idx]}
#             kws="kl_type=$a3 kl_coef=1"
#             # echo $kws
#             env="${suite}-${e}"
#             if [[ "$OSTYPE" == 'linux-gnu'* ]]; then
#                 gpu=$(($i % $gpus))
#                 py_script="python run/train.py -a ${a} -e $env -c $config -ld $ld -n $n -s $s --gpu $gpu -na 2 -kw $kws &"
#             else
#                 py_script="python run/train.py -a ${a} -e $env -c $config -ld $ld -n $n -s $s -na 2 -kw $kws &"
#             fi
#             echo $py_script
#             eval $py_script
#             ((i=(i+1) ))
#         done
#         # done
#         wait
#     done
#     wait
# done
# wait
# echo "Script completed"