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 依赖于 HDF5
、netcdf-c
、netcdf-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