#!/bin/csh -f
# ll_driver checks for a QTRAN license and submits a 
# job control file to the SP2 loadleveler
# --------------------------------------------------
# $argv[1] = 3param.in.(fn_eval_num)
# $argv[2] = results.out.(fn_eval_num)
#
# THERE IS A PROBLEM WITH SUBMITTING PATQ INTO THE LOADLEVELER
# SOLUTION: RUN PATQ <NEWPATQ.INPUT PRIOR TO THE LLSUBMIT AND
# WRITE QTRAN.EXE WITHOUT RUNNING IT (QCOMPILE & QLINK).  
# UNFORTUNATELY, THIS DOES DEPEND ON THE IFILTER'S FILES 
# QIN.DAT AND QMACRO.DAT WHICH MEANS SPLITTING UP 
# NEWQCH_DRIVER TO RUN THE IFILTER OUTSIDE OF THE LL_SUBMIT.
# QTRAN.EXE IS A FUNCTION OF QIN.DAT & QMACRO.DAT.
#
set num = `echo $argv[1] | cut -c 11-15`
#echo $num
#
cp -r new_start_qtran workdir.$num
cd workdir.$num
pwd
# ------------------ INPUT FILTER --------------------
echo "Running input filter"
/home/mseldre/bin/qtran/qtran_ifilter /var/scr1/mseldre/$argv[1] qmacro.dat
# ---- GENERATE QTRAN.EXE OUTSIDE OF LOAD LEVELER ----
echo "Running patq, qcompile, and qlink"
patq < newpatq.input >& makeqtran.out
qcompile >>& makeqtran.out
qlink >>& makeqtran.out
# ----------------------------------------------------
#echo "#!/bin/csh -f" > jcf.$num
echo "# @ output = jcf.llout" >> jcf.$num
echo "# @ error = jcf.llerr" >> jcf.$num
echo "# @ checkpoint = no" >> jcf.$num
echo "# @ notification = error" >> jcf.$num
echo "# @ queue" >> jcf.$num
echo "newqch_driver $argv[1] $argv[2]" >> jcf.$num
#
echo "Wrote jcf.$num"
#
/home/mseldre/bin/qtran/ch2.360
#
llsubmit jcf.$num
#
# ll_driver terminates after submitting job
# Do cleanup at end of newqch_driver after output filter writes results.out
