每个转数值模式的都逃不了查看源代码的命运。每当看源代码时,总是理不清那复杂的亲属关系。为了在查阅源代码时更好的理清思路,我们可以使用 f90tohtml 构建模式代码调用流程图。

f90tohtml 是转化 FORTRAN 源代码为 html 的 perl 脚本。所有子程序的调用关系都会被串起来,从而构建一个调用流程树。除此之外,还支持使用 正则表达式 对源代码进行检索,可以边查边搜索,多开(苦)心(逼)啊。

f90tohtml 的目的就是为了浏览数值预报模式的庞大程序库(作者估计也是一个搞模式的啊)。可以查看ARPS,MM5,PSU/UCAR,COAPMS等模式的源代码,当然少不了WRF模式了。

安装

下载 源码安装包,然后解压

1
tar -zxvf f90tohtml.tar.gz

编辑配置文件

1
2
cd f90tohtml
vi f90tohtml

更改 perl 的路径,文件中默认的为 #!/usr/bin/perl,将其更改为你的系统中的 perl 的路径,可能是 /usr/local/bin/perl/usr/bin/perl,可通过如下命令确定perl路径

1
which perl

然后更改 f90tohtml 路径为解压后 f90tohtml 所在路径

$path_f90tohtml="/home/bfiedler/f90tohtml/"

然后更改权限

1
chmod u+x f90tohtml

添加 f90tohtml 路径到 .bashrc 或 .cshrc 中

1
2
3
cd ~
vi .bashrc
export PATH=$PATH:/f90tohtmlpath/

进入 f90tohtml 目录下的 examples 目录,然后编辑 d2ps_prepare.plcrm_prepare.pl ,改变其中的 $the_pathf90tohtml/examples/d2ps 所在路径。改变 d2ps.f2h 中的 ​$dir_html,这是用来指定要创建的 d2psbrowser 路径。

Warning

不要自行创建此目录。

键入perl d2ps_prepare.pl ,然后执行此脚本,最终会创建 d2ps_ls 目录和此目录下的 src.ls 文件

然后键入 f90tohtml d2ps.f2h ,如果没有报错则表示运行成功。

博客首页模式标签对应的则是根据 f90tohtml 创建的WRF模式源码调用流程图。如下图所示: