0%

WRF模型学习(1)--安装篇

WRF简介

WRF全称Weather Research and Forecasting Model, 是一个先进的大气建模系统,专为气象研究和数值天气预报而设计。它为大气过程提供了许多选项,可以在各种计算平台上运行。WRF在数千米到数千公里范围内的应用范围广泛,包括以下内容。

  • 气象研究
  • 实时NWP
  • 理想模拟
  • 数据同化
  • 地球系统模型耦合
  • 示范训练和教育支持

官方网站:
http://www.wrf-model.org/index.php
https://www2.ucar.edu/
https://zh.wikipedia.org/wiki/NetCDF

系统环境

VMware Wrokstation 12 pro
CentOS 6.4 x64

软件环境

zlib-1.2.11.tar.gz
hdf5-1.8.18.tar
netcdf-4.4.1.1.tar.gz
netcdf-fortran-4.4.4.tar.gz
pgilinux-2016-1610-x86_64.tar.gz
WRFV3.8.1.TAR.gz
WPSV3.8.1.TAR.gz

WRF 模型安装

安装WRF模型的的顺序为:WRF–>WPS–>WRF-chem等
WRF模拟系统主要包含WPS和WRF两部分模块: WPS模块全称为WRF Pre-processing System,即WRF预处理系统,用来为WRF模型准备输入数据;如果只是做理想实验(idealized modeling),就不需要用WPS处理真实数据。
WRF模块就是数值求解的模块,它有两个版本:ARW(Advanced Research WRF) 和 NMM(Nonhydrostatic Mesoscale Model)。大多数研究者主要用的都是ARW版本。 除了WPS与WRF两大核心模块外,WRF系统还有很多附加模块:比如用于数据同化的WRF-DA,用于化学传输的WRF-chem,用于林火模拟的WRF-fire。

安装依赖zlib

1
2
3
4
# tar xf zlib-1.2.11.tar.gz
# cd zlib-1.2.11
# ./configure --prefix=/usr/local/zlib/
# make && make install

安装依赖hdf5

1
2
3
4
# tar xf hdf5-1.8.18.tar
# cd hdf5-1.8.18
#./configure --prefix=/usr/local/hdf5/ --with-zlib=/usr/local/zlib/
# make && make install

安装依赖netcdf

1
2
3
4
# tar xf netcdf-4.4.1.1.tar.gz
# cd netcdf-4.4.1.1
# ./configure --prefix=/usr/local/netcdf/ --enable-netcdf-4 LDFLAGS="-L/usr/local/hdf5/lib/" CPPFLAGS="-I/usr/local/hdf5/include/"
# make && make install

安装依赖netcdf-fortran

1
2
3
4
# tar xf netcdf-fortran-4.4.4.tar.gz 
# cd netcdf-fortran-4.4.4
# ./configure --prefix=/usr/local/netcdf/ LDFLAGS="-L/usr/local/netcdf/lib" CPPFLAGS="-I/usr/local/netcdf/include" FC=gfortran
# make && make install

此步骤中报错可以查看日志文件config.log 进行解决
我遇到的问题configure: error: cannot compute sizeof (off_t),最终是设置了环境变量解决的

1
2
3
export LDFLAGS="-L/usr/local/netcdf/lib/"
export CPPFLAGS="-I/usr/local/netcdf/include/"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/netcdf/lib/

安装WRF模型

1
2
3
4
# tar xf WRFV3.8.1.TAR.gz 
# cd WRFV3
# export NETCDF=/usr/local/netcdf/
# ./configure

这里我选择的32,使用gfortran/gcc编译。
插入图片01
serial 表示串行计算;
smpar 表示内存共享并行计算(shared memory option),即使用openMP,大部分多核电脑都支持这项功能;
dmpar 表示分布式并行计算(distributed memory option),即使用MPI 进行并行计算,主要用在计算集群,单个电脑就没必要用了;
dm+sm 表示同时使用openMP与MPI两种并行方式.

如果使用pgi(选择1)编译的话,需要自行安装pgilinux包,否则会报错”pgf90: Command not found.”

1
# ./compile em_real >& compile.log

编译类型有以下几种
WRF-Chem(WRF大气化学模型)
em_real (3D真实情况)
em_quarter_ss (3D理想的情况下)
em_b_wave (3D理想的情况下)
em_les (3D理想的情况下)
em_heldsuarez (3D理想的情况下)
em_tropical_cyclone (3D理想的情况下)
em_hill2d_x (2D理想的情况下)
em_squall2d_x (2D理想的情况下)
em_squall2d_y ( 2d理想情况)
em_grav2d_x (2d理想情况)
em_seabreeze2d_x (2d理想情况)
em_scm_xy (1d理想情况)

真实情况编译完成后,在main目录下会出现ndown.exe,real.exe, tc.exe, wrf.exe这4个可执行程序;理想情况编译后会生成wrf.exe,ideal.exe 这2个可执行程序。

安装WPS模型

要保证WPS和WRFV3在同级目录,configure.wps文件中有相对路径
安装依赖包

1
2
3
4
5
6
# yum -y install libpng libpng-devel jasper jasper-devel libjpeg libjpeg-devel
# export COMPRESSION_LIBS=-L/usr/lib64/
# export COMPRESSION_INC=-I/usr/lib64/
# tar xf WPSV3.8.1.TAR.gz
# cd WPS
# ./configure

插入图片02
这里选择1即可

1
# ./compile

编译完成后再当前目录下会出现geogrid.exe、metgrid.exe、ungrib.exe 三个可执行程序
插入图片03
到这里WRF模型的安装工作就已经完成了,第一次安装,记录一下!

参考链接:
https://xg1990.com/blog/archives/190
http://www2.mmm.ucar.edu/wrf/OnLineTutorial/compilation_tutorial.php