MM5 mpp compiling problem with pgf90

jyg,

Where did you get your source? Here is what I did for 32-bit compile with 6.1-7 compilers, assume you have your own MPI. I compile on SUSE90 which has Kernel 2.4.21-102-default. It should not make any difference from your OS.

  1. Go to ftp://ftp.ucar.edu/mesouser/MM5V3
  2. Download MM5.TAR.gz and MPP.TAR.gz
  3. Untar them as follow:-
    % gzip -d -c MM5.TAR.gz | tar xf -
    % cd MM5
    % gzip -d -c …/MPP.TAR.gz | tar xf -
  4. Edit MPP/FLIC/FLIC/flic.csh to remove +0 +1 at line 211 as Mat recommended.
  5. Edit configure.user, uncomment lines 778:801. Below is example, make sure you set LINUX_MPIHOME and LOCAL_LIBRARIES correctly.

RUNTIME_SYSTEM = “linux”
MPP_TARGET=$(RUNTIME_SYSTEM)

edit the following definition for your system

LINUX_MPIHOME = /opt/pgi/linux86/6.1/
MFC = $(LINUX_MPIHOME)/bin/mpif90
MCC = $(LINUX_MPIHOME)/bin/mpicc
MLD = $(LINUX_MPIHOME)/bin/mpif90
FCFLAGS = -O2 -Mcray=pointer -Mnoframe -byteswapio
LDOPTIONS = -O2 -Mcray=pointer -Mnoframe -byteswapio
LOCAL_LIBRARIES = -L$(LINUX_MPIHOME)/lib -lfmpich -lmpich
MAKE = make -i -r
AWK = awk
SED = sed
CAT = cat
CUT = cut
EXPAND = expand
M4 = m4
CPP = /lib/cpp -C -P -traditional
CPPFLAGS = -DMPI -Dlinux -DSYSTEM_CALL_OK
CFLAGS = -DMPI -I$(LINUX_MPIHOME)/include
ARCH_OBJS = milliclock.o
IWORDSIZE = 4
RWORDSIZE = 4
LWORDSIZE = 4

  1. Set Path to 32-bit 6.1 PGI compilers.
  2. Type: make mpp

Hope this helps,
Hongyon