This guide is intended to help build and run the PSU/NCAR mesoscale model (known as MM5) using PGI 5.1 and 5.2 compilers on 64-bit Linux.
This guide was created for the PSU/NCAR mesoscale model (MM5) version 3 release 6 and the PGI Release 5.1-6 64-bit Fortran 90 compiler (pgf90) on a system running 64-bit Linux. The guide was updated on July 14, 2004 for the PGI 5.2 compilers.
Information about the PSU and National Center of Atmospheric Research's MM5 program can be found at the MM5 Community Model home page.
From the MM5 Community Model Homepage:
"The PSU/NCAR mesoscale model (known as MM5) is a limited-area, nonhydrostatic, terrain-following sigma-coordinate model designed to simulate or predict mesoscale atmospheric circulation. The model is supported by several pre- and post-processing programs, which are referred to collectively as the MM5 modeling system. The MM5 modeling system software is mostly written in Fortran, and has been developed at Penn State and NCAR as a community mesoscale model with contributions from users worldwide. The MM5 modeling system software is freely provided and supported by the Mesoscale Prediction Group in the Mesoscale and Microscale Meteorology Division, NCAR."
The source for MM5 can be obtained from NCAR by downloading the gzip'd tar file MM5.TAR.gz.
No known dependencies.
Once unpacked, please read the enclosed README file for general configuration information. If unfamiliar with MM5, we also suggest reading UCAR's MM5 User's Guide.
We have provided an example configuration file for use with 64-bit pgf90. Be sure to save this file as "configure.user" in your MM5 directory. Feel free to modify as needed, however the "-Mbyteswapio", "-Mnosgimp", and "-DDEC_ALPHA" compilation options are required.
Steps to build MM5
-
Type "make" from the command line to build the libraries and mm5 executable.
-
Type "make mm5.deck" from the command line to create the deck according to the RUNTIME_SYSTEM
-
To run MM5 you will need a data set. UCAR provides a sample data set, input2mm5.tar.gz, for testing your installation. Unpack this file in the "MM5/Run" directory.
-
Edit the mm5.deck file as need for your data set. To use the sample data set, no editing is necessary.
-
To run the example data set, type the "mm5.deck" command. Note that MM5 can cause a stack overflow resulting in a segmentation violation during run time. If this occurs, try increasing the stack size to unlimited using the "unlimit" shell command. To view the stack size, use the "limit" shell command.
MM5 does not include a standard verification process.
-
A segmentation violation during execution is generally caused by the stack size being set too small. To increase the stack size, use the "limit" or "unlimit" shell commands.
-
Forgetting the "-Mbyteswapio", "-Mnosgimp", or "-DDEC_ALPHA" compilation options can cause a segmentation violation.
-
Using IPA with MM5 is difficult but does work. As with any library, an IPA library (IPL) must also be created so IPA information about this library can be determined. To build these libraries, add the "-Mipa=ipofile" to the compilation and link step of the library files. Once complete, you must then use the "ar" command to create the IPL from the resulting ".ipo" files. For example, if the library is called "libfoo.a" then use "ar ru libfoo.ipl *.ipo" for the IPL library. All programs that use this library can now be compiled and linked with IPA.