- 积分
- 180
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2015-11-25
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 爱吃爱吃 于 2021-12-28 22:16 编辑
运用if 语句报错
do i=0,240
do j=0,288
do k=0,4
if ((ttestv(k,i,j).ge.0.).and.(ttestv(k,i,j).le.0.5)) then
nu=ttestv(k,i,j)
testv(k,i,j)=nu
else
testv(k,i,j)=-9999
end if
end do
end do
end do
fatal:The result of the conditional expression yields a missing value.
>> NCL can not determine branch, see ismissing function
这是因为里面的变量数ttestv有的是缺省值,所以if不能判断报错,只需要加上(.not.ismissing(ttestv(k,i,j))).,即
do i=0,240
do j=0,288
do k=0,4
if ((.not.ismissing(ttestv(k,i,j))).and.(ttestv(k,i,j).ge.0.).and.(ttestv(k,i,j).le.0.5)) then
nu=ttestv(k,i,j)
testv(k,i,j)=nu
else
testv(k,i,j)=-9999
end if
end do
end do
end do
|
|