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})
|
TESTNAME ${PARAM_CASENAME})
|
||||||
endfunction()
|
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)
|
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)
|
set(multiValueArgs TEST_ARGS)
|
||||||
cmake_parse_arguments(PARAM "$" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
cmake_parse_arguments(PARAM "$" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
||||||
if(NOT PARAM_PREFIX)
|
if(NOT PARAM_PREFIX)
|
||||||
set(PARAM_PREFIX compareSeparateECLFiles)
|
set(PARAM_PREFIX compareSeparateECLFiles)
|
||||||
endif()
|
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(RESULT_PATH ${BASE_RESULT_PATH}${PARAM_DIR_PREFIX}/${PARAM_SIMULATOR}+${PARAM_CASENAME})
|
||||||
set(TEST_ARGS ${PARAM_TEST_ARGS})
|
set(TEST_ARGS ${PARAM_TEST_ARGS})
|
||||||
set(DRIVER_ARGS -i ${OPM_TESTS_ROOT}/${PARAM_DIR1}
|
set(DRIVER_ARGS -i ${OPM_TESTS_ROOT}/${PARAM_DIR1}
|
||||||
@ -112,7 +128,8 @@ function(add_test_compareSeparateECLFiles)
|
|||||||
-b ${PROJECT_BINARY_DIR}/bin
|
-b ${PROJECT_BINARY_DIR}/bin
|
||||||
-a ${PARAM_ABS_TOL}
|
-a ${PARAM_ABS_TOL}
|
||||||
-t ${PARAM_REL_TOL}
|
-t ${PARAM_REL_TOL}
|
||||||
-c ${COMPARE_ECL_COMMAND})
|
-c ${COMPARE_ECL_COMMAND}
|
||||||
|
-n ${MPI_PROCS})
|
||||||
if(PARAM_IGNORE_EXTRA_KW)
|
if(PARAM_IGNORE_EXTRA_KW)
|
||||||
list(APPEND DRIVER_ARGS -y ${PARAM_IGNORE_EXTRA_KW})
|
list(APPEND DRIVER_ARGS -y ${PARAM_IGNORE_EXTRA_KW})
|
||||||
endif()
|
endif()
|
||||||
@ -124,7 +141,8 @@ function(add_test_compareSeparateECLFiles)
|
|||||||
DIRNAME ${PARAM_DIR}
|
DIRNAME ${PARAM_DIR}
|
||||||
FILENAME ${PARAM_FILENAME}
|
FILENAME ${PARAM_FILENAME}
|
||||||
SIMULATOR ${PARAM_SIMULATOR}
|
SIMULATOR ${PARAM_SIMULATOR}
|
||||||
TESTNAME ${PARAM_CASENAME})
|
TESTNAME ${PARAM_CASENAME}
|
||||||
|
PROCESSORS ${MPI_PROCS})
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
###########################################################################
|
###########################################################################
|
||||||
|
@ -17,12 +17,14 @@ then
|
|||||||
echo -e "\t\t -t <tol> Relative tolerance in comparison"
|
echo -e "\t\t -t <tol> Relative tolerance in comparison"
|
||||||
echo -e "\t\t -c <path> Path to comparison tool"
|
echo -e "\t\t -c <path> Path to comparison tool"
|
||||||
echo -e "\t\t -e <filename> Simulator binary to use"
|
echo -e "\t\t -e <filename> Simulator binary to use"
|
||||||
|
echo -e "\t\t -n <procs> Number of MPI processes to use"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
RESTART_STEP=""
|
RESTART_STEP=""
|
||||||
|
MPI_PROCS=1
|
||||||
OPTIND=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
|
do
|
||||||
case "${OPT}" in
|
case "${OPT}" in
|
||||||
i) INPUT_DATA_PATH1=${OPTARG} ;;
|
i) INPUT_DATA_PATH1=${OPTARG} ;;
|
||||||
@ -36,6 +38,7 @@ do
|
|||||||
c) COMPARE_ECL_COMMAND=${OPTARG} ;;
|
c) COMPARE_ECL_COMMAND=${OPTARG} ;;
|
||||||
e) EXE_NAME=${OPTARG} ;;
|
e) EXE_NAME=${OPTARG} ;;
|
||||||
y) IGNORE_EXTRA_KW=${OPTARG} ;;
|
y) IGNORE_EXTRA_KW=${OPTARG} ;;
|
||||||
|
n) MPI_PROCS=${OPTARG} ;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
shift $(($OPTIND-1))
|
shift $(($OPTIND-1))
|
||||||
@ -43,9 +46,9 @@ TEST_ARGS="$@"
|
|||||||
|
|
||||||
mkdir -p ${RESULT_PATH}
|
mkdir -p ${RESULT_PATH}
|
||||||
cd ${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
|
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
|
test $? -eq 0 || exit 1
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user