气象互助社 发表于 2024-4-29 16:47:36

WRFChem的安装


WRFChem 是一个区域大气化学传输模式,实现了化学模块和 WRF 气象动力的在线耦合,充分考虑了污染物的平流输送、湍流扩散、干湿沉降 、辐射传输等大气物理过程,以及较为详细的多相化学过程,被广泛应用于区域环境污染研究。


本篇介绍 WRFChem 模式的安装过程,与 WRF的安装差异不大。



一. 基础库安装
(1)byacc
wget <a href="https://invisible-island.net/datafiles/release/byacc.tar.gz" target="_blank">https://invisible-island.net/datafiles/release/byacc.tar.gz</a>
tar -xzvf byacc.tar.gz
./configure --prefix=<byacc_dir>
make
make install
(2)flex
cd flex_directory
wget <a href="http://www.ncl.ucar.edu/Download/files/flex.tar.gz" target="_blank">http://www.ncl.ucar.edu/Download/files/flex.tar.gz</a>
tar -xzf flex.tar.gz
cd flex-2.5.3
./configure --prefix=flex_directory
make
make install
ubuntu apt安装 yacc和flex,ubuntu上使用flex和bison来代替lex和yacc
sudo apt-get install flex
sudo apt-get install bison
(3)NetCDF 和 Mpich2
请参考:WRF模式安装中的 NetCDF (需要先安装 Zlib 和 HDF5)与 mpich 的安装部分。
设置环境变量
vi ~/.bashrc
export WRF_CHEM=1
export WRF_KPP=1
export PATH=<yacc_dir>:$PATH
export PATH=<flex_dir>/bin:$PATH
export YACC='<yacc_dir>/yacc -d'
export FLEX=<flex_dir>/bin/flex
export FLEX_LIB_DIR=<flex_dir>/lib
source ~/.bashrc
export WRF_CHEM=1
export WRF_KPP=1   # 可选项,如果需要安装kinetic pre-processor
export FLEX_LIB_DIR=/usr/lib/x86_64-linux-gnu/ #可选项, flex library(libfl.a)路径
export YACC='/usr/bin/yacc –d'    #可选项,YACC c code compiler
# FLEX_LIB_DIR和YACC根据实际路径改


二. 安装
(1)configure步骤
./configure注意:WRF chem 不支持共享式内存的并行方式,因此 smpar and smpar+dmpar 编译选项不能使用,只能选择 serial 或 dmpar 选项。

查看configure.wrf,RNVCOMPDEFS 和 WRF_ChEM 变量会如下:
# 如果设置WRF_CHEM=1和WRF_KPP=1
ENVCOMPDEFS   =   -DWRF_CHEM -DBUILD_CHEM=1 -DWRF_KPP
WRF_CHEM      =       1
# 如果只设置WRF_CHEM=1
ENVCOMPDEFS = -DWRF_CHEM
WRF_CHEM = 1
(2) compile em_real步骤
export J='-j 4'# 并行编译
./compile em_real >& compile.log
ls main/*exe #成功则有这四个程序ndown.exereal.exetc.exewrf.exe可能错误:

ERROR: variable name for third body in KPP species file is expected to beM, but was not found in cbm4 species file

此错误可以忽视。

(3)compile emi_conv步骤
化学排放数据转化程序。
cp compile compile.bak# 备份原来的compile
wget <a href="https://ruc.noaa.gov/wrf/wrf-chem/Fix/compile" target="_blank">https://ruc.noaa.gov/wrf/wrf-chem/Fix/compile</a> #下载新的compile
chmod +x compile
./compile emi_conv >& emcompile.log
ls chem/convert_emiss.exe#安装成功,chem文件夹下会有convert_emiss.exe程序检查 emcompile.log 文件是否有编译错误。



PS:WRF Chem V3.7以后就在 compile 里面删除了 convert_emiss.exe 这个程序的编译。因此需要单独下载新的。若直接使用原来的 ./compile emi_conv 编译,会出现如下错误:This option is not recognized。



参考:

https://forum.mmm.ucar.edu/phpBB3/viewtopic.php?t=362

https://ruc.noaa.gov/wrf/wrf-chem/known-prob.htm




文章来源于微信公众号:气海同途
页: [1]
查看完整版本: WRFChem的安装