#!/bin/bash
# copy in the same dir as bench.sh, or change $exe
# May 2025, @NVillefranque

set -eu

# each exp in $listexp will be run
# available exps: test botany
listexp="test"

# read metric file if exists?
use_metric_file=0

# run bench with seed option for reproducibility
# exe="./bench.sh"
exe="./bench.sh -seed 123 -noplot"

# this should not be changed
mdir=models/MESONH
mkdir -p log

#-------------------- utility function -------------------#
# returns either -metrics $met or -metrics_file $filemet  #
write_optmet() {                                          #
  if [ $use_metric_file -eq 0 ] || [ ! -f $filemet ]      #
  then                                                    #
    optmet="-metrics $met"                                #
    use_metric_file=0                                     #
  else                                                    #
    optmet="-metrics_file $filemet"                       #
  fi                                                      #
  echo $optmet                                            #
}                                                         #
#---------------------------------------------------------#

echo launch the exp : $listexp
#----------- loop over listexp -------------#
for exp in $listexp 
do
  met=
  logfile=log/bench_mesonh_${exp}_$$.out
  echo exp = $exp

case $exp in 
  ########################################
  # experiment "test"
  test) nwave=2
  filemet=$mdir/metrics_def_${exp}.csv
  cp $mdir/params/param_${exp} $mdir/
  
  met="ARMCU_REF_zav-400-600-theta_7_9,ARMCU_REF_zav-400-600-qv_7_9,ARMCU_REF_nebmax_7_9"
  
  optmet=$(write_optmet)
 
   
  cmd=$(echo $exe -model MESONH -waves "'"$(seq 1 $nwave)"'" $optmet -param param_$exp \
    -wdir TESTMESONH${use_metric_file} -sample_size_next_design 10 \
    ">" $logfile)
  echo $cmd 
  eval $cmd

  ;;

  ########################################
  # experiment "botany"
  botany) nwave=2
  filemet=$mdir/metrics_def_${exp}.csv
  cp $mdir/params/param_${exp} $mdir/
  
  met=
  for sc in RUN045 RUN066 ; do
    met=$met,BOTANY_${sc}_zav-400-600-theta_35_37,BOTANY_${sc}_zav-400-600-qv_35_37,BOTANY_${sc}_nebmax_35_37
  done
  
  optmet=$(write_optmet)
 
   
  cmd=$(echo $exe -model MESONH -waves "'"$(seq 1 $nwave)"'" $optmet -param param_$exp \
    -wdir TESTMESONH${use_metric_file} -sample_size_next_design 10 \
    ">" $logfile)
  echo $cmd 
  eval $cmd

  ;;

esac
done

echo "End of $0"
