$find ./ -name “*.F90″ |xargs cat|grep -v ^$|wc -l答案是——————————499742 居然不到50万行,比我想象要少诶…… 参考资料中还有记录空行等命令格式 http://www.cnblogs.com/fullhouse/archive/2011/07/17/2108786.html #Up to 20140815#
在经历两天完全没有头绪的痛苦过程后,终于想起来去年十一月刚刚开始试着移植CESM的时候在工作站上下载的CAM Tutorial。抓过来一看,果然有physics和接口的介绍,虽然Tutorial已经是09年的了,但当时居然已经是CAM5的版本……NCAR五年前就已经转的起来CAM5的物理包了么……天河二号上转起来都这么慢,反正Tianhe-2性能指标基本都是靠Phi顶起来的,也不奇怪。扯远了。
这套tutorial的interface模块介绍写得正合我胃口,基本都是介绍CAM源码结构,运行流程的。看过Neale的Physics in CAM的Tutorial,对大致的物理过程运行流程清楚后,这个interface模块介绍的tutorial看起来还是很顺的。而且值得窃喜的三点是:
1.我居然下载了它,因为目前CESM官网上已经删除了10年以前的培训材料。当然这会有一个比较大的问题,10年之后基本都是针对CESM的,每个模块都讲,但是都讲不细致。所以已经找不到针对CAM Interface的培训资料了。我很幸运。
2.它里面举的例子居然是针对convect_deep.F90诶~就是要改你丫的嘛啊哈哈哈
3.2009年NCAR就已经用起来CAM5了诶!啊哈哈哈!
不扯了,说正题。其实就是为了记录一下vi已经linux的一些使用技巧,尤其是处理文本的时候(比如源代码)。
vi下查找
:/the_content_you_search
查找下一个用n键
#Up to 20140729#
在physics的主调用程序下查找所有的物理包,这个命令很好用。
grep call tphys*c.F90
tphys*c.F90通配了before和after coupling的两个物理包调用文件,grep这两个文件中的call语句(亮点!),因此抓出来的都是参数化过程。
#Up to 20140731#
上述语句配合管道符可以改写为
cat tpys*c.F90 | grep call
#Up to 20140802#