时光深处 发表于 2023-5-11 17:10:51

这个报错该怎么改呢,急求解答

Do J=1,ILO
       Do I=M,1,-1
          Do K=1,N
                        LDONO = JC(J,I,K)
                        DO LDO = 1,LDONO
            if (NUTRINH(j,i,k) .le. 0.) NUTRINH(j,i,k)=eps
              if (NUTRINO3(j,i,k) .le. 0.) NUTRINO3(j,i,k)=eps
              if (NUTRIP(j,i,k) .le. 0.) NUTRIP(j,i,k)=eps
              if (DON(j,i,k) .le. 0.) DON(j,i,k)=eps
              if (DOP(j,i,k) .le. 0.) DOP(j,i,k)=eps
              if (PHYTOS(j,i,k) .le. 0.) PHYTOS(j,i,k)=eps
              if (PHYTOL(j,i,k) .le. 0.) PHYTOL(j,i,k)=eps
              if (ZOOS(j,i,k) .le. 0.) ZOOS(j,i,k)=eps
              if (ZOOL(j,i,k) .le. 0.) ZOOL(j,i,k)=eps
              if (POP(j,i,k) .le. 0.) POP(j,i,k)=eps
              if (PON(j,i,k) .le. 0.) PON(j,i,k)=eps
              if (bSi(j,i,k) .le. 0.) bSi(j,i,k)=eps
              if (BAC(j,i,k) .le. 0.) BAC(j,i,k)=eps
              if (cod1(j,i,k) .le. 0.) cod1(j,i,k)=eps                         !2.0
              if (cod2(j,i,k) .le. 0.) cod2(j,i,k)=eps                         !2.0
              if (cod3(j,i,k) .le. 0.) cod3(j,i,k)=eps                         !2.0
              if (codm(j,i,k) .le. 0.) codm(j,i,k)=eps


这几个的报错都是这样的,实在不知道问题出在哪了
Error: The shapes of the array expressions do not conform.   
            if (NUTRINH(j,i,k) .le. 0.) NUTRINH(j,i,k)=eps



楚香饭 发表于 2023-5-11 19:01:05

本帖最后由 楚香饭 于 2023-5-11 19:02 编辑

请注意 NUTRINH 和 eps 的定义,.le. 运算符两边的数组维度必须一致。
= 运算符左边的维度不能小于右边的维度。

时光深处 发表于 2023-5-11 19:55:40

从定义上看是没什么问题的,NUTRINH定义的话是实测值,肯定不可能小于0,eps的定义是1.e-8,这样看没什么问题呀

楚香饭 发表于 2023-5-12 08:31:25

有必要的话,把定义部分代码给出来。甚至全屏截图

necrohan 发表于 2023-5-12 14:26:42

在循环内的if语句前面输出看看
write(*,*)NUTRINH(j,i,k)

时光深处 发表于 2023-5-13 17:23:57

时光深处 发表于 2023-5-11 19:55
从定义上看是没什么问题的,NUTRINH定义的话是实测值,肯定不可能小于0,eps的定义是1.e-8,这样看没什么问 ...

C:\Users\谷芳芳\Pictures\Screenshots\屏幕截图 2023-05-13 172112.png

时光深处 发表于 2023-5-13 17:25:46

本帖最后由 时光深处 于 2023-5-13 17:44 编辑

楚香饭 发表于 2023-5-12 08:31
有必要的话,把定义部分代码给出来。甚至全屏截图
C:\Users\谷芳芳\Pictures\Screenshots\屏幕截图 2023-05-13 172112.png我还想再请教下,这个报错下面有个三角,这个到底是什么作用呢?


楚香饭 发表于 2023-5-13 18:00:45

请检查 eps 的定义,我是说他的类型,是否是数组,而不是他的值是 1.e-8

如有必要,可上传 Mod_WQM_NC.f 文件(压缩后上传)
页: [1]
查看完整版本: 这个报错该怎么改呢,急求解答