Hello Christian, Erik, Ian, all,
CarpetIOScalar has a new parameter all_reductions_in_one_file. This parameter is used near the checks for truncating. Can you check the behaviour from before this parameter existed?
It should work again now. I tested all four combinations of io::truncate_files and carpetioscalar::all_reductions_in_one_file and they seem to reproduce the old behaviour. A unfortunate side effect of this, is that no header is written when the set of reductions is changed in the course of a checkpoint-and-recovery operation. The only way would seem to checkpoint the per-variable settings (unless it is possible to ask the flesh for parameter values pre and post checkpoint recovery).
The underlying error was not properly realising that do_truncate[] is a per-Cactus-variable vector, rather than a per-output-file vector. Truncation worked for the very first reduction (average in my case), which likely contributed to me to not noticing earlier.
Yours, Roland