<html>#2279: CarpetIOHDF5 recover failure with manual topology
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td></td></tr>
<tr><td style='text-align:right'>   Status:</td><td>new</td></tr>
<tr><td style='text-align:right'>Milestone:</td><td></td></tr>
<tr><td style='text-align:right'>  Version:</td><td></td></tr>
<tr><td style='text-align:right'>     Type:</td><td>bug</td></tr>
<tr><td style='text-align:right'> Priority:</td><td>major</td></tr>
<tr><td style='text-align:right'>Component:</td><td>Carpet</td></tr>
</table>

<p>I have been trying to debug why some runs I was performing could not
recover from a checkpoint file, but would otherwise proceed as normal.</p>
<p>I attached a minimalist parfile showing the problem. A small grid is
manually distributed over 8 processors and terminates at iteration 2. An
attempt at recover fails with nans on grid::x. If the manual topology
section is commented out, no problems are seen.</p>
<p>The issue seems to be that with manual topology a region_t 
structure has it's map entry incorrectly set</p>
<p>What happens is, in</p>
<p>bool gh::recompose there is the check
   bool const do_recompose = level_did_change(rl);</p>
<p>In level_did_change, the level is considered to change because</p>
<p>the new region_t is</p>
<p>region_t(extent=([41,0,0]:[80,10,10]:[1,1,1]/[41,0,0]:[80,10,10]/[40,11,11]/4840),outer_boundaries=[[0,1,1],[1,1,1]],map=51,processor=1)</p>
<p>while the old 
isregion_t(extent=([41,0,0]:[80,10,10]:[1,1,1]/[41,0,0]:[80,10,10]/[40,11,11]/4840),outer_boundaries=[[0,1,1],[1,1,1]],map=0,processor=1)</p>
<p>The only difference is the new map is 51.</p>
<p>If I add a line Carpet/src/Recompose.cc:SplitRegions_AsSpecified
to force the map entry to be zero, then all seems to work.</p>
<p>Without the change, Carpet recomposes the grid but never calls the 
postregrid functions. Hence the Nans in grid::x</p>
<p><table><tr><td>attachment:</td><td><a href="t3.par">https://api.bitbucket.org/2.0/repositories/einsteintoolkit/tickets/issues/2279/attachments/t3.par</a></td></tr>
</table></p>
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2279/carpetiohdf5-recover-failure-with-manual'>https://bitbucket.org/einsteintoolkit/tickets/issues/2279/carpetiohdf5-recover-failure-with-manual</a></p>
</html>