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

Submit New Article

August 9, 2009 9:00 PM PDT



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 http://software.intel.com/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(R) Compilers you can find here.

Environment Set Up :
You should set up environment variables for Intel(r) 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.




Do you need more help?


This article applies to: ISN General,   Parallel Programming,   Intel® C++ Compiler for Linux* Knowledge Base,   Intel® Fortran Compiler for Linux* Knowledge Base,   Intel® MPI Library for Linux* Knowledge Base