1、第一次运行real.exe
将namelist.input中的"chem_opt"参数设置为0,即在模型运行中不考虑任何化学过程,只执行气象模拟,不涉及大气化学反应或气溶胶过程。
运行real.exe:
./real.exe
real.exe是将全球或区域气象数据转换为WRF模型的初始和边界条件文件,即 "wrfbdy_d01" 和 "wrfinput_d01" 两个文件,当多层嵌套时则结果会出现多个"wrfinput_d0*"文件。
运行时会生成rsl.error.0000和rsl.out.0000文件,可以使用如下代码滚屏查看运行的过程:
tail -f rsl.error.0000
按Ctrl+C退出。
2、制备排放源文件(以生物排放源(MEGAM)和人为排放源(MEIC)为例)
- MEGAN(Model of Emissions of Gases and Aerosols from Nature)是一种用于模拟自然界生物源排放(如植物排放的挥发性有机化合物,VOCs)的模型。
2.1 编辑megan.inp文件:
&control
domains = 2,
start_lai_mnth = 01,
end_lai_mnth = 12,
wrf_dir = '/WRF/test/em_real',
megan_dir = '/home/megan_bio_emiss/megan.data'
domains:嵌套层数。
start_lai_mnth:叶面积指数数据开始的时间。
end_lai_mnth:叶面积指数结束的时间(系统会自动读取数据中的时间,可以不用修改)。
wrf_dir:第一次运行real.exe时生成的"wrfbdy_d01" 和 "wrfinput_d01" 两个文件的路径。
megan_dir:MEGAN数据存放的路径,下载链接:(WRF-Chem (ucar.edu))。
2.2 运行megan_bio_emiss
./megan_bio_emiss < megan.inp
结果生成wrfbiochemi_d01文件(文件数等于嵌套数),将结果文件复制到WRF程序文件夹中(wrfinput文件生成的地方)。
- MEIC(Multi-resolution Emission Inventory for China,多分辨率排放清单)是一个高分辨率的中国排放清单,主要用于研究和分析中国地区的空气污染物和温室气体的排放情况。
- (MEIC温室气体 – MEICModel)
2.3 修改meic2wrf_noGUI.py文件
if __name__ == '__main__':
ent_dir = "/home/emiss/MEIC/2005"
ent_inp = "/home/wrfchem4/WRF/test/em_real/wrfinput_d01"
save_dir = "/homewrfchem4/WRF/test/em_real"
merge_meic_dept(ent_dir)
itp_dis(ent_inp,ent_dir,save_dir)
ent_dir:排放源数据存放路径。
ent_inp:wrfinput文件存放路径,有几个wrfinput文件就修改后运行几次。
save_dir:结果文件保存路径。
2.4 运行meic2wrf_noGUI.py脚本
python meic2wrf_noGUI.py
结果生成"wrfchemi_00z_d01"和"wrfchemi_12z_d01",代表两个半天的排放数据,文件数亦等于嵌套层数。
3、链接wrfchemi_d01为wrf_chem_input_d01(可选)
当namelist.input中的chem_in_opt设置为1时,系统需要一个名为wrf_chem_input_d<domain>的文件,其实就是上一步生成的人为排放源文件,将wrfchemi_d01链接或复制为wrf_chem_input_d01即可(文件数量要对应)。
ln -sf wrfchemi_d01 wrf_chem_input_d01
也可以将 chem_in_opt设置为0,暂时还不知道两者有何区别,需要进一步研究。
4、第二次运行real.exe
将namelist.input的chem_opt改为你想使用的化学机制,再次运行real.exe。
5、运行MOZBC
MOZBC是为模型提供初始和边界条件的化学数据。
编辑*.inp文件,详细内容看这位学姐的笔记(http://t.csdnimg.cn/cYsrW)
编辑好后运行:
./mozbc < CBMZ-MOSAIC_8bins.inp
6、运行wrf.exe
./wrf.exe
或者多核运行:
mpirun -np 64 ./wrf.exe
接下来就是漫长的等待过程,同样可以使用如下代码滚屏查看运行过程:
tail -f rsl.error.0000
最终结果生成wrfout_d01_<time>。