回 帖 发 新 帖 刷新版面

主题:求助大气科学数据筛选程序

高手们大家好:
   先问一个简单的问题这个语句是什么意思?
 10  FORMAT(5X,'N=?,IH=?,NYEAR=?')
后面引号里是什么意思啊?第一次见,不知道啊!
   本人现在在处理一个有关雾的预报的问题,数据量很大。老师要求进行筛选处理,前期简单的处理我已经弄好了,目前则很难了。下面我把问题具体描述一下:
1按站号分站处理每个站的数据,数据主要是能见度数据已在附件里上传。其数据意义为站号,年月日,02,08,14,20时的能见度数据。
2要将能见度中小于10的数据按照年月输出例如:1-12个月,13为总计
     1 2 3 4 5 6 7 8 9 10 11 12 13(总计)
1951 1 1   1   1 1 2       1  2 10(即51年1月份54102站总计发生低能见度1次,2月1次等)
1952
1953
.....
2001
2002
2003
2004
2005
输出时就按照这个样子输出,每个站都是这样的。我就是不知道该怎么把每个月的数据累加到一起最后输出来,因为文件较多而且不能判断文件是否结束了,还有就是月份28、30、31天不同该怎么处理,感觉无从下手。由于本人在做毕业论文第一次接触这样的大型程序,所以问题很多,还望高手能耐心指点解决,谢谢您了![em10][em10][em10][em2][em2][em2]

回复列表 (共13个回复)

沙发

还望诸位高手们,稍费心思帮忙解决一下啊!不胜感激!加油,祝好!

板凳

诸位如有我没说明白的地方还望您能及时反馈给我,我好进一步修正求助的内容,谢谢您的帮忙!

3 楼

10  FORMAT(5X,'N=?,IH=?,NYEAR=?')
'N=?,IH=?,NYEAR=?' 整体视为一个字符串. 就是调用这个格式输出里面就含有这个字符串.

我看明白你要处理什么文件, 还是说处理多个文件. 也没简单附件.
后面说到的每月特殊的日子特殊处理.(某广告都这么说的)

4 楼

我要处理的是多个文件很多的那种,您真幽默,那特殊该是怎么个特殊法啊?没有附件吗?我再给您传一份吧!谢谢您。

5 楼

我上传了要处理的两个文件,还有好多呢,谢谢您啊!如何判断文件结束还有循环语句的嵌套问题最后输出累加的结果,我一直都没弄明白!万分感谢!!!!

6 楼

谢谢您关注我的问题。
我上传了要处理的两个文件,还有好多呢,谢谢您啊!如何判断文件结束还有循环语句的嵌套问题最后输出累加的结果,我一直都没弄明白!万分感谢!!!!

7 楼

文件里面的每行数据就6个整数, 行数如果固定并已知那很容易读取. 如果文件还是一个一个处理那直接用数组去读取就是了.
如果你的编译器不是太旧的话, 可以
READ(UNIT = 100, FMT = *,IOSTAT = ierror)
判断ierror是否大于0, 此时已经读到文件尾.
至于怎么相加, 怎么判断31号等, 你怎么想就怎么写是了.

8 楼

谢谢您的帮助,十分感谢,由于本人只是浅层次的接触了Fortran,了解的不多。所以还得麻烦您解释一下这个语句的详细意思是什么啊READ(UNIT = 100, FMT = *,IOSTAT = ierror)
就是每个逗号语句都是什么意思?谢谢您!祝好!

9 楼

你的数据有问题啊,有些年份数据大致是几、实际,后面好多年份都是几百,还就个别是32766,肯定不对的。
54012 1979 12 31     8     8     8     8
54012 1980 01  1   250   250   200   250
这两个纪录,前后两天怎么可能差这么多,使用的时候注意.

你的数据每天有4个,是不是要先后求日平均,还是各时段分别筛选小于10的。若要求日平均,那些错误的数据就有问题了,会影响计算结果。
若仅对数据筛选,一天4个数据,谁小于10就输出谁,那就好办。
还有,一天4个时段,是不是只要有1个时段的数据小于10,就算这天出现了小于10这一事件。

一句两句有点儿说不清哈~

10 楼

另外,你的数据是不是一个文件一个站

我来回复

您尚未登录,请登录后再回复。点此登录或注册