Bootstrap

WRF安装和运行教程

1、WRF安装

1.1校验和安装基础包

校验指令:

which gfortran

which cpp

which gcc

安装指令:

sudo apt-get update

sudo apt-get install gfortran cpp gcc g++ m4 csh libcurl4-openssl-dev libxml2 libxml2-dev libhdf5-dev
1.2WRF安装的目录结构

创建目录

mkdir Build_WRF

cd Build_WRF

mkdir TESTS

mkdir LIBRARIES

添加目录位置变量 方便指令输入

#export DIR=/home/xxx/Build_WRF

export DIR=`pwd`

echo $DIR #返回结果应该为/home/xxx/Build_WRF

1.3 测试编译器,进入测试目录,下载测试包并解压
cd $DIR/TESTS

wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/Fortran_C_tests.tar

tar xvf Fortran_C_tests.tar

解压完长这样

进行测试

gfortran TEST_1_fortran_only_fixed.f

./a.out

gfortran TEST_2_fortran_only_free.f90

./a.out

gcc TEST_3_c_only.c

./a.out

gcc -c -m64 TEST_4_fortran+c_c.c

gfortran -c -m64 TEST_4_fortran+c_f.f90

gfortran -m64 TEST_4_fortran+c_f.o TEST_4_fortran+c_c.o

./a.out

./TEST_csh.csh

./TEST_perl.pl

./TEST_sh.sh

1.4 进入依赖包目录,下载依赖包并解压
cd $DIR/LIBRARIES

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/mpich-3.0.4.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

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

tar xvf netcdf-4.1.3.tar.gz

tar xvf mpich-3.0.4.tar.gz

tar xvf jasper-1.900.1.tar.gz

tar xvf libpng-1.2.50.tar.gz

tar xvf zlib-1.2.7.tar.gz

安装完成后

1.5 安装各个依赖包

安装netcdf:

cd $DIR/LIBRARIES/netcdf-4.1.3

./configure --prefix=$DIR/LIBRARIES/netcdf --disable-dap --disable-netcdf-4 --disable-shared

make

make install

安装成功后

添加路径:

export PATH=$DIR/LIBRARIES/netcdf/bin:$PATH

export NETCDF=$DIR/LIBRARIES/netcdf

安装mpich:

cd $DIR/LIBRARIES/mpich-3.0.4

./configure --prefix=$DIR/LIBRARIES/mpich

make

make install

安装完成

添加路径:

export PATH=$DIR/LIBRARIES/mpich/bin:$PATH

安装zlib(如果之前已经安装zlib,则可跳过这一步):

cd $DIR/LIBRARIES/zlib-1.2.7

./configure --prefix=$DIR/LIBRARIES/grib2

make

make install

安装完成

安装libpng:

cd $DIR/LIBRARIES/libpng-1.2.50

./configure --prefix=$DIR/LIBRARIES/grib2

make

make install

安装完成

安装jasper:

cd $DIR/LIBRARIES/jasper-1.900.1

./configure --prefix=$DIR/LIBRARIES/grib2

make

make install

安装完成

添加路径

export JASPERLIB=$DIR/LIBRARIES/grib2/lib

export JASPERINC=$DIR/LIBRARIES/grib2/include

export LDFLAGS=-L$DIR/LIBRARIES/grib2/lib

export CPPFLAGS=-I$DIR/LIBRARIES/grib2/include

此时,你的LIBRARIES下应该至少有grib2 mpich netcdf三个文件夹,这说明你的依赖包安装成功,可以开始下一步的操作

1.6 兼容性测试,下载测试包并解压
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

进行测试

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

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

成功截图

1.7 下载WPS和WRF
​
cd $DIR

git clone --recurse-submodules https://github.com/wrf-model/WRF

git clone https://github.com/wrf-model/WPS

​

编译WRF

cd $DIR/WRF

./configure

./compile em_real &> log.compile

如果在$DIR/WRF/run 或 $DIR/WRF/test/em_real下成功生成四个exe文件,则表示安装成功

编译WPS

cd $DIR/WPS

./configure

./compile &> log.compile

如果在$DIR/WPS下成功生成三个exe文件,则表示安装成功

至此  WRF和WPS就安装好了

2、WRF的运行

运行geogrid

1、下载静态数据集

Index of /wrf/src/wps_filesicon-default.png?t=O83Ahttps://www2.mmm.ucar.edu/wrf/src/wps_files/

下载geog_10m.tar.gz,它其中包括地形和土地用途分类等字段。下载后将geog_10m.tar.gz放在Build_WRF目录,直接将其解压。

解压命令为:

tar xvzf geog_10m.tar.gz

将解压出来的geog文件夹重命名为WPS_GEOG:

mv geog WPS_GEOG

2、编辑namelist.wps

进入WPS,打开namelist.wps(命令:vi namelist.wps),修改其中的参数(键盘按一下 i 进入编辑模式,编辑结束后按“esc”键,再输入:wq即可保存)

3、编辑完namelist.wps文件后,执行geogrid.exe进行陆面要素插值

./geogrid.exe

这时候可能会出现报错信息:

这代表WPS_GEOG中的地理数据不全(所需地理数据包的种类与namelist.wps的设置有关),打开这个网址:Index of /wrf/src/wps_files (ucar.edu)或Static Data Downloads (ucar.edu)下载缺少的地理数据,放到WPS_GEOG中解压再运行,直到成功为止。以下我是下载的所有地理数据:

运行成功会生成geo_em.d01.nc文件:

运行./ungrib.exe

在与WPS同级别目录下创建DATA文件夹,将下载的数据放进去。

https://cds.climate.copernicus.eu/cdsapp#!/yourrequests?tab=form

首先创建链接,进入WPS这个文件夹,由于是ERA5数据,Table应为ECMWF:

ln -sf ungrib/Variable_Tables/Vtable.ECMWF  Vtable

./link_grib.csh ../DATA/data.grib

运行成功会出现这种文件

2、运行ungrib.exe:

./ungrib.exe

成功会出现

运行./metgrid.exe
./metgrid.exe

成功会出现met***.nc 文件

;