爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 11061|回复: 25

WRF-Chem人为排放源预处理anthro_emiss使用学习

[复制链接]

新浪微博达人勋

发表于 2022-10-30 20:26:20 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 一大碗年糕 于 2022-10-30 20:28 编辑

最近在摸索WRF-Chem,对人为排放清单数据集的预处理相关资料比较少,学习了一下anthro_emiss这个tool,记录一下(仅个人理解,如果有问题欢迎纠正~)
anthro_emiss工具(ANTHRO),PREP-CHEM-SOURCES一样,用于对人为排放源的预处理。它对诸如如EDGAR/IPCC的排放清单很有用。
=============================================================================
关于anthro_emis产生的文件类型:
anthro_emiss可产生两种类型的数据,对应io_style_emissions的1和2
(a) diurnal 对应wrfchemi_00z_d<nn> and wrfchemi_12z_d<nn>,每个文件对包含12个时次
(b) serial  对应wrfchemi_d<nn>_<date>,每个文件包含一个单一个时次
===============================================================================
关于输入的原始人为排放源数据集Input anthropogenic datasets:
需要遵守以下数据结构:
(1) 每个输入数据集是针对一个输入物种的
(2) lon和lat一维变量,包含每个输入网格单元的经度和纬度。每个输入的网格单元是以其为中心的,lon和lat变量必须是单调的增加。
(3) 时间变量为以下其中一项。
    (i) date和datesec变量,包含日期和秒。以日为单位。日期是一个整数,编码为yyyymmdd日期。
    (ii) 一个时间变量,代表自某一特定日期以来的时间。基准日期必须包含在时间变量单位的属性中,并且是yyyy-mm-dd的形式。
(4) 一个或多个变量,包含实际的人为排放,指定为子类别。其数据结构必须为(lon, lat, time)。
此外,输入的人为数据集可以有输入物种的分子量,单位为g/mole(克/摩尔)。可以是一下三种类型
(1)a variable with the name molecular_weight (一个名为molecular_weight的变量)
(2)a global attribute with the name molecular_weight (一个全局属性,名称为molecular_weight)
(3)a sub category variable attribute with the name molecular_weight (一个名为分子量的子类别变量属性。)
如果输入的数据集没有指定物种的分子量
那么用户可以在 "src_names "这个变量中指定输入的物种分子量。
如果分子量是通过src_names namelist变量指定的来指定分子量,那么输入数据集中的任何分子量信息都会被忽略。
=========================================================================================
关于.inp文件中的namelist:
重点在于原始排放源数据与WRF-Chem排放源数据间的命名要映射关联,即src_names,emis_map必须要设置否则会报错
Variable name             Variable type                               default value
-------- ----             -------- ----                               ------- -----
!directory
anthro_dir                character(len=132),scalar                   present working directory #原始人为排放源数据
wrf_dir                   character(len=132),scalar                   present working directory #含WRF的wrfinput_d<nn>.目录,注意不含/最后

!Filename
src_file_prefix           character(len=132),scalar                   blank string #原始人为排放源数据前缀
src_file_suffix           character(len=132),scalar                   blank string #原始人为排放源数据后缀

!Timing
start_output_time         character(len=19),scalar                       (None)                    <date> #output开始时间,如'2019-11-28_00:00:00'
stop_output_time          character(len=19),scalar                       (None)                    <date> #output结束时间,如'2019-12-07_00:00:00'
output_interval           integer,scalar                                 3600                      seconds #output间隔
serial_output             logical,scalar                                 .false.                         #是否采用串行输出
data_yrs_offset           integer,scalar                                 0                         years #如果排放源数据和模拟时间不同需要进行对齐

!Mapping
emis_map                  character(len=132),array(500)                  (None)                    #WRF变量和排放源变量的映射关系(必填,可以包含多个关系式子)

!Input File Variable Names
src_names                 character(len=32),array(50)                 See note below #原始人为排放源数据物种名称,可以有多个(最多50种),一般来说物种名后可带分子量如'CO(28)',分子量在查找文件时不会被索引
sub_categories            character(len=32),array(50)                 See note below #部门指定,如'industrial'
cat_var_prefix            character(len=132),scalar                   blank_string #部门指定前缀
cat_var_suffix            character(len=132),scalar                   blank string #部门指定后缀,如'_emissions'
!注意,默认情况下cat_var_prefix和cat_var_suffix是空白字符串。因此,默认情况下,所有输入数据集中的所有子类别变量必须是以下名称之一:
agr', 'awb', 'dom', 'ee', 'ind', 'slv', 'tra', 'wst', 'ship' 。
!WRF Parameters
domains                   integer,scalar                                  1 #需找WRF文件时对应的domain
emissions_zdim_stag       integer,scalar                                  10 #
============================================================================================
关于WRF变量和排放源变量的映射关系语法:
<WRF_emis> -> spc_mult * <emis_name>{ + spc_mult * <emis_name> + ... }
<emis_name> = <src_name{(cat_mult * <cat_name>){ + <cat_mult * <cat_name> + ... }})}
即可同时乘系数spc_mult,cat_mult和选择单独部门cat_name
例子:1.emis_map = 'CO->CO','NO->0.8*NOx','SO2->SO2','NH3->NH3','BC(a)->BC'
     2.emis_map = 'PAR(a) -> ALK(.5*airplane+.25*forest)'
注:
如果出现"(a) "字符串,表示WRF输出的物种是气溶胶。
如果没有"(a) "字符串,则WRF输出的物种应理解为气体。
WRF的气相和气溶胶物种有不同的排放单位。
gas     == mole/km^2/hr   (moles per kilometer squared per hour) 气体==摩尔/公里^2/小时(摩尔/公里平方/小时)
aerosol == ug/m^2/s       (micro gram per meter squared per second)   气溶胶 == ug/m^2/s (微克/平方米/秒)
===============================================================================
关于输出时间的设定:
对于serial_output = .false这种情况,start_output_time变量是可选的,stop_output_time和output_interval变量被忽略。
在serial_output = .true的情况下,所有的namelist变量都是可选的。

如果start_output_time变量没有在输入的namelist文件中指定
那么start_output_time将从wrfinput_d<nn>文件中提取。
如果在输入名册文件中没有指定stop_output_time变量
则stop_output_time将按WRF每个domain分配start_output_time的值。

如果start_output_time和stop_output_time已被分配,并且serial_output = .true。
则stop_output_time必须晚于start_output_time。 否则anthro_emis将出错停止。

关于output_interval:
对于serial_output = .true.的情况,output_interval定义了产生WRF输出排放数据集的频率,为以秒为单位,默认值为3600(1小时)。若为21600则为6小时

关于data_yrs_offset:
如果WRF模拟的排放输出时间超出了输入的原始排放数据集的时间,anthro_emis就会出错停止。如果仍想使用不同时间的排放数据集,可以使用data_yrs_offset变量来 "调整 "输出时间的年份,使之与跨度相同。之前的排放清单数据的时间往往无法做到每年都有,现在看EDGAR大部分年份都有貌似。


密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2022-10-30 20:57:50 | 显示全部楼层
学到了,谢谢lz
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-10-31 10:59:54 | 显示全部楼层
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-11-2 08:21:39 | 显示全部楼层
同样处于摸索期,谢谢楼主的分享
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-11-29 14:42:22 | 显示全部楼层
请问一下,此处的.inp文件指的是mozcart.inp文件吗,手头有一份教程ppt但上面说要改的是Anthro_emis.inp,可我没有这个文件刚开始摸索很多东西都搞不明白
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-11-29 18:38:35 | 显示全部楼层
小黑呀 发表于 2022-11-29 14:42
请问一下,此处的.inp文件指的是mozcart.inp文件吗,手头有一份教程ppt但上面说要改的是Anthro_emis.inp, ...

都可以吧,里面格式是一样的,但是根据机制不同要自己调
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-11-29 19:34:04 | 显示全部楼层
一大碗年糕 发表于 2022-11-29 18:38
都可以吧,里面格式是一样的,但是根据机制不同要自己调

好的谢谢~我又仔细看了看readme文件,确实都差不多,等运行看看怎么样,感谢楼主的分享!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2023-2-9 15:37:28 | 显示全部楼层
一大碗年糕 发表于 2022-11-29 18:38
都可以吧,里面格式是一样的,但是根据机制不同要自己调

楼主,您好,想请教一下这个软件是不是只能用于特定机制的排放源文件处理,或者怎么去选择自己想要的机制?谢谢楼主
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2023-2-9 21:20:34 | 显示全部楼层
夏洛克鲁邦 发表于 2023-2-9 15:37
楼主,您好,想请教一下这个软件是不是只能用于特定机制的排放源文件处理,或者怎么去选择自己想要的机制 ...

机制基本的应该都可以吧,就是要根据排放源文件里面的名字修改src_name和emis_map这些
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2023-2-10 14:08:55 | 显示全部楼层
插眼插眼插眼插眼
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表