#747: 9th order prolongation test fails with REAL_PRECISION=4 --------------------+------------------------------------------------------- Reporter: hinder | Owner: eschnett Type: defect | Status: new Priority: major | Milestone: Component: Carpet | Version: Keywords: | --------------------+------------------------------------------------------- If I set REAL_PRECISION=4 in my option list (single precision), Carpet will not run. This is because it performs self-tests on startup of the prolongation operators, and my guess is that single precision is insufficient for the 9th order operators.
{{{ WARNING[L1,P0] (CarpetLib): Error in prolongate_3d_rf2::coeffs_3d_rf2 RT=CCTK_REAL4 ORDER=9 n=6 y0=0, res=9.53674e-07 WARNING[L1,P0] (CarpetLib): Error in prolongate_3d_rf2::coeffs_3d_rf2 RT=CCTK_REAL4 ORDER=9 n=6 y0=0, res=9.53674e-07 WARNING[L1,P0] (CarpetLib): Error in prolongate_3d_rf2::coeffs_3d_rf2 RT=CCTK_REAL4 ORDER=9 n=8 y0=0, res=1.52588e-05 WARNING[L1,P0] (CarpetLib): Error in prolongate_3d_rf2::coeffs_3d_rf2 RT=CCTK_REAL4 ORDER=9 n=8 y0=0, res=1.52588e-05 WARNING level 0 in thorn CarpetLib processor 0 host MacBook-2.local (line 98 of /Users/ian/Cactus/EinsteinToolkit/arrangements/Carpet/CarpetLib/src/prolongate_3d_rf2.cc): -> Aborting. WARNING level 0 in thorn CarpetLib processor 0 host MacBook-2.local (line 98 of /Users/ian/Cactus/EinsteinToolkit/arrangements/Carpet/CarpetLib/src/prolongate_3d_rf2.cc): -> Aborting. }}}
I propose that the final warning should be changed to level 1 unless that order of prolongation has actually be requested for the run. In my case, I'm doing unigrid and don't care about prolongation. I don't know how to test the type (what type of object is "RT"?) in this template function.