796 |
# output do not exist or is older than executable: |
# output do not exist or is older than executable: |
797 |
rm -f $OUTPUTFILE $RUNLOG ; touch $RUNLOG |
rm -f $OUTPUTFILE $RUNLOG ; touch $RUNLOG |
798 |
if test -f run.log_tmp ; then cat run.log_tmp >> $RUNLOG ; fi |
if test -f run.log_tmp ; then cat run.log_tmp >> $RUNLOG ; fi |
799 |
#--a quick and dirty trick to run with Divided Adjoint (DIVA): |
#- Divided Adjoint Run: |
800 |
if test $KIND = 2 -a -x dorun.sh ; then |
# get the number of additional runs (add_DIVA_runs) from file "run_ADM_DIVA" |
801 |
./dorun.sh >> $RUNLOG 2>&1 |
if test $KIND = 2 -a -f run_ADM_DIVA ; then |
802 |
else |
adm_diva_nb=`sed -n '/^ *add_DIVA_runs\>.*=/p' run_ADM_DIVA | sed 's/ //g'` |
803 |
|
echo " Divided Adjoint Run: $adm_diva_nb" >> $RUNLOG |
804 |
|
eval "let $adm_diva_nb" |
805 |
|
if [ $add_DIVA_runs -ge 1 ] ; then |
806 |
|
rm -f costf* divided.ctrl snapshot* |
807 |
|
echo -n "(add_DIVA_runs=$add_DIVA_runs) ... " |
808 |
|
for ii in `seq 1 $add_DIVA_runs` ; do |
809 |
|
( eval $COMMAND ) >> $RUNLOG 2>&1 |
810 |
|
echo " additional DIVA run # $ii : done" >> $RUNLOG |
811 |
|
mv -f $OUTPUTFILE ${OUTPUTFILE}.diva_${ii} |
812 |
|
done |
813 |
|
fi |
814 |
|
fi |
815 |
|
#- special DIVA processing ends here |
816 |
( eval $COMMAND ) >> $RUNLOG 2>&1 |
( eval $COMMAND ) >> $RUNLOG 2>&1 |
|
fi |
|
|
#---------- |
|
817 |
RETVAL=$? |
RETVAL=$? |
818 |
ENDVAL=`tail $OUTPUTFILE | grep -c 'PROGRAM MAIN: Execution ended Normally'` |
ENDVAL=`tail $OUTPUTFILE | grep -c 'PROGRAM MAIN: Execution ended Normally'` |
819 |
if [ $POSTCLEAN -eq 1 -a $ENDVAL -gt 0 ] ; then |
if [ $POSTCLEAN -eq 1 -a $ENDVAL -gt 0 ] ; then |