WRF-hydro

本文参考了另两位作者的环境安装过程

http://t.csdnimg.cn/LD8Yv         http://t.csdnimg.cn/wBjms

安装前检查

which gfortran
which cpp
which gcc

检查虚拟机是否安装相关的编译器

安装系统指令

sudo apt-get install libcurl4-openssl-dev -y
sudo apt-get install gfortran cpp gcc g++ m4 libxml2 libxml2-dev libhdf5-dev -y
sudo apt-get install git -y
sudo apt-get install csh -y
sudo apt install make
sudo apt install vim -y

以管理员权限执行命令

设置好目录文件夹

测试编译器

export DIR=/home/用户名/Build_WRF
echo $DIR #返回结果应该为/home/xxx/Build_WRF

相关库和依赖的安装

进入依赖包目录,下载并解压

cd $DIR/LIBRARIES
wget https://downloads.unidata.ucar.edu/netcdf-c/4.9.2/netcdf-c-4.9.2.tar.gz
wget https://downloads.unidata.ucar.edu/netcdf-fortran/4.6.1/netcdf-fortran-4.6.1.tar.gz
wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/libpng-1.2.50.tar.gz
wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/jasper-1.900.1.tar.gz
wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/zlib-1.2.11.tar.gz
wget https://hdf-wordpress-1.s3.amazonaws.com/wp-content/uploads/manual/HDF5/HDF5_1_14_3/src/hdf5-1.14.3.tar.gz
wget https://www.mpich.org/static/downloads/4.1.2/mpich-4.1.2.tar.gz
tar xvf netcdf-c-4.9.2.tar.gz
tar xvf netcdf-fortran-4.6.1.tar.gz
tar xvf zlib-1.2.11.tar.gz
tar xvf libpng-1.2.50.tar.gz
tar xvf hdf5-1.14.3.tar.gz
tar xvf jasper-1.900.1.tar.gz
tar xvf mpich-4.1.2.tar.gz

配置环境变量

export DIR=/home/用户名/Build_WRF
export PATH=$DIR/LIBRARIES/mpich/bin:$PATH
export PATH=$DIR/LIBRARIES/netcdf/bin:$PATH
export NETCDF=$DIR/LIBRARIES/netcdf
export LD_LIBRARY_PATH=$DIR/LIBRARIES/netcdf/lib:$LD_LIBRARY_PATH
export JASPERLIB=$DIR/LIBRARIES/grib2/lib
export JASPERINC=$DIR/LIBRARIES/grib2/include
export LDFLAGS=-L$DIR/LIBRARIES/grib2/lib
export LD_LIBRARY_PATH=$DIR/LIBRARIES/grib2/lib:$DIR/LIBRARIES/hdf5/lib:$LD_LIBRARY_PATH
export CPPFLAGS=-I$DIR/LIBRARIES/grib2/include

terminal中输入vi ~/.bashrc进入环境变量配置页面,输入i进入插入模式,在最后一行输入以上代码后输入esc退出插入模式,输入wq保存并退出。

每次更改环境变量后需要在terminal中输入source ~/.bashrc使其生效

安装各依赖包(安装有顺序,如果没有并行运算需求可以不装mpich)

安装zlib

cd $DIR/LIBRARIES/zlib-1.2.11
./configure --prefix=$DIR/LIBRARIES/grib2
make
make install

安装libpng

cd $DIR/LIBRARIES/libpng-1.2.50
./configure --prefix=$DIR/LIBRARIES/grib2
make
make install

安装hdf5

cd $DIR/LIBRARIES/hdf5-1.14.3
./configure --prefix=$DIR/LIBRARIES/hdf5 --enable-fortran --enable-cxx --with-zlib=$DIR/LIBRARIES/grib2
make -j4 #加速编译
make install

安装jasper

cd $DIR/LIBRARIES/jasper-1.900.1
./configure --prefix=$DIR/LIBRARIES/grib2
make
make install

安装mpich

cd $DIR/LIBRARIES/mpich-4.1.2
./configure --prefix=$DIR/LIBRARIES/mpich
make -j4 #加速编译
make install

安装netcdf-c

cd $DIR/LIBRARIES/netcdf-c-4.9.2
./configure --prefix=$DIR/LIBRARIES/netcdf --enable-dap --enable-netcdf4 --enable-shared LDFLAGS="-L$DIR/LIBRARIES/hdf5/lib -L$DIR/LIBRARIES/grib2/lib" CPPFLAGS="-I$DIR/LIBRARIES/hdf5/include -I$DIR/LIBRARIES/grib2/include"
make
make install

安装netcdf-fortran

cd $DIR/LIBRARIES/netcdf-fortran-4.6.1
./configure --prefix=$DIR/LIBRARIES/netcdf --enable-shared LIBS="-lnetcdf -lz" LDFLAGS="-L$DIR/LIBRARIES/netcdf/lib -L$DIR/LIBRARIES/grib2/lib" CPPFLAGS="-I$DIR/LIBRARIES/netcdf/include -I$DIR/LIBRARIES/grib2/include"
make
make install

安装好后wrf_build文件夹下如图

依赖包测试

下载并解压

cd $DIR/TESTS
wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/Fortran_C_NETCDF_MPI_tests.tar
tar xvf Fortran_C_NETCDF_MPI_tests.tar

测试netcdf

cp ${NETCDF}/include/netcdf.inc .
gfortran -c 01_fortran+c+netcdf_f.f
gcc -c 01_fortran+c+netcdf_c.c
gfortran 01_fortran+c+netcdf_f.o 01_fortran+c+netcdf_c.o -L${NETCDF}/lib -lnetcdff -lnetcdf
./a.out

 测试mpich

cp ${NETCDF}/include/netcdf.inc .
mpif90 -c 02_fortran+c+netcdf+mpi_f.f
mpicc -c 02_fortran+c+netcdf+mpi_c.c
mpif90 02_fortran+c+netcdf+mpi_f.o 02_fortran+c+netcdf+mpi_c.o -L${NETCDF}/lib -lnetcdff -lnetcdf
mpirun ./a.out

下载WRF-Hydro

进入build_wrf目录,开始下载压缩包并解压

cd ~/build_wrf
wget https://codeload.github.com/NCAR/wrf_hydro_nwm_public/tar.gz/refs/tags/v5.2.0
tar v5.2.0

进入以下路径

cd wrf_hydro_nwm_public-5.2.0/trunk/NDHMS

复制环境变量并修改环境变量

cp template/setEnvar.sh ./
vim setEnvar.sh
#进入编辑模式后,在最后一行输入:
export WRFIO_NCD_LARGE_FILE_SUPPORT=1#允许大于2GB的NetCDF输入输出文件
#退出到指令模式保存后,再更新一下环境变量
source setEnvar.sh

运行第二个脚本

./compile_offline_NoahMP.sh setEnvar.sh

出现以下内容即为成功

查看一下/wrf/wrf_hydro_nwm_public-5.2.0/trunk/NDHMS/Run下生成的exe文件:

ls -lah Run/*.exe

运行WRF-Hydro

回到目录/wrf创建存放数据文件夹

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

运行以下指令

cd ~/wrf
cp wrf_hydro_nwm_public-5.2.0/trunk/NDHMS/Run/*.TBL example_case/Gridded
cp wrf_hydro_nwm_public-5.2.0/trunk/NDHMS/Run/wrf_hydro.exe example_case/Gridded

进入/wrf/scr,下载数据集并解压它

cd ~/wrf/src
wget https://files.hqr233.plus/hpc/croton_NY_training_example_v5.2.tar.gz
tar zxvf croton_NY_training_example_v5.2.tar.gz

复制驱动数据到Gridded文件下

cp -r example_case/FORCING/ /home/huangqirui/wrf/example_case/Gridded
cp -r example_case/NWM/DOMAIN /home/huangqirui/wrf/example_case/Gridded
cp -r example_case/NWM/RESTART /home/huangqirui/wrf/example_case/Gridded
cp -r example_case/NWM/nudgingTimeSliceObs/ /home/huangqirui/wrf/example_case/Gridded
cp -r example_case/NWM/namelist.hrldas /home/huangqirui/wrf/example_case/Gridded
cp -r example_case/NWM/hydro.namelist /home/huangqirui/wrf/example_case/Gridded

运行模型

cd ~/wrf/example_case/Gridded
mpirun -np 2 ./wrf_hydro.exe

检查模型是否运行成功

tail -1 diag_hydro.00000

wrf_hydro_arcgis-preprocessor是一个用于WRF-Hydro模型的预处理工具,它集成了WRF(Weather Research and Forecasting)模型和ArcGIS(地理信息系统软件),以便进行水文模拟和分析。 该预处理工具主要用于将大气和水文数据准备为WRF-Hydro模型所需的输入格式。它能够导入地理空间数据,包括高程(DEM)、土地利用、土壤类型等,并将这些数据转换为与WRF-Hydro模型所需的格式相匹配的GIS地图。此外,还可以导入大气数据,如降水、蒸发、风速等,并对其进行处理,以便在水文模拟中使用。 wrf_hydro_arcgis-preprocessor还提供了一些功能来帮助用户进行水文模拟的准备工作。例如,它可以生成网格参数文件,用于定义计算网格的空间分辨率和拓扑关系。它还可以根据用户的需求设置模型的时间和空间范围,并对输入数据进行剪切和插值。 另外,该工具还提供了一些可视化和分析功能,以帮助用户理解和评估模型的输出结果。用户可以使用ArcGIS中的地图工具来查看模拟结果,如地表径流、地下径流、土壤湿度等。此外,还可以通过绘制图表和统计数据来分析模拟结果,以便进行水资源管理和决策制定。 总之,wrf_hydro_arcgis-preprocessor是一个方便实用的工具,它能够帮助用户准备数据并进行水文模拟和分析。它的集成了WRF和ArcGIS的功能,使得用户可以更加便捷地进行水文研究和实践。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值