2012-09-26 11:11:27 +02:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# set input/working/output folders
|
|
|
|
in=/Users/daniela/Desktop/scenario_001/files5s
|
|
|
|
work=/Users/daniela/Desktop/scenario_001/tmpab_beam
|
|
|
|
out=/Users/daniela/Desktop/scenario_001/outab_beam_550
|
|
|
|
|
|
|
|
# launching mirrors
|
|
|
|
mirror=( "USM" "LSM" )
|
|
|
|
r0=( 699.871 705.392 )
|
|
|
|
z0=( 441.441 417.821 )
|
|
|
|
w0=( 2.9 2.1)
|
|
|
|
d0=( 213.4 162.0)
|
|
|
|
|
|
|
|
# steering range
|
|
|
|
amin=20
|
|
|
|
amax=70
|
|
|
|
da=1
|
|
|
|
bmin=15
|
|
|
|
bmax=25
|
|
|
|
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_10550.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
|
|
|
|
|
|
|
|
#loop on USM/LSM mirrors
|
|
|
|
for i in 0 1; do
|
|
|
|
# set output file names
|
|
|
|
id="${mirror[i]}_t$t"
|
|
|
|
f7file=$out/f7_${id}.txt
|
2012-12-03 17:00:30 +01:00
|
|
|
f48file=$out/f48_${id}.txt
|
2012-09-26 11:11:27 +02:00
|
|
|
rm -f $out/log_${id}.txt
|
|
|
|
# add header in output file
|
|
|
|
echo "# =============================" > $f7file
|
|
|
|
echo "# `date`" >> $f7file
|
|
|
|
echo "# ${mirror[i]}: R0=${r0[i]} z0=${z0[i]}" >> $f7file
|
|
|
|
echo "# time=$t" >> $f7file
|
|
|
|
echo "# =============================" >> $f7file
|
2012-12-03 17:00:30 +01:00
|
|
|
cp $f7file $f48file
|
2012-09-26 11:11:27 +02:00
|
|
|
appendheader=0
|
|
|
|
#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[i]}/g; \
|
|
|
|
s/-z0-/${z0[i]}/g; \
|
|
|
|
s/-w0-/${w0[i]}/g; \
|
|
|
|
s/-d0-/${d0[i]}/g; \
|
|
|
|
s/-equil-/$base/g; \
|
|
|
|
s/-prf-/$base/g" $in/gray0_beam.data > gray.data
|
|
|
|
# run gray
|
|
|
|
gray >> $out/log_${id}.txt
|
|
|
|
if (( $appendheader==0 )); then
|
|
|
|
# append parameters to header if first run of the loop
|
|
|
|
cat headers.txt >> $f7file
|
2012-12-03 17:00:30 +01:00
|
|
|
cat headers.txt >> $f48file
|
2012-09-26 11:11:27 +02:00
|
|
|
echo "#beta alpha`head -n 1 fort.7 | sed 's/#//'`" >> $f7file
|
2012-12-03 17:00:30 +01:00
|
|
|
echo "#beta alpha`head -n 1 fort.48 | sed 's/#//'`" >> $f48file
|
2012-09-26 11:11:27 +02:00
|
|
|
appendheader=1
|
|
|
|
fi
|
|
|
|
# add time and alpha values in first two columns
|
|
|
|
awk 'NR>1 {print '$beta','$alpha',$0}' fort.7 >> $f7file
|
2012-12-03 17:00:30 +01:00
|
|
|
awk 'NR>1 {print '$beta','$alpha',$0}' fort.48 >> $f48file
|
|
|
|
echo "" >> $f48file
|
2012-09-26 11:11:27 +02:00
|
|
|
done
|
|
|
|
#end of alpha loop
|
|
|
|
echo " " >> $f7file
|
2012-12-03 17:00:30 +01:00
|
|
|
echo "" >> $f48file
|
2012-09-26 11:11:27 +02:00
|
|
|
done
|
|
|
|
#end of beta loop
|
|
|
|
done
|
|
|
|
#end of mirrors loop
|
|
|
|
|
|
|
|
# remove files from working folder
|
|
|
|
rm ${base}.eqdsk ${base}.prf fort.*
|
|
|
|
|
|
|
|
#EOF
|