opm-simulators/compareECLFiles.cmake

538 lines
21 KiB
CMake
Raw Normal View History

2017-01-23 03:42:09 -06:00
# This script manages the addition of tests.
# The tests are orchestrated by a shell script,
# configured using opm_set_test_driver()
# and then the appropriate helper macro is called to
# register the ctest entry through the opm_add_test macro.
# Information such as the binary to call and test tolerances
# are passed from the build system to the driver script through
# command line parameters. See the opm_add_test() documentation for
# details on the parameters passed to the macro.
# Define some paths
2016-08-04 06:54:37 -05:00
set(BASE_RESULT_PATH ${PROJECT_BINARY_DIR}/tests/results)
###########################################################################
2016-08-04 06:54:37 -05:00
# TEST: compareECLFiles
###########################################################################
2016-08-04 06:54:37 -05:00
# Input:
# - casename: basename (no extension)
#
2017-01-23 03:42:09 -06:00
# Details:
# - This test class compares output from a simulation to reference files.
function(add_test_compareECLFiles)
set(oneValueArgs CASENAME FILENAME SIMULATOR ABS_TOL REL_TOL DIR DIR_PREFIX PREFIX)
set(multiValueArgs TEST_ARGS)
cmake_parse_arguments(PARAM "$" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
if(NOT PARAM_DIR)
set(PARAM_DIR ${PARAM_CASENAME})
endif()
if(NOT PARAM_PREFIX)
set(PARAM_PREFIX compareECLFiles)
2017-05-16 04:49:40 -05:00
endif()
set(RESULT_PATH ${BASE_RESULT_PATH}${PARAM_DIR_PREFIX}/${PARAM_SIMULATOR}+${PARAM_CASENAME})
2018-03-12 09:37:21 -05:00
set(TEST_ARGS ${OPM_TESTS_ROOT}/${PARAM_DIR}/${PARAM_FILENAME} ${PARAM_TEST_ARGS})
opm_add_test(${PARAM_PREFIX}_${PARAM_SIMULATOR}+${PARAM_FILENAME} NO_COMPILE
EXE_NAME ${PARAM_SIMULATOR}
2018-03-12 09:37:21 -05:00
DRIVER_ARGS ${OPM_TESTS_ROOT}/${PARAM_DIR} ${RESULT_PATH}
${PROJECT_BINARY_DIR}/bin
${PARAM_FILENAME}
${PARAM_ABS_TOL} ${PARAM_REL_TOL}
2016-08-04 06:54:37 -05:00
${COMPARE_ECL_COMMAND}
2017-05-16 04:49:40 -05:00
TEST_ARGS ${TEST_ARGS})
endfunction()
2016-11-04 08:47:59 -05:00
###########################################################################
2017-01-23 04:15:49 -06:00
# TEST: add_test_compare_restarted_simulation
2016-11-04 08:47:59 -05:00
###########################################################################
# Input:
# - casename: basename (no extension)
#
2017-01-23 03:42:09 -06:00
# Details:
# - This test class compares the output from a restarted simulation
# to that of a non-restarted simulation.
function(add_test_compare_restarted_simulation)
set(oneValueArgs CASENAME FILENAME SIMULATOR ABS_TOL REL_TOL)
set(multiValueArgs TEST_ARGS)
cmake_parse_arguments(PARAM "$" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
2016-11-04 08:47:59 -05:00
set(RESULT_PATH ${BASE_RESULT_PATH}/restart/${PARAM_SIMULATOR}+${PARAM_CASENAME})
2018-03-12 09:37:21 -05:00
set(TEST_ARGS ${OPM_TESTS_ROOT}/${PARAM_CASENAME}/${PARAM_FILENAME} ${PARAM_TEST_ARGS})
opm_add_test(compareRestartedSim_${PARAM_SIMULATOR}+${PARAM_FILENAME} NO_COMPILE
EXE_NAME ${PARAM_SIMULATOR}
2018-03-12 09:37:21 -05:00
DRIVER_ARGS ${OPM_TESTS_ROOT}/${PARAM_CASENAME} ${RESULT_PATH}
${PROJECT_BINARY_DIR}/bin
${PARAM_FILENAME}
${PARAM_ABS_TOL} ${PARAM_REL_TOL}
2016-11-04 08:47:59 -05:00
${COMPARE_ECL_COMMAND}
2018-08-04 00:56:45 -05:00
${OPM_PACK_COMMAND}
2018-01-04 06:48:43 -06:00
0
TEST_ARGS ${TEST_ARGS})
endfunction()
2016-11-04 08:47:59 -05:00
###########################################################################
2017-01-23 04:15:49 -06:00
# TEST: add_test_compare_parallel_simulation
###########################################################################
# Input:
# - casename: basename (no extension)
#
2017-01-23 03:42:09 -06:00
# Details:
# - This test class compares the output from a parallel simulation
# to the output from the serial instance of the same model.
function(add_test_compare_parallel_simulation)
set(oneValueArgs CASENAME FILENAME SIMULATOR ABS_TOL REL_TOL DIR)
set(multiValueArgs TEST_ARGS)
cmake_parse_arguments(PARAM "$" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
if(NOT PARAM_DIR)
set(PARAM_DIR ${PARAM_CASENAME})
endif()
set(RESULT_PATH ${BASE_RESULT_PATH}/parallel/${PARAM_SIMULATOR}+${PARAM_CASENAME})
set(TEST_ARGS ${OPM_TESTS_ROOT}/${PARAM_DIR}/${PARAM_FILENAME} ${PARAM_TEST_ARGS})
# Add test that runs flow_mpi and outputs the results to file
opm_add_test(compareParallelSim_${PARAM_SIMULATOR}+${PARAM_FILENAME} NO_COMPILE
EXE_NAME ${PARAM_SIMULATOR}
DRIVER_ARGS ${OPM_TESTS_ROOT}/${PARAM_DIR} ${RESULT_PATH}
${PROJECT_BINARY_DIR}/bin
${PARAM_FILENAME}
${PARAM_ABS_TOL} ${PARAM_REL_TOL}
${COMPARE_ECL_COMMAND}
TEST_ARGS ${TEST_ARGS})
set_tests_properties(compareParallelSim_${PARAM_SIMULATOR}+${PARAM_FILENAME}
PROPERTIES RUN_SERIAL 1)
endfunction()
2018-01-04 06:48:43 -06:00
###########################################################################
# TEST: add_test_compare_parallel_restarted_simulation
###########################################################################
# Input:
# - casename: basename (no extension)
#
# Details:
# - This test class compares the output from a restarted parallel simulation
# to that of a non-restarted parallel simulation.
function(add_test_compare_parallel_restarted_simulation)
set(oneValueArgs CASENAME FILENAME SIMULATOR ABS_TOL REL_TOL)
set(multiValueArgs TEST_ARGS)
cmake_parse_arguments(PARAM "$" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
set(RESULT_PATH ${BASE_RESULT_PATH}/parallelRestart/${PARAM_SIMULATOR}+${PARAM_CASENAME})
2018-03-12 09:37:21 -05:00
set(TEST_ARGS ${OPM_TESTS_ROOT}/${PARAM_CASENAME}/${PARAM_FILENAME} ${PARAM_TEST_ARGS})
2018-01-04 06:48:43 -06:00
opm_add_test(compareParallelRestartedSim_${PARAM_SIMULATOR}+${PARAM_FILENAME} NO_COMPILE
EXE_NAME ${PARAM_SIMULATOR}
2018-03-12 09:37:21 -05:00
DRIVER_ARGS ${OPM_TESTS_ROOT}/${PARAM_CASENAME} ${RESULT_PATH}
${PROJECT_BINARY_DIR}/bin
2018-01-04 06:48:43 -06:00
${PARAM_FILENAME}
${PARAM_ABS_TOL} ${PARAM_REL_TOL}
${COMPARE_ECL_COMMAND}
2018-08-04 00:56:45 -05:00
${OPM_PACK_COMMAND}
2018-01-04 06:48:43 -06:00
1
TEST_ARGS ${TEST_ARGS})
set_tests_properties(compareParallelRestartedSim_${PARAM_SIMULATOR}+${PARAM_FILENAME}
PROPERTIES RUN_SERIAL 1)
2018-01-04 06:48:43 -06:00
endfunction()
if(NOT TARGET test-suite)
add_custom_target(test-suite)
endif()
# Regression tests
opm_set_test_driver(${PROJECT_SOURCE_DIR}/tests/run-regressionTest.sh "")
# Set absolute tolerance to be used passed to the macros in the following tests
set(abs_tol 2e-2)
set(rel_tol 1e-5)
set(coarse_rel_tol 1e-2)
2018-11-14 07:51:39 -06:00
add_test_compareECLFiles(CASENAME spe1
FILENAME SPE1CASE2
SIMULATOR flow
ABS_TOL ${abs_tol}
2018-11-14 07:51:39 -06:00
REL_TOL ${coarse_rel_tol})
add_test_compareECLFiles(CASENAME spe1_2p
FILENAME SPE1CASE2_2P
2018-11-14 07:51:39 -06:00
SIMULATOR flow
ABS_TOL ${abs_tol}
2018-11-14 07:51:39 -06:00
REL_TOL ${rel_tol}
DIR spe1)
2017-12-05 02:26:01 -06:00
add_test_compareECLFiles(CASENAME spe1_oilgas
FILENAME SPE1CASE2_OILGAS
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${coarse_rel_tol}
DIR spe1)
add_test_compareECLFiles(CASENAME spe1
FILENAME SPE1CASE1
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol})
2018-02-15 03:07:58 -06:00
add_test_compareECLFiles(CASENAME spe1_nowells
FILENAME SPE1CASE2_NOWELLS
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR spe1)
add_test_compareECLFiles(CASENAME spe1_thermal
FILENAME SPE1CASE2_THERMAL
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR spe1)
2019-11-28 02:54:27 -06:00
add_test_compareECLFiles(CASENAME spe1_rockcomp
FILENAME SPE1CASE2_ROCK2DTR
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR spe1)
2020-01-07 01:46:46 -06:00
add_test_compareECLFiles(CASENAME spe1_brine
FILENAME SPE1CASE1_BRINE
2020-01-07 01:46:46 -06:00
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR spe1_brine)
add_test_compareECLFiles(CASENAME spe1_metric_vfp1
FILENAME SPE1CASE1_METRIC_VFP1
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR vfpprod_spe1)
2018-05-29 09:35:26 -05:00
add_test_compareECLFiles(CASENAME ctaquifer_2d_oilwater
FILENAME 2D_OW_CTAQUIFER
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
2018-05-29 09:44:28 -05:00
DIR aquifer-oilwater)
2018-05-29 09:35:26 -05:00
add_test_compareECLFiles(CASENAME fetkovich_2d
FILENAME 2D_FETKOVICHAQUIFER
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR aquifer-fetkovich)
add_test_compareECLFiles(CASENAME spe3
FILENAME SPE3CASE1
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${coarse_rel_tol}
TEST_ARGS --tolerance-wells=1e-6 --flow-newton-max-iterations=20)
2018-11-14 07:51:39 -06:00
add_test_compareECLFiles(CASENAME spe9
FILENAME SPE9_CP_SHORT
SIMULATOR flow
ABS_TOL ${abs_tol}
2018-11-14 07:51:39 -06:00
REL_TOL ${rel_tol})
2017-11-10 05:33:24 -06:00
add_test_compareECLFiles(CASENAME spe9group
FILENAME SPE9_CP_GROUP
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol})
add_test_compareECLFiles(CASENAME msw_2d_h
FILENAME 2D_H__
2017-11-10 07:29:49 -06:00
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${coarse_rel_tol})
2017-11-10 08:12:41 -06:00
add_test_compareECLFiles(CASENAME msw_3d_hfa
FILENAME 3D_MSW
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol})
2018-02-27 08:27:30 -06:00
add_test_compareECLFiles(CASENAME polymer_oilwater
FILENAME 2D_OILWATER_POLYMER
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol})
2018-12-12 09:24:24 -06:00
add_test_compareECLFiles(CASENAME polymer_injectivity
FILENAME 2D_POLYMER_INJECTIVITY
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol})
add_test_compareECLFiles(CASENAME polymer_simple2D
FILENAME 2D_THREEPHASE_POLY_HETER
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${coarse_rel_tol}
TEST_ARGS --flow-newton-max-iterations=20)
add_test_compareECLFiles(CASENAME spe5
FILENAME SPE5CASE1
2017-11-10 07:32:27 -06:00
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${coarse_rel_tol}
TEST_ARGS --flow-newton-max-iterations=20)
2016-11-04 08:47:59 -05:00
add_test_compareECLFiles(CASENAME wecon_wtest
2018-06-06 08:17:59 -05:00
FILENAME 3D_WECON
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${coarse_rel_tol})
add_test_compareECLFiles(CASENAME msw_model_1
FILENAME MSW_MODEL_1
2018-08-03 07:20:18 -05:00
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR model1)
2018-08-03 07:20:18 -05:00
add_test_compareECLFiles(CASENAME base_model_1
FILENAME BASE_MODEL_1
2018-07-20 06:35:54 -05:00
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR model1)
2018-08-07 09:21:37 -05:00
add_test_compareECLFiles(CASENAME faults_model_1
FILENAME FAULTS_MODEL_1
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR model1)
add_test_compareECLFiles(CASENAME base_model2
FILENAME 0_BASE_MODEL2
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR model2)
add_test_compareECLFiles(CASENAME multregt_model2
FILENAME 1_MULTREGT_MODEL2
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR model2)
add_test_compareECLFiles(CASENAME udq_wconprod
FILENAME UDQ_WCONPROD
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR udq_actionx)
add_test_compareECLFiles(CASENAME multxyz_model2
FILENAME 2_MULTXYZ_MODEL2
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR model2)
add_test_compareECLFiles(CASENAME multflt_model2
FILENAME 3_MULTFLT_MODEL2
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR model2)
add_test_compareECLFiles(CASENAME multpvv_model2
FILENAME 4_MINPVV_MODEL2
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR model2)
add_test_compareECLFiles(CASENAME swatinit_model2
FILENAME 5_SWATINIT_MODEL2
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR model2)
add_test_compareECLFiles(CASENAME endscale_model2
FILENAME 6_ENDSCALE_MODEL2
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR model2)
add_test_compareECLFiles(CASENAME hysteresis_model2
FILENAME 7_HYSTERESIS_MODEL2
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR model2)
add_test_compareECLFiles(CASENAME multiply_tranxyz_model2
FILENAME 8_MULTIPLY_TRANXYZ_MODEL2
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR model2)
add_test_compareECLFiles(CASENAME editnnc_model2
FILENAME 9_EDITNNC_MODEL2
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR model2)
2019-12-05 03:36:44 -06:00
add_test_compareECLFiles(CASENAME wsegsicd
FILENAME TEST_WSEGSICD
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol})
2019-02-13 05:21:24 -06:00
add_test_compareECLFiles(CASENAME nnc
FILENAME NNC_AND_EDITNNC
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR editnnc)
2019-07-05 03:52:46 -05:00
add_test_compareECLFiles(CASENAME spe1_foam
FILENAME SPE1FOAM
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR spe1_foam)
2020-01-30 03:03:35 -06:00
add_test_compareECLFiles(CASENAME bc_lab
FILENAME BC_LAB
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
DIR bc_lab)
2016-11-04 08:47:59 -05:00
# Restart tests
opm_set_test_driver(${PROJECT_SOURCE_DIR}/tests/run-restart-regressionTest.sh "")
# Cruder tolerances for the restarted tests
set(abs_tol_restart 2e-1)
set(rel_tol_restart 4e-5)
2018-11-14 07:51:39 -06:00
add_test_compare_restarted_simulation(CASENAME spe1
FILENAME SPE1CASE2_ACTNUM
SIMULATOR flow
ABS_TOL ${abs_tol_restart}
REL_TOL ${rel_tol_restart})
add_test_compare_restarted_simulation(CASENAME spe9
FILENAME SPE9_CP_SHORT
SIMULATOR flow
ABS_TOL ${abs_tol_restart}
REL_TOL ${rel_tol_restart})
# PORV test
opm_set_test_driver(${PROJECT_SOURCE_DIR}/tests/run-porv-acceptanceTest.sh "")
add_test_compareECLFiles(CASENAME norne
FILENAME NORNE_ATW2013
SIMULATOR flow
ABS_TOL 1e-5
REL_TOL 1e-8
PREFIX comparePORV
DIR_PREFIX /porv)
# Init tests
opm_set_test_driver(${PROJECT_SOURCE_DIR}/tests/run-init-regressionTest.sh "")
2018-11-14 07:51:39 -06:00
add_test_compareECLFiles(CASENAME norne
FILENAME NORNE_ATW2013
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
PREFIX compareECLInitFiles
DIR_PREFIX /init)
# Parallel tests
if(MPI_FOUND)
opm_set_test_driver(${PROJECT_SOURCE_DIR}/tests/run-restart-regressionTest.sh "")
add_test_compare_parallel_restarted_simulation(CASENAME spe1
FILENAME SPE1CASE2_ACTNUM
SIMULATOR flow
ABS_TOL ${abs_tol_restart}
REL_TOL ${rel_tol_restart})
opm_set_test_driver(${PROJECT_SOURCE_DIR}/tests/run-parallel-regressionTest.sh "")
# Different tolerances for these tests
set(abs_tol_parallel 0.02)
set(rel_tol_parallel 1e-5)
set(coarse_rel_tol_parallel 1e-2)
2017-11-10 05:33:24 -06:00
add_test_compare_parallel_simulation(CASENAME spe1
FILENAME SPE1CASE2
SIMULATOR flow
ABS_TOL ${abs_tol_parallel}
REL_TOL ${rel_tol_parallel}
TEST_ARGS --linear-solver-reduction=1e-7 --tolerance-cnv=5e-6 --tolerance-mb=1e-8)
2017-11-10 07:33:05 -06:00
2017-11-10 05:33:24 -06:00
add_test_compare_parallel_simulation(CASENAME spe9
FILENAME SPE9_CP_SHORT
SIMULATOR flow
ABS_TOL ${abs_tol_parallel}
REL_TOL ${rel_tol_parallel}
TEST_ARGS --linear-solver-reduction=1e-7 --tolerance-cnv=5e-6 --tolerance-mb=1e-8)
2017-11-10 07:33:05 -06:00
2019-12-12 02:22:37 -06:00
add_test_compare_parallel_simulation(CASENAME spe9group
FILENAME SPE9_CP_GROUP
SIMULATOR flow
ABS_TOL ${abs_tol_parallel}
REL_TOL ${coarse_rel_tol_parallel}
TEST_ARGS --linear-solver-reduction=1e-7 --tolerance-cnv=5e-6 --tolerance-mb=1e-8)
2019-12-12 02:22:37 -06:00
add_test_compare_parallel_simulation(CASENAME spe3
FILENAME SPE3CASE1
2017-11-10 07:33:05 -06:00
SIMULATOR flow
ABS_TOL ${abs_tol_parallel}
REL_TOL ${coarse_rel_tol_parallel}
TEST_ARGS --linear-solver-reduction=1e-7 --tolerance-cnv=5e-6 --tolerance-mb=1e-8)
2018-12-12 09:24:24 -06:00
2019-12-04 03:34:26 -06:00
add_test_compare_parallel_simulation(CASENAME spe1_solvent
FILENAME SPE1CASE2_SOLVENT
SIMULATOR flow
ABS_TOL ${abs_tol_parallel}
REL_TOL ${coarse_rel_tol_parallel}
TEST_ARGS --linear-solver-reduction=1e-7 --tolerance-cnv=5e-6 --tolerance-mb=1e-8)
2019-12-04 04:59:59 -06:00
add_test_compare_parallel_simulation(CASENAME polymer_simple2D
FILENAME 2D_THREEPHASE_POLY_HETER
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${coarse_rel_tol}
TEST_ARGS --linear-solver-reduction=1e-7 --tolerance-cnv=5e-6 --tolerance-mb=1e-8)
2019-12-04 05:31:02 -06:00
add_test_compare_parallel_simulation(CASENAME spe1_foam
FILENAME SPE1FOAM
SIMULATOR flow
ABS_TOL ${abs_tol}
REL_TOL ${rel_tol}
TEST_ARGS --linear-solver-reduction=1e-7 --tolerance-cnv=5e-6 --tolerance-mb=1e-8)
2020-01-28 04:35:38 -06:00
add_test_compare_parallel_simulation(CASENAME spe1_thermal
FILENAME SPE1CASE2_THERMAL
SIMULATOR flow
ABS_TOL ${abs_tol_parallel}
REL_TOL 1e-1
DIR spe1
TEST_ARGS --linear-solver-reduction=1e-7 --tolerance-cnv=5e-6 --tolerance-mb=1e-8)
2020-02-05 13:20:58 -06:00
add_test_compare_parallel_simulation(CASENAME spe1_brine
FILENAME SPE1CASE1_BRINE
SIMULATOR flow
ABS_TOL ${abs_tol_parallel}
REL_TOL ${rel_tol_parallel}
TEST_ARGS --linear-solver-reduction=1e-7 --tolerance-cnv=5e-6 --tolerance-mb=1e-6)
endif()