前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WRFChem的安装

WRFChem的安装

作者头像
郭好奇同学
发布2021-08-26 18:21:40
2.7K0
发布2021-08-26 18:21:40
举报
文章被收录于专栏:好奇心Log好奇心Log

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

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

一 基础库安装

(1)byacc

代码语言:javascript
复制
wget https://invisible-island.net/datafiles/release/byacc.tar.gz
tar -xzvf byacc.tar.gz
./configure --prefix=<byacc_dir>
make
make install

(2)flex

代码语言:javascript
复制
cd flex_directory
wget http://www.ncl.ucar.edu/Download/files/flex.tar.gz
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 的安装部分。

设置环境变量

代码语言:javascript
复制
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步骤

代码语言:javascript
复制
./configure

注意:WRF chem 不支持共享式内存的并行方式,因此 smpar and smpar+dmpar 编译选项不能使用,只能选择 serial 或 dmpar 选项。

查看configure.wrf,RNVCOMPDEFS 和 WRF_ChEM 变量会如下:

代码语言:javascript
复制
# 如果设置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步骤

代码语言:javascript
复制
export J='-j 4'  # 并行编译
./compile em_real >& compile.log
ls main/*exe #成功则有这四个程序ndown.exe  real.exe  tc.exe  wrf.exe

可能错误:

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

此错误可以忽视。

(3)compile emi_conv步骤

化学排放数据转化程序。

代码语言:javascript
复制
cp compile compile.bak  # 备份原来的compile
wget https://ruc.noaa.gov/wrf/wrf-chem/Fix/compile #下载新的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

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-19,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 好奇心Log 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com