#!/bin/zsh

source activate grl

algos=(zero)
suite=magw
envs=(staghunt)
config=magw
args1=(3)
args2=(10 20)
args3=(40 60)
args4=(1e-3)
date=$(date -d '+8 hour' +"%m%d")
info=""
ld="${suite}-logs"
# for x in $(seq 1 1); do
#     shift
# done

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

cmdkws=""
for item in $@; do
    if [ "$cmdkws" = "" ]; then
        cmdkws="$item"
    else
        cmdkws="$cmdkws-$item"
    fi
done


# i=0
# for e in "${envs[@]}"; do
#     for a in "${algos[@]}"; do
#         for a1 in "${args1[@]}"; do
#             for a2 in "${args2[@]}"; do
#                 for a3 in "${args3[@]}"; do
#                     for a4 in "${args4[@]}"; do
#                         for ((s=1; s<=4; s++)); do
#                             # if [ "$a1" -eq 1 ] && [ "$a3" = "last" ]; then
#                             #     break
#                             # fi
#                             kw1="K=$a1"
#                             kw2="n_steps=$a2"
#                             kw3="n_envs=$a3"
#                             kw4="meta_indicator_coef=$a4"
#                             kwstr="$kw1-$kw2-$kw3-$kw4"
#                             kws="$kw1 $kw2 $kw3 $kw4"
#                             if [ "$cmdkws" != "" ]; then
#                                 kwstr="$cmdkws-$kwstr"
#                                 kws="$@ $kws"
#                             fi
#                             env="${suite}-${e}"
#                             gpus=$(nvidia-smi -L | wc -l)
#                             gpu=$(($i % $gpus))
#                             dir="$ld/$env/$a/$n-$kwstr/seed=$s"
#                             mkdir -p $dir
#                             # py_script="python run/train.py -a ${a} -e $env -c $config -kw $kw1 $kw2 $kw3 $kw4 -ld $ld --gpu $i -n $n -s $seed | tee ${dir}/outputs.txt &"
#                             # py_script="python run/train.py -a ${a} -e $env -c $config -ld $ld --gpu $i -n $n -s $seed | tee ${dir}/outputs.txt &"
#                             py_script="python run/train.py -a ${a} -e $env -c $config -ld $ld --gpu $gpu -n $n -s $s -kw $kws -i $info 2> ${dir}/err.txt | tee -a ${dir}/out.txt > /dev/null &"
#                             echo $py_script
#                             eval $py_script
#                             sleep 3
#                             ((i=(i+1) ))
#                         done
#                     done
#                 done
#             done
#         done
#     done
# done

kws="$@"
kw1=""
kwstr="$kw1"
kws="$kws $kw1"
for item in $@; do
    if [ -z != $kwstr ]; then
        kwstr="$kwstr-$item"
    else
        kwstr="$item"
    fi
done

for e in "${envs[@]}"; do
    for a in "${algos[@]}"; do
        for ((s=1; s<=6; s++)); do
            env="${suite}-${e}"
            ld="$suite-logs"
            if [ 0 != $# ]; then
                dir="$ld/$env/$a/$n-$kwstr/seed=$s"
            else
                dir="$ld/$env/$a/$n/seed=$s"
            fi
            mkdir -p $dir
            gpus=$(nvidia-smi -L | wc -l)
            gpu=$((($s-1) % $gpus))
            py_script="python run/train.py -a ${a} -e $env -c $config -ld $ld --gpu $gpu -v info -n $n -s $s -kw $kws -i $info 2> ${dir}/err.txt | tee -a ${dir}/out.txt > /dev/null &"
            echo $py_script
            eval $py_script
            # sleep 3
        done
    done
done

# a=$algos[1]
# env=$envs[1]
# env="${suite}-${env}"
# python run/train.py -a ${a} -e $env -c $config -kw -ld $ld --gpu 0 -n $n -s 1 -kw joint_theta_objective=True K=0 representation=raw n_steps=4 &
# python run/train.py -a ${a} -e $env -c $config -kw -ld $ld --gpu 1 -n $n -s 2 -kw joint_theta_objective=True K=0 representation=raw n_steps=4 &
# python run/train.py -a ${a} -e $env -c $config -kw -ld $ld --gpu 2 -n $n -s 3 -kw joint_theta_objective=True K=0 representation=raw n_steps=4 &
# python run/train.py -a ${a} -e $env -c $config -kw -ld $ld --gpu 3 -n $n -s 4 -kw joint_theta_objective=True K=0 representation=raw n_steps=4 &

# python run/train.py -a ${a} -e $env -c $config -kw -ld $ld --gpu 0 -n $n -s 1 -kw K=0 representation=one_hot n_steps=4 &
# python run/train.py -a ${a} -e $env -c $config -kw -ld $ld --gpu 1 -n $n -s 2 -kw K=0 representation=one_hot n_steps=4 &
# python run/train.py -a ${a} -e $env -c $config -kw -ld $ld --gpu 2 -n $n -s 1 -kw K=0 representation=one_hot n_steps=8 &
# python run/train.py -a ${a} -e $env -c $config -kw -ld $ld --gpu 3 -n $n -s 2 -kw K=0 representation=one_hot n_steps=8 &
