IAP GITLAB

Unit tests in testMagneticField fail

The unit tests in testMedia (testMagneticField) and more specifically section "GeomagneticModel" fail. These are the checks that fail:

CHECK(WMM_B_1.getX(gCS) / 1_nT == Approx(5815).margin(0.05));
CHECK(WMM_B_1.getY(gCS) / 1_nT == Approx(-14803).margin(0.05));
CHECK(WMM_B_1.getZ(gCS) / 1_nT == Approx(49755.3).margin(0.05));
CHECK(WMM_B_2.getX(gCS) / 1_nT == Approx(39684.7).margin(0.05));
CHECK(WMM_B_2.getY(gCS) / 1_nT == Approx(42.2).margin(0.05));
CHECK(WMM_B_2.getZ(gCS) / 1_nT == Approx(10809.5).margin(0.05));
CHECK(WMM_B_3.getX(gCS) / 1_nT == Approx(6261.8).margin(0.05));
CHECK(WMM_B_3.getY(gCS) / 1_nT == Approx(185.5).margin(0.05));
CHECK(WMM_B_3.getZ(gCS) / 1_nT == Approx(-52429.1).margin(0.05));
CHECK(WMM_B_4.getX(gCS) / 1_nT == Approx(6262).margin(0.5));
CHECK(WMM_B_4.getY(gCS) / 1_nT == Approx(186).margin(0.5));
CHECK(WMM_B_4.getZ(gCS) / 1_nT == Approx(-52429).margin(0.5));

and:

CHECK(IGRF_B_1.getX(gCS) / 1_nT == Approx(5821).margin(0.5));
CHECK(IGRF_B_1.getY(gCS) / 1_nT == Approx(-14796).margin(0.5));
CHECK(IGRF_B_1.getZ(gCS) / 1_nT == Approx(49776).margin(0.5));
CHECK(IGRF_B_2.getX(gCS) / 1_nT == Approx(2957).margin(0.5));
CHECK(IGRF_B_2.getY(gCS) / 1_nT == Approx(-1014).margin(0.5));
CHECK(IGRF_B_2.getZ(gCS) / 1_nT == Approx(-57610).margin(0.5));
CHECK(IGRF_B_3.getX(gCS) / 1_nT == Approx(6545).margin(0.5));
CHECK(IGRF_B_3.getY(gCS) / 1_nT == Approx(1473).margin(0.5));
CHECK(IGRF_B_3.getZ(gCS) / 1_nT == Approx(-52884).margin(0.5));
CHECK(IGRF_B_4.getX(gCS) / 1_nT == Approx(30052).margin(0.5));
CHECK(IGRF_B_4.getY(gCS) / 1_nT == Approx(-4738).margin(0.5));
CHECK(IGRF_B_4.getZ(gCS) / 1_nT == Approx(-5190).margin(0.5));

I am surprised our pipelines did not complain about these test failures when merging. However, we can see that in newer MRs like !428 (merged) they do fail.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information