#1053: CarpetIOHDF5: it doesn't honor out3D_every parameter ----------------------+----------------------------------------------------- Reporter: bmundim | Owner: eschnett Type: defect | Status: new Priority: major | Milestone: Component: Carpet | Version: Resolution: | Keywords: CarpetIOHDF5 out3D_every ----------------------+-----------------------------------------------------
Comment (by bmundim):
The number of refinement levels can change during evolution. At for each
given number of refinement levels, each "out_every" value will eventually output something, it may just take a very long time.
yes, but if the user is aware of the time indexing she may choose to output as multiples of the coarsest levels. Chances are that we always have at least two or three coarse levels even if others disappear due to other criteria.
Regarding the patch proposed, I tested for CarpetIOHDF5 and surprisingly it didn't solve the problem. The 3D output still restarts from the last checkpoint iteration, it=262 in this example. I tried to find out what were the values of last_output_iteration_slice[d] in the checkpoint file but it didn't succeed:
{{{ h5ls checkpoint.chkpt.it_228.h5
... CARPETIOHDF5::last_output_iteration_slice[0]\ it=228\ tl=0 Dataset {1} CARPETIOHDF5::last_output_iteration_slice[1]\ it=228\ tl=0 Dataset {1} CARPETIOHDF5::last_output_iteration_slice[2]\ it=228\ tl=0 Dataset {1} CARPETIOHDF5::last_output_time_slice[0]\ it=228\ tl=0 Dataset {1} CARPETIOHDF5::last_output_time_slice[1]\ it=228\ tl=0 Dataset {1} CARPETIOHDF5::last_output_time_slice[2]\ it=228\ tl=0 Dataset {1} CARPETIOHDF5::next_output_iteration\ it=228\ tl=0 Dataset {1} CARPETIOHDF5::next_output_time\ it=228\ tl=0 Dataset {1} CARPETIOHDF5::this_iteration\ it=228\ tl=0 Dataset {1} CARPETIOHDF5::this_iteration_slice[0]\ it=228\ tl=0 Dataset {1} CARPETIOHDF5::this_iteration_slice[1]\ it=228\ tl=0 Dataset {1} CARPETIOHDF5::this_iteration_slice[2]\ it=228\ tl=0 Dataset {1} ...
}}}
and if I try to dump the last_output_iteration_slice I get the following error:
{{{ h5dump -d "CARPETIOHDF5::last_output_iteration_slice[2] it=228 tl=0" checkpoint.chkpt.it_228.h5 HDF5 "checkpoint.chkpt.it_228.h5" { DATASET "CARPETIOHDF5::last_output_iteration_slice" { h5dump error: unable to open dataset "CARPETIOHDF5::last_output_iteration_slice" } }
}}} So I can't actually see what is the value of CARPETIOHDF5::last_output_iteration_slice[2] in the checkpoint file, but wouldn't it have been set by any chance to the checkpoint *this_iteration parameter? That seems to be the case. Also be aware that the checkpoint iteration number changed in the example from 262 to 228 due to the new test I ran, but the issue is still open for a solution.