WRF/WPS 安装

安装准备

下载所有软件包的源代码并解压缩

WRF 4.1 使用 gcc 5 以下版本编译,会有一个 Can't find an intrinsic module named 'ieee_arithmetic' 的错误,官方已在 WRF 4.1.1 版本里修正此问题。

设置编译环境

加载编译器

module load openmpi/2.1.5

编译依赖软件包

安装 HDF5

hdf5 源代码目录运行以下命令来编译安装

CC=mpicc CXX=mpic++ FC=mpif90 F90=mpif90 \
./configure --prefix=/home/`whoami`/project/wrf/hdf5 \
--enable-parallel --enable-shared --enable-fortran

make

make install

设置环境变量

export HDF5=/home/`whoami`/project/wrf/hdf5
export PHDF5=$HDF5
export LD_LIBRARY_PATH=$HDF5/lib:$LD_LIBRARY_PATH
安装 Parallel NetCDF

pnetcdf 源代码目录运行以下命令来编译安装

CC=mpicc CXX=mpicxx FC=mpif90 F77=mpif90 F90=mpif90 \
./configure --prefix=/home/`whoami`/project/wrf/pnetcdf \
--enable-shared --enable-fortran --enable-large-file-test \
CFLAGS="-g -O2 -fPIC" \
CXXFLAGS="-g -O2 -fPIC" \
FFLAGS="-g -fPIC" \
FCFLAGS="-g -fPIC" \
F90LDFLAGS="-fPIC" \
FLDFLAGS="-fPIC" \
LDFLAGS="-fPIC"

make

make install

设置环境变量

export PNETCDF=/home/`whoami`/project/wrf/pnetcdf
export LD_LIBRARY_PATH=$PNETCDF/lib:$LD_LIBRARY_PATH
安装 NetCDF C

设置一个参数

export WRFIO_NCD_LARGE_FILE_SUPPORT=1

netcdf-c 源代码目录运行以下命令来编译安装

CC=mpicc CXX=mpic++ FC=mpif90 F90=mpif90 \
./configure --prefix=/home/`whoami`/project/wrf/netcdf \
--enable-fortran --disable-static --enable-shared \
--with-pic --enable-parallel-tests -enable-pnetcdf \
--enable-large-file-tests --enable-largefile \
CFLAGS="-I$HDF5/include -I$PNETCDF/include" \
CPPFLAGS="-I$HDF5/include -I$PNETCDF/include" \
CXXFLAGS="-I$HDF5/include -I$PNETCDF/include" \
FCFLAGS="-I$HDF5/include -I$PNETCDF/include" \
FFLAGS="-I$HDF5/include -I$PNETCDF/include" \
LDFLAGS="-L$HDF5/lib -L$PNETCDF/lib"

make

make install

设置环境变量

export NETCDF=/home/`whoami`/project/wrf/netcdf
export LD_LIBRARY_PATH=$NETCDF/lib:$LD_LIBRARY_PATH
安装 NetCDF Fortran

netcdf-fortran 源代码目录运行以下命令来编译安装

CC=mpicc CXX=mpic++ FC=mpif90 F90=mpif90 \
./configure --prefix=$NETCDF \
--disable-static --enable-shared --with-pic \
--enable-large-file-tests --enable-largefile \
CFLAGS="-I$HDF5/include -I$NETCDF/include" \
CPPFLAGS="-I$HDF5/include -I$NETCDF/include" \
CXXFLAGS="-I$HDF5/include -I$NETCDF/include" \
FCFLAGS="-I$HDF5/include -I$NETCDF/include" \
FFLAGS="-I$HDF5/include -I$NETCDF/include" \
LDFLAGS="-L$HDF5/lib -L$NETCDF/lib"

make

make install

安装 WRF

在 WRF 源代码目录,先运行清理命令

./clean -a

配置

./configure

选择 GNU 编译器的 (dmpar)

编辑 configure.wrf 文件

DM_CC 加入一个选项

-DMPI2_SUPPORT

编译

./compile em_real

安装 WRFDA

在 WRF 源代码目录,运行配置命令

./configure wrfda

选择 GNU 编译器的 (dmpar)

编译

./compile all_wrfvar

安装 WPS

在 WPS 源代码目录,先清理

./clean -a

配置

./configure

选择 GNU 编译器的 (dmpar)

编辑 configure.wps 文件

WRF_LIB 添加

-lnetcdff -lgomp

DM_FC 去掉

-f90

DM_CC 去掉

-cc

编译

./compile

安装 WRF-Hydro

WRF-Hydro 依赖于 HDF5netcdf-cnetcdf-fortran

独立安装模式

进入 WRF-Hydro 源代码目录,先清理

cd trunk/NDHMS
make clean

复制并根据需要编辑配置文件 setEnvar.sh

cp template/setEnvar.sh ./

配置

./configure

选择 gfortran

删去 macros 文件的最后一行

编译

./compile_offline_NoahMP.sh setEnvar.sh

或者

./compile_offline_Noah.sh setEnvar.sh

results matching ""

    No results matching ""