爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4380|回复: 10

[求助] 帮忙看一下这段程序哪里有错

[复制链接]

新浪微博达人勋

发表于 2013-12-16 18:00:11 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
请哪位大神抽空帮忙检查一下这段程序哪里有问题?我的数据是湿度u和能见度v,都是时、日、月三维的。统计每月的霾日数。标准是只要一天24小时中只要有一时次的湿度在80以下且该时次能见度在10000米以下,就算一个霾日。我假设每个月有31天的,但数据文本里实际上每月不存在的那几天我是用0填进去的。
do i=1, 12
   t(i)=0
   do j=1,31
     do k=1,24
         if(u(i,j,k)==0.or.v(i,j,k)==0) cycle
         if(u(i,j,k)<80.and.v(i,j,k)<10000)then
              t(i)=t(i)+1
              exit
         end if       
     end do
  end do
end do

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-17 12:19:20 | 显示全部楼层
你运行时出现了什么问题? = =
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-17 13:36:01 | 显示全部楼层
if(u(i,j,k)==0.or.v(i,j,k)==0) cycle
if(u(i,j,k)<80.and.v(i,j,k)<10000)then
  t(i)=t(i)+1
  exit
end if
改为
IF ((u(i,j,k) .LT. 80) .and. (v(i,j,k) .LT. 10000) .AND. (u(i,jk)*v(i,j,k) .NE. 0)) THEN
   t(i)=t(i)+1
   EXIT
ELSE
ENDIF
这样你试一下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-17 13:37:35 | 显示全部楼层
你的变量的类型要搞清楚;逻辑关系式两边数据类型要一致。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-12-17 19:39:51 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-12-17 19:41:22 | 显示全部楼层
光头 发表于 2013-12-17 13:36
if(u(i,j,k)==0.or.v(i,j,k)==0) cycle
if(u(i,j,k)

RS`S(HB7VQSNB20HEI(SD5R.jpg
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-12-17 19:42:38 | 显示全部楼层
zyn4624 发表于 2013-12-17 12:19
你运行时出现了什么问题? = =

RS`S(HB7VQSNB20HEI(SD5R.jpg
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-18 00:44:52 | 显示全部楼层
说一下我的看法:

1、t ( i ) 是要计算每个月对应的雾霾日,程序中的exit是要做什么?当计算到第一个雾霾日的时候岂不是跳出整个循环了?那之后的雾霾日还怎么累加?
2、那个错误我也不懂是什么意思。我自己写了个模仿你的程序的简单例子。结果很好,没有问题!
楼主再弄弄,希望进一步交流,弄好了跟我说下哈

cycle.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-12-18 19:50:59 | 显示全部楼层
zyn4624 发表于 2013-12-18 00:44
说一下我的看法:

1、t ( i ) 是要计算每个月对应的雾霾日,程序中的exit是要做什么?当计算到第一个雾霾 ...

您好。我的数据是月日时三维的,因为可能一天中会有好几个时次满足能见度小于10000米且湿度小于80,所以我想用exit在已有一个时次满足条件时跳出最里层的循环,也就是跳出那个一天内的循环,执行下一天的循环。不知我的想法和做法对否?请指教
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-19 00:15:04 | 显示全部楼层
寻路人 发表于 2013-12-18 19:50
您好。我的数据是月日时三维的,因为可能一天中会有好几个时次满足能见度小于10000米且湿度小于80,所以我 ...

哦,这样啊,那就对了!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表