WRF运行第二期:ARWpost安装及错误总结
- 1 ARWpost介绍
- 2 ARWpost安装
- 2.1 ARWpost_V3安装前准备
- 2.2 安装ARWpost
- 2.3 修改Makefile文件
- 2.4 修改configure.arwp文件
- 2.5 生成可执行文件EXE
- 另:报错1-Error: Type mismatch between actual argument at (1) and actual argument at (2) (INTEGER(4)/REAL(4)).
- 另:报错2-f951: Fatal Error: Reading module ‘input_module.mod’ at line 1663 column 56: Unexpected EOF
- 另:报错3-Fatal Error: Cannot open module file ‘output_module.mod’ for reading at (1): No such file or directory
- 另:报错4-Error: Invalid character in name at (1) module_get_file_names.f:2.3:
- 2.6 修改namelist.ARWpost
- 参考
1 ARWpost介绍
ARWpost 是WRF模型后处理程序之一,用于将 WRF 结果转为 GrADS 或 Vis5D 可以辨识的数据格式的软件,就是WRF运行结束以后,把WRF的结果变成平时比较常用的数据格式。
使用ARWpost可对模拟数据进行分析、可视化和后续处理。
2 ARWpost安装
2.1 ARWpost_V3安装前准备
第一步:进入Build_WRF文件夹
cd Build_WRF
第二步:下载ARWpost_V3
下载ARWpost_V3的安装包有以下两种方式:
- 方式1:利用Linux命令下载。
wget https://www2.mmm.ucar.edu/wrf/src/ARWpost_V3.tar.gz
终端界面如下:
- 方式2:进入网站https://www2.mmm.ucar.edu/wrf/src/直接下载。
第三步:解压ARWpost安装包
解压ARWpost安装包并进入:
tar -zxvf ARWpost_V3.tar.gz
cd ARWpost
2.2 安装ARWpost
在WPS文件夹下,输入:
./configure
会出现如下选项:
还是选择gfortran,选择3,这样ARWpost的基本安装就完成了。
出现下述语句,表明ARWpost的基本安装就完成了:
2.3 修改Makefile文件
位置:\Build_WRF\ARWpost\src\Makefile
建议Linux不熟练的朋友直接去文件夹下面修改就行了,找个记事本打开
第19行:-L
(
N
E
T
C
D
F
)
/
l
i
b
−
I
(NETCDF)/lib -I
(NETCDF)/lib−I(NETCDF)/include -lnetcdf
修改为:-L
(
N
E
T
C
D
F
)
/
l
i
b
−
I
(NETCDF)/lib -I
(NETCDF)/lib−I(NETCDF)/include -lnetcdff -lnetcdf
保存并退出。
2.4 修改configure.arwp文件
位置:\Build_WRF\ARWpost\configure.arwp
建议Linux不熟练的朋友直接去文件夹下面修改就行了,找个记事本打开
第37行:CFLAGS = -m64
修改为:CFLAGS = -fPIC -m64
第38行:CPP = /lib/cpp -C -P -traditional
修改为:CPP = /lib/cpp -P -traditional
保存并退出
2.5 生成可执行文件EXE
文件修改结束以后,在ARWpost文件夹下输入:
cd /home/wanzhou/wrf/ARWpost
./compile
继续输入:
ls -ls *.exe
发现可执行文件ARWpost.exe。
这样,ARWpost就真正安装完成了
另:报错1-Error: Type mismatch between actual argument at (1) and actual argument at (2) (INTEGER(4)/REAL(4)).
报错过程及解决方案可参见-Cannot compile ARWpost (successful configuration, but compilation has errors and no ARWpost.exe file is created)
终端报错界面如下:
解决方案: 修改文件configure.arwp,添加-fallow-argument-mismatch选项,如下:
FFLAGS = -ffree-form -O -fno-second-underscore -fconvert=big-endian -frecord-marker=4 -fallow-argument-mismatch
修改界面如下:
修改完成后,重新编译,终端界面如下:
但后续仍然报错,如下:f951: Fatal Error: Reading module ‘input_module.mod’ at line 1663 column 56: Unexpected EOF
另:报错2-f951: Fatal Error: Reading module ‘input_module.mod’ at line 1663 column 56: Unexpected EOF
终端报错界面如下:
另:报错3-Fatal Error: Cannot open module file ‘output_module.mod’ for reading at (1): No such file or directory
详细报错可参见-Compilation error ARWpost: no such file or directory error
终端报错界面如下:
解决方案: 解决 /usr/bin/ld:cannot find xxx 问题
另:报错4-Error: Invalid character in name at (1) module_get_file_names.f:2.3:
详细报错过程及解决方案参见-ARWpost编译错误,compile失败。
解决方案: 修改文件configure.arwp,添加-cpp选项,如下:
2.6 修改namelist.ARWpost
位置:\Build_WRF\ARWpost\namelist.ARWpost
打开文件以后,复制以下内容进行全覆盖:
&datetime
start_date = '2021-10-15_00:00:00',
end_date = '2021-10-17_18:00:00',
interval_seconds = 3600,
tacc = 0,
debug_level = 0,
/
&io
input_root_name = '/home/请在这里输入自己的文件夹名/Build_WRF/WRF/test/em_real/wrfout_d01_2021-10-15_00:00:00'
output_root_name = '/home/请在这里输入自己的文件夹名/Build_WRF/test_20211015'
plot = 'all_list'
fields = 'height,geopt,theta,tc,tk,td,td2,rh,rh2,umet,vmet,pressure,u10m,v10m,wdir,wspd,wd10,ws10,slp,mcape,mcin,lcl,lfc,cape,cin,dbz,max_dbz,clfr'
output_type = 'grads'
mercator_defs = .true.
/
split_output = .true.
frames_per_outfile = 2
plot = 'all'
plot = 'list'
plot = 'all_list'
! Below is a list of all available diagnostics
fields = 'height,geopt,theta,tc,tk,td,td2,rh,rh2,umet,vmet,pressure,u10m,v10m,wdir,wspd,wd10,ws10,slp,mcape,mcin,lcl,lfc,cape,cin,dbz,max_dbz,clfr'
&interp
interp_method = 1,
interp_levels = 1000.,975.,950.,925.,900.,875.,850.,825.,800.,750.,700.,650.,600.,550.,500.,450.,400.,350.,300.,250.,200.,150.,100.,
/
extrapolate = .true.
interp_method = 0, ! 0 is model levels, -1 is nice height levels, 1 is user specified pressure/height
interp_levels = 1000.,975.,950.,925.,900.,875.,850.,825.,800.,750.,700.,650.,600.,550.,500.,450.,400.,350.,300.,250.,200.,150.,100.,
interp_levels = 0.25, 0.50, 0.75, 1.00, 2.00, 3.00, 4.00, 5.00, 6.00, 7.00, 8.00, 9.00, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0,
里面有两处需要修改文件夹名的地方。
参考
1、CSDN博客-小白跑WRF第六天,安装ARWpost