参数列表:名称后括号的含义

tra*_*ilm 2 fortran

我正在尝试理解传递给我的一些Fortran代码.这是子例程中的参数列表:

INTEGER, INTENT(IN) :: NKT
REAL, INTENT(IN)    :: NW2(NKT), VAR, SUE
REAL, INTENT(INOUT)   :: MYSPC(NKT,NKT)
Run Code Online (Sandbox Code Playgroud)

我理解NKT,VAR和SUE的声明.但NW2(NKT),MYSPC(NKT,NKT)中"(NKT)"和"(NKT,NKT)"的含义是什么?NKT是否指定了阵列NW2和MYSPC的尺寸?或者是说子程序将传递的值存储在NW2的NKTth位置?

我真的对变量之后的()的使用感到困惑.Nyhoff的"FORTRAN 90简介"一书中没有涉及它.任何帮助,将不胜感激.

(代码是Wavewatch的修改部分,http://polar.ncep.noaa.gov/waves/wavewatch/ )

jan*_*neb 5

在您的示例中,NW2(NKT)是具有NKT元素的数组,MYSPC(NKT,NKT)是NKTxNKT 2D阵列.如果你的Fortran书没有涵盖这一点,那么,真的,得到一本更好的书.如果你有一些以前的编程经验,我推荐Metcalf,Reid和Cohen的"Modern Fortran Explained".