Residuals are only available once some equations have been solved, so it
is not valid for this function to execute until the end of the first
timestep.
This also prevents a bug in which the residuals function trggers the
construction of a Residuals mesh object during the writing of the file
header. This only happens on the master process, and therefore leads to
the master having more objects in its database than the other processes.
If this results in the object table being resized then this can change
the iteration order, which can in turn break mapping procedures (in NCC,
topology change, mesh-to-mesh mapping, ...) which rely on fields being
accessed from the database in a consistent order.