WRF-Hydro编译与安装流程(Ubuntu)

一、设备环境说明

本设备环境:

操作系统:Windows11

虚拟机软件:Oracle VM VirtualBox 7.0

虚拟机系统:UbuntuOS 22.04

虚拟机配置:8核心,8G运行内存,50G存储空间,英文语言,用户名ling

注意:

  • 使用的部分指令如vim等,如果仍未安装请自行使用apt-get install安装。
  • 不同Linux系统指令和文件可能有所差异,本文仅供Ubuntu 22参考,跟随本文安装请注意替换用户名为自己的用户名。
  • 在文件处理时你可能会遇到权限拒绝问题,请确保你有超级用户权限,被权限拒绝的指令请添加sudo,或者运行:
su

输入密码,保证你在整个过程都以超级用户的身份运行指令。

二、预备操作

  1. 准备文件(主要用于管理文件,可选)

创建两个文件夹,一个sources用来存放源文件,一个apps用于安装,这两个文件夹也可以放到一个新的文件夹project里。

mkdir /home/ling/project
mkdir /home/ling/project/sources
mkdir /home/ling/project/apps

这样以后,我们可以把两个文件的路径作为两个变量保存起来,后面要使用时完全不用重新打一遍。

apps=/home/ling/project/apps
sources=/home/ling/project/sources

需要使用路径/home/ling/project/sources/sample时,用$sources/sample代替之,apps同理。

  1. 安装编译软件

需要安装gcc, g++, gfortran和make

sudo apt-get install gcc g++ gfortran make
  1. 准备安装包

准备mpich, zlib, hdf5, netcdf4的源文件,netcdf4需要安装c和fortran两个版本。这些源文件可以从以下链接下载:

mpich:

https://www.mpich.org/static/downloads/4.1.2/mpich-4.1.2.tar.gz

zlib:

https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/zlib-1.2.7.tar.gz

hdf5:

https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.12/hdf5-1.12.2/src/hdf5-1.12.2.tar.gz

netcdf4-c:

https://downloads.unidata.ucar.edu/netcdf-c/4.9.2/netcdf-c-4.9.2.tar.gz

netcdf4-fortran:

https://downloads.unidata.ucar.edu/netcdf-fortran/4.6.1/netcdf-fortran-4.6.1.tar.gz

使用wget即可下载:

wget -P $sources url #将url换成上述链接

指令运行样例:

在这里插入图片描述
这里我使用windows下载后通过共享文件夹上传到文件夹里,再移动到project文件夹里。

全部下载后,一共5个文件,文件目录示意图如下:
请添加图片描述

三、安装依赖库

进入sources目录,按顺序安装mpich, zlib, hdf5, netcdf4,下文将使用变量apps,如果未声明这个变量,应该在此之前声明为对应的位置,或者在使用时手动替换它。

另外,zlib、hdf5是netcdf4的依赖库,我们将这三个库都安装在apps/netcdf下,mpich安装在apps/mpich下。

  1. 安装mpich

解压源文件,可以手动输入文件路径,或者使用通配符 * 来减少输入,不过tar一次只解压一个文件,应该保证只和一个文件匹配。例如netcdf4*将匹配到netcdf4-c和netcdf4-fortran两个文件,tar指令将报错。

tar zxf mpich-4.1.2.tar.gz
tar zxf mpich* #两者运行一个即可

进入解压后的目录里,设置安装路径,然后编译并安装:

./configure --prefix=$apps/mpich
make
make install

编译和安装时间可能会很长,请耐心等待(后面几个依赖库也是)。
请添加图片描述

由于过程漫长,输出繁多,不再给出具体输出图

  1. 安装zlib

跟前面一样,解压后进入目录,运行:

./configure –prefix=$apps/netcdf
make
make install
  1. 安装hdf5

跟前面一样,解压缩后进入目录,运行:

./configure --prefix=$apps/netcdf --with-zlib=$apps/netcdf --enable-fortran --enable-cxx
make
make install
  1. 安装netcdf4

跟前面一样,解压缩后进入目录安装netcdf4-c,在编译之前,先写入一些环境变量:

export CPPFLAGS=-I/$apps/netcdf/include
export LDFLAGS=-L/$apps/netcdf/lib

然后再配置并编译、安装:

./configure --prefix=$apps/netcdf --with-hdf5=$apps/netcdf --disable-dap
make
make install

解压缩后进入目录安装netcdf4-fortran:

./configure --prefix=$apps/netcdf --with-hdf5=$apps/netcdf --disable-dap
make
make install

完成安装后apps文件夹示意图:
请添加图片描述

  1. 编辑环境变量

将mpich、hdf5、netcdf写入到环境变量,让wrf安装时可以获取。

首先使用vim编辑.bashrc

vim ~/.bashrc

按a进入编辑,添加这几行到末尾,然后按Esc结束编辑,再输入冒号,输入wq保存并退出:

export PATH=/home/ling/project/apps/netcdf/bin:$PATH
export PATH=/home/ling/project/apps/mpich/bin:$PATH
export NETCDF=/home/ling/project/apps/netcdf
export LD_LIBRARY_PATH=/home/ling/project/apps/netcdf/lib:$LD_LIBRARY_PATH
export LD_LIBRARY=/home/ling/project/apps/netcdf/lib:$LD_LIBRARY_PATH

如果有GUI界面,也可以找到/home/ling/.bashrc,使用文本编辑器编辑,如果使用了root模式,则应该修改/root/.bashrc文件,记得把显示隐藏文件打开才能找到这个文件。
在这里插入图片描述

运行以下命令,更新环境变量:

source ~/.bashrc

四、安装WRF-Hydro

  1. 下载wrf-hydro的源码

wrf-hydro 5.2.0: https://github.com/NCAR/wrf_hydro_nwm_public/archive/refs/tags/v5.2.0.tar.gz

下载后跟前面一样解压,进入解压后的目录下的/trunk/NDHMS。

  1. 编辑配置文件

将配置文件拷贝出来,可以使用以下指令,或者手动拷贝文件(如果有GUI界面):

cp template/setEnvar.sh ./

请添加图片描述

然后使用vim编辑配置文件:

vim setEnvar.sh

将这一行添加到末尾

export WRFIO_NCD_LARGE_FILE_SUPPORT=1

请添加图片描述

然后更新:

source setEnvar.sh
  1. 编译和安装

运行:

./configure

请添加图片描述
输入2,然后回车即可。

接着开始安装,运行:

./compile_offline_NoahMP.sh setEnvar.sh

出现以下结果说明安装成功:
请添加图片描述
可以在Run目录下看到生成的文件:
请添加图片描述
至此,WRF-Hydro安装完毕。

参考资料:

[netcdf-c-4.8.0及netcdf-fortran4.5.3安装笔记-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值