mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Add option to compare two parallel runs
This commit is contained in:
parent
ed5f371133
commit
3d8c1a11b7
@ -95,13 +95,29 @@ function(add_test_compareECLFiles)
|
||||
TESTNAME ${PARAM_CASENAME})
|
||||
endfunction()
|
||||
|
||||
###########################################################################
|
||||
# TEST: compareSeparateECLFiles
|
||||
###########################################################################
|
||||
|
||||
# Input:
|
||||
# - casename: basename (no extension)
|
||||
# - filename1 (no extension)
|
||||
# - filename2 (no extension)
|
||||
#
|
||||
# Details:
|
||||
# - This test class compares two separate simulations
|
||||
function(add_test_compareSeparateECLFiles)
|
||||
set(oneValueArgs CASENAME FILENAME1 FILENAME2 DIR1 DIR2 SIMULATOR ABS_TOL REL_TOL IGNORE_EXTRA_KW DIR_PREFIX)
|
||||
set(oneValueArgs CASENAME FILENAME1 FILENAME2 DIR1 DIR2 SIMULATOR ABS_TOL REL_TOL IGNORE_EXTRA_KW DIR_PREFIX MPI_PROCS)
|
||||
set(multiValueArgs TEST_ARGS)
|
||||
cmake_parse_arguments(PARAM "$" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
||||
if(NOT PARAM_PREFIX)
|
||||
set(PARAM_PREFIX compareSeparateECLFiles)
|
||||
endif()
|
||||
if(PARAM_MPI_PROCS)
|
||||
set(MPI_PROCS ${PARAM_MPI_PROCS})
|
||||
else()
|
||||
set(MPI_PROCS 1)
|
||||
endif()
|
||||
set(RESULT_PATH ${BASE_RESULT_PATH}${PARAM_DIR_PREFIX}/${PARAM_SIMULATOR}+${PARAM_CASENAME})
|
||||
set(TEST_ARGS ${PARAM_TEST_ARGS})
|
||||
set(DRIVER_ARGS -i ${OPM_TESTS_ROOT}/${PARAM_DIR1}
|
||||
@ -112,7 +128,8 @@ function(add_test_compareSeparateECLFiles)
|
||||
-b ${PROJECT_BINARY_DIR}/bin
|
||||
-a ${PARAM_ABS_TOL}
|
||||
-t ${PARAM_REL_TOL}
|
||||
-c ${COMPARE_ECL_COMMAND})
|
||||
-c ${COMPARE_ECL_COMMAND}
|
||||
-n ${MPI_PROCS})
|
||||
if(PARAM_IGNORE_EXTRA_KW)
|
||||
list(APPEND DRIVER_ARGS -y ${PARAM_IGNORE_EXTRA_KW})
|
||||
endif()
|
||||
@ -124,7 +141,8 @@ function(add_test_compareSeparateECLFiles)
|
||||
DIRNAME ${PARAM_DIR}
|
||||
FILENAME ${PARAM_FILENAME}
|
||||
SIMULATOR ${PARAM_SIMULATOR}
|
||||
TESTNAME ${PARAM_CASENAME})
|
||||
TESTNAME ${PARAM_CASENAME}
|
||||
PROCESSORS ${MPI_PROCS})
|
||||
endfunction()
|
||||
|
||||
###########################################################################
|
||||
|
@ -17,12 +17,14 @@ then
|
||||
echo -e "\t\t -t <tol> Relative tolerance in comparison"
|
||||
echo -e "\t\t -c <path> Path to comparison tool"
|
||||
echo -e "\t\t -e <filename> Simulator binary to use"
|
||||
echo -e "\t\t -n <procs> Number of MPI processes to use"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
RESTART_STEP=""
|
||||
MPI_PROCS=1
|
||||
OPTIND=1
|
||||
while getopts "i:j:f:g:r:b:a:t:c:e:y:" OPT
|
||||
while getopts "i:j:f:g:r:b:a:t:c:e:y:n:" OPT
|
||||
do
|
||||
case "${OPT}" in
|
||||
i) INPUT_DATA_PATH1=${OPTARG} ;;
|
||||
@ -36,6 +38,7 @@ do
|
||||
c) COMPARE_ECL_COMMAND=${OPTARG} ;;
|
||||
e) EXE_NAME=${OPTARG} ;;
|
||||
y) IGNORE_EXTRA_KW=${OPTARG} ;;
|
||||
n) MPI_PROCS=${OPTARG} ;;
|
||||
esac
|
||||
done
|
||||
shift $(($OPTIND-1))
|
||||
@ -43,9 +46,9 @@ TEST_ARGS="$@"
|
||||
|
||||
mkdir -p ${RESULT_PATH}
|
||||
cd ${RESULT_PATH}
|
||||
${BINPATH}/${EXE_NAME} ${INPUT_DATA_PATH1}/${FILENAME1} ${TEST_ARGS} --output-dir=${RESULT_PATH}
|
||||
mpirun -np ${MPI_PROCS} ${BINPATH}/${EXE_NAME} ${INPUT_DATA_PATH1}/${FILENAME1} ${TEST_ARGS} --output-dir=${RESULT_PATH}
|
||||
test $? -eq 0 || exit 1
|
||||
${BINPATH}/${EXE_NAME} ${INPUT_DATA_PATH2}/${FILENAME2} ${TEST_ARGS} --output-dir=${RESULT_PATH}
|
||||
mpirun -np ${MPI_PROCS} ${BINPATH}/${EXE_NAME} ${INPUT_DATA_PATH2}/${FILENAME2} ${TEST_ARGS} --output-dir=${RESULT_PATH}
|
||||
test $? -eq 0 || exit 1
|
||||
cd ..
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user