Fortran源代码文件设置和列规则:SWAN

时间:2013-12-03 01:25:29

标签: fortran

了解sourceforge天鹅波模型fortran源代码。混淆的一点是源代码文件夹中的不同文件(.edt,.ftn,.ftn90,.inc,.lst,.nml,.pl,.eps,.bat),现在我知道这些文件中的大多数文件但是命名约定有点令人难以置信。

我看看swanmain.ftn并且我无法理解:编译器是否只是按顺序读取此文件,因为似乎没有SWMAIN的初始化(例如“程序SWMAIN”),它只是以IMLICIT NONE开头?它只有END然后下一行是一堆USE语句?? SWMAIN开始的唯一正式声明在评论中。

我遇到的另一个问题是在75列中的接缝:最后有一个数字,例如40.30接缝,如版本号,其中添加或编辑了该行,但没有!或者c来初始化评论所以是过去的75行只是假设未使用(我知道fortran有那些旧打孔卡的行格式,但我认为它在第80列结束了)?

我应该从哪里开始了解该程序的设置方式,即哪个文件最能让我了解所有其他文件的内容。我应该了解makefile格式吗?

抱歉所有的菜鸟问题,因为我基本上从未学过编程,只是在做的时候有点学习。我用Java和C ++编写了一些程序,但主要是MATLAB。

谢谢

1 个答案:

答案 0 :(得分:2)

  • 大多数来源应该是显而易见的:ftnftn90是Fortran来源,nmlNamelist文件,pl是Perl脚本,eps是一个数字,batWindows Batch fileinc是“包含”文件(不是语言特定的),“lst”似乎是一个列表(不确定相关性)。

  • 代码似乎主要以FORTRAN 77标准编写。因此,过去第72行(不是80)的任何内容都会被截断为注释(如果启用了-Wall,gfortran甚至会警告你它正在这样做)。

  • Fortran技术上不需要PROGRAM <name>声明。真的,Fortran代码中必需唯一的东西是END来结束它。

如果你想要解决这个问题,我建议:

  1. 至少阅读两次文档。
  2. 阅读代码中的相关出版物(特别是代码的初始公告)
  3. 首先查看主程序并查看调用的位置(这可能是一种非常缓慢而且不好的方法,因为它看起来是一个相当长的代码)