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_fileshttps://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 文件
标签:WRF,教程,tar,LIBRARIES,fortran,netcdf,安装,DIR From: https://blog.csdn.net/xueyou0910/article/details/143367434