登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本人小白,也不是这个专业的,从今年五月份开始接触,断断续续的做这方面的工作,到现在才完整运行完自己的数据,这个过程实在是太痛苦了,一方面不是相关专业的,另一方面没有人带,完全自己瞎摸索,踩了无数坑。到目前用的清单还是假数据,不知道接下来还会遇到多少问题。
希望写这个记录能够让其他刚接触CMAQ的同学少走弯路吧,另一方面也免得我自己将来可能会遇到重新配环境的情况,记录一下。
一、感谢 非常感谢论坛各位前辈的答疑解惑,以及各位刚入门的小伙伴的讨论,另外尤其要感谢ISAT工具和北京劳保所王老师,让我成功绕开了SMOKE这个大坑。还要感谢所有安装教程,CMAQ的官方教程就是一坨**,全是坑,有的F文件源码也有错误,还是看别人的教程比较靠谱,相比之下WRF的官方教程就比较靠谱了。 WRF的安装参考的官网安装教程: http://www2.mmm.ucar.edu/wrf/OnLineTutorial/compilation_tutorial.php#TOP 这个教程写的比较详细,并且附了各种库文件和测试文件的下载链接。 CMAQ5.0.2的安装参考的下面两个链接:
后者也是参考了前者,写的更详细一些,但也有不少坑,装的时候自己要多注意。
二、环境搭建 首先说一下我自己的环境。 系统:centos7,Linux x86_64gcc 编译器:GNU Fortran 虚机内存:8G CMAQ版本:5.0.2 MCIP版本:4.2 WRF版本:3.6.1 SMOKE版本:没有使用SMOKE 其他库版本: WRF方面: Zlib-1.2.7 Mpich-3.0.4 Netcdf-4.1.3 Jasper-1.900.1 Libpng-1.2.50 CMAQ方面: Zlib-1.2.8 Hdf5-1.8.13 Netcdf-c -4.3.2 Netcdf-c++ -4.3.0 Netcdf-fortran -4.4.0 Mpich-3.3 Ioapi-3.2 Blas Lapach-3.4.2 关于环境的搭建,建议把WRF和CMAQ分别放在两个路径下,指定位置的时候比较方便,也避免出现混乱的情况。 然后要着重说一下版本的选择和各软件之间兼容性的问题,前期被这个坑惨了。 首先是CMAQ的版本选择,目前常用的稳定版本是5.0.2 和5.2两个,我一开始其实也是想用5.2的,因为5.0.2和高版本wrf的兼容方面会遇到一点问题,于是按照git上的官方教程开始编译5.2,结果到了CCTM的时候怎么编译也通不过,各种错误,填一个坑马上又出一个新坑,由于缺少其他可以参考的教程(5.0.2版本就有上面提到的两个教程,非常感谢作者的总结),只好放弃5.2了,换5.0.2使用,后面WRF的选择也就得为5.0.2的CMAQ服务了。 如果你成功编译了5.2版本的CMAQ那么恭喜,可能会少踩很多坑。 WRF就更坑了,它更新的太快了,现在都更新到4.几了,最开始不懂,直接装了4.0,结果和CMAQ不兼容,于是就各种换,现在机器上有3.6.1,3.7.1,3.9.1,4.0四个版本的WRF。 如果你是5.2版本的CMAQ,可以用3.9.1及之前版本的WRF;如果你是5.0.2版本的CMAQ,可以用3.6.1及之前版本的WRF;4.0之后的版本目前先不要碰吧。
因为3.7之后的WRF换了地形数据,导致CMAQ5.0.2的MCIP4.2识别不了那种数据,解决这个问题也可以单独编译一个5.2版本带的MCIP4.3来与WRF对接,剩下的还是用5.0.2。
三、WRF数据准备 WRF是整个模式的第一个环节,因为不管是清单的制作还是污染物传输的计算都需要用到气象场。WRF数据分为两个方面,静态的地形数据和实时的气象数据。 静态地形数据只需要下载一次即可,WRFV3的地形数据下载地址(注意不要下载成了4.0的数据):
实时的气象数据是来自于其他模型发布的预测数据,常用的主要是GFS数据和FNL数据等,由于不是气象专业的,目前对这方面了解也不多,我目前用的数据是NCEP Final Analysis (GFS-FNL),也就是下面网页中的第二个。(考虑到这个数据集比较小,占用的空间小)
转入这个页面之后需要注册,注册之后就可以下载了。
注意,由于GFS在2019年6月12日升级了,所以在这个日期之后的数据进行metgrid的时候会出现问题,解决方法可参考: http://bbs.06climate.com/forum.php?mod=viewthread&tid=91217&highlight=FV3%BA%CB%D0%C4GFS%C9%FD%BC%B6%BA%F3metgrid%B4%ED%CE%F3%B5%C4%CE%CA%CC%E2%BD%E2%BE%F6
至于WRF的运行,按照用户手册的指导按部就班的来就好,报错之后在论坛搜具体的错误基本能够解决,讨论WRF的帖子还是比较多的。
四、排放清单制作 排放清单的制作是非常麻烦的,之前也研究了一段时间的SMOKE,后来还是因为有报错问题解决不了,而且讨论SMOKE的帖子实在是太少了,就放弃了,换成使用ISAT工具处理排放清单的问题。目前排放清单做的还是漏洞百出,接下来还需要继续这方面的工作。 ISAT的介绍:
http://bbs.06climate.com/forum.php?mod=viewthread&tid=56653&highlight=ISAT 使用ISAT主要可以分为下面几个步骤: 1.空间分配因子的计算; 2.排放量核算; 3.制作CMAQ可用的nc文件。
五、CMAQ程序运行 我把CMAQ的执行可以理解为两个阶段,CCTM和CCTM之前的阶段,可以理解为CCTM之前的所有过程都是在为CCTM做数据准备,包括WRF和SMOKE。 在CCTM开始之前,M3DATA路径下的文件夹应该是这样的:
bcon cctm emis icon jproc mcip ocean raw 至于扬尘、生物排放、闪电什么的,对我来说太复杂了,就暂时没有考虑它们。
除了cctm是输出文件夹,其他的都是输入文件。 Raw:直接从官方的demo数据中copy过来即可。 Jproc:产生晴空光解速率查找表,如果编译CCTM时ModPhot设置为phot_inline,则不需要这个文件。这一步比较简单,一般也不会报错。 Mcip:气象化学接口,这是CMAQ按时间顺序最先接触的,紧随WRF,其生成的网格描述文件GRIDDESC是ICON,BCON,OCEAN和排放清单制作(无论是SMOKE还是ISAT)的输入文件。 Ocean:海盐文件,这个论坛里讨论的比较少,可参考 由于我模拟的区域内没有海,所以直接用m3fake做了零海盐,比较省事儿了。
Emis :排放文件,这个是最复杂的了。目前还没有做好,暂时用的假数据(也不能说是假的,计算空间分配因子的时候只用了线数据分配)。
把上面这些都数据都准备好了之后就可以执行cctm了,不出意外的话,肯定会报一堆错误。
好了,我要继续学习怎么用ncl,还有怎么制作清单了。如果遇到什么问题的话,欢迎在下面留言讨论,我百分之八十的问题都……解决不了,但是总会有人能解决吧。希望此贴能帮到正在艰难入门的小伙伴们。如果有什么地方写错了,还希望各位高手能够指正,免得由于我的疏忽误导了别人。
|