非常感谢,很有帮助。
我现在面临一个问题是,之前写了两个子程序1和2,分别计算两个部分。现在需要写一个主程序把他俩结合起来,其实这样写就可以实现这个功能:
[Fortran] 纯文本查看 复制代码 PROGRAM MAIN
WRITE(*,*) ('Start 1D calculation……')
CALL RIVER_1D
WRITE(*,*) ('1D calculation end')
WRITE(*,*) ('Start 2D calculation……')
CALL RIVER_2D
STOP
END
但是为了输入数据都在主程序里输入,需要把共享的变量都提到主程序中来,该怎么实现呢?之前用fortran77的语法,这些公用数据的形式有这些种类:
[Fortran] 纯文本查看 复制代码 PARAMETER (N1=1000,N2=1000,N3=1000,N4=20000)
COMMON/BL1/ZO(N1),QO(N1),VO(N1)
COMMON/BL2/ZN(N4,N1),QN(N4,N1),VN(N4,N1)
COMMON/BL5/T
……
当然还有很多其他的,请问用社么方法可以最好的实现“变量从子程序中提取到主程序这个功能”呢? |