Skip to content

Commit a7dbeea

Browse files
committed
Tol needed in a couple places
1 parent 97f15c0 commit a7dbeea

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

components/eamxx/src/physics/gw/tests/gw_cm_src_tests.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,17 @@ struct UnitWrap::UnitTest<D>::TestGwCmSrc : public UnitWrap::UnitTest<D>::Base {
7878
}
7979
}
8080

81+
const auto margin = std::numeric_limits<Real>::epsilon() *
82+
(ekat::is_single_precision<Real>::value ? 1000 : 1);
83+
8184
// Verify BFB results, all data should be in C layout
8285
if (SCREAM_BFB_TESTING && this->m_baseline_action == COMPARE) {
8386
for (Int i = 0; i < num_runs; ++i) {
8487
GwCmSrcData& d_baseline = baseline_data[i];
8588
GwCmSrcData& d_test = test_data[i];
8689
REQUIRE(d_baseline.total(d_baseline.tau) == d_test.total(d_test.tau));
8790
for (Int k = 0; k < d_baseline.total(d_baseline.tau); ++k) {
88-
REQUIRE(d_baseline.tau[k] == d_test.tau[k]);
91+
REQUIRE(d_baseline.tau[k] == Approx(d_test.tau[k]).margin(margin));
8992
}
9093
REQUIRE(d_baseline.total(d_baseline.ubm) == d_test.total(d_test.ubm));
9194
for (Int k = 0; k < d_baseline.total(d_baseline.ubm); ++k) {

components/eamxx/src/physics/gw/tests/gw_front_gw_sources_tests.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,17 @@ struct UnitWrap::UnitTest<D>::TestGwFrontGwSources : public UnitWrap::UnitTest<D
7878
}
7979
}
8080

81+
const auto margin = std::numeric_limits<Real>::epsilon() *
82+
(ekat::is_single_precision<Real>::value ? 1000 : 1);
83+
8184
// Verify BFB results, all data should be in C layout
8285
if (SCREAM_BFB_TESTING && this->m_baseline_action == COMPARE) {
8386
for (Int i = 0; i < num_runs; ++i) {
8487
GwFrontGwSourcesData& d_baseline = baseline_data[i];
8588
GwFrontGwSourcesData& d_test = test_data[i];
8689
REQUIRE(d_baseline.total(d_baseline.tau) == d_test.total(d_test.tau));
8790
for (Int k = 0; k < d_baseline.total(d_baseline.tau); ++k) {
88-
REQUIRE(d_baseline.tau[k] == d_test.tau[k]);
91+
REQUIRE(d_baseline.tau[k] == Approx(d_test.tau[k]).margin(margin));
8992
}
9093
}
9194
}

0 commit comments

Comments
 (0)