CarpetIOHDF5 should not try to search for grid scalars and DISTRIB=CONSTANT arrays in all HDF5 files

Issue #1664 open
Roland Haas created an issue

Currently, if during a checkpoint recovery a grid scalar or DISTRIB=CONSTANT grid array is not found in the first file, then CarpetIOHDF5 will eventually open and parse all file looking for this dataset. This happens eg when one activates a new thorn with a checkpointed scalar or also when a new code version of a thorn that declares new checkpointed variables is used.

Also, the current behaviour is that grid variables that are not found at all (as compared to grid variables for which only some but not all components are found) are silently ignored.

Finally, the current checkpointing code will write a copy of grid scalars and DISTRIB=CONSTANT grid arrays in every single checkpoint file, which means that, for a valid set of checkpoint files, if the grid variable is not found in the first file it will also never be found in any of the other files.

The ticket is thus an enhancement request to have CarpetIOHDF5 stop searching for the grid variable after the first file. This will not change the behaviour of any current checkpoint files but will speed up the case where a grid variable is missing. This will either speed up a final error report (if eg a thorn was using the missing data and reports poisoned data) or the restart with extra thorns significantly.

Keyword: CarpetIOHDF5