#! /bin/csh -f # env variables used are # CASEROOT, CASE # MAX_TASKS_PER_NODE, PES_PER_NODE # MODELS, NTHRDS (derived arrays) # ACCOUNT, QUEUE # TESTMODE # CCSM_ESTCOST ################################################################################# if ($PHASE == set_batch) then ################################################################################# source ./Tools/ccsm_getenv || exit -1 set mppsize = `${CASEROOT}/Tools/taskmaker.pl -sumonly` if ( $mppsize % ${MAX_TASKS_PER_NODE} > 0) then @ mppnodes = $mppsize / ${MAX_TASKS_PER_NODE} @ mppnodes = $mppnodes + 1 @ mppsize = $mppnodes * ${MAX_TASKS_PER_NODE} endif #--- Job name is first fifteen characters of case name --- set jobname = `echo ${CASE} | cut -c1-15` set walltime = "00:45:00" if ($CCSM_ESTCOST > 1) set walltime = "01:50:00" if ($CCSM_ESTCOST > 3 || $DEBUG == "TRUE") set walltime = "05:00:00" if ($?TESTMODE) then set file = $CASEROOT/${CASE}.test else set file = $CASEROOT/${CASE}.run endif cat >! $file << EOF1 #!/bin/csh -f #PBS -N ${jobname} #PBS -q batch #PBS -l feature=xe #PBS -l mppwidth=${mppsize} #PBS -l mppnppn=16 #PBS -l walltime=${walltime} #PBS -j oe #PBS -S /bin/csh -V EOF1 ################################################################################# else if ($PHASE == set_exe) then ################################################################################# set maxthrds = `./Tools/taskmaker.pl -maxthrds` set myaprun = `./Tools/taskmaker.pl -aprun` cat >> ${CASEROOT}/${CASE}.run << EOF1 sleep 25 cd \$RUNDIR echo "\`date\` -- CSM EXECUTION BEGINS HERE" setenv OMP_NUM_THREADS ${maxthrds} if (\$MPILIB != "mpi-serial") then aprun ${myaprun} >&! ccsm.log.\$LID else \$EXEROOT/cesm.exe >&! ccsm.log.\$LID endif wait echo "\`date\` -- CSM EXECUTION HAS FINISHED" EOF1 ################################################################################# else if ($PHASE == set_larch) then ################################################################################# cat >! $CASEROOT/${CASE}.l_archive << EOF1 #! /bin/csh -f #PBS -N ${CASE}.l_archive #PBS -q xe #PBS -l mppwidth=0 #PBS -l walltime=01:30:00 #PBS -j oe #PBS -S /bin/csh -V cd \$DOUT_S_ROOT $CASEROOT/Tools/lt_archive.csh exit 0 EOF1 chmod 775 ${CASEROOT}/${CASE}.l_archive ################################################################################# else ################################################################################# echo " PHASE setting of $PHASE is not an accepted value" echo " accepted values are set_batch, set_exe and set_larch" exit 1 ################################################################################# endif #################################################################################