今晚想在天河二号上把bw和aw的几个case跑起来,顺道把所有的脚本都规整一遍,以便将来自动化。
没想到困难多多。第一次编译倒是顺利,适当修改run脚本后,yhbatch却提交不了任务。回去查看mkbatch,把与PBS相关的都给干掉后,结果生成的run文件直接没有yhrun语句。无语了。好在第一次编译的程序可以通过yhrun提交任务,哪知道提交半小时一个输出也没有。情况和最初用14编译器编译时一样,节点直接down掉。查看了一下ifort -v,果然又是14编译器作怪!为什么会这样呢,环境变量里分明设置好了。
后来发现,原来之前从ln20 ssh到了ln22,返回后就出现了这个问题。而直接登陆ln20不进行ssh则不存在问题。实在是诡异……
在被上一篇(http://222.200.180.66:1234/L_Zealot/blog/wordpress/?p=64)文章中所出现的问题折腾很久后,决定不再直接转30年那么久,还是一点点先调整再说。默认转5天,为了检测,就需要把输出也调节为逐日输出。这一点在CESM的users’ guide上写的比较清楚。
比如逐日输出,标准输出变量场中加入QFLX变量,cesm_setup前将以下namelist变量的修改加入user_nl_cam
nhtfrq= -24
fincl1='QFLX'
之后采用cesm_setup可以验证namelist的修改是否正确。
假设运行5days,希望每天生成一个文件的话,加入如下语句
mfilt=1
今天看完了Tutorial里关于Physics in CAM的视频。下载发现从2010年到2013年每一年的Tutorial释放出的pdf都差不多,但是13、12年却都没有这一场lecture的视频,这部还是从11年的resource里下到的。报告者是Neale,很年轻小伙,思维灵活,语速很快,基本跟不上,长相看起来很干练。有那么一两分像Prof. Yi Ming,当然啦,一个华人一个老外。
快讲到最后几张ppt的时候Neale吐了个槽很好玩,大概意思是我们搞Atm Model真是悲了个剧啊,我们要处理云啊你造么,各种姿态各种高度各种分布各种奇葩的云啊你造么,云里面水也有冰也有雪也有霰也有水汽还有,固液气一家三口都在里面啊你造么,都是二话不说直接扔给我们搞Atm Model的来处理啊……哪像人家Ocean Model,天天转的都是液态水,海表蒸发出水汽了,人家不要了,直接扔给大气模块;海表冻出冰了,人家也不要了,这是冰雪模块干的事……
一哂过后,想到前段时间在PNAS上看到的一篇文章,大概是说给CESM来了个Super-parameterization,看高CO2情景下的响应。所谓Super-Parameterization,实际就是在CESM的每一个大网格里都套了一个更小尺度的专门对付积云对流的模式,结果好像是发现在全球这个尺度的响应上,和CESM默认的Zhang方案有差不多的效果,说明CESM的对流参数化还是做得不错的。话说回来,Neale吐得槽以后能不能用这种类似方法来解决呢?即专门开发积云模式,然后做好接口工作套在全球模式里就可以了。广而言之,能否把参数化过程都独立成一个个的模块,由该领域的专业人员进行开发,使得这些模块独自能够运行(比如专门的边界层模式、辐射传输模式),也可以嵌入到CESM这种全球模式中。
想来想去,其实现在已经有了呀。专门的边界层模式、辐射传输模式(RRTM不就是商业公司的产品么,由于太优秀了所以被引入气象模拟……)、积云模式等等,模块化必然也是全球模式的趋势吧:CESM等已经做了大圈层的模块化,如大气模块海洋模块冰雪模块等等,下一步圈层级模块内部物理过程的模块化应该也是必须的。当然,对全球模式来说,挑战还是很多的:首先必须要出台统一的接口标准,貌似ESMF、MCT这些就是干这个的,不过不了解,也不知道委员会成员的野心大不大,能搞出一套类似通信网络OSI 7层模型这种高大上的接口标准那就牛逼了;其次还是计算的问题,如果每一个大网格点都要在次网格的尺度上去转很多小模式,那计算时间肯定会暴涨,对计算机的计算能力也是个不小挑战。
嗯~就YY这么多啦,还是要继续深入了解才行。全球模式开发越来越成为一个系统工程了,越来越向物理学中的LHC等大项目看齐了,这无疑是很好的嘛,这也应该是逐渐地把地学建立在牢靠的数学物理基础上的最佳方式了吧。