#PBS -S /bin/bash #PBS -N run_month1 #PBS -q day #PBS -j eo #PBS -l nodes=1:ppn=24 #PBS -l mem=30gb #PBS -l vmem=50gb #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 cp -f run_month$num_now tmp sed -e "s@run_month${num_now}@run_month${num_next}@" \ -e "s@num_now=${num_now}@num_now=${num_next}@" tmp > run_month$num_next rm tmp qsub run_month$num_next fi