added: add compareSeparateEclFiles to failure report

This commit is contained in:
Arne Morten Kvarving committed 2025-11-12 13:33:53 +01:00
1 parent 9a35c06ec9
commit f03dd03517
3 files changed
+32 -15

No files matched your search

+5 -1
View File
@@ -118,6 +118,9 @@ function(add_test_compareSeparateECLFiles)
else()
set(MPI_PROCS 1)
endif()
if(NOT PARAM_DIR)
set(PARAM_DIR ${PARAM_CASENAME})
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}
@@ -139,7 +142,8 @@ function(add_test_compareSeparateECLFiles)
TEST_ARGS ${TEST_ARGS})
set_tests_properties(${PARAM_PREFIX}_${PARAM_SIMULATOR}+${PARAM_CASENAME} PROPERTIES
DIRNAME ${PARAM_DIR}
FILENAME ${PARAM_FILENAME}
FILENAME1 ${PARAM_FILENAME1}
FILENAME2 ${PARAM_FILENAME2}
SIMULATOR ${PARAM_SIMULATOR}
TESTNAME ${PARAM_CASENAME}
PROCESSORS ${MPI_PROCS})
+22 -11
View File
@@ -15,17 +15,28 @@ rm -f *
for failed_test in $FAILED_TESTS
do
grep -q -E "compareECLFiles" <<< $failed_test
test $? -ne 0 && continue
failed_test=`echo $failed_test | sed -e 's/.*://g' -e 's/\+/./g'`
# Extract test properties
binary=$(awk -v search="set_tests_properties\\\($failed_test\$" -v prop="SIMULATOR" -f ${SOURCE_DIR}/getprop.awk $RESULT_DIR/CTestTestfile.cmake)
dir_name=$(awk -v search="set_tests_properties\\\($failed_test\$" -v prop="DIRNAME" -f ${SOURCE_DIR}/getprop.awk $RESULT_DIR/CTestTestfile.cmake)
file_name=$(awk -v search="set_tests_properties\\\($failed_test\$" -v prop="FILENAME" -f ${SOURCE_DIR}/getprop.awk $RESULT_DIR/CTestTestfile.cmake)
test_name=$(awk -v search="set_tests_properties\\\($failed_test\$" -v prop="TESTNAME" -f ${SOURCE_DIR}/getprop.awk $RESULT_DIR/CTestTestfile.cmake)
echo "Processing ${test_name}"
$SOURCE_DIR/plot_well_comparison.py -r $OPM_TESTS_ROOT/$dir_name/opm-simulation-reference/$binary/$file_name -s $RESULT_DIR/tests/results/$binary+$test_name/$file_name -c $test_name -o plot
if grep -q -E "compareECLFiles" <<< $failed_test
then
failed_test=`echo $failed_test | sed -e 's/.*://g' -e 's/\+/./g'`
# Extract test properties
binary=$(awk -v search="set_tests_properties\\\($failed_test\$" -v prop="SIMULATOR" -f ${SOURCE_DIR}/getprop.awk $RESULT_DIR/CTestTestfile.cmake)
dir_name=$(awk -v search="set_tests_properties\\\($failed_test\$" -v prop="DIRNAME" -f ${SOURCE_DIR}/getprop.awk $RESULT_DIR/CTestTestfile.cmake)
file_name=$(awk -v search="set_tests_properties\\\($failed_test\$" -v prop="FILENAME" -f ${SOURCE_DIR}/getprop.awk $RESULT_DIR/CTestTestfile.cmake)
test_name=$(awk -v search="set_tests_properties\\\($failed_test\$" -v prop="TESTNAME" -f ${SOURCE_DIR}/getprop.awk $RESULT_DIR/CTestTestfile.cmake)
echo "Processing ${test_name}"
$SOURCE_DIR/plot_well_comparison.py -r $OPM_TESTS_ROOT/$dir_name/opm-simulation-reference/$binary/$file_name -s $RESULT_DIR/tests/results/$binary+$test_name/$file_name -c $test_name -o plot
elif grep -q -E "compareSeparateECLFiles" <<< $failed_test
then
failed_test=`echo $failed_test | sed -e 's/.*://g' -e 's/\+/./g'`
# Extract test properties
binary=$(awk -v search="set_tests_properties\\\($failed_test\$" -v prop="SIMULATOR" -f ${SOURCE_DIR}/getprop.awk $RESULT_DIR/CTestTestfile.cmake)
dir_name=$(awk -v search="set_tests_properties\\\($failed_test\$" -v prop="DIRNAME" -f ${SOURCE_DIR}/getprop.awk $RESULT_DIR/CTestTestfile.cmake)
file_name1=$(awk -v search="set_tests_properties\\\($failed_test\$" -v prop="FILENAME1" -f ${SOURCE_DIR}/getprop.awk $RESULT_DIR/CTestTestfile.cmake)
file_name2=$(awk -v search="set_tests_properties\\\($failed_test\$" -v prop="FILENAME2" -f ${SOURCE_DIR}/getprop.awk $RESULT_DIR/CTestTestfile.cmake)
test_name=$(awk -v search="set_tests_properties\\\($failed_test\$" -v prop="TESTNAME" -f ${SOURCE_DIR}/getprop.awk $RESULT_DIR/CTestTestfile.cmake)
echo "Processing ${test_name}"
$SOURCE_DIR/plot_well_comparison.py -r $RESULT_DIR/tests/results/$binary+$test_name/$file_name1 -s $RESULT_DIR/tests/results/$binary+$test_name/$file_name2 -c $test_name -o plot -t "$file_name1" -u "$file_name2"
fi
done
if test -n "$FAILED_TESTS"
+5 -3
View File
@@ -17,7 +17,7 @@ from scipy import integrate, stats
# Run analysis of a test.
# Calculate the deviation for each curve
# and generate a pdf with plots ordered according to deviation
def run_analysis(ref_file_name, sys_file_name, test_name):
def run_analysis(ref_file_name, sys_file_name, test_name, ref_name, sim_name):
ref_file = ESmry(ref_file_name + '.SMSPEC')
sim_file = ESmry(sys_file_name + '.SMSPEC')
@@ -68,7 +68,7 @@ def run_analysis(ref_file_name, sys_file_name, test_name):
fig, ax = plt.subplots()
ax.plot(ref_time, ref, linestyle='dashed', linewidth=0.5, marker='o', markersize=1.0)
ax.plot(sim_time, sim, linewidth=0.5, marker='x', markersize=1.0)
ax.legend(['Reference', 'New simulation'])
ax.legend([ref_name, sim_name])
plt.title(r)
u = ref_file.units(r)
if u:
@@ -111,10 +111,12 @@ parser = argparse.ArgumentParser('plot_well_comparison.py')
parser.add_argument('-c', help='Name of test to process', dest='test_name')
parser.add_argument('-r', help='Reference file', dest='ref_file')
parser.add_argument('-s', help='Simulation file', dest='sim_file')
parser.add_argument('-t', help='Name for first simulation', dest='ref_name', default='Reference')
parser.add_argument('-u', help='Name for second simulation', dest='sim_name', default='New simulation')
parser.add_argument('-o', choices=['plot', 'rename'], help='Operation to do', required=True, dest='operation')
args = parser.parse_args()
if args.operation == 'plot':
run_analysis(args.ref_file, args.sim_file, args.test_name)
run_analysis(args.ref_file, args.sim_file, args.test_name, args.ref_name, args.sim_name)
else:
reorder_files()