#!/bin/tcsh -f # # This script was supplied by Lisa M. Perez at the Laboratory # for Molecular Simulation at Texas A&M University and is provided # on an "as is" basis. # # http://www.chem.tamu.edu/LMS # # .................................................................... # HELP ............................................................... # .................................................................... if ( $#argv == 0 ) goto help foreach i ( $* ) switch ($i) case -help : goto help breaksw case -h : goto help endsw end # .................................................................... # PARAMETRAGE ....................................................... # .................................................................... set q = 0 set r = 0 set p = g03 set t = 1:00:00 @ ivar=0 foreach i ( $* ) @ ivar++ switch ($i) case -s2 set q=1 set t=24:00:00 breaksw case -s3 set q=2 set t=200:00:00 breaksw case -s4 set q=3 set t=4:00:00 breaksw case -p set q=4 set t=100:00:00 breaksw case -p1 set q=5 set t=200:00:00 breaksw case -g98 set p=g98 breaksw case -r set r=1 breaksw endsw end # .................................................................... # PREPARATION DES DONNEES ........................................... # .................................................................... set data=$argv[$#argv] if ( ! -e {$data}.com ) then echo The input file {$data}.com does not exist exit endif set olddir=$cwd echo "#! /bin/csh -f" > $data.job echo '#' >> $data.job if ($q == 0) then set queue = serial1 else if ($q == 1) then set queue = serial2 else if ($q == 2) then set queue = serial3 else if ($q == 3) then set queue = serial4 else if ($q == 4) then set queue = parallel else set queue = parallel1 endif endif endif endif endif if ($q == 4) then echo '#PBS -q' $queue '-l ncpus=4,mem=4gb,cput='$t >> $data.job else if ($q == 5) then echo '#PBS -q' $queue ' -l ncpus=2,mem=2gb,cput='$t >> $data.job else echo '#PBS -q' $queue ' -l ncpus=1,mem=1gb,cput='$t >> $data.job endif endif echo '' >> $data.job if ( -e $HOME/.cshrc ) then echo 'source ' $HOME'/.cshrc' >> $data.job echo '' >> $data.job endif if ( -e $HOME/.tcshrc ) then echo 'source ' $HOME'/.tcshrc' >> $data.job echo '' >> $data.job endif if ( $p == g03 ) then echo 'setenv g03root /chem/g03' >> $data.job echo 'source $g03root/g03/bsd/g03.login' >> $data.job echo '' >> $data.job else echo 'setenv g98root /chem/g98A.11 ' >> $data.job echo 'source $g98root/g98/bsd/g98.login' >> $data.job echo '' >> $data.job endif echo 'cd $TMPDIR' >> $data.job echo '' >> $data.job if ( $q == 4 ) then echo 'echo -M- 400000000 > Default.Route ' >> $data.job echo 'echo -P- 4 >> Default.Route ' >> $data.job echo '' >> $data.job else if ( $q == 5 ) then echo 'echo -M- 200000000 > Default.Route ' >> $data.job echo 'echo -P- 2 >> Default.Route ' >> $data.job echo '' >> $data.job else echo 'echo -M- 100000000 > Default.Route ' >> $data.job echo '' >> $data.job endif echo 'cp' $olddir/{$data}.com $data >> $data.job if ($r == 0) then echo '( ' $p' <' $data '> ' $olddir/{$data}.log ') >&' {$data}.err >> $data.job else echo '( ' $p' <' $data '>> ' $olddir/{$data}.log ') >&' {$data}.err >> $data.job endif endif echo 'cat' {$data}.err '>> ' $olddir/{$data}.log >> $data.job echo 'exit' >> $data.job \mv $data.job $data.job echo '' echo ' The job file' $data.job ' has been created and submitted to the queue' $queue chmod 700 $data.job qsub $data.job echo '' qstat echo '' exit #..................................................................... help: clear echo " " echo "This script was specifically set up for the PBS queueing system on chmsgi.chem.tamu.edu " echo " " echo "Syntax : qprep [-s2] [-s3] [-s4] [-p] [-p1] [-g98] [-r] filename" echo " : Flags are typed without the brackets" echo " : e.g. qprep -s2 o2opt" echo " : this will submit the job o2opt.job to the serial2 queue" echo " " echo " filename is the name of the input file (minus the suffix)" echo "" echo " The default program is G03" echo "" echo " The default queue is serial1 " echo " " echo " The different Options that are available:" echo "" echo " -s2 : submits the job to the serial2 queue " echo " -s3 : submits the job to the serial3 queue " echo " -s4 : submits the job to the serial4 queue " echo " -p : submits the job to the parallel queue " echo " -p1 : submits the job to the parallel1 queue " echo " : do not include %nproc in your input file" echo "" echo " -g98 : run g98 instead of G03" echo " -r : appends the output to the old output file" echo " this option is for restart jobs" echo "" echo " " exit