2/12/2012

WRF和CMAQ安装配置

这周主要完成了WRF和CMAQ的安装。

记不清这是第几次安装WRF了。之前一直在自己的笔记本上装,环境是Ubuntu 32位和Intel Compiler。但笔记本上的Ubuntu经常崩溃,经常不能开机,所以就更换了机器。现在在台式机上,搭的CentOS 5 32位。原来也用的Intel 编译器,但后来跑WRF的metgrid.exe时,总是出现这么一个错误:


         forrtl: severe (173): A pointer passed to DEALLOCATE points to an array that cannot be deallocated


 随即程序就停止了。


尝试了好久,才发现网上也有人曾遇到这个问题,说是Intel编译器的问题,换成PGI就可以了。我尝试了一下,还真是。看来不同的编译器,对程序的影响还是很大的。


于是这周的工作就是安装CentOS, PGI, MPICH2, NetCDF, I/OAPI, WRF, WPS, ARWPOST, CMAQ, SMOKE。


CMAQ的安装略微复杂,要装好多库和子程序,如M3BLD, STENEX, PARIO, CVS, JPROC, BCON, ICON, CCTM, MCIP。安装过程在官方的文档中都给出了详细的说明,无非就是更改一下安装脚本中变量的路径、编译器的路径等信息。


WRF是新一代模拟气象条件的中尺度模型。CMAQ以WRF的输出为驱动,模拟污染物的传播和扩散。CMAQ综合考虑了气象条件、化学变化、污染源情况、物理过程,通过将有限空间划分成格网(不规则的?),以质量守恒为原则,用欧拉模型,计算网格间污染物的传播和网格内污染物的化学变化。CMAQ作为第三代空气质量模型,其最大的特点在于可同时考虑多种污染物,以及多尺度的无缝结合,所谓“ One atmosphere"。 

I/O API的作用是读入和输出数据,以及程序内部数据的传输。数据以netCDF形式存储。如果要做数据转换的话,这部分应该着重研究。

M3BLD的作用是将源代码编译成二进制可执行文件,因此要第一个编译。

JPROC的作用是计算在无云情况下,光分解的速率。因为很多化学物质是在光照情况下才发生的,所以入射光的能量对污染物的传播和扩散有重要影响。它通过查找一个静态表 CSQY 来确定这个值,具体原理不太清楚。

ICON为模型提供初始条件,BCON为模型提供边界条件,前者是 temporal boundary condition, 后者是 spatial lateral boundary condition。

MCIP读入大气模型( WRF )的输出结果,根据CMAQ的grid配置做适当内插和外延,为SMOKE和CMAQ提供气象条件。

CCTM是核心的CMAQ程序,将 JPROC, ICON, BCON, MCIP生成的文件整合,计算污染物的扩散情况。

CMAQ还有一些可选的库,如PROCAN用于跟踪某种污染物的传播情况,所谓过程分析 (Process analysis);CHEMMECH可供高级用户建立自己的化学变化过程。

SMOKE为CMAQ提供了污染源的情况,目前还不知道具体有哪些参数。

下周的工作目标是把WRF和CMAQ整合起来,运行一个case。


5 comments: