From cec09f395377d8ab931c08d6827fde3c8bfb90ce Mon Sep 17 00:00:00 2001 From: Daniela Farina Date: Wed, 5 Sep 2012 14:16:20 +0000 Subject: [PATCH] added script for loop R z alpha beta --- scripts/Rzab.sh | 107 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100755 scripts/Rzab.sh diff --git a/scripts/Rzab.sh b/scripts/Rzab.sh new file mode 100755 index 0000000..f8eac3c --- /dev/null +++ b/scripts/Rzab.sh @@ -0,0 +1,107 @@ +#!/bin/bash + +# set input/working/output folders +in=/Users/daniela/Desktop/scenario_001/files5s +work=/Users/daniela/Desktop/scenario_001/tmprzab2 +out=/Users/daniela/Desktop/scenario_001/outrzab2 + +# launching points +rmin=690 +rmax=710 +dr=5 +zmin=410 +zmax=460 +dz=5 + +# steering range +amin=20 +amax=66 +da=2 +bmin=18 +bmax=24 +db=1 + +# check if working folder exists, otherwise create it +if [[ ! -e $work ]]; then + mkdir $work +else + if [[ ! -d $work ]]; then + echo $work is not a folder. + exit 1 + fi +fi +# move to working folder +cd $work +if [[ $? != 0 ]]; then + echo Cannot move to $work + exit 1 +fi + +# check if output folder exists, otherwise create it +if [[ ! -e $out ]]; then + mkdir $out +else + if [[ ! -d $out ]]; then + echo $out is not a folder. + exit 1 + fi +fi + +eqfile=$in/F4E_Equil_10520.eqdsk +# look for time value in equil file +base=`basename $eqfile .eqdsk` +tstr=`echo $base | grep "[[:digit:]]\{5\}" -o` +t=`echo "$tstr-10000" | bc` +# copy input files in working folder +cp $eqfile ${base}.eqdsk +cp $in/${base}.prf ${base}.prf + + # set output file names + f7file=$out/f7_Rzab_${tstr}.txt + rm -f $out/log_Rzab_${tstr}.txt + # add header in output file + echo "# =============================" > $f7file + echo "# `date`" >> $f7file + echo "# Loop on launch points" >> $f7file + echo "# time=$t" >> $f7file + echo "# =============================" >> $f7file + appendheader=0 + #loop on R + for (( r0=$rmin; r0<=$rmax ; r0=r0+dr )); do + #loop on z + for (( z0=$zmin; z0<=$zmax ; z0=z0+dz )); do + #loop on beta + for (( beta=$bmin; beta<=$bmax ; beta=beta+db )); do + #loop on alpha + for (( alpha=$amin; alpha<=$amax ; alpha=alpha+da )); do + # replace dummy values in template for gray.data + sed "s/-alfa-/$alpha/g; \ + s/-beta-/$beta/g; \ + s/-x0-/$r0/g; \ + s/-z0-/$z0/g; \ + s/-equil-/$base/g; \ + s/-prf-/$base/g" $in/gray0.data > gray.data + # run gray + gray >> $out/log_Rzab_${tstr}.txt + if (( $appendheader==0 )); then + # append parameters to header if first run of the loop + cat headers.txt >> $f7file + echo "#R z beta alpha`head -n 1 fort.7 | sed 's/#//'`" >> $f7file + appendheader=1 + fi + # add time and alpha values in first two columns + awk 'NR>1 {print '$r0','$z0','$beta','$alpha',$0}' fort.7 >> $f7file + done + #end of alpha loop + echo " " >> $f7file + done + #end of beta loop +done +#end of z loop +done +#end of R loop + +# remove files from working folder +rm ${base}.eqdsk ${base}.prf fort.* + +#EOF