#!/usr/bin/env bash
set -e

echo "Starting volume scan + job submission..."

# Check required files
required_files=("volume.dat" "i_mst" "Evec_input.dat" "job.sh" "position.dat")
for f in "${required_files[@]}"; do
    [[ ! -f $f ]] && { echo "Error: $f not found"; exit 1; }
done

# Count fractions
n=$(wc -l < volume.dat)
echo "Found $n volume fractions"

i=1

while read -r frac; do
    dir="V${i}"
    echo "----------------------------------"
    echo "Preparing $dir (fraction = $frac)"
    
    # Create directory
    mkdir -p "$dir"

    # Copy common files
    cp i_mst "$dir/"
    cp Evec_input.dat "$dir/"
    cp job.sh "$dir/"
    cp *_mt_v "$dir/"

    ########################################
    # Modify job name in job.sh
    ########################################
    sed -i "s/^#SBATCH -J.*/#SBATCH -J job-v${i}/" "$dir/job.sh"

    ########################################
    # Create modified position.dat
    ########################################
    lattice=$(sed -n '3p' position.dat)
    new_lattice=$(awk -v a="$lattice" -v b="$frac" 'BEGIN{printf "%.10f", a*b}')

    cp position.dat "$dir/"
    sed -i "3s/.*/$new_lattice/" "$dir/position.dat"

    ########################################
    # Submit job
    ########################################
    echo "Submitting job in $dir"
    (
        cd "$dir"
        sbatch job.sh
    )

    ((i++))

done < volume.dat

echo "----------------------------------"
echo "All jobs submitted successfully!"
