每个转数值模式的都逃不了查看源代码的命运。每当看源代码时,总是理不清那复杂的亲属关系。为了在查阅源代码时更好的理清思路,我们可以使用 f90tohtml 构建模式代码调用流程图。
f90tohtml 是转化 FORTRAN 源代码为 html 的 perl 脚本。所有子程序的调用关系都会被串起来,从而构建一个调用流程树。除此之外,还支持使用 正则表达式 对源代码进行检索,可以边查边搜索,多开(苦)心(逼)啊。
f90tohtml 的目的就是为了浏览数值预报模式的庞大程序库(作者估计也是一个搞模式的啊)。可以查看ARPS,MM5,PSU/UCAR,COAPMS等模式的源代码,当然少不了WRF模式了。
安装
tar -zxvf f90tohtml.tar.gz
cd f90tohtml
vi f90tohtml
更改 perl 的路径,文件中默认的为 #!/usr/bin/perl
将其更改为你的系统中的 perl 的路径,可能是 /usr/local/bin/perl 或 /usr/bin/perl
然后更改 f90tohtml 路径为解压后 f90tohtml 所在路径
$path_f90tohtml="/home/bfiedler/f90tohtml/"
chmod u+x f90tohtml
cd ~
vi .bashrc
export PATH=$PATH:/f90tohtmlpath/
以上只是安装及测试,下面主要说一下WRF模式代码调用树的构建
cd nwp_codes
vi wrf_prepare.pl
注:浏览代码时,程序旁的绿色圆表示打开流程树,青色的圆表示调用状态
后面就可以方便的看源代码了
以下是完成后的效果图
打开 index.html
以上就是构建后的所有代码,每一个模块和子程序的开始行都有两个数字,这就是代码的 被调用次数 和 调用其它子程序的次数。一般要查看的调用代码是在右下角的窗口显示。
左上角为目录窗口,底部提供了正则表达式引擎,用于进行代码检索
构建好流程树后也可以搭建个 ftp 服务器,供大家查看,如下图:
注:不要好奇那个 IP 地址了,这仅是在本地搭建的 ftp,并没有放到外网,所以和我不在一个内网下的你是无法查看的