There's not really any reason mpi_err *needs* to be global. I had put it there mostly because I'm lazy and didn't want to declare it everywhere there was an MPI call. I'd say it's fine to make a copy for decoupling purposes.