<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 "${CUR_DIR}/${NAME}_${VERTLEV}levs/${PROC}procs" >> 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 "${CUR_DIR}/${NAME}_${VERTLEV}levs/${PROC}procs" >> 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="https://svn-mpas-model.cgd.ucar.edu/trunk/mpas"
+COMPILE_SET="ifort-serial"
+MACHINE_NAME="lobo"
+MACHINE_PPN="16"
+SUBMISSION_CMD=msub
+
+
+########################
+## Script starts here ##
+########################
+
+CUR_DIR=`pwd`
+
+ACTIONS="setup submit postprocess clean"
+CASES="lock_exchange baroclinic_channel"
+
+ACTION=$1
+CASE=$2
+VALID="no"
+ACTION_VALID="no"
+CASE_VALID="no"
+
+if [ $# -ge 2 ]; then
+        if [ $1 == "setup" -o $1 == "submit" -o $1 == "postprocess" -o "clean" ]; then
+                ACTION_VALID="yes"
+        fi
+
+        if [ $2 == "lock_exchange" -o $2 == "baroclinic_channel" ]; then
+                CASE_VALID="yes"
+        fi
+
+        if [ $2 == "mpas" -a $1 == "setup" ]; then
+                VALID="yes"
+        elif [ $2 == "mpas" -a $1 == "clean" ]; then
+                VALID="yes"
+        elif [ $ACTION_VALID == "yes" ]; then
+                if [ $CASE_VALID == "yes" ]; then
+                        VALID="yes"
+                fi
+        fi
+fi
+
+if [ $VALID == "no" ]; then
+        echo "Invalid usage."
+        echo "./oceanTestCases.sh [action] [case]"
+        echo ""
+        echo "[action] = setup submit postprocess clean"
+        echo ""
+        echo "[case] = lock_exchange baroclinic_channel"
+        echo "[case] = mpas (only for action = setup or clean)"
+        exit
+fi
+
+if [ ! -e mpas ]; then
+        if [ $CASE != "mpas" ]; then
+                echo 'must run "./oceanTestCase.sh setup mpas" before other cases'
+                exit
+        fi
+fi
+
+if [ $ACTION == "setup" ]; then
+        if [ $CASE == "mpas" ]; 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 "Revision"`
+                cd ..
+
+                MAKE_OPTS=`grep "$COMPILE_SET:" mpas/Makefile -A 11 | tail -n 11 | grep "[a-Z]"`
+
+                echo "Compile flags:" >> run_info
+                grep "$COMPILE_SET:" mpas/Makefile -A 11 | grep "[a-Z]" >> run_info
+                echo "" >> run_info
+                echo "Checkout path:" >> run_info
+                echo "$REPOSITORY_ADDRESS" >> run_info
+                echo "$REV" >> run_info
+                echo "$MACHINE_NAME" >> run_info
+
+                echo "${COMPILE_SET}:" > Makefile.front
+                echo -e "\t$MAKE_OPTS" >> Makefile.front
+        elif [ $CASE == "lock_exchange" ]; 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 >> run_paths
+
+        elif [ $CASE == "baroclinic_channel" ]; 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 >> run_paths
+        fi
+elif [ $ACTION == "submit" ]; then
+        if [ $CASE == "lock_exchange" ]; 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 "$PROCS / $MACHINE_PPN" | bc`
+                                PPN=${MACHINE_PPN}
+                        fi
+
+                        cat ${CUR_DIR}/${MACHINE_NAME}_submit_template.sh | sed "s/run_name/lock_exchange_${NAME}/g" | sed "s/num_nodes/${NODES}/g" | sed "s/procs_per_node/${PPN}/g" | sed "s|working_dir|$RUN|g" | sed "s/num_procs/$PROCS/g" > lock_exchange/submits/$NAME.sh
+
+                        ${SUBMISSION_CMD} ${CUR_DIR}/lock_exchange/submits/$NAME.sh >> job_ids_tmp
+                        echo "showstart " >> start_times_front
+                        echo -n " | head -n 3 | tail -n 1 | awk '{print " >> start_times_back
+                        echo -n '$6' >> start_times_back
+                        echo "}'" >> start_times_back
+                        echo "canceljob " >> cancel_jobs_front
+                done
+
+                grep "[0-9]" job_ids_tmp > job_ids
+
+                paste start_times_front job_ids start_times_back > start_times_lock_exchange.sh
+                paste cancel_jobs_front job_ids > 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 == "baroclinic_channel" ]; 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 "$PROCS / $MACHINE_PPN" | bc`
+                                PPN=${MACHINE_PPN}
+                        fi
+
+                        cat ${CUR_DIR}/${MACHINE_NAME}_submit_template.sh | sed "s/run_name/baroclinic_channel_${NAME}/g" | sed "s/num_nodes/${NODES}/g" | sed "s/procs_per_node/${PPN}/g" | sed "s|working_dir|$RUN|g" | sed "s/num_procs/$PROCS/g" > baroclinic_channel/submits/$NAME.sh
+
+                        ${SUBMISSION_CMD} ${CUR_DIR}/baroclinic_channel/submits/$NAME.sh >> job_ids_tmp
+                        echo "showstart " >> start_times_front
+                        echo -n " | head -n 3 | tail -n 1 | awk '{print " >> start_times_back
+                        echo -n '$6' >> start_times_back
+                        echo "}'" >> start_times_back
+                        echo "canceljob " >> cancel_jobs_front
+                done
+
+                grep "[0-9]" job_ids_tmp > job_ids
+
+                paste start_times_front job_ids start_times_back > start_times_baroclinic_channel.sh
+                paste cancel_jobs_front job_ids > 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 == "postprocess" ]; then
+        echo "POSTPROCESS"
+
+elif [ $ACTION == "clean" ]; then
+        rm -f run_paths job_ids
+
+        if [ $CASE == "mpas" ]; then
+                rm -rf mpas
+                rm -f run_info Makefile.front
+        elif [ $CASE == "lock_exchange" ]; then
+                cd lock_exchange
+                rm -rf *m_*levs submits
+                rm -f run_paths
+                cd ${CUR_DIR}
+
+                rm -f *lock_exchange.sh
+        elif [ $CASE == "baroclinic_channel" ]; 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>