Assigning MPI_STATUS to a local variable and then referring to the
local will ensure that the same value is used in both the conditional
expression and the call to MPI_Error_string.
Otherwise, when MPI_STATUS is a function call, like
MPI_CHECKF(fubar(), "%s", "error in fubar");
fubar() is called twice. If there are underlying intermittent errors,
the error code/message for the first call is lost, with confusing output
like this:
read 2206.18 17.27 145.93 262144 131072
0.272595 291.88 0.290829 292.41
ERROR: cannot access explicit, noncollective, MPI MPI_SUCCESS: no errors, (aiori-MPIIO.c:451)