在centos 7上安装wrf_hydro及其所需的依赖库
前言
本篇文章主要介绍如何在centos 7上安装wrf_hydro,并且安装完成后使用官网所给数据进行测试运行。
安装所需
- 系统: 一台纯净的centos 7环境
- 软件安装包:
zlib-1.2.13
,hdf5-1.13.2
,mpich-4.0.2
,netcdf-c-4.9.0
,netcdf-fortran-4.6.0
,wrf_hydro_nwm_public-5.2.0
- 模型运行测试数据
- 软件安装包以及测试数据下载地址:
https://pan.baidu.com/s/1Qzgsrv4IRq8v63Ru-Qvc5g?pwd=siro
安装前准备工作
- 检查gcc编译器
[root@VM-0-12-centos ~]# which gcc
/usr/bin/gcc
- 检查g++编译器
[root@VM-0-12-centos ~]# which g++
/usr/bin/g++
- 检查gfortran编译器
[root@VM-0-12-centos ~]# which gfortran
/usr/bin/gfortran
- 若系统内未安装以上所需的编译器可使用如下命令进行安装
安装之前可先更新yum:
yum update
更新完成后再进行安装所需的编译器
yum install gcc
yum install gcc-c++
yum install gcc-gfortran
完成编译器安装后再次进行更新yum:
yum update
安装依赖库及wrf_hydro
- 安装之前先编辑环境变量
可使用如下命令添加当前用户的环境变量:
vim ~/.bashrc
在 ~/.bashrc 环境变量文件内的最后一行添加下如下环境变量
#zlib_env
export INCLUDE=/home/wrfhydro/zlib/include:$INCLUDE
export LD_LIBRARY_PATH=/home/wrfhydro/zlib/lib:$LD_LIBRARY_PATH
#mpich_env
export PATH=/home/wrfhydro/mpich/bin:$PATH
export INCLUDE=/home/wrfhydro/mpich/include:$INCLUDE
export LD_LIBRARY_PATH=/home/wrfhydro/mpich/lib:$LD_LIBRARY_PATH
#hdf5_env
export PATH=/home/wrfhydro/hdf5/bin:$PATH
export INCLUDE=/home/wrfhydro/hdf5/include:$INCLUDE
export LD_LIBRARY_PATH=/home/wrfhydro/hdf5/lib:$LD_LIBRARY_PATH
#netcdf_env
export PATH=/home/wrfhydro/netcdf/bin:$PATH
export INCLUDE=/home/wrfhydro/netcdf/include:$INCLUDE
export LD_LIBRARY_PATH=/home/wrfhydro/netcdf/lib:$LD_LIBRARY_PATH
export NETCDF=/home/wrfhydro/netcdf
添加完成环境变量后需要使用source命令,source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。因为linux所有的操作都会变成文件的格式存在。
#更新~/.bashrc文件
source ~/.bashrc
- 安装zlib-1.2.13
tar zxvf zlib-1.2.13.tar.gz
cd zxvf zlib-1.2.13
./configure --prefix=/home/wrfhydro/zlib
make
make install
- 安装hdf5-1.13.2
tar zxvf hdf5-1.13.2.tar.gz
cd hdf5-1.13.2
./configure --prefix=/home/wrfhydro/hdf5 --with-zlib=/home/wrfhydro/zlib --enable-fortran --enable-cxx
make
make install
- 安装mpich-4.0.2
tar zxvf mpich-4.0.2.tar.gz
cd mpich-4.0.2
./configure --prefix=/home/wrfhydro/mpich
make
make install
- 安装netcdf-c-4.9.0
tar zxvf netcdf-c-4.9.0.tar.gz
cd netcdf-c-4.9.0
CPPFLAGS="-I/home/wrfhydro/zlib/include -I/home/wrfhydro/hdf5/include" LDFLAGS="-L/home/wrfhydro/zlib/lib -L/home/wrfhydro/hdf5/lib" ./configure --prefix=/home/wrfhydro/netcdf --disable-dap --enable-netcdf-4 --enable-netcdf4 --enable-shared
make
make install
- 安装netcdf-fortran-4.6.0
tar zxvf netcdf-fortran-4.6.0.tar.gz
cd netcdf-fortran-4.6.0
CPPFLAGS="-I/home/wrfhydro/netcdf/include" LDFLAGS="-L/home/wrfhydro/netcdf/lib" ./configure --prefix=/home/wrfhydro/netcdf
make
make install
- 安装wrf_hydro_nwm_public-5.2.0
tar zxfv wrf_hydro_nwm_public-5.2.0.tar.gz
cd wrf_hydro_nwm_public-5.2.0
cd trunk/NDHMS/template/
vim setEnvar.sh
修改该文件内容与如下内容相同:
#!/bin/bash
# WRF-Hydro compile time options
# This is a WRF environment variable. Always set to 1=On for compiling WRF-Hydro.
export WRF_HYDRO=1
# Enhanced diagnostic output for debugging: 0=Off, 1=On.
export HYDRO_D=0
# Spatially distributed parameters for NoahMP: 0=Off, 1=On.
export SPATIAL_SOIL=1
# RAPID model: 0=Off, 1=On.
export WRF_HYDRO_RAPID=0
# WCOSS file units: 0=Off, 1=On.
export NCEP_WCOSS=0
# NWM output metadata: 0=Off, 1=On.
export NWM_META=0
# Streamflow nudging: 0=Off, 1=On.
export WRF_HYDRO_NUDGING=0
#Large netcdf file support: 0=Off,1=On.
export WRFIO_NCD_LARGE_FILE_SUPPORT=1
切换至模型的NDHMS目录内
cd /home/wrfhydro/wrf_hydro_nwm_public-5.2.0/trunk/NDHMS/
./configure
此处输入 2 选择gfrot编译器
2
开始执行编译脚本
./compile_offline_NoahMP.sh template/setEnvar.sh
出现下列语句即为编译成功
*****************************************************************
Make was successful
*****************************************************************
导入测试数据进行测试运行
测试方法可查阅官方文档:
该文档源文件已在本文上方的下载地址内
注意事项:
直接使用mpirun -np 2 ./wrf_hydro.exe
命令出现Permission denied的错误:
[root@VM-0-12-centos test]# mpirun -np 2 ./wrf_hydro.exe
[proxy:0:0@VM-0-12-centos] HYDU_create_process (utils/launch/launch.c:73): execvp error on file ./wrf_hydro.exe (Permission denied)
[proxy:0:0@VM-0-12-centos] HYDU_create_process (utils/launch/launch.c:73): execvp error on file ./wrf_hydro.exe (Permission denied)
解决方案:
打开软件sftp连接上服务器后找到wrf_hydro.exe文件,并更改该文件权限:
完成修改后继续运行该命令mpirun -np 2 ./wrf_hydro.exe
若模型运行成功输入如下命令即可看见The model finished successfully的提示:
[root@VM-0-12-centos Gridded]# tail -1 diag_hydro.00000
The model finished successfully.......
下一章节即将展示计算结果文件的导出与可视化。