compiling problem with WRFV3


When I compile WRFV3 with pgf90,I got this error massage below

mpif90 -f90=pgf90 -c -r4 -i4 -O0 -w -Mfree -byteswapio -I…/dyn_em -I…/dyn_nmm -module /home/liliknn/Program/WRFV3/main -I/home/liliknn/Program/WRFV3/external/esmf_time_f90 -I/home/liliknn/Program/WRFV3/main -I/home/liliknn/Program/WRFV3/external/io_netcdf -I/home/liliknn/Program/WRFV3/external/io_int -I/home/liliknn/Program/WRFV3/frame -I/home/liliknn/Program/WRFV3/share -I/home/liliknn/Program/WRFV3/phys -I/home/liliknn/Program/WRFV3/chem -I/home/liliknn/Program/WRFV3/inc module_comm_dm.f90
pgf90-Info-Switch -fast forces -O2
pgf90-Fatal-/home/liliknn/Program/PGI/linux86/7.1-6/bin/newcg/pgf901 TERMINATED by signal 9
Arguments to /home/liliknn/Program/PGI/linux86/7.1-6/bin/newcg/pgf901
/home/liliknn/Program/PGI/linux86/7.1-6/bin/newcg/pgf901 module_comm_dm.f90 -opt 2 -terse 1 -inform severe -nohpf -nostatic -x 119 0x100000 -x 19 0x400000 -x 59 4 -x 15 2 -x 49 0x400004 -x 51 0x20 -x 57 0x4c -x 58 0x10000 -x 124 0x1000 -x 57 0xfb0000 -x 58 0x78031040 -x 70 0x6c00 -x 47 0x400000 -x 48 3328 -stdinc /home/liliknn/Program/PGI/linux86/7.1-6/include:/usr/local/include:/usr/lib/gcc/i386-redhat-linux/4.3.0/include:/usr/lib/gcc/i386-redhat-linux/4.3.0/include:/usr/include -def unix -def __unix -def unix -def linux -def __linux -def linux -def i386 -def __i386 -def i386 -def __NO_MATH_INLINES -def linux86 -def __THROW= -def extension= -def SSE -def MMX -def SSE2 -def SSE3 -idir …/dyn_em -idir …/dyn_nmm -idir /home/liliknn/Program/WRFV3/external/esmf_time_f90 -idir /home/liliknn/Program/WRFV3/main -idir /home/liliknn/Program/WRFV3/external/io_netcdf -idir /home/liliknn/Program/WRFV3/external/io_int -idir /home/liliknn/Program/WRFV3/frame -idir /home/liliknn/Program/WRFV3/share -idir /home/liliknn/Program/WRFV3/phys -idir /home/liliknn/Program/WRFV3/chem -idir /home/liliknn/Program/WRFV3/inc -idir /home/liliknn/Program/MPICH2/include -idir /home/liliknn/Program/MPICH2/include -freeform -i4 -x 125 2 -vect 48 -x 53 2 -y 124 0x8 -freeform -moddir /home/liliknn/Program/WRFV3/main -output /tmp/pgf90n2IbNrN-HRuy.ilm
make[2]: [module_comm_dm.o] error 127 (ignored)

My system is Fedora 9 32bit
MPICH2 1.0.8
4*P4 3.0G HT

Can you help me?


Hi liliknn,

A signal 9 means the process was killed by a user or by the OS. I’ve seen the OS kill processes that use too much memory but pgf901 only uses about 170Mb when compiling this file.

Does this error occur consistently? Do you have other processes running? What are your limits (in csh ‘limit’)?

  • Mat

Hello Mat,

thanks for your hint.I have tried 3 or 4 times,everytime it is the same error.And the building progress lasts a very long time about 12-24 hours.

my limits are these below
[root@node1 ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 24552
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 1024
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
[root@node1 ~]#

I will set “ulimit -s unlimited” and try again.

And another problem is generally the same,but the error messages are different

rm -f module_comm_dm.o
/mirror/WRFDA/tools/standard.exe module_comm_dm.F > module_comm_dm.b
rm -f module_comm_dm.b
mpif90 -f90=pgf90 -c -r8 -i4 -O0 -w -Mfree -byteswapio -module /mirror/WRFDA/main -I/mirror/WRFDA/external/esmf_time_f90 -I/mirror/WRFDA/main -I/mirror/WRFDA/external/io_netcdf -I/mirror/WRFDA/external/io_int -I/mirror/WRFDA/frame -I/mirror/WRFDA/share -I/mirror/WRFDA/phys -I/mirror/WRFDA/chem -I/mirror/WRFDA/inc module_comm_dm.f90
pgf90-Info-Switch -fast forces -O2
PGF90-F-0007-Subprogram too large to compile at this optimization level (module_comm_dm.f90: 41502)
PGF90/x86 Linux 7.1-4: compilation aborted
make[2]: [module_comm_dm.o] error 2 (ignored)

It was captured when building WRF-var 3.0.1 code with PGI 7.14

Does this mean that I just need more physical memory?(Now it is 1.5G)

Hi liliknn,

And the building progress lasts a very long time about 12-24 hours

Your limits look ok, though you may want to increase your stack size to unlimited else WRF may get a stack overflow at runtime.

While WRFv3 does takes some time to build, 12-24 hours seems a bit much. On my 64-bit Core2 system it only takes about an hour. My guess is that you don’t have a lot of memory on this system and the compilers are swapping in memory (or just running out in the case of the signal 9). Do you have access to another system you could build on?

PGF90-F-0007-Subprogram too large to compile at this optimization level (module_comm_dm.f90: 41502)

This is a general message which basically means that the compiler ran out of memory.

Although you have “-O0” on the compile line, it appears that your mpif90 script automatically sets the “-fast” flag. Edit your mpif90 script and remove “-fast”. This should help reduce the amount of memory the compiler needs.

  • Mat

Hi Mat,

Thank you.I will try to build WRF on some other systems which have more physical memory.


I will suggest you do the following it might help to solve the problem

  1. try to use the older version of PGI 7.0.X has proved to compile WRF much better than 7.1.X
  2. to reduce time while compiling …, after run ./configure and before compiling edit the configure.wrf file and go to the line “FCOPTIM = -02 -fast” (in my pc is line Number 106) and remove the “-02 -fast” so as it will read " FCOPTIM = " (without ") this will somehow helps to reduce compilation time
  • Waniha

This is extremely useful, thank you for pointing this out, it could take quite sometime to find that. I hope it has helped other people as well