<p><b>dwj07@fsu.edu</b> 2011-12-01 16:08:48 -0700 (Thu, 01 Dec 2011)</p><p><br>
        -- BRANCH COMMIT --<br>
<br>
        Adding a partly functional driver function for the test cases directory.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/ocean_projects/ocean_test_cases_staging/ocean/baroclinic_channel/makeMeshes.sh
===================================================================
--- branches/ocean_projects/ocean_test_cases_staging/ocean/baroclinic_channel/makeMeshes.sh        2011-12-01 21:27:29 UTC (rev 1228)
+++ branches/ocean_projects/ocean_test_cases_staging/ocean/baroclinic_channel/makeMeshes.sh        2011-12-01 23:08:48 UTC (rev 1229)
@@ -145,6 +145,10 @@
                                 cp $1 ${NAME}_${VERTLEV}levs/${PROC}procs/ocean_model.exe
                         fi
 
+                        if [ $# -ge 2 ]; then
+                                cp $2 ${NAME}_${VERTLEV}levs/${PROC}procs/.
+                        fi
+
                         echo &quot;${CUR_DIR}/${NAME}_${VERTLEV}levs/${PROC}procs&quot; &gt;&gt; run_paths
                 done
 

Added: branches/ocean_projects/ocean_test_cases_staging/ocean/lobo_submit_template.sh
===================================================================
--- branches/ocean_projects/ocean_test_cases_staging/ocean/lobo_submit_template.sh                                (rev 0)
+++ branches/ocean_projects/ocean_test_cases_staging/ocean/lobo_submit_template.sh        2011-12-01 23:08:48 UTC (rev 1229)
@@ -0,0 +1,7 @@
+#! /bin/bassh
+#MSUB -N run_name
+#MSUB -l walltime=20:00
+#MSUB -l nodes=num_nodes:ppn=procs_per_node
+#MSUB -d working_dir
+
+mpirun -np num_procs ./ocean_model.exe

Modified: branches/ocean_projects/ocean_test_cases_staging/ocean/lock_exchange/makeMeshes.sh
===================================================================
--- branches/ocean_projects/ocean_test_cases_staging/ocean/lock_exchange/makeMeshes.sh        2011-12-01 21:27:29 UTC (rev 1228)
+++ branches/ocean_projects/ocean_test_cases_staging/ocean/lock_exchange/makeMeshes.sh        2011-12-01 23:08:48 UTC (rev 1229)
@@ -143,6 +143,11 @@
                         if [ $# -ge 1 ]; then
                                 cp $1 ${NAME}_${VERTLEV}levs/${PROC}procs/ocean_model.exe
                         fi
+
+                        if [ $# -ge 2 ]; then
+                                cp $2 ${NAME}_${VERTLEV}levs/${PROC}procs/.
+                        fi
+
                         echo &quot;${CUR_DIR}/${NAME}_${VERTLEV}levs/${PROC}procs&quot; &gt;&gt; run_paths
                 done
 

Added: branches/ocean_projects/ocean_test_cases_staging/ocean/oceanTestCases.sh
===================================================================
--- branches/ocean_projects/ocean_test_cases_staging/ocean/oceanTestCases.sh                                (rev 0)
+++ branches/ocean_projects/ocean_test_cases_staging/ocean/oceanTestCases.sh        2011-12-01 23:08:48 UTC (rev 1229)
@@ -0,0 +1,210 @@
+#!/bin/bash
+
+REPOSITORY_ADDRESS=&quot;https://svn-mpas-model.cgd.ucar.edu/trunk/mpas&quot;
+COMPILE_SET=&quot;ifort-serial&quot;
+MACHINE_NAME=&quot;lobo&quot;
+MACHINE_PPN=&quot;16&quot;
+SUBMISSION_CMD=msub
+
+
+########################
+## Script starts here ##
+########################
+
+CUR_DIR=`pwd`
+
+ACTIONS=&quot;setup submit postprocess clean&quot;
+CASES=&quot;lock_exchange baroclinic_channel&quot;
+
+ACTION=$1
+CASE=$2
+VALID=&quot;no&quot;
+ACTION_VALID=&quot;no&quot;
+CASE_VALID=&quot;no&quot;
+
+if [ $# -ge 2 ]; then
+        if [ $1 == &quot;setup&quot; -o $1 == &quot;submit&quot; -o $1 == &quot;postprocess&quot; -o &quot;clean&quot; ]; then
+                ACTION_VALID=&quot;yes&quot;
+        fi
+
+        if [ $2 == &quot;lock_exchange&quot; -o $2 == &quot;baroclinic_channel&quot; ]; then
+                CASE_VALID=&quot;yes&quot;
+        fi
+
+        if [ $2 == &quot;mpas&quot; -a $1 == &quot;setup&quot; ]; then
+                VALID=&quot;yes&quot;
+        elif [ $2 == &quot;mpas&quot; -a $1 == &quot;clean&quot; ]; then
+                VALID=&quot;yes&quot;
+        elif [ $ACTION_VALID == &quot;yes&quot; ]; then
+                if [ $CASE_VALID == &quot;yes&quot; ]; then
+                        VALID=&quot;yes&quot;
+                fi
+        fi
+fi
+
+if [ $VALID == &quot;no&quot; ]; then
+        echo &quot;Invalid usage.&quot;
+        echo &quot;./oceanTestCases.sh [action] [case]&quot;
+        echo &quot;&quot;
+        echo &quot;[action] = setup submit postprocess clean&quot;
+        echo &quot;&quot;
+        echo &quot;[case] = lock_exchange baroclinic_channel&quot;
+        echo &quot;[case] = mpas (only for action = setup or clean)&quot;
+        exit
+fi
+
+if [ ! -e mpas ]; then
+        if [ $CASE != &quot;mpas&quot; ]; then
+                echo 'must run &quot;./oceanTestCase.sh setup mpas&quot; before other cases'
+                exit
+        fi
+fi
+
+if [ $ACTION == &quot;setup&quot; ]; then
+        if [ $CASE == &quot;mpas&quot; ]; then
+                rm -f run_info
+                rm -f run_paths
+                touch run_info
+
+                svn co $REPOSITORY_ADDRESS
+                cd mpas
+                make $COMPILE_SET CORE=ocean
+                REV=`svn info | grep &quot;Revision&quot;`
+                cd ..
+
+                MAKE_OPTS=`grep &quot;$COMPILE_SET:&quot; mpas/Makefile -A 11 | tail -n 11 | grep &quot;[a-Z]&quot;`
+
+                echo &quot;Compile flags:&quot; &gt;&gt; run_info
+                grep &quot;$COMPILE_SET:&quot; mpas/Makefile -A 11 | grep &quot;[a-Z]&quot; &gt;&gt; run_info
+                echo &quot;&quot; &gt;&gt; run_info
+                echo &quot;Checkout path:&quot; &gt;&gt; run_info
+                echo &quot;$REPOSITORY_ADDRESS&quot; &gt;&gt; run_info
+                echo &quot;$REV&quot; &gt;&gt; run_info
+                echo &quot;$MACHINE_NAME&quot; &gt;&gt; run_info
+
+                echo &quot;${COMPILE_SET}:&quot; &gt; Makefile.front
+                echo -e &quot;\t$MAKE_OPTS&quot; &gt;&gt; Makefile.front
+        elif [ $CASE == &quot;lock_exchange&quot; ]; then
+                cp Makefile.front lock_exchange/basin_src/.
+                cp Makefile.front lock_exchange/periodic_hex/.
+                cd lock_exchange
+                ./makeMeshes.sh ${CUR_DIR}/mpas/src/ocean_model.exe ${CUR_DIR}/run_info
+                cd ${CUR_DIR}
+
+                cat lock_exchange/run_paths &gt;&gt; run_paths
+
+        elif [ $CASE == &quot;baroclinic_channel&quot; ]; then
+                cp Makefile.front baroclinic_channel/basin_src/.
+                cp Makefile.front baroclinic_channel/periodic_hex/.
+                cd baroclinic_channel
+                ./makeMeshes.sh ${CUR_DIR}/mpas/src/ocean_model.exe ${CUR_DIR}/run_info
+                cd ${CUR_DIR}
+
+                cat baroclinic_channel/run_paths &gt;&gt; run_paths
+        fi
+elif [ $ACTION == &quot;submit&quot; ]; then
+        if [ $CASE == &quot;lock_exchange&quot; ]; then
+                RUNS=`cat lock_exchange/run_paths`
+                rm -f job_ids_lock_exchange cancel_jobs_lock_exchange.sh
+                rm -f start_times_lock_exchange.sh
+                mkdir -p lock_exchange/submits
+
+                for RUN in $RUNS
+                do
+                        NAME=`echo ${RUN%/*procs}`
+                        NAME=`echo ${NAME##*/}`
+                        PROCS=`echo ${RUN##*/}`
+                        PROCS=`echo ${PROCS%%procs}`
+
+                        if [ $PROCS -lt $MACHINE_PPN ]; then
+                                NODES=1
+                                PPN=${PROCS}
+                        else
+                                NODES=`echo &quot;$PROCS / $MACHINE_PPN&quot; | bc`
+                                PPN=${MACHINE_PPN}
+                        fi
+
+                        cat ${CUR_DIR}/${MACHINE_NAME}_submit_template.sh | sed &quot;s/run_name/lock_exchange_${NAME}/g&quot; | sed &quot;s/num_nodes/${NODES}/g&quot; | sed &quot;s/procs_per_node/${PPN}/g&quot; | sed &quot;s|working_dir|$RUN|g&quot; | sed &quot;s/num_procs/$PROCS/g&quot; &gt; lock_exchange/submits/$NAME.sh
+
+                        ${SUBMISSION_CMD} ${CUR_DIR}/lock_exchange/submits/$NAME.sh  &gt;&gt; job_ids_tmp
+                        echo &quot;showstart &quot; &gt;&gt; start_times_front
+                        echo -n &quot; | head -n 3 | tail -n 1 | awk '{print &quot; &gt;&gt; start_times_back
+                        echo -n '$6' &gt;&gt; start_times_back
+                        echo &quot;}'&quot; &gt;&gt; start_times_back
+                        echo &quot;canceljob &quot; &gt;&gt; cancel_jobs_front
+                done
+
+                grep &quot;[0-9]&quot; job_ids_tmp &gt; job_ids
+
+                paste start_times_front job_ids start_times_back &gt; start_times_lock_exchange.sh
+                paste cancel_jobs_front job_ids &gt; cancel_jobs_lock_exchange.sh
+
+                rm -f job_ids_tmp start_times_front start_times_back cancel_jobs_front
+
+                chmod +x cancel_jobs_lock_exchange.sh
+                chmod +x start_times_lock_exchange.sh
+        elif [ $CASE == &quot;baroclinic_channel&quot; ]; then
+                RUNS=`cat baroclinic_channel/run_paths`
+                rm -f job_ids_baroclinic_channel cancel_jobs_baroclinic_channel.sh
+                rm -f start_times_baroclinic_channel.sh
+                mkdir -p baroclinic_channel/submits
+
+                for RUN in $RUNS
+                do
+                        NAME=`echo ${RUN%/*procs}`
+                        NAME=`echo ${NAME##*/}`
+                        PROCS=`echo ${RUN##*/}`
+                        PROCS=`echo ${PROCS%%procs}`
+
+                        if [ $PROCS -lt $MACHINE_PPN ]; then
+                                NODES=1
+                                PPN=${PROCS}
+                        else
+                                NODES=`echo &quot;$PROCS / $MACHINE_PPN&quot; | bc`
+                                PPN=${MACHINE_PPN}
+                        fi
+
+                        cat ${CUR_DIR}/${MACHINE_NAME}_submit_template.sh | sed &quot;s/run_name/baroclinic_channel_${NAME}/g&quot; | sed &quot;s/num_nodes/${NODES}/g&quot; | sed &quot;s/procs_per_node/${PPN}/g&quot; | sed &quot;s|working_dir|$RUN|g&quot; | sed &quot;s/num_procs/$PROCS/g&quot; &gt; baroclinic_channel/submits/$NAME.sh
+
+                        ${SUBMISSION_CMD} ${CUR_DIR}/baroclinic_channel/submits/$NAME.sh  &gt;&gt; job_ids_tmp
+                        echo &quot;showstart &quot; &gt;&gt; start_times_front
+                        echo -n &quot; | head -n 3 | tail -n 1 | awk '{print &quot; &gt;&gt; start_times_back
+                        echo -n '$6' &gt;&gt; start_times_back
+                        echo &quot;}'&quot; &gt;&gt; start_times_back
+                        echo &quot;canceljob &quot; &gt;&gt; cancel_jobs_front
+                done
+
+                grep &quot;[0-9]&quot; job_ids_tmp &gt; job_ids
+
+                paste start_times_front job_ids start_times_back &gt; start_times_baroclinic_channel.sh
+                paste cancel_jobs_front job_ids &gt; cancel_jobs_baroclinic_channel.sh
+
+                rm -f job_ids_tmp start_times_front start_times_back cancel_jobs_front
+
+                chmod +x cancel_jobs_baroclinic_channel.sh
+                chmod +x start_times_baroclinic_channel.sh
+        fi
+
+elif [ $ACTION == &quot;postprocess&quot; ]; then
+        echo &quot;POSTPROCESS&quot;
+
+elif [ $ACTION == &quot;clean&quot; ]; then
+        rm -f run_paths job_ids
+
+        if [ $CASE == &quot;mpas&quot; ]; then
+                rm -rf mpas
+                rm -f run_info Makefile.front
+        elif [ $CASE == &quot;lock_exchange&quot; ]; then
+                cd lock_exchange
+                rm -rf *m_*levs submits
+                rm -f run_paths
+                cd ${CUR_DIR}
+
+                rm -f *lock_exchange.sh
+        elif [ $CASE == &quot;baroclinic_channel&quot; ]; then
+                cd baroclinic_channel
+                rm -rf *m_*levs submits
+                rm -f run_paths
+                cd ${CUR_DIR}
+        fi
+fi


Property changes on: branches/ocean_projects/ocean_test_cases_staging/ocean/oceanTestCases.sh
___________________________________________________________________
Added: svn:executable
   + *

</font>
</pre>