小白跑WRF第三天,安装三方依赖库
各类安装包的准备
官网教程:https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compilation_tutorial.php
根据官网教程需要的安装包有以下几个
支持库 | 用途 |
---|---|
zlib-1.2.7 | zlib是提供数据压缩用的函式库,是WPS(后面会提到)必须库。 |
netcdf-4.1.3 | 读nc文件的。 |
mpich-3.0.4 | 用于并行运算的工具,为的就是并行处理WRF,意思就是如果计算机是单核的,可以不装,哈哈。 |
libpng-1.2.50 | libpng是一款C语言编写的比较底层的读写PNG文件的跨平台的库,需要zlib支持。编译具有 GRIB2 功能的 WPS(特别是 ungrib)所必需的压缩库。 |
Jasper-1.900.1 | 也是图片库,编译具有 GRIB2 功能的 WPS(特别是 ungrib)所必需的压缩库。 |
支持库的下载
- 利用Linux命令下载。
- 进入网站直接下载。https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/
- 从官方教程的链接中下载。
- 留下邮箱,作者给你发。
这里作者演示第一种下载方式,后面三种得到的压缩包请自行放在Build_WRF文件夹下面
*提示两个操作 *
cd.. 返回上一层文件目录
cd 返回顶层
第一步:进入Build_WRF文件目录下
输入:
cd Build_WRF
第二步:创建LIBRARIES文件夹
这里只是在Build_WRF文件目录下创建LIBRARIES文件夹,但不要进入其中。
输入:
mkdir LIBRARIES
第三步:下载第三方库
在Build_WRF文件目录下,依次输入以下五条命令:
wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/zlib-1.2.7.tar.gz
wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/mpich-3.0.4.tar.gz
wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/netcdf-4.1.3.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/libpng-1.2.50.tar.gz
这样,在Build_WRF文件下面就有有五个压缩包。
支持库的安装
请一定要按照以下顺序安装,当然,好像也就是zlib有点影响,尽量吧,哈哈。
第一步:安装zlib
依次输入
tar xzvf zlib-1.2.7.tar.gz 解压文件
cd zlib-1.2.7 进入该文件夹
make
make install
cd .. 返回上一层文件夹
截图就不放了,就是一堆英文,注意最后要退回Build_WRF目录下
第二步:安装mpich
依次输入
tar xzvf mpich-3.0.4.tar.gz 解压文件
cd mpich-3.0.4 进入该文件夹
./configure --prefix=$DIR/mpich
make
make install
cd .. 返回上一层文件夹
截图就不放了,就是一堆英文,注意最后要退回Build_WRF目录下
第三步:安装libpng
依次输入
tar xzvf libpng-1.2.50.tar.gz 解压文件
cd libpng-1.2.50 进入该文件夹
./configure --prefix=$DIR/grib2
make
make install
cd .. 返回上一层文件夹
截图就不放了,就是一堆英文,注意最后要退回Build_WRF目录下
第四步:安装jasper
依次输入
tar xzvf jasper-1.900.1.tar.gz 解压文件
cd jasper-1.900.1 进入该文件夹
./configure --prefix=$DIR/grib2
make
make install
cd .. 返回上一层文件夹
截图就不放了,就是一堆英文,注意最后要退回Build_WRF目录下
第五步:安装netcdf
依次输入
tar xzvf netcdf-4.1.3.tar.gz //解压文件
cd netcdf-4.1.3 //进入该文件夹
./configure --prefix=$DIR/netcdf --disable-dap --disable-netcdf-4 --disable-shared
make
make install
cd .. //返回上一层文件夹
安装成功会出现
注意最后要退回Build_WRF目录下
在netcdf安装成功后需要修改环境变量,但是之前帖子已经修改了全部的变量,这里就不用修改了,下面的语句给大家了解以下
环境变量
export PATH=$DIR/netcdf/bin:$PATH
export NETCDF=$DIR/netcdf
选装hdf5库(非必要)
官方教程未给出这个库的安装,应该是非必要支持库,用来处理hdf5数据的。
咱们也简单安装以下
第一步:下载
也是在Build_WRF目录下
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-1.8.22/src/hdf5-1.8.22.tar.gz
第二步:解压安装
tar -xvf hdf5-1.8.22.tar.gz
cd hdf5-1.8.22
./configure --prefix=$DIR/hdf5
make
make install
cd .. //返回上一层文件夹
是否成功无所谓。
测试
这也是官方教程要求的,目的在于检查支持库的安装情况
第一步:下载测试包
先从Build_WRF目录转到TESTS目录下
cd
cd TESTS
下载方法一样,有四种
wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/Fortran_C_NETCDF_MPI_tests.tar
第二步:解压测试包
tar -xf Fortran_C_NETCDF_MPI_tests.tar
没有反应,没关系,继续就好了
第三步:测试
第一步:Fortran + C + 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
出现如图结果代表成功
第二步:Fortran + C + NetCDF + MPI
依次输入:(第一行的点不要忘记)
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所需的一切先前准备都结束了