#1599: CarpetInterp/waveinterp_2p tests constant in space initial data ---------------------+------------------------------------------------------ Reporter: rhaas | Owner: eschnett Type: defect | Status: reopened Priority: minor | Milestone: Component: Carpet | Version: development version Resolution: | Keywords: CarpetInterp ---------------------+------------------------------------------------------ Changes (by rhaas):
* status: closed => reopened * resolution: fixed =>
Comment:
Turns out that setting reltol to 1e42 as proposed is not the correct solution. The comparison inside of RunTestUtils.pl is {{{ 1745 my $vreltol = $filereltol * $valmax[$count]; 1746 my $vtol = $fileabstol > $vreltol ? $fileabstol : $vreltol; 1747 if ($absdiff[$count] >= $vtol) { 1748 $rundata->{"$thorn $test $file NFAILSTRONG"}++; 1749 last; 1750 } }}} ie setting reltol to 1e42 sets $vreltol to some very large number and ignores abstol. In order to only use abstol, one has to set reltol to 0. The tests actually had larger absolute error than allowed (eg on bluewaters, though I do seem to get different results than Erik does): {{{ arrays1d[2].x.asc: substantial differences significant differences on 170 (out of 204) lines maximum absolute difference in column 13 is 5.94358425587416e-08 maximum relative difference in column 13 is 63.81875 arrays1d[2].y.asc: substantial differences significant differences on 17 (out of 51) lines maximum absolute difference in column 13 is 5.94358425587416e-08 maximum relative difference in column 13 is 4.17201225740553 }}} So even with an ABSTOL=1e-8 (and RELTOL=0. so that it does not matter) this will fail. Please note that all bluewaters tests pass if I compile with -O3 and -mno-fma -mno-fma4 ie disable non-value safe optimization and fused multiply add instructions (which I'd also claim to be not value safe).