爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 21480|回复: 24

日志 - WRF-chem用NEI2011作排放源,常见错误,正确生成convert_emiss.exe的操作

[复制链接]

新浪微博达人勋

发表于 2020-1-8 10:16:25 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 Legendary 于 2021-9-17 06:14 编辑

本文陆续更新中
2021.9.15 更新kemit设置疏漏。
2020.11.4 更新错误:第6和第9.两条里文件名写错了,现已用红色改正。第8.5条网上论坛的信息是错的(或者我理解错了),已标注。第13 条原来写的很可能也错了,已经标注。

友情提醒:先去下载打印WRF_Chem Version 3.9.1.1 User's Guide》,里面大概介绍了如何利用NEI数据作为WRF-Chem的排放源。
再去下载打印《WRF-Chem 3.9.1.1 Emission Guide》,其内容更详细,但是依然有坑没填。
记性不好的人,酌情把/WRFv3/chem/convert_emiss.F 以及 /NEI2011v/test_prog/emiss_v04.F 显示行号双面打印了。下文会分析其中重要的几行代码。

关于convert_emiss.exe的内容,以上两个操作手册都讲的很粗,此处深坑巨多,运行极易出错,下文部分内容是本小白在尝试填坑,未必全都正确
以后 打算另开新帖专门讨论convert_emiss.exe


操作步骤

1. 之前编译WRF-Chem的时候肯定已经运行过/WRFV3/compile emi_conv命令,并在/em_real/下生成了convert_emiss.exe。但是你仍然需要去/WRFV3/chem下面打开convert_emiss.F查看:该文件第128行里inew_ch4是否为0,将其改为1才能使用NEI数据,
保存后退出到/WRFV3.
可能你修改之后之前编译时定义的环境变量已经都空了,所以一定要从新export 一遍(或者set env 如果是Cshell),然后输入./compile emi_conv命令重新编译,5分钟后完成,在/WRFV3/chem下面会有刚刚生成的convert_emiss.exe,/test/em_real/下面会出现新的convert_emiss.exe的链接,这样你的WRF_Chem才正确的编译了。
这一步是巨坑!!

2. 下载并解压NEI2011v1排放源数据。2011年NEI有两个版本NEI2011v1和v2,我只用了v1,没找到v2,欢迎反馈
下载地址 ftp://aftp.fsl.noaa.gov/divisions/taq, 参考文献 https://ruc.noaa.gov/wrf/wrf-chem/wrf_tutorial_2018/Anthro_emission.pdf
3. 解压后,/test_prog文件夹下有一堆Fortran代码,其中你需要修改emiss_04.F中的很多变量,如何修改代码开头都有注释。另外emiss-v04.F只能用于namelist.input里dx,dy不小于12km的情况。emiss_v03.F明确说了要大于12km,emiss_v04.F虽然保留了该提示,但是增加了一个新参数IFRACGR,并注释dx<10km将其设置为1.所以哪个神仙告诉我到底能不能用于高分辨率的模拟啊!

注意修改参数时,兰伯特投影的两个参考纬度不要写颠倒,大的在上小的在下,否则最后出图是反的。

4. 改完后按照emiss_v04.F开头的注释信息,运行emiss_v04.F,会生成一个可执行文件。
不同的编译器下,运行emiss_v04.F的命令会有所不同。如果运行不成功,你可以查看一下/WRFV3/configure.wrf 里的信息。我后来使用的命令是:
    mpif90 -ffree-form -fconvert=big-endian emiss_v04.F
其中,"-ffree-form" 来自configure.wrf文件中"FORMAT_FREE="一行,"-fconvert=big-endian"来自“BYTESWAPIO=”后面的信息 。

5. 我的运行代码会生成一个名为a.out的可执行文件,运行这个文件,大概半小时后,它会将NEI2011v1的数据写成wrfem_00Z和wrfem_12Z两个二进制文件。

6. 将文件链接到/em_real文件夹下,并将链接改名为wrfem_00to12z_d01wrfem_12to24z_d01备用。

7. 1   打开/em_real/namelist.input, 检查auxinput5_interval=3600秒或者auxinput5_interval_m=60(分),kemt=污染物垂直层数参见emiss_v04.F,ne_area=一个较大的数(比如250),以上这些参数将来都不用改了。此处的kemit要和NEI排放源制作程序emiss_v04.F中KX变量相等。更改KX时要注意,文件中DATA ZFA/。。。/的维度是与之对应的。KX=1,ZFA就需要有两个高度值。参考网页中提到人为源在最底层,所以只设置了kemit=1.
https://wiki.harvard.edu/conflue ... RF/WRFChem-Glossary
为什么要这样改? auxinput5意思是排放源数据的输入,interval=3600秒是因为我们之前生成的排放源文件wrfem_00/12z是每小时一个排放场,同时namelist.input有的设置支持多种写法,interval_m意思是时间间隔改用分钟计量。


我写的另一篇帖子https://bbs.06climate.com/forum.php?mod=viewthread&tid=94476中提到了陈晓阳等编写的帮助手册,我个人觉得该手册里面关于这一部分的讲解不是很清楚,所以在此补充。

7.2    修改namelist起止时间为同一天的00h-11h,chem_opt=0,为运行real.exe作准备。
有没有人知道为什么所有教程上都说real.exe前要把chem_opt改成0?不改不行吗?(补充:chem_opt 开启以后real会输出化学数据,此时我们还在准备megan等排放源,需要的是场的维度等信息,所以关掉。不关就会读取还未做好的megan,会报错。关闭后运行real.exe,生成wrfbdy_d01, wrfinput_d01,然后复制后者到megan文件夹(megan——bio_emiss.inp不含空间维度信息),运行后生成megan生物源文件)

8. 运行real.exe,生成wrfinput,在convert的过程中,wrfinput提供纬度、时间等重要信息给新生成的nc文件。(个人理解求勘误)
补充:机房电脑把我的账户删除了,但是文件都还在。所以我又有了新账户之后,.bashrc里面的环境变量都丢了。从管理员那里要来了一个新.bashrc,里面只含有一些PATH之类的,先前所有运行WRF-chem的环境变量都忘了加。但是这并不影响再次运行wrf.exe,因为(个人理解)这些环境变量只是在编译生成.exe的时候会被用到。一旦.exe被成功生成,就可以一直使用(前提是不想更改化学反应机制之类的东西,否则需要重新编译)。

9. 准备好其他排放源文件(或者其在/em_real/下的链接)

     wrfbiochemi_d01     (来自Megan,生物源排放,不需要转成nc格式,已经是Megan模块生成的nc文件了)
     emissfire_d01         (来自prep_chem_source, 生物质燃烧排放)
     wrfgocart_backg     (来自prep_chem_source, 背景场排放)
     emissopt3_d01        (这个人为源排放文件没用,可以不链过来,其来自prep_chem_source,也是人为源排放,产自低精度全球数据GOCART,我们在后期会想办法设置参数不读这个文件,而应该读NEI的人为排放

     * 超纲信息:/WRFV3/chem/convert_emiss.F中第834行会判断namelist里emiss_opt=5<ecptec> or 6<gocart_ecptec>,多嘴一句,convert_emiss.F中给出的是选项的<名称>,<名称>所对应的代号可以在以下网址查到:
https://svn-dares-dart.cgd.ucar.edu/DART/tags/wrf-chem.r12373/models/wrf_chem/WRFCHEM_BUG_FIXES/registry.chem)

8.5 运行convert_emiss.exe前,需要修改namelist中以下参数:
      chem_opt=2, emiss_opt=3 (错误的数值会导致convert_emiss.exe尝试读取错误的排放源文件,《Emission Guide》 P19提及);
      io_style_emissions=1 (表示将会读取NEI的12h文件并转格式,《WRF_Chem 3.9.1 User Guide》 P19提及)
      bio_emiss_opt=0,(不对生物源排放文件转格式,之前提到我们使用Megan模块转换好的nc文件,所以这里不用读任何二进制文件也不转格式。如果不用Megan生物源,从convert_emiss.F的代码可以看出,=2则会转换scratem数据的格式。当前目录下如果没有scratem数据,或者其他能被转格式的数据,这项参数改不改没关系。)
      biomass_burn_opt=1,(convert_emiss.exe会读emissfire_d01,将其转为wrffirechemi_d01)
      chem_in_opt=0,interval_seconds=&#10060;3600https://ruc.noaa.gov/wrf/wrf-chem/FAQ.htm这个我没看懂,求回帖解答更新
chem_in_opt =0, uses idealized profile to initialize chemistry
chem_in_opt =1, uses previous simulation data to initialize chemistry. The inputfile name will have the structure wrf_chem_input_d<domain> andthe data will be read in through auxiliary input port 12. Set as wellif using a global model to provide chemical lateral BCs.


interval_seconds=21600(与你的气象数据时间间隔一样长才可以,FNL数据6h一次,就用interval_seconds=21600,使用3600会导致./real.exe时找不到对应时间的气象数据,引起异常中断,后续./convert只出现一个时次的排放场。)
                                       
                                
                        
               

9. 然后你就可以运行convert_emiss.exe这个文件了,该文件会读取二进制文件,生成nc文件:
     wrfchemi_00z_d01(人为源排放文件,基于NEI而非gocart)
     wrffirechemi_d01(生物质燃烧排放文件,来自野火等)
     wrfchemi-gocart-bg-d01(GOCART背景排放场)

   *外加一个  wrfbiochemi_d01  (生物源排放,不是convert转出来的,是早先Megan模块生成的nc文件)

10. 用ncview检查此文件是否该有的污染物都有(我的文件有NO2按钮,但是其数值都是0。我理解的是因为emiss_v4.F代码里DATA ENAME/压根就没读NO2原始数据,所以不可能有值,此处可能是个大坑,请详细阅读代码里那3个WARNING),时间是不是有12个时次,空间是不是有kemt那么多层。(我的wrfchemi_xxz_d01文件里个别污染物并没有值,见跟帖讨论。具体原因还没搞清楚。

11. 修改namelist.input文件中的时间,把00-11h改成12-23h,回到第7步再来一遍。重复到第9步你应该会得到 wrfchemi_12to24z_d01。今天惊奇的发现,namelist里时间设置成00点到5天后的23点,一次就能转出两个wrfchemi文件,那为啥操作手册上强调要转两遍分别生成呢?


至此,排放源文件就全部做好了!撒花撒花!

wrfchemi_00z_d01,wrfchemi_12z_d01(人为源排放文件,基于NEI)

wrffirechemi_d01(生物质燃烧排放文件,来自野火等)

wrfchemi_gocart_bg_d01(GOCART背景排放场)

wrfbiochemi_d01  (生物源排放,来自Megan)

没有考虑火山

12. 再次修改namelist.input,这次是为了正式模拟案例了。


注意要把时间修改成你案例的起始时间.


需要设置namelist里emiss_opt=3,(此时convert_emiss.exe不会读GOCART的人为排放文件,而是读我们用NEI2011v1生成的人为排放文件wrfem_00to12Z 以及wrfem_12to24Z。)


之前关掉的一些过程现在可以打开了,例如chem_opt=303 (RADM2 Chemistry and GOCARTaerosols) 或者1(RADM2 chemistry but no aerosols), 2 (RADM2 chemistry MADE/SORGAM aerosols) 具体在手册里搜索chem_opt.


bio_emiss_opt =3 , Megan.

13. 编辑namelist.input,更改chem_opt=0->303/1 等(自选),检查auxinput6/7/8_interval=非常大的数(秒)(一个月读一次够了。为啥?

因为这些数据本身就是月平均数据,数据不更新,读了也是白读。)错误。另有人建议每天读一次。如果非常大,那后面几天就没有这些排放的影响了。

初步结果示例如图(刚转出来还热乎的,时长少了几个小时(),个别参数都是0,里面肯定有不少坑,欢迎批评指正。


后来运行过程中遇到,或者本文跟帖中讨论过的话题:

1. 为什么会出现“input statement requires too much data”报错?
因为污染物种类不等于emiss_v04.F生成的排放物种类(31种)?待勘误

2. "FATAL CALLED FROM FILE Could not find matching time in input file "wrffirechemi_d01""?
(个人推测是)因为auxinput5-interval-m=60(分钟),NEI制作的排放数据auxinput_5可以每小时读一次,但是其他排放源制作的数据基本都是月平均,不能每小时读一次,所以要将auxinput6/7/8_interval=非常大的数字,一个月读一次就可以了。

3. 运行后只生成139 frames,rsl.error出现 FATAL CALLED FROM FILE:  <stdin>  LINE:     905   ... May have run out of valid boundary conditions in file wrfbdy_d01.而我模拟的时间是6天145张frame。
该错误是因为运行wrf.exe前,没有将namelist.input的时间设置正确。convert时设置的结束时间为23:00,但是我的模拟结束时间是0:00,虽然只差了一个小时,但是这可能会严重影响气象数据的读入。气象数据每6小时一个,最后一个时间段为18:00~24:00,因为wrf-chem的namelist设置了23:00就结束,气象数据met_em_00h文件没被读取,所以最后wrfout最后6小时没能成功运行,最终少了6个frame。感谢脸哥保佑。

另外网上的一种参考意见:https://github.com/wrf-model/WRF/wiki/WRF-Known-Problems---V4.0  看样子需要重新compile模式,慎重使用,先排查我说的这个简单的原因。


4. 之前刘一鸣等中山大学的学霸们编写的《WRF-chem v3.6.1安装说明》中14页auxinput_interval_m一项正确的单位是分钟,而不是秒,所以后面数值应该除以60。如果今后看到auxinput_interval_h= XXX, XXX的单位应该是小时。


5.
https://ruc.noaa.gov/wrf/wrf-chem/wrf_tutorial_2018/Anthro_emission.pdf 中提到convert_emiss.F  可以设置想要的wrfchemi文件的格式:io_style_emissions=1
wrfchemi__d (wrfchemi_00to11z_d01 and wrfchemi_12to23z_d01)Average emissions (typical summer day) : used for each day of the simulationio_style_emissions=2
wrfchemi_d_ (wrfchemi_d01_2006-04-06_00:00:00)Day specific emissions: time and date in netcdf header must match simulation date
我没搞懂的问题,不知道找谁问,客官帮我想想啊!

1. NEI2011v和v2有啥区别? 最新的NEI2017数据已经全是csv文件了,连个操作手册都木有,谁知道怎么用?
来自邮件的回复,大概是说NEI-2017目前还不能用在模式上。
The 2017 NEI data are not out for all sectors yet neither for the NEI nor for modeling purposes.
The 2017 NEI data that are available for modeling are at the following site:              [url=https://urldefense.com/v3/__https://www.epa.gov/air-emission ... S_dFOwhS8FTlpmamoCQ$]https://www.epa.gov/air-emissions-modeling/2017-national-emissions-inventory-nei-modeling-files[/url]
The files that you'd want to use from the linked FTP page are:
Nonroad: [url=https://urldefense.com/v3/__http://SMOKE_FlatFile_NONROAD_2017NEI_28feb2020.zip__;!!K543PA!a7IznLL2oHX_1SRRvYldkDPRuUQIjK8BfJacYt3MaOHS_dFOwhS8FTnVni4cvQ$]SMOKE_FlatFile_NONROAD_2017NEI_28feb2020.zip[/url]
Point: [url=https://urldefense.com/v3/__http://SMOKE_FlatFile_POINT_2017NEI_29Dec2019.zip__;!!K543PA!a7IznLL2oHX_1SRRvYldkDPRuUQIjK8BfJacYt3MaOHS_dFOwhS8FTmLc-FOkQ$]SMOKE_FlatFile_POINT_2017NEI_29Dec2019.zip[/url] (note: this file will soon be out of date with our April release)
Fires: At least the file [url=https://urldefense.com/v3/__http://ptfire_2017NEI_CONUS_CAPS_FF10.zip__;!!K543PA!a7IznLL2oHX_1SRRvYldkDPRuUQIjK8BfJacYt3MaOHS_dFOwhS8FTktEGvhig$]ptfire_2017NEI_CONUS_CAPS_FF10.zip[/url] for processing criteria pollutants for the Continental United States (CONUS).
              You may also need/want the available fires file for HAPs and/or for Alaska or Hawaii.
The format for these files is the SMOKE modeling system format.  Documentation on this format is available from the CMAS Center website at [url=https://urldefense.com/v3/__https://www.cmascenter.org/smoke ... S_dFOwhS8FTn1XCFDXw$]https://www.cmascenter.org/smoke/[/url].
----------------------------------------------
Marc Houyoux
Group Leader
Emissions Inventory and Analysis Group
EPA/OAQPS/AQAD
919-541-3649

2. 为什么跑Prep_chem_source的时候要先chem_opt=0,再./real.exe,才能convert?如果说real.exe是为了生成初试场和边界场,给convert提供时间和空间维度,chem_opt=其他值就不行了吗?
同理 7.2 也必须chem_opt=0吗?
楼下jazzyl回帖表示可能因为chem_opt=0 运算快:
针对第二个疑问(2. 为什么跑Prep_chem_source的时候要先chem_opt=0,再./real.exe,才能convert?),我的猜测是:为了省时间,如果开了chem_opt,因为要积分,时间会比较长。毕竟这次运行real.exe只是为了获得wrfinput_d01文件中的map projection and time等元数据。

3.wrfchemi里缺少的和多余的污染物是怎么回事?

4. convert_emiss.exe到底需不需要跑两遍?像上文那样设置会不会出现错误?目前就我的结果来看貌似没有什么大问题。

以上都是我查阅的信息和自己的理解,肯定有错漏,欢迎各位回复指正,不要回复没有营养的文字,保证大家获取信息的高效性。(话说家园的网页排版、回复挣积分/回复可见的设置让大家交流和获取信息的效率指数型下降。)






















Screen Shot 2020-01-08 at 10.49.24 PM.png

评分

参与人数 3金钱 +30 贡献 +5 收起 理由
dawang + 10 + 2 很给力!
飞哥哥 + 10 + 2 很给力!
KIMO23 + 10 + 1 很给力!

查看全部评分

本帖被以下淘专辑推荐:

  • · 模式|主题: 18, 订阅: 3
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2020-2-21 23:34:32 | 显示全部楼层
Legendary 发表于 2020-2-21 14:10
我问过这个问题,相关人员邮件回复这样的:
Two nested domains, more than 12 hours: —> ignore this  ...

OK,谢谢了!所以在run convert_emission的时候并不需要wrfbdy的信息~
我先去试运行一下nested domain的emission,有结果之后反馈给你~
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2020-1-8 10:35:36 | 显示全部楼层
给力,支持一波。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-1-8 13:33:34 | 显示全部楼层
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2020-1-9 09:50:37 | 显示全部楼层
您好,我的namelist和您说的一致,但是我生成的wrfchemi只有一个时次,并且报下面的错误,请问您知道为什么,如何解决吗?谢谢!!!
Time period #  11 to process = 2017-03-01_10:00:00
Time period #  12 to process = 2017-03-01_11:00:00
Total analysis times to input =   12
Total number of times to input =   12   12
Number of emissions:         37
EMISSIONS INPUT FILE TIME PERIOD (GMT):       -1 TO        0
dims:         1         1         1
dims:        79        45        79         6
dims:         1         1         1
dims:        79        45        79
dims:        90         6        90        37         3
dims:        80         6        80
PAST READ EMISSIONS 1
EMISSIONS OUTPUT file name: wrfchemi_00z_d01
WRITE EMISSIONS 1
FRAMES:         12        12
LOOP:          2        12
Date &  time 2017-03-01_01:00:00.0000
Hour    0
USING FILE: wrfem_00to12z_d01         1
Reading data from file:          0
forrtl: severe (67): input statement requires too much data, unit 91, file /data/lss/WRF-Chem3.6.1/WRFV3/test/em_rea
l/wrfem_00to12z_d01Image              PC                Routine            Line        Source            
convert_emiss.exe  0000000002D2241B  for__io_return        Unknown  Unknown
convert_emiss.exe  0000000002D4ECCA  for_read_seq_xmit     Unknown  Unknown
convert_emiss.exe  0000000002D4C2A0  for_read_seq          Unknown  Unknown
convert_emiss.exe  000000000044AFB7  Unknown               Unknown  Unknown
convert_emiss.exe  00000000004112E2  Unknown               Unknown  Unknown
libc-2.12.so       00000036C3E1ED20  __libc_start_main     Unknown  Unknown
convert_emiss.exe  00000000004111E9  Unknown               Unknown  Unknown
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-1-9 11:01:34 | 显示全部楼层
lss19980205 发表于 2020-1-9 09:50
您好,我的namelist和您说的一致,但是我生成的wrfchemi只有一个时次,并且报下面的错误,请问您知道为什么 ...

NEI2011v1数据貌似含有31中污染物吧?你可以搜索你的emiss_v4.F文件中DATA ENAME那一行查看具体有哪几种。在WRFV3/chem/convert-emiss.F中,第1680-2538行左右是转换这31种污染物的代码,你的Number of emissions =37,估计因为这个才input statement requires too much data。不太确定我说的对不对你可以试试。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-1-10 09:46:28 | 显示全部楼层
谢谢解答!我的wrfchemi确实少了一个物种,但是还没找到怎么解决。
您./compile emi_conv后,在em_real下就有convert_emiss.exe吗?我的convert_emiss.exe在WRFV3/chem里,我把它复制到em_real下,是对的吗?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-1-10 10:14:09 | 显示全部楼层
我做的排放清单是有37个物种的,我查看了一下二进制文件应该是有37个物种没错,经过real和convert_emiss.exe后生成的wrchemi就只有36种了,您知道问题大概出在哪吗?谢谢!!!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-1-10 15:10:33 | 显示全部楼层
lss19980205 发表于 2020-1-10 09:46
谢谢解答!我的wrfchemi确实少了一个物种,但是还没找到怎么解决。
您./compile emi_conv后,在em_real下 ...

少了ch4? 我的缺少它。
另外生成的wrfchemi里面多了NAAI   NAAJ   ORGI_A   ORGJ_A    ORGI_BB    ORGJ_BB,但是它们全是0,目前我没搞明白。 你的问题我目前还不懂。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-1-10 15:17:15 | 显示全部楼层
lss19980205 发表于 2020-1-10 09:46
谢谢解答!我的wrfchemi确实少了一个物种,但是还没找到怎么解决。
您./compile emi_conv后,在em_real下 ...

congvert_emiss.exe在compile——conv之后,会生成在WRFV/chem里,然后代码会继续复制一个链接放在WRFV3/test/em_real里。你硬要复制可以试试运行一下。有的时候硬要复制出来的东西是不能用的。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-1-11 10:39:18 | 显示全部楼层
Legendary 发表于 2020-1-10 15:10
少了ch4? 我的缺少它。
另外生成的wrfchemi里面多了NAAI   NAAJ   ORGI_A   ORGJ_A    ORGI_BB    ORGJ_ ...

我的少了PM10,是因为在Registry/registry.chem中没包含,但是添加进去重新编译WRF-Chem后仍然报这个错误。
您有改过convert_emis.F文件吗,感觉我好像要改它
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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