The Weather Research and Forecasting (WRF) Model is a next-generation mesoscale numerical weather prediction system designed for both atmospheric research and operational forecasting applications. It features two dynamical cores, a data assimilation system, and a software architecture supporting parallel computation and system extensibility. – WRF
A. Install perl, mpi, hdf5, netcdf using the package manager
##### If you want compile wrf with intel compiler, you should compile and install hdf5, netcdf and netcdf-fortran mannually as below.
B. Compiling hdf5 & netcdf manually
hdf5. Download hdf5 and unpack it to hdf5. Current versions are 1.8.20 and 1.10.1, and we choose the latest version.
1 2 3 4
module load mpi/mpich-x86_64 export HDF5=/usr/local ./configure --prefix=$HDF5 --enable-fortran=yes --enable-hl --enable-optimization=high --enable-parallel CFLAGS='-fPIC' make && make check && make install
netcdf and netcdf-fortran. Download netcdf and netcdf-fortran, and unpack them. Current version is 4.6.0 for netcdf and 4.4.4 for netcdf-fortran till 5/2/2018.
1 2 3 4 5 6 7 8 9
cd netcdf-4.6.0 #### XXX: If you install hdf5 into a non-standard location, remember to add $HDF5/include to $C_INCLUDE_PATH and $HDF4/lib to $LD_LIBRARY_PATH export NETCDF=/usr/local ./configure --prefix=$NETCDF --enable-dot --enable-fsync --enable-cdf5 LDFLAGS="-L$HDF5/lib" CPPFLAGS="-I$HDF5/include" make -j4 && make check && make install cd ../ cd netcdf-fortran-4.4.4 ./configure --prefix=/usr/local --enable-dot LDFLAGS="-L$HDF5/lib -L$NETCDF/lib" CPPFLAGS="-I$HDF5/include -I$NETCDF/include" ake -j4 && make check && make install
II. Compiling WRF
The latest release of WRF is 126.96.36.199 till now 5/2/2018. Download the WRF source code, and extract it to WRF
1 2 3 4 5 6 7
module load mpi/mpich-x86_64 #### If you didn't set NETCDF and HDF5 environment variables, set them to where they are installed. #export NETCDF=/usr/local #export HDF5=/usr/local export WRFIO_NCD_LARGE_FILE_SUPPORT=1 #### run ./configure ./configure
After run `./configure`, it will let us to choose which option to compile. Here we choose `35`, which `wrf` will use `mpi` and `openmp`.
After configure finished, we then can run ./compile wrf to compile WRF. Note that if one choose INTEL compiler with mpi and openmp, one might need to edit configure.wrf by changing -openmp to -qopenmp, or it will fail to compile.