做何老师在FGOALS上的试验,需要把加热率的输出,但是不在Master list里,要hard-coded进去。官方文档(CAM3 ug)和tutorial上都有介绍方法,不过写的都很简单,甚至连在哪一个文件里改都没有介绍。几经周折,发现大部分输出都在cam的physics包下的cam_diagnostics.F90下。预计是就把三条语句直接加在了这里,结果运行后长时间没有输出,看起来不对。
之后的思路是仿照已经在master list里的变量加入history output的方法,去查找这些非默认加入的变量,在cam_diagnostics.F90这些变量的响应位置加入对加热率的输出,结果出现了编译不通过的情况。具体错误为大致数组没有声明。
查看physpkg.F90,发现加热率在每一个物理包运行后都会被physics_update归零,所以变量应该只能在调用deep_convect后而update前进行输出,于是吧addfld和add_defalult加载cam_diagnostics文件下,而outfld加在刚刚所说的位置。目前可以输出,还没有检查输出是否有问题。
#Up to 201408071349#
回到住宿处用ncl查看,将26层全部输出,确实中高空都是有数值的,看起来问题不大。但是量级上达到0.1K/kg/s,1分钟加热6摄氏度?考虑到对流的时间尺度,或许是这样吧……等回来真正开始做试验的时候具体看看。
#Up to 201408072319#