Building WRF and WPS with the Intel® Compilers on Linux and improving performance on Intel® architecture.

The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale numerical weather prediction system designed to serve both operational forecasting and atmospheric research needs. It features multiple dynamical cores, a 3-dimensional variational (3DVAR) data assimilation system, and a software architecture allowing for computational parallelism and system extensibility. WRF is suitable for a broad spectrum of applications across scales ranging from meters to thousands of kilometers.
This description was taken from The Weather Research&Forecasting Model Website.

There are four main WRF building modes:

  • for serial execution (serial);
  • for parallel execution on symmetric multiprocessing (SMP) systems with OpenMP environment (smpar);
  • for distributed execution with MPI environment (dmpar);
  • for hybrid execution with MPI and OpenMP environment (dm+sm).

Building of the WRF for Linux* is officially supported by this compilers list:

To help with WRF building on Linux* with Intel Compilers and improving performance on Intel® Architecture Intel provides these knowledge base articles:

Although each article refers to a specific version of WRF, any version may be built in any of the above modes using the Intel compiler.

Intel provides the following knowledge base article for building on Linux* the WRF Preprocessing System (WPS) with Intel compilers:
Building the WPS with Intel® Fortran Compilers on Linux* for serial mode execution.

For more complete information about compiler optimizations, see our Optimization Notice.

1 comment

anonymous's picture

I've tried to compile WRF/WPS 3.4 and 3.4.1 with the Intel compiler 11.0. It compiles fine. However, the program 'ungrib.exe' give wrong results (there are waves e.g. in UU on the JAN test case of the WRF web page). The other binaries seems to be o.k. With gcc everything is fine. I've tried several compiler options (e.g. -O0) to avoid problems due to optimization. However, I can't fix the problem. Does anyone observe the same problem or has a fix for it?

Add a Comment

Have a technical question? Visit our forums. Have site or software product issues? Contact support.