![]() ![]() |
MM5
The Distributed Memory (DM) Extension
Basic Information:
downloading, compiling, and running
Overview
Beginning with Version 2.8 of MM5 (March, 1998) users may download additional components that support execution of the model on distributed memory (DM) parallel machines. The DM option to MM5 has been implemented so that users who do not wish to run on these types of machines may simply download and build the model as before without downloading the additional components for the DM option. Further, all additional components for the DM option reside in a new directory, MPP, within the top-level MM5 source directory and this MPP directory need exist only if the DM extension is to be employed. Therefore, the first step to obtaining and building the model for a distributed-memory parallel machine is to obtain and unarchive the main model distribution file (a compressed UNIX tar archive file) into a directory. Then, a secondary DM-specific distribution file (also a compressed UNIX tar archive file) is unarchived, creating the MPP directory. Subsequent to downloading, uncompressing, and unarchiving the main model and the DM-specific components, the model may be compiled and run. The first section of this page provides details and step by step instructions for downloading and unarchiving the main model and DM-specific components. The next section describes configuration and compilation of the model. This is followed by a section with information on running the model on a distributed memory parallel machine.
Additional sources of information on the DM-parallel option to MM5 include the on-line Helpdesk, which is an archive of support email, the Tips and Troubleshooting page, and the Benchmarking page.
The instructions on this page are updated for MM5 Version 3. For the older MM5 Version 2 instructions please click here.
Downloading
All the standard job decks and source code tar files needed to run the MM5 model and its pre- and post- processors are available via anonymous ftp to ftp://ftp.ucar.edu/mesouser/MM5V3. The model and the additional code for the DM-parallel option are distributed in two archive files:
MPP.TAR.gz, the MPP directory and contents comprising the DM option to MM5.
If you intend to run the model on a distributed-memory parallel computer using the DM-option, download both these files onto your local machine using the URL listed above or from ftp.ucar.edu using the anonymous ftp. If you are using ftp directly, be sure to type "bin" at the ftp prompt before downloading, to make certain that the files are transferred in binary format. Otherwise, you may be unable to uncompress and unarchive the files.
% cd MM5
% gzip -d -c ../MPP.TAR.gz | tar xf -
Configuration and Compilation
Configuring, compiling, and running the model with the distributed-memory parallel option involves the following steps:
Except for Section 7, the configure.user file that is distributed with the model is set up already for the "Storm of the Century" case whose data is available in the ftp TESTDATA directory. A configure.user file is provided with the largedomain case, with the following case-specific settings:
MAXNES = 1
MIX = 200
MJX = 250
MKX = 27
Note that MM5 Version 3 is distributed with a configure.user.linux file but this is not intended for use with the DM-parallel option. Use the settings in the appropriate subsection of Section 7 in the configure.user file for Linux Beowulf clusters of PCs.
VERY IMPORTANT: once the DM-parallel version has installed in a directory it will not compile properly if moved or copied to another location without first uninstalling and allowing the code to reinstall itself in the new location. This is because there are certain absolute directory paths that are set up during installation; moving the model invalidates these paths. It is simple to uninstall the model by simply typing "make uninstall." To rebuild the code in a different configuration when it hasn't been moved from it's installed location, it is sufficient to type "make mpclean".
There is additional discussion of compilation issues for the DM-parallel version of the code at the end of this page.
The original purpose of the mm5.deck in MM5 was to generate the namelist (mmlif) file, set up links to data files, and then execute the model and non-DM parallel users may still use it this way. However, because file systems, run commands, and queuing mechanisms vary from installation to installation, the mm5.deck files that are generated for DM-parallel platforms do little more than generate the namelist. Even then, the mm5.deck file created by "make mm5.deck" may still need to be edited to accomplish your specific run. In particular, length of the run in minutes (TIMAX), the length of the model time step in seconds (TISTEP), output frequency in minutes (TAPFRQ), whether to write model restarts (IFSAVE), the run time size of your domain(s) (NESTIX, NESTJX), their spatial location (NESTI, NESTJ), and time to start and end (XSTNES, XENNES) may need to be changed either in the mm5.deck or in the mmlif namelist file that results from executing the mm5.deck.
The mm5.deck generated by default (with the configure.user file that is distributed with the model) is suitable for use with the Storm of the Century case data. The largedomain data case comes with an mm5.deck already included, however, in this case it may be necessary to edit the resulting mmlif file to change occurrances of the Fortran-77 style "&END" to the Fortran-90 style "/" delimiters (IBM).
mm5.mpp | Executable file |
BDYOUT_DOMAIN1 | Copy of or symbolic link to lateral boundary conditions file |
mmlif | Copy of or symbolic link to mmlif namelist file |
LOWBDY_DOMAIN1 | Lower boundary conditions |
LANDUSE.TBL | Land surface properties (distributed with MM5) |
MMINPUT_DOMAIN1 | Initial conditions file for coarse domain |
MMINPUT_DOMAIN[2-9]
TERRAIN_DOMAIN[2-9] |
Initial
conditions (IOVER=1)
Terrain file (IOVER=2) for nests |
MMINPUT2_DOMAIN1 | Used only for FDDA on IBM, a copy of MMINPUT_DOMAIN1 |
restrts | Directory for restart files (only needed if using restarts) |
Run the parallel model using the command for your system. Many parallel machines will use some version of the mpirun command. Here are some examples:
mpirun -pf process.file
mpirun -np 16 -machinefile machines mm5.mpp
MMOUT_DOMAIN1 | Output files from coarse domain |
MMOUT_DOMAIN[2-9] | Output files from nests |
rsl.out.0000 | Standard output from processor zero |
rsl.out.0001, rsl.out.0002, … | Standard output from other processors |
rsl.error.0000 | Standard error from processor zero |
rsl.error.0001 | Standard error from other processors |
Some additional notes on compilation
As with the non-distributed memory versions of the model, the distributed-memory version is compiled using the UNIX make utility and controlled by settings within the configure.user file in the main MM5 directory. This section provides some additional detail that may be helpful in working with the DM-parallel model.
Command: make mpp
The "make mpp" command builds (compiles) the model based on the settings in the configure.user file and places the resulting executable, mm5.mpp, in the directory named Run in the top-level MM5 directory. The first time after unarchiving the MM5.TAR.gz and MPP.TAR.gz files into the MM5 directory, the "make mpp" command installs software needed by the DM version in the directory named MPP in the MM5 directory prior to building the model. It also sets up the MPP/build directory and creates symbolic links to MM5 source files in the other directories of the MM5 source tree. The DM code is compiled only in the MPP/build directory, not in the various subdirectories of the MM5 source tree, where the non-DM version is compiled. This, and the fact that the executable file has a different name from the non-DM version, allows both the DM and non-DM versions of the model to be compiled and coexist within the same MM5 directory. Subsequent invocations of "make mpp" will only recompile the model and not reinstall the MPP software.
Prior to compilation, the MPP/build directory will contain a Makefile.RSLand a large number of files, actually symbolic links, with names that end in .F and a few that end in .c .
Copyright © UCAR 1997 - Disclaimer - mmminfo@ncar.ucar.edu
Last Modified: 24 Nov 1997