#PBS -S  /bin/bash
#PBS -N  run_month1
#PBS -q day
#PBS -j eo
#PBS -l nodes=1:ppn=24
#PBS -l mem=5gb
#PBS -l vmem=28gb
#PBS -l walltime=20:00:00

## Script to run chained simulations on Ciclad
## (uses script "run0" and reference file "run.def.ref")
## Set values of "num_now" and "num_end" in the script below
## to set initial month # and final month # of the simulation

# go to directory where the job was launched
cd $PBS_O_WORKDIR

# source the environment (you might need to adapt this path to your case)
source ../trunk/LMDZ.COMMON/arch.env

date

## set starting month and ending month below:
num_now=1
num_end=12
(( num_previous = $num_now - 1 ))

echo "$num_previous" > num_run
# next month number
(( num_next = $num_now + 1 ))
# true (i.e. modulo 12) month number
(( true_num = $num_now % 12 ))

\rm -f  error; touch error

case $true_num in
  1 ) sed s/9999/61/ run.def.ref > run.def ; run0 >> error ;;    #1
  2 ) sed s/9999/66/ run.def.ref > run.def ; run0 >> error ;;    #2
  3 ) sed s/9999/66/ run.def.ref > run.def ; run0 >> error ;;    #3
  4 ) sed s/9999/65/ run.def.ref > run.def ; run0 >> error ;;    #4
  5 ) sed s/9999/60/ run.def.ref > run.def ; run0 >> error ;;    #5
  6 ) sed s/9999/54/ run.def.ref > run.def ; run0 >> error ;;    #6
  7 ) sed s/9999/50/ run.def.ref > run.def ; run0 >> error ;;    #7
  8 ) sed s/9999/46/ run.def.ref > run.def ; run0 >> error ;;    #8
  9 ) sed s/9999/47/ run.def.ref > run.def ; run0 >> error ;;    #9
 10 ) sed s/9999/47/ run.def.ref > run.def ; run0 >> error ;;    #10
 11 ) sed s/9999/51/ run.def.ref > run.def ; run0 >> error ;;    #11 
  0 ) sed s/9999/56/ run.def.ref > run.def ; run0 >> error ;;    #12
  * ) echo "error" ;;
esac

# launch job for next month
if (( $num_next <= $num_end )) ; then
  sed -e "0,/num_now=/{s/num_now=/num_now=$num_next/}" \
      -e "0,/#PBS -N run_month/{s/#PBS -N run_month/#PBS -N run_month$num_next/}" \
      -e "0,/num_end=/{s/num_end=/num_end=$num_end/}" run_month > run_month$num_next
  qsub run_month$num_next
fi
