
WRF-Hydro编译与安装流程(Ubuntu)
一、设备环境说明本设备环境:操作系统:Windows11虚拟机软件:Oracle VM VirtualBox 7.0虚拟机系统:UbuntuOS 22.04虚拟机配置:8核心,8G运行内存,50G存储空间,英文语言,用户名lingsu输入密码,保证你在整个过程都以超级用户的身份运行指令。
一、设备环境说明
本设备环境:
操作系统:Windows11
虚拟机软件:Oracle VM VirtualBox 7.0
虚拟机系统:UbuntuOS 22.04
虚拟机配置:8核心,8G运行内存,50G存储空间,英文语言,用户名ling
注意:
- 使用的部分指令如vim等,如果仍未安装请自行使用apt-get install安装。
- 不同Linux系统指令和文件可能有所差异,本文仅供Ubuntu 22参考,跟随本文安装请注意替换用户名为自己的用户名。
- 在文件处理时你可能会遇到权限拒绝问题,请确保你有超级用户权限,被权限拒绝的指令请添加sudo,或者运行:
su
输入密码,保证你在整个过程都以超级用户的身份运行指令。
二、预备操作
- 准备文件(主要用于管理文件,可选)
创建两个文件夹,一个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同理。
- 安装编译软件
需要安装gcc, g++, gfortran和make
sudo apt-get install gcc g++ gfortran make
- 准备安装包
准备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下。
- 安装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
编译和安装时间可能会很长,请耐心等待(后面几个依赖库也是)。
由于过程漫长,输出繁多,不再给出具体输出图
- 安装zlib
跟前面一样,解压后进入目录,运行:
./configure –prefix=$apps/netcdf
make
make install
- 安装hdf5
跟前面一样,解压缩后进入目录,运行:
./configure --prefix=$apps/netcdf --with-zlib=$apps/netcdf --enable-fortran --enable-cxx
make
make install
- 安装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文件夹示意图:
- 编辑环境变量
将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
- 下载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。
- 编辑配置文件
将配置文件拷贝出来,可以使用以下指令,或者手动拷贝文件(如果有GUI界面):
cp template/setEnvar.sh ./
然后使用vim编辑配置文件:
vim setEnvar.sh
将这一行添加到末尾
export WRFIO_NCD_LARGE_FILE_SUPPORT=1
然后更新:
source setEnvar.sh
- 编译和安装
运行:
./configure
输入2,然后回车即可。
接着开始安装,运行:
./compile_offline_NoahMP.sh setEnvar.sh
出现以下结果说明安装成功:
可以在Run目录下看到生成的文件:
至此,WRF-Hydro安装完毕。
参考资料:
[netcdf-c-4.8.0及netcdf-fortran4.5.3安装笔记-CSDN博客
更多推荐
所有评论(0)