失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > linux wrf 系统_WRF在Linux环境下的安装

linux wrf 系统_WRF在Linux环境下的安装

时间:2024-03-30 05:01:22

相关推荐

linux wrf 系统_WRF在Linux环境下的安装

本文主要介绍如何在Linux的发行版Ubuntu18下安装WRF模式。近地层温度反映局部地热循环的特征以及空气质量模型中污染物的分布特征,近地层温度是全球气候变化研究的重要指标之一,对其进行准确的定量反演具有重要的科学研究价值[1-2]。WRF (Weather Research and Forecast) 模式系统是由许多美国研究部门及大学共同参与开发研究的新一代中尺度预报模式和同化系统,有助于开展针对我国不同类型、不同地域天气过程的高分辨率数值预报和模拟研究[3]。

1 WRF模式的组成

WRF模式的组成可以分为三个部分:预处理部分(WPS)、主程序(WRFV3)、后处理。

预处理部分WPS(WRF Pre-processing System,WPS)又包含了三个模块:geogrid.exe、ungrib.exe、metgrid.exe。主程序WRFV3包括两个部分:real.exe 、wrf.exe。关于后处理的工具比较多,但是由于WRF程序运行的结果数据是netcdf(nc格式),所以一般都是能够处理nc格式的气象绘图软件,例如NCL(NCAR Command Language)、ARWpost、cdo(Climate Data Operators)等。

2预处理WPS功能介绍

2.1 geogrid.exe

预处理的第一块儿——geogrid.exe的最大作用是确定模拟区域的参数设置,包括网格数、网格大小、模拟起始时间。与之对应的是namelist.wps中的“share”、“&geogrid”部分的设置。图2-1 预处理部分—geogrid.exe

2.2ungrib.exe

预处理的第二块儿——ungrib.exe的最大作用是链接Vtable表格。将下载的初始气象场格式对应,并且能够将气象场中所需要的数据进行提取,生成能够被Metgrid.exe所识别的中间过渡文件——FILE:yyy-mm-dd_hh。图2-2 预处理部分—ungrib.exe

2.3metgrid.exe

预处理的最后一块儿——metgrid.exe的最大作用是:提取气象场要素并且水平插值到geodrid.exe部分确定的模拟区域,并且生成能够被主程序所识别的中间结果文件——met_em.dxx.YYY-MMM-DDD_HH:00:00.nc。图2-3 预处理部分—metgrid.exe

3 主程序WRFV3功能介绍

3.1real.exe

主程序的第一部分—real.exe,目的是为了消除下垫面差异的影响。生成的结果文件:

wrfinput_dxx 和 wrfbdy_d01图3-1主程序—real.exe

3.2wrf.exe

这一步也是主程序的最后一步,运行时间缓慢,值得欣慰的是,这并非是守株待兔般的等待,这是耕耘后的期待。最终会生成wrfoutd01、wrfoutd0x等文件。图3-2最终的生成结果—wrfoutd0x文件

4WRF模式的安装

4.1安装编译器

(1)首先安装必要的编译器:sudo apt-get install csh gfortran m4 build-essential

当然也可以先进行检查,若存在,则不需要继续安装。图4-1 安装编译器

(2) 接着检查是否安装完毕

wzz@wzz:~$ which gfortran

wzz@wzz:~$ which cpp

wzz@wzz:~$ which m4

wzz@wzz:~$ which csh

wzz@wzz:~$ which gcc

wzz@wzz:~$ which g++

wzz@wzz:~$ which c++图4-2 检查安装位置(确保已经安装)

(3 )接着检查版本(其实这一步没有什么用)

wzz@wzz:~$ gcc --version

wzz@wzz:~$ gfortran --version

wzz@wzz:~$ m4 --version

wzz@wzz:~$ g++ --version

wzz@wzz:~$ csh --version

wzz@wzz:~$ cpp --version

wzz@wzz:~$ c++ --version图4-3检查版本

(4)进行测试

Cd /Build_WRF/TESTS

解压文件 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图4-4测试成功

(5)接着设置环境变量图4-5环境变量设置

(6) 安装netcdf-4.1.3

解压文件

wzz@wzz:~/Build-WRF/LIBRARIES$ tar -zxvf netcdf-4.1.3.tar.gz

wzz@wzz:~/Build-WRF/LIBRARIES$ cd netcdf-4.1.3/

wzz@wzz:~/Build-WRF/LIBRARIES/netcdf-4.1.3$ ./configure --prefix=$DIR/netcdf --disable-dap --disable-netcdf-4 --disable-shared

wzz@wzz:~/Build-WRF/LIBRARIES/netcdf-4.1.3$ make

wzz@wzz:~/Build-WRF/LIBRARIES/netcdf-4.1.3$ make install

wzz@wzz:~/Build-WRF/LIBRARIES/netcdf-4.1.3$ sudo nano ~/.bashrc

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

export NETCDF=$DIR/netcdf

wzz@wzz:~/Build-WRF/LIBRARIES/netcdf-4.1.3$ source ~/.bashrc

在安装mpich之前再次设置环境变量图4-6环境变量设置

(7) mpich安装

wzz@wzz:~/Build-WRF/LIBRARIES$ tar xzvf mpich-3.0.4.tar.gz

wzz@wzz:~/Build-WRF/LIBRARIES$ cd mpich-3.0.4

wzz@wzz:~/Build-WRF/LIBRARIES/mpich-3.0.4$ ./configure --prefix=$DIR/mpich

wzz@wzz:~/Build-WRF/LIBRARIES/mpich-3.0.4$ make

wzz@wzz:~/Build-WRF/LIBRARIES/mpich-3.0.4$ make install

wzz@wzz:~/Build-WRF/LIBRARIES/mpich-3.0.4$ sudo nano ~/.bashrc

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

wzz@wzz:~/Build-WRF/LIBRARIES/mpich-3.0.4$ source ~/.bashrc图4-7环境变量设置

(8) zlib安装

wzz@wzz:~/Build-WRF/LIBRARIES$ sudo nano ~/.bashrc

export LDFLAGS=-L$DIR/grib2/lib

export CPPFLAGS=-I$DIR/grib2/include

wzz@wzz:~/Build-WRF/LIBRARIES$ source ~/.bashrc

wzz@wzz:~/Build-WRF/LIBRARIES$ cd zlib-1.2.7

wzz@wzz:~/Build-WRF/LIBRARIES/zlib-1.2.7$ ./configure --prefix=$DIR/grib2

wzz@wzz:~/Build-WRF/LIBRARIES/zlib-1.2.7$ make

wzz@wzz:~/Build-WRF/LIBRARIES/zlib-1.2.7$ make install图4-8环境变量设置

(9)libpng安装

wzz@wangzz:~/Build-WRF/LIBRARIES$ tar xzvf libpng-1.2.50.tar.gz

wzz@wangzz:~/Build-WRF/LIBRARIES$ cd libpng-1.2.50

wzz@wangzz:~/Build-WRF/LIBRARIES/libpng-1.2.50$ ./configure --prefix=$DIR/grib2

wzz@wangzz:~/Build-WRF/LIBRARIES/libpng-1.2.50$ make

wzz@wangzz:~/Build-WRF/LIBRARIES/libpng-1.2.50$ make install

(10)jasper安装

tar xzvf jasper-1.900.1.tar.gz

cd jasper-1.900.1

./configure --prefix=$DIR/grib2

make

make install

依赖库兼容性测试

wzz@wzz:~$ cd TESTS/(文件解压部分)

wzz@wzz:~/TESTS$ tar xvf Fortran_C_NETCDF_MPI_tests.tar(提前下载好测试文件)

./._01_fortran+c+netcdf_c.c

01_fortran+c+netcdf_c.c

./._01_fortran+c+netcdf_f.f

01_fortran+c+netcdf_f.f

./._02_fortran+c+netcdf+mpi_c.c

02_fortran+c+netcdf+mpi_c.c

./._02_fortran+c+netcdf+mpi_f.f

02_fortran+c+netcdf+mpi_f.f

开始测试

wzz@wzz:~/TESTS$ cp ${NETCDF}/include/netcdf.inc .

wzz@wzz:~/TESTS$ gfortran -c 01_fortran+c+netcdf_f.f

wzz@wzz:~/TESTS$ gcc -c 01_fortran+c+netcdf_c.c

wzz@wzz:~/TESTS$ gfortran 01_fortran+c+netcdf_f.o 01_fortran+c+netcdf_c.o \

> -L${NETCDF}/lib -lnetcdff -lnetcdf

wzz@wzz:~/TESTS$ ./a.out

C function called by Fortran

Values are xx = 2.00 and ii = 1

SUCCESS test 1 fortran + c + netcdf

wzz@wzz:~/TESTS$ cp ${NETCDF}/include/netcdf.inc .

wzz@wzz:~/TESTS$ mpif90 -c 02_fortran+c+netcdf+mpi_f.f

wzz@wzz:~/TESTS$ mpicc -c 02_fortran+c+netcdf+mpi_c.c

wzz@wzz:~/TESTS$ mpif90 02_fortran+c+netcdf+mpi_f.o \

> 02_fortran+c+netcdf+mpi_c.o \

> -L${NETCDF}/lib -lnetcdff -lnetcdf

wzz@wzz:~/TESTS$ mpirun ./a.out

C function called by Fortran

Values are xx = 2.00 and ii = 1

status = 2

SUCCESS test 2 fortran + c + netcdf + mpi图4-9 测试

4.2编译WRF

wzz@wzz:~$ cd Build-WRF/

wzz@wzz:~/Build-WRF$ cd WRFV3/

wzz@wzz:~/Build-WRF/WRFV3$ ./configure

wzz@wzz:~/Build-WRF/WRFV3$ ./compile em_real >& pile

wzz@wzz:~/Build-WRF/WRFV3$ ls -ls main/*.exe图4-10 WRF编译安装

4.3编译WPS

tar -xf WPSV3.9.1.TAR

cd WPS

./clean

export JASPERLIB=$DIR/grib2/lib

export JASPERINC=$DIR/grib2/include

./configure

./compile >& pile图4-11 编译结果

以上是WRF模式的简单的安装流程以及部分介绍,希望能够帮助到一部分朋友。

参考文献:

[1]曲培青,施润和,刘朝顺,钟洪麟.基于MODIS地表参数产品和地理数据的近地层气温估算方法评价——以安徽省为例[J].国土资源遥感,(04):78-82.

[2] 邱贵强,李华,张宇,罗斯琼,王少影,尚伦宇.高寒草原地区边界层参数化方案的适用性评估[J].高原气象,,32(01):46-55.

[3] 章国材.美国WRF模式的进展和应用前景[J].气象,(12):27-31.

如果觉得《linux wrf 系统_WRF在Linux环境下的安装》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。