This version is from 2015. Look for the latest version available at NCI at this page.

Foreword


This document is intended to serve as a handy reference for new users in building and running the WRF and WPS on the RAIJIN cluster at NCI without the need of making site-specific modification to WRF and WPS.
This document is only valid from version 3.7.1 of WRF. Please refer to the old installation page for older versions.

Source Code


The source code tar files of WRF and WPS (V3.7.1) have been downloaded and placed in the subdirectory /projects/WRF/Downloads on the RAIJIN cluster. The uncompressed source code for V3.7.1 of WRF and WPS, which have been ported to build on RAIJIN cluster, is located in the subdirectory /projects/WRF/WRFV_3.7.1.

Prerequisites


Get an NCI account, please refer to the Induction page of this wiki for instructions.
Check the loaded modules and you should already have the Intel compilers and OpenMPI loaded, run:
module list -l
- Package -----------------------------+- Versions -+- Last mod. ------
Currently Loaded Modulefiles:
pbs                                                  2013/05/13 0:17:55
dot                                                  2008/11/25 19:24:19
intel-fc/12.1.9.293                                  2013/08/02 3:40:39
intel-cc/12.1.9.293                                  2013/08/02 3:47:33
openmpi/1.6.3                                        2013/04/02 4:20:55
Load the required netcdf module if missing, run:
module load netcdf/4.3.3.1
If configuring to build GRIB2 support, run (tcsh):
setenv JASPERINC /usr/include
setenv JASPERLIB /usr/lib64
or in bash
export JASPERINC=/usr/include
export JASPERLIB=/usr/lib64
To enable large file support in NetCDF (This installation of NetCDF supports large file support), run(tcsh):
setenv WRFIO_NCD_LARGE_FILE_SUPPORT 1
or in bash:
export WRFIO_NCD_LARGE_FILE_SUPPORT=1
Clone the WRF repository to your own space under /short:
cd /short/$PROJECT/$USER/
git clone /projects/WRF/WRFV_3.7.1

Building WRF (ARW)


Go to the WRFV3/ subdirectory, run:
cd /short/$PROJECT/$USER/WRFV_3.7.1/WRFV3/
Start with a clean installation before compiling WRF, run:
./clean -a
Configure and compile WRF, run:
./run_compile
You will be given four choices using Intel compiler. These choices range from compiling for a single processor job (serial), OpenMP shared-memory (smpar), to using distributed-memory (dmpar) or distributed Memory with shared memory (dm+sm).
Please select from among the following Linux x86_64 options:
1. (serial)   2. (smpar)   3. (dmpar)   4. (dm+sm)   INTEL (ifort/icc)
Enter selection [1-4] :
Once an option is selected from above, a choice of what type of nesting (no nesting (0), basic (1), pre-set moves (2), or vortex following (3)) will be given.
Compile for nesting? (1=basic, 2=preset moves, 3=vortex following) [default 1]:
A file configure.wrf should be created after configuring has completed.
Then a compilation script, called wrf_compile, is submitted to the job queue by the run_compile script.

After a successful build, one should see the following executable files for WRF (the ARW core):
[abc123@raijin3 WRFV3]$ ls -l main/*.exe
 
-rwx------ 1 abc123 wrf 35559897 Aug 22 17:14 main/ndown.exe
-rwx------ 1 abc123 wrf 35471615 Aug 22 17:14 main/real.exe
-rwx------ 1 abc123 wrf 35081246 Aug 22 17:14 main/tc.exe
-rwx------ 1 abc123 wrf 38763058 Aug 22 17:13 main/wrf.exe

Building WPS


Go to the WPS/ subdirectory, run:
cd /short/$PROJECT/$USER/WRF/WRFV_3.7.1/WPS/
Start with a clean installation before compiling WPS, run:
clean -a
Run run_compile:
./run_compile
You will be given four choices using Intel compiler.
Please select from among the following build methods.
1. Linux x86_64, Intel compiler (serial)
2. Linux x86_64, Intel compiler (serial_NO_GRIB2)
3. Linux x86_64, Intel compiler (dmpar)
4. Linux x86_64, Intel compiler (dmpar_NO_GRIB2)
Enter selection [1-4] :
Choose one of options from above.

A file configure.wps should be created after configuring has completed. Then the run_compile script will send a compilation job, called wps_compile, to the queue.
After a successful build, one should see the following executable files:
[abc123@raijin3 WPS]$ ls -l *.exe
 
lrwxrwxrwx 1 abc123 wrf 23 Aug 23 10:19 geogrid.exe -> geogrid/src/geogrid.exe
lrwxrwxrwx 1 abc123 wrf 23 Aug 23 10:20 metgrid.exe -> metgrid/src/metgrid.exe
lrwxrwxrwx 1 abc123 wrf 21 Aug 23 10:20 ungrib.exe -> ungrib/src/ungrib.exe
[abc123@raijin3 WPS]$ ls -l */src/*.exe
 
-rwx------ 1 abc123 wrf 3412782 Aug 23 10:19 geogrid/src/geogrid.exe
-rwx------ 1 abc123 wrf 3206974 Aug 23 10:20 metgrid/src/metgrid.exe
-rwx------ 1 abc123 wrf 1209622 Aug 23 10:20 ungrib/src/g1print.exe
-rwx------ 1 abc123 wrf 1407507 Aug 23 10:20 ungrib/src/g2print.exe
-rwx------ 1 abc123 wrf 2169010 Aug 23 10:20 ungrib/src/ungrib.exe
-rwx------ 1 abc123 wrf 1184660 Aug 23 10:20 util/src/avg_tsfc.exe
-rwx------ 1 abc123 wrf 1250303 Aug 23 10:20 util/src/calc_ecmwf_p.exe
-rwx------ 1 abc123 wrf 1217842 Aug 23 10:20 util/src/height_ukmo.exe
-rwx------ 1 abc123 wrf  953821 Aug 23 10:20 util/src/int2nc.exe
-rwx------ 1 abc123 wrf 1118699 Aug 23 10:20 util/src/mod_levs.exe
-rwx------ 1 abc123 wrf 3704627 Aug 23 10:20 util/src/plotfmt.exe
-rwx------ 1 abc123 wrf 3409302 Aug 23 10:20 util/src/plotgrids.exe
-rwx------ 1 abc123 wrf 916613 Aug 23 10:20 util/src/rd_intermediate.exe
Note that there are some warnings in the build output like warning: overriding commands for target `.c.o'. These are harmless and can be ignored.

Tests run


Compilation

  • WRF compilation with dmpar
  • WRF compilation with dm+sm
  • WRF-Chem compilation with dmpar
  • WPS compilation with dmpar_NO_GRIB2 with dmpar compilation of WRF
  • WPS compilation with dmpar_NO_GRIB2 with dm+sm compilation of WRF

Tests simulations

  • First tutorial case (Jan 00) with 1 nest
  • First tutorial case (Jan 00) with 2 nests