首页 >> 大全

WRF进阶:antro_emiss工具处理全球大气人为排放(EDGRA_HTTP

2023-11-15 大全 26 作者:考证青年

本内容视频版讲解:全球人为排放处理

注:评论区有人提出单位换算问题,确实值得注意,EDGAR的单位为ton.month,源码中则为kg/m2/s,涉及单位换算问题,目前由于生活忙碌,我没有空闲去进行试验,为了以防万一,还请使用人员自行换算。如感觉好奇,可以自行比较换算前后的模拟值差异并与其他文献对比。

介绍

一般人为数据的排放前处理使用工具,然而处理后的文件并不是WRF所能读取的文件格式,需要使用.exe,生成WRF需要的人为排放的nc数据。

在WRF-chem3.6以后,.exe便不再WRF的编译中,需要单独安装,显然较为麻烦,而WRF本身就提供了处理全球人为排放数据的工具 tool可用于对IPCC/EDAGR的人为排放源的预处理,

下载

在 WRF-CHEM 中,先填入相应的信息,随后点击下载工具,

安装

将下载的安装包解压,检查依赖包与环境变量配置。

该工具依赖于编译,同时依赖于包。

根据你的编译器(pg90、,ifort等等),设置环境变量,比如我的编译器为ifort,我就需要:

export FC=ifort 

另外,该工具通过来查找你的,因此你需要添加= your path。

之后,运行命令:

./make_anthro

即可。

使用

的使用与安装方法,全都在解压的.文件中,该文件给出了该工具的使用方法与适用条件,使用者应当仔细阅读。

使用需要下载对应的输入数据,再根据数据设置对应的文件,该文件后缀名为inp,随后,

./anthro_emis < anthro_emis.inp

运行即可。

.input文件

inp文件用于告知所需的信息。

对于而言,它需要知道以下信息:

输入数据的路径:根据该路径,查找用于输入的清单数据。WRF路径:根据该路径,寻找文件,根据input文件,获取WRF的投影、模拟域等信息。文件名:清单数据的文件命名。通过该部分,可以批量读取类似命名格式的清单数据。时间:模拟开始于结束时间、间隔等等。映射():WRF变量和排放源变量的映射关系,即排放清单的变量名对WRF的一种解释。

相关的详细说明可以去查看文件。

实例

如果只查看,会对它的说明感到困惑,尤其是部分,虽然中提供了几个inp文件的例子,但缺少具体的数据与更加详细的说明,仍然让人难以一时理解。

在这里我用一个实例来向大家说明。

使用的数据是年的BC排放数据,下载地址:-BC

我们首先查看一下下载的排放数据的信息:

netcdf edgar_HTAPv3_2018_BC {
dimensions:lat = 1800 ;lon = 3600 ;time = 12 ;
variables:double lat(lat) ;lat:units = "degrees_north" ;lat:standard_name = "latitude" ;lat:long_name = "latitude" ;double lon(lon) ;lon:units = "degrees_east" ;lon:standard_name = "longitude" ;lon:long_name = "longitude" ;float time(time) ;time:long_name = "time" ;time:standard_name = "time" ;time:units = "days since 2018-01-01 00:00:00" ;float HTAPv3_1_International_Shipping(time, lat, lon) ;HTAPv3_1_International_Shipping:_FillValue = 9.96921e+36f ;HTAPv3_1_International_Shipping:units = "ton/month" ;HTAPv3_1_International_Shipping:long_name = "International Shipping" ;HTAPv3_1_International_Shipping:description = "International_Shipping" ;float HTAPv3_2_1_Domestic_Aviation(time, lat, lon) ;HTAPv3_2_1_Domestic_Aviation:_FillValue = 9.96921e+36f ;HTAPv3_2_1_Domestic_Aviation:units = "ton/month" ;HTAPv3_2_1_Domestic_Aviation:long_name = "Domestic Aviation" ;HTAPv3_2_1_Domestic_Aviation:description = "Domestic_Aviation" ;float HTAPv3_2_2_International_Aviation(time, lat, lon) ;HTAPv3_2_2_International_Aviation:_FillValue = 9.96921e+36f ;HTAPv3_2_2_International_Aviation:units = "ton/month" ;HTAPv3_2_2_International_Aviation:long_name = "International Aviation" ;HTAPv3_2_2_International_Aviation:description = "International_Aviation" ;float HTAPv3_3_Energy(time, lat, lon) ;HTAPv3_3_Energy:_FillValue = 9.96921e+36f ;HTAPv3_3_Energy:units = "ton/month" ;HTAPv3_3_Energy:long_name = "Energy" ;HTAPv3_3_Energy:description = "Energy" ;float HTAPv3_4_1_Industry(time, lat, lon) ;HTAPv3_4_1_Industry:_FillValue = 9.96921e+36f ;HTAPv3_4_1_Industry:units = "ton/month" ;HTAPv3_4_1_Industry:long_name = "Industry" ;HTAPv3_4_1_Industry:description = "Industry" ;float HTAPv3_4_2_Fugitive(time, lat, lon) ;HTAPv3_4_2_Fugitive:_FillValue = 9.96921e+36f ;HTAPv3_4_2_Fugitive:units = "ton/month" ;HTAPv3_4_2_Fugitive:long_name = "Fugitive" ;HTAPv3_4_2_Fugitive:description = "Fugitive" ;float HTAPv3_4_3_Solvents(time, lat, lon) ;HTAPv3_4_3_Solvents:_FillValue = 9.96921e+36f ;HTAPv3_4_3_Solvents:units = "ton/month" ;HTAPv3_4_3_Solvents:long_name = "Solvents" ;HTAPv3_4_3_Solvents:description = "Solvents" ;float HTAPv3_5_1_Road_Transport(time, lat, lon) ;HTAPv3_5_1_Road_Transport:_FillValue = 9.96921e+36f ;HTAPv3_5_1_Road_Transport:units = "ton/month" ;HTAPv3_5_1_Road_Transport:long_name = "Road Transport" ;HTAPv3_5_1_Road_Transport:description = "Road_Transport" ;float HTAPv3_5_2_Brake_and_Tyre_wear(time, lat, lon) ;HTAPv3_5_2_Brake_and_Tyre_wear:_FillValue = 9.96921e+36f ;HTAPv3_5_2_Brake_and_Tyre_wear:units = "ton/month" ;HTAPv3_5_2_Brake_and_Tyre_wear:long_name = "Brake and Tyre wear" ;HTAPv3_5_2_Brake_and_Tyre_wear:description = "Brake_and_Tyre_wear" ;float HTAPv3_5_3_Domestic_shipping(time, lat, lon) ;HTAPv3_5_3_Domestic_shipping:_FillValue = 9.96921e+36f ;HTAPv3_5_3_Domestic_shipping:units = "ton/month" ;HTAPv3_5_3_Domestic_shipping:long_name = "Domestic shipping" ;HTAPv3_5_3_Domestic_shipping:description = "Domestic_shipping" ;float HTAPv3_5_4_Other_ground_transport(time, lat, lon) ;HTAPv3_5_4_Other_ground_transport:_FillValue = 9.96921e+36f ;HTAPv3_5_4_Other_ground_transport:units = "ton/month" ;HTAPv3_5_4_Other_ground_transport:long_name = "Other ground transport" ;HTAPv3_5_4_Other_ground_transport:description = "Other_ground_transport" ;float HTAPv3_6_Residential(time, lat, lon) ;HTAPv3_6_Residential:_FillValue = 9.96921e+36f ;HTAPv3_6_Residential:units = "ton/month" ;HTAPv3_6_Residential:long_name = "Residential" ;HTAPv3_6_Residential:description = "Residential" ;float HTAPv3_7_Waste(time, lat, lon) ;HTAPv3_7_Waste:_FillValue = 9.96921e+36f ;HTAPv3_7_Waste:units = "ton/month" ;HTAPv3_7_Waste:long_name = "Waste" ;HTAPv3_7_Waste:description = "Waste" ;float HTAPv3_8_1_Agricultural_waste_burning(time, lat, lon) ;HTAPv3_8_1_Agricultural_waste_burning:_FillValue = 9.96921e+36f ;HTAPv3_8_1_Agricultural_waste_burning:units = "ton/month" ;HTAPv3_8_1_Agricultural_waste_burning:long_name = "Agricultural waste burning" ;HTAPv3_8_1_Agricultural_waste_burning:description = "Agricultural_waste_burning" ;float HTAPv3_8_2_Agriculture_livestock(time, lat, lon) ;HTAPv3_8_2_Agriculture_livestock:_FillValue = 9.96921e+36f ;HTAPv3_8_2_Agriculture_livestock:units = "ton/month" ;HTAPv3_8_2_Agriculture_livestock:long_name = "Agriculture livestock" ;HTAPv3_8_2_Agriculture_livestock:description = "Agriculture_livestock" ;float HTAPv3_8_3_Agriculture_crops(time, lat, lon) ;HTAPv3_8_3_Agriculture_crops:_FillValue = 9.96921e+36f ;HTAPv3_8_3_Agriculture_crops:units = "ton/month" ;HTAPv3_8_3_Agriculture_crops:long_name = "Agriculture crops" ;HTAPv3_8_3_Agriculture_crops:description = "Agriculture_crops" ;

可以看到,有许多变量,表明不同的BC排放来源,而在中,我们正是通过这一部分,对数据的变量进行说明,即告诉该工具,对于排放清单的变量,读取哪一些,读取的那些变量分别代表什么,在处理后,WRF应当怎么读取它们。

比如这里,我只想读取和的排放的BC,我在部分的和部分这样设置:

&CONTROLwrf_dir='/public/home/zhangzilu/Build_WRF/WRF-4.3/run'anthro_dir ='/public/home/zhangzilu/Build_WRF/ANTHRO/src'src_file_prefix = 'edgar_HTAPv3_2018_'src_file_suffix = '.nc'src_names = 'BC(12)'# (12)规定了分子量,必须规定sub_categories= '3_Energy' '4_1_Industry'cat_var_suffix = ''cat_var_prefix = 'HTAPv3_'emis_map  = 'BC(a) -> BC' #(a)表明为气溶胶粒子serial_output = .true.start_output_time  = '2018-03-02_12:00:00'stop_output_time   = '2018-03-07_12:00:00'output_interval = 43200
/

这是,,便读取了//home////src/.nc文件里的和 float 变量,输出到了文件中。

变量如下:

netcdf wrfchemi_d01_2018-03-05_00\:00\:00 {
dimensions:west_east = 219 ;south_north = 219 ;emissions_zdim_stag = 10 ;DateStrLen = 19 ;Time = UNLIMITED ; // (1 currently)
variables:char Times(Time, DateStrLen) ;float XLONG(south_north, west_east) ;XLONG:MemoryOrder = "XY " ;XLONG:description = "LONGITUDE, WEST IS NEGATIVE" ;XLONG:units = "degree east" ;XLONG:stagger = "" ;XLONG:FieldType = 104 ;float XLAT(south_north, west_east) ;XLAT:MemoryOrder = "XY " ;XLAT:description = "LATITUDE, SOUTH IS NEGATIVE" ;XLAT:units = "degree north" ;XLAT:stagger = "" ;XLAT:FieldType = 104 ;float E_BC(Time, emissions_zdim_stag, south_north, west_east) ;E_BC:MemoryOrder = "XYZ" ;E_BC:description = "EMISSIONS" ;E_BC:units = "ug m^-2 s^-1" ;E_BC:stagger = "Z" ;E_BC:FieldType = 104 ;

随后在WRF的中设置对应将生成的排放读取即可。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了