R4. It is recommended that each package free all system resources it has acquired as soon as they are no longer needed. This recommendation includes closing open files, freeing memory, freeing MPI communicators, and freeing MPI data types created by the package. In particular, it is crucial that xSDK compatible code not have any growing memory leaks (such as leaking memory during every timestep). Any resources created by the package that should be freed by the user, rather than by the package, must be fully documented. Valgrind can be used to locate when these resources are mistakenly not released.