The model can also be run multitasked on distributed memory architectures that support the MPI message-passing programming paradigm. The code should run on any machine or group of machines on which MPI is supported. The message-passing code has been validated on SUN (Solaris) and SGI (IRIX) machines. Hooks exist for T3D/E, RS6K, and HP (SPP-UX) machines. The T3D/E is no longer supported with the introduction of netCDF boundary data files. The IBM RS-6000 is no longer supported since NCAR no longer has RS-6000 machines available for testing purposes. The HP version is still experimental.
One design prerequisite is that identical simulations be guaranteed regardless of the number of processors utilized. This goal is accomplished by requiring that certain summations of critical quantities always be done within a single process (shared-memory multitasking), or done redundantly by each multitasked process (distributed memory multitasking). An example is the summation of the global mass integrals performed in scan2. Results from two runs executed with a different number of processors will be identical. When adding new code, the user should always ensure that the results from single-threaded and multitasked runs are identical.
Questions on these pages can be sent to... erik@ucar.edu .