Compiling WRF on XeonEM64T

I’m trying to compile WRFV2.0.3.1 with the 6.0 compiler on a dual XeonEM64T machine running 64-bit FC2.

If I use the standard version of configure.defaults then I only have one configure option - Single threaded, no nesting. After looking through the forums here, I found reference to this page;

http://www.pgroup.com/resources/wrf/arch.pgi.wrfv2

which gives the options of OpenMP and Mpich configurations. However, if I choose either of these then I get the following error;

IPA inhibited: no main routine
/usr/bin/ld: …/frame/internal_header_util.o: No such file: No such file or directory
child process exit status 1: /usr/bin/ld
make[1]: [em_wrf] Error 2 (ignored)

I wondered if that should be …/frame/**module_**internal_header_util.o as in the standard Single threaded, no nesting option. Changing it to that compiles successfully but when I try to run a nested domain I get a complaint that I need to use an MPI executable.

Any suggestions would be much appreciated.

Cheers

Graham

Hi Graham,

The WRF configuration file we posted is for the 2.0.2 version. It appears that the authors have indeed changed the name of ‘internal_header_util’ to ‘module_internal_header_util’ with the 2.0.3.1 version. As you noted, with this change WRF should compile correctly.

With the MPI error, how are you running the program? Do you use mpirun? Did you build the OpenMP version? Being on a dual cpu system you most likely want the OpenMP version and then set ‘OMP_NUM_THREADS’ to 2 before you run.

Thanks,
Mat

Sorry for not replying sooner but I’m away from the office for the next week. I did try to run the OpenMP version and also set the number of threads but without success. I was really just trying the MPICH version to see if that worked either.

Do you have configuration options for 2.0.3.1?

Cheers

Graham

Hi Graham,

I took the 2.0.2 arch configuration file, changed “internal_header_util.o” to “module_internal_header_util.o”, and removed “-Mipa=fast,inline,safe”. I then configured, compiled, and ran without problems the em_b_wave idealized case with both 2 and 4 threads.

While IPA is mostly likely not a problem (I removed it simply because it takes a lot longer to build), it is possible that it is interfering with your run. If it still doesn’t work, try re-building without optimization, “-O0” instead of “-fastsse”, to see if we have a optimization problem. If it still doesn’t run correctly, it’s most likely an issue with your environment or set-up.

  • Mat

Thanks for the help.

I did get errors saying that it couldn’t compile properly with IPA - not sure of the exact error as I am still away from my work pc.

I will try your suggestions when I get back.

Cheers

Graham