1*59599516SKenneth E. Jansen#!/bin/bash 2*59599516SKenneth E. Jansen 3*59599516SKenneth E. Jansennargs=6 4*59599516SKenneth E. Jansen 5*59599516SKenneth E. Jansenfunction die() { 6*59599516SKenneth E. Jansenecho -e "${1}" 7*59599516SKenneth E. Jansenexit 1 8*59599516SKenneth E. Jansen} 9*59599516SKenneth E. Jansen 10*59599516SKenneth E. Jansen# check that user entered proper number of args 11*59599516SKenneth E. Jansenif [[ "${#}" -ne "$nargs" ]] 12*59599516SKenneth E. Jansenthen 13*59599516SKenneth E. Jansendie "\n Check usage: \n $0\n <Number of cores (for procs_case)>\n <Starting time step for the average> \n Accumulate error field? <0/1>\n Accumulate phase average fields? <0/n_avg_fields> \n Copy vorticity field from the last time step? <0/1>\n Copy dwal field from the last time step? <0/1>" 14*59599516SKenneth E. Jansenfi 15*59599516SKenneth E. Jansen 16*59599516SKenneth E. Jansencores=$1 17*59599516SKenneth E. Jansenstart_ts=$2 18*59599516SKenneth E. Jansenaccu_error=$3 19*59599516SKenneth E. Jansenaccu_phavg=$4 20*59599516SKenneth E. Jansencopy_vort=$5 21*59599516SKenneth E. Jansencopy_dwal=$6 22*59599516SKenneth E. Jansen 23*59599516SKenneth E. Jansenoutputfile='AcuStat_input.dat' 24*59599516SKenneth E. Jansen 25*59599516SKenneth E. Jansen 26*59599516SKenneth E. Jansenls -lrt $cores-procs_case/restart-dat.*.1 | grep -v '^lr'> tmp 27*59599516SKenneth E. Jansencat tmp | awk -F dat '{print $2}' | sed 's/^\.//g' | sed 's/\.1//g' | sort -n > tmp2 28*59599516SKenneth E. Jansenrm tmp 29*59599516SKenneth E. Jansen 30*59599516SKenneth E. Jansen 31*59599516SKenneth E. Jansenif [ -f tmp3 ] ; then 32*59599516SKenneth E. Jansen rm tmp3 33*59599516SKenneth E. Jansenfi 34*59599516SKenneth E. Jansen 35*59599516SKenneth E. Janseniline=0 36*59599516SKenneth E. Jansenwhile read ts; do 37*59599516SKenneth E. Jansen iline=$((iline+1)) 38*59599516SKenneth E. Jansen if [ "$iline" -gt "1" ] ; then 39*59599516SKenneth E. Jansen diffts=$((ts-tsold)) 40*59599516SKenneth E. Jansen #echo $iline $ts $tsold $diffts 41*59599516SKenneth E. Jansen if [ "$ts" -ge "$start_ts" ] ; then 42*59599516SKenneth E. Jansen echo $ts $diffts >> tmp3 43*59599516SKenneth E. Jansen fi 44*59599516SKenneth E. Jansen fi 45*59599516SKenneth E. Jansen tsold=$ts 46*59599516SKenneth E. Jansendone < tmp2 47*59599516SKenneth E. Jansenrm tmp2 48*59599516SKenneth E. Jansen 49*59599516SKenneth E. Jansennlines=`wc -l tmp3 | awk '{print $1}'` 50*59599516SKenneth E. Jansen 51*59599516SKenneth E. Jansen# Print first the info for the AcuStat executable 52*59599516SKenneth E. Jansennotice='# Number of restart files to read' 53*59599516SKenneth E. Jansenecho "$nlines $notice" > $outputfile 54*59599516SKenneth E. Jansennotice='# Accumulate error field? (0/1)' 55*59599516SKenneth E. Jansenecho "$accu_error $notice" >> $outputfile 56*59599516SKenneth E. Jansennotice='# Accumulate phase_average field? (0/n phase average fields)' 57*59599516SKenneth E. Jansenecho "$accu_phavg $notice" >> $outputfile 58*59599516SKenneth E. Jansennotice='# copy vorticity field? (0/1)' 59*59599516SKenneth E. Jansenecho "$copy_vort $notice" >> $outputfile 60*59599516SKenneth E. Jansennotice='# copy dwal? (0/1)' 61*59599516SKenneth E. Jansenecho "$copy_dwal $notice" >> $outputfile 62*59599516SKenneth E. Jansencat tmp3 >> $outputfile 63*59599516SKenneth E. Jansenrm tmp3 64*59599516SKenneth E. Jansen 65*59599516SKenneth E. Jansen# Print now the usage of the script 66*59599516SKenneth E. Jansenecho ' ' >> $outputfile 67*59599516SKenneth E. Jansenecho '### What follows is a short manual and is not read by AcuStat ###' >> $outputfile 68*59599516SKenneth E. Jansenecho "This Script is primary used to accumulate the statistics from the ybar field and write the solution from the last time step." >> $outputfile 69*59599516SKenneth E. Jansenecho "This script can also handle additional fiels. In summary, it writes the following fields: " >> $outputfile 70*59599516SKenneth E. Jansenecho " 1) solution of the last time step;" >> $outputfile 71*59599516SKenneth E. Jansenecho " 2) accumulated ybar field;" >> $outputfile 72*59599516SKenneth E. Jansenecho " 3) If requested (optional), accumulated error field;" >> $outputfile 73*59599516SKenneth E. Jansenecho " 4) If requested (optional), accumulated phase average fields;" >> $outputfile 74*59599516SKenneth E. Jansenecho " 5) If requested (optional), vorticity field (from the last time step);" >> $outputfile 75*59599516SKenneth E. Jansenecho " 6) If requested (optional), dwal field (from the last time step)." >> $outputfile 76*59599516SKenneth E. Jansenecho "The next lines contain the time steps series for restart files along with the associated number of time steps inside the ybar, error and yphavg fields." >> $outputfile 77*59599516SKenneth E. Jansen 78*59599516SKenneth E. Jansenmv $outputfile $cores-procs_case 79*59599516SKenneth E. Jansen 80*59599516SKenneth E. Jansen 81