一、检查所需编译器是否完备
需要在编译器gcc,g++,gfortran下进行
which命令查找对于文件 gcc g++ gfortran
未安装的话,使用apt命令
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install gfortran
二、安装依赖库
1.mpich依赖库安装
Downloads | MPICH 下载mpich-4.1.2.tar.gz
利用finalshell传输压缩文件
解压缩进入对应文件目录
检查环境
make编译
make install安装
利用vim添加环境变量
source 更新环境变量
tar zxvf mpich-4.1.2.tar.gz
cd ./mpich-4.1.2
./configure --prefix=/home/linjunming/wrf-hydro/libraries/mpich
make
make install
vim ~/.bash_profile
export PATH=/home/linjunming/wrf-hydro/libraries/mpich/bin:$PATH
source ~/.bash_profile
2.zlib依赖库安装
https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/zlib-1.2.7.tar.gz
下载zlib
利用finalshell传输压缩文件
解压缩后进入对应文件目录
检查环境
make编译
make install安装
tar zxvf zlib-1.2.7.tar.gz
cd ./zlib-1.2.7
./configure --prefix=/home/linjunming/wrf-hydro/libraries/zlib
make
make install
3.hdf5依赖库安装
Index of /ftp/HDF5/releases/hdf5-1.12 下载hdf5
利用finalshell传输压缩文件
解压缩后进入对应文件目录
检查环境
make编译
make install安装
利用vim添加环境变量
source 更新环境变量
tar zxvf hdf5-1.12.2.tar.gz
cd ./hdf5-1.12.2
./configure --prefix=/home/linjunming/wrf-hydro/libraries/hdf5 --with-zlib=/home/linjunming/wrf-hydro/libraries/zlib --enable-fortran --enable-cxx
make
make install
vim ~/.bash_profile
export PATH=/home/linjunming/wrf-hydro/libraries/hdf5/bin:$PATH
export LD_LIBRARY_PATH=/home/linjunming/wrf-hydro/libraries/hdf5/lib:$LD_LIBRARY_PATH
4.netcdf-c依赖库安装
netCDF Downloads (ucar.edu) 下载 netcdf-c-4.4.1.1.tar.gz
利用finalshell传输压缩文件
解压缩后进入对应文件目录
设置一组临时变量
检查环境
make编译
make install安装
tar zxvf netcdf-4.4.1.1.tar.gz
cd ./netcdf-4.4.1.1
export LD_LIBRARY_PATH=/home/linjunming/wrf-hydro/libraries/zlib/lib:/home/linjunming/wrf-hydro/libraries/hdf5/lib:$LD_LIBRARY_PATH
export CPPFLAGS="-I/home/linjunming/wrf-hydro/libraries/zlib/include -I/home/linjunming/wrf-hydro/libraries/hdf5/include"
export LDFLAGS="-L/home/linjunming/wrf-hydro/libraries/zlib/lib -L/home/linjunming/wrf-hydro/libraries/hdf5/lib"
./configure --prefix=/home/linjunming/wrf-hydro/libraries/netcdf --disable-dap --enable-netcdf-4 --enable-netcdf4 --enable-shared
make
make install
5.netcdf-fortran依赖库安装
Release netCDF-Fortran 4.4.4 · Unidata/netcdf-fortran · GitHub下载netcdf-fortran-4.4.4.tar.gz
利用finalshell传输压缩文件
解压缩后进入对应文件目录
设置一组临时变量
检查环境
make编译
make install安装
tar zxvf netcdf-fortran-4.4.4.tar.gz
cd ./netcdf-fortran-4.4.4
export LD_LIBRARY_PATH=/home/linjunming/wrf-hydro/libraries/netcdf/lib:/home/linjunming/wrf-hydro/libraries/zlib/lib:/home/linjunming/wrf-hydro/libraries/hdf5/lib$LD_LIBRARY_PATH
CPPFLAGS="-I/home/linjunming/wrf-hydro/libraries/netcdf/include" LDFLAGS="-L/home/linjunming/wrf-hydro/libraries/netcdf/lib"
./configure --prefix=/home/linjunming/wrf-hydro/libraries/netcdf
make
make install
利用vim添加环境变量
source 更新环境变量
vim ~/.bash_profile
export NETCDF=/home/linjunming/wrf-hydro/libraries/netcdf
export PATH=/home/linjunming/wrf-hydro/libraries/netcdf/bin:$PATH
export LD_LIBRARY_PATH=/home/linjunming/wrf-hydro/libraries/netcdf/lib:$LD_LIBRARY_PATH
source ~/.bash_profile
如果在netcdf-fortran编译过程中出现了type mismatch的问题
就把netcdf都升级到最新版本,再次编译,可以解决;或者将编译器版本,原gcc,gfortran-11版本太高,降为-9版本,也可解决问题。
GAMIT安装报错:Type mismatch / Rank mismatch_type mismatch between actual argument at (1) and a-CSDN博客
三、安装wrf-hydro
https://github.com/NCAR/wrf_hydro_nwm_public/archive/refs/tags/v5.2.0.tar.gz下载压缩包
利用finalshell传输压缩文件
解压缩后进入目录 ./wrf_hydro_nwm_public-5.2.0/trunk/NDHMS
复制环境变量文件 cp template/setEnvar.sh ./
编辑环境变量文件vim setEnvar.sh
加入 export WRFIO_NCD_LARGE_FILE_SUPPORT=1
允许大于2GIB的NetCDF输入输出文件
tar zxfv wrf_hydro_nwm_public-5.2.0.tar.gz
cd wrf_hydro_nwm_public-5.2.0/trunk/NDHMS
cp template/setEnvar.sh ./
vim setEnvar.sh
更新环境变量
检查环境后编译
source setEnvar.sh
./configure
./compile_offline_NoahMP.sh setEnvar.sh
出现下面情形表示编译成功
在Run目录下也可以找到对应exe文件
四、运行(数据测试)
下载数据测试包
利用finalshell传输压缩文件并解压缩
在wrf-hydro目录下创建测试数据存放目录
mkdir example_case && cd example_case
mkdir NWM
mkdir FORCING
mkdir Gridded_no_lakes
mkdir Reach
mkdir supplemental
mkdir Gridded && cd Gridded
mkdir DOMAIN
mkdir RESTART
将下载来的文件复制到对应文件目录下
cp -r example_case/FORCING/ /home/linjunming/wrf-hydro/example_case/Gridded
cp -r example_case/NWM/DOMAIN /home/linjunming/wrf-hydro/example_case/Gridded
cp -r example_case/NWM/RESTART /home/linjunming/wrf-hydro/example_case/Gridded
cp -r example_case/NWM/nudgingTimeSliceObs/ /home/linjunming/wrf-hydro/example_case/Gridded
cp -r example_case/NWM/namelist.hrldas /home/linjunming/wrf-hydro/example_case/Gridded
cp -r example_case/NWM/hydro.namelist /home/linjunming/wrf-hydro/example_case/Gridded
运行模型
cd ~/wrf/example_case/Gridded
mpirun -np 2 ./wrf_hydro.exe
查看模型运行是否成功
tail -1 diag_hydro.00000
配备资料