Building the WPS v.3 with Intel® Fortran Compilers on Linux* for serial mode execution


Introduction :
This document explains how to build the WRF Preprocessing System(WPS) v3.1.1 using the Intel® Fortran Compiler for Linux, for example, version 11.1.046.

Before you continue reading this article please check another article at /en-us/articles/building-the-wrf-with-intel-compilers-on-linux-and-improving-performance-on-intel-architecture.

Version : v3.1.1

Obtaining Source Code :
The source codes can be downloaded here. The input data for geogrid.exe can be downloaded here. The input data for ungrid.exe you can download here.

Prerequisites :
You should have installed:
1)The Weather Research & Forecasting(WRF) v3. WRF V3.1.1 installation BKM for Linux with Intel C++ and Fortran COMPILER v. 11.1 you can find here.
2)The Jasper library. Installation best know method with the Intel® Compilers you can find here.
3)The JPEG library. Installation best know method with the Intel® Compilers you can find here.
4)The Zlib  library. Installation best know method with the Intel® Compilers you can find here.
5)The NCAR Graphics* library. How to build with Intel® Compilers you can find here.

Environment Set Up :
You should set up environment variables for Intel® Fortran Compiler and netCDF. If you want to build distributed version of WPS then you should set up environment variables for Inte MPI.
E.g.
$export INTEL_COMPILER_TOPDIR="/opt/spdtools/compiler/cpro/Compiler/11.1/046"
$. $INTEL_COMPILER_TOPDIR/bin/intel64/ifortvars_intel64.sh
$export NETCDF=/opt/netcdf
$. /opt/intel/impi/3.2.1.009/bin64/mpivars.sh


Source Code Changes : none

Building the Application :
1)Copy/move tar file WPSV3.1.1.TAR.gz to the directory /opt.
2)Decompress source files
$tar -zxvf WPSV3.1.1.TAR.gz
.
3)Set up environment variables which are mentioned in section "Configuration Set Up".
4)Configure WPS
$./configure
NOTE from WPS README:
"
If the user is on a recognized architecture, the
configure script will display a list of available
compile options (usually serial vs parallel, Grib 2
enabled vs a "NO GRIB2" option).  For some OS options,
there are multiple compilers that are supported.
".
Before compile you should check variables
NCARG_ROOT
and
WRF_DIR
in the post-configure file “configure.wps”.
5)Compile WPS
$./compile
.
Running the Application :
1)
To test geogrid.exe in serial mode you should download workloads geog_v3.1.tar.gz (e.g. /opt/WPS/WPS_DATA). Then to decompress this tar file
$tar -zxvf geog_v3.1.tar.gz
.
Edit  namelist.wps file (which should be in the root WPS directory /opt/WPS):
In the section &geogrid you should change parameter  geog_data_path to path where geog_v3.1.tar.gz was decompressed(e.g. geog_data_path=/opt/WPS/WPS_DATA/geog_v3.1/geog).
Execute $ ./geogrid.exe.
When geogrid.exe has finished running, the message:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Successful completion of geogrid. !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2)
To test ungrid.exe in serial mode you should download workloads JAN00.tar.gz. Then decompress it(/opt/WPS/WPS_DATA):
$tar -zxvf JAN00.tar.gz
.
Run g1print utility:
$./util/g1print.exe ../WPS_DATA/JAN00/2000012412.AWIPSF
.
Link in the AWIP Vtable:
$ln -sf ungrib/Variable_Tables/Vtable.AWIP Vtable
.
Link in the GRIB data by making use of the script link_grib.csh:
$./link_grib.csh ../WPS_DATA/JAN00/2000012
.
Edit namelist.wps, and set the following:
start_date = '2000-01-24_12:00:00',
end_date = '2000-01-25_12:00:00',
interval_seconds = 21600,
Run ungrib to create the intermediate files:
$./ungrib.exe
After finishing you should get message:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Successful completion of geogrid.!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

3)
To test metgrid.exe you should run it:
$./metgrid.exe
After finishing you should get message:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Successful completion of geogrid.!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Known Issues or Limitations :
1)
If WPS should be built by Intel MPI then change variables FC and CC by
CC=mpiicc
FC=mpiifort
in the post-configure file “configure.wps”.
2)
In file namelist.wps variable max_dom =2 (by default). But for provided workload it should be equal 1:
max_dom =1.


Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.