爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: Daisy°L

[求助] 想请问下关于fortran提取数据的问题

[复制链接]

新浪微博达人勋

 楼主| 发表于 2014-5-21 16:03:30 | 显示全部楼层
lqouc 发表于 2014-5-21 15:22
7楼的方法是正确的,修改下有问题可以再发上来,而且后面的年份是没有数据的,你可以不用设置100年那么长 ...

修改完是这样的么
parameter(iva=74,imon=12,iyr=70)
dimension hc068(iva,imon,iyr)
open(10,file='f:\grads\hc068',err=200)
     read(10,100) (((hc068(k,i,j),k=1,37),i=1,imon),j=1,iyr)
     read(10,100) (((hc068(k,i,j),k=38,74),i=1,imon),j=1,iyr)
100        format(37I5)
200        continue
close(10)
end
这样出来还是不行 那个74需不需要用iva替换啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-5-21 16:21:29 | 显示全部楼层
Daisy°L 发表于 2014-5-21 16:03
修改完是这样的么
parameter(iva=74,imon=12,iyr=70)
dimension hc068(iva,imon,iyr)

晕,人家不是说了要你自己把i和j加显示循环的么?
74可以变成iva
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-5-22 14:50:32 | 显示全部楼层
lqouc 发表于 2014-5-21 16:21
晕,人家不是说了要你自己把i和j加显示循环的么?
74可以变成iva

parameter(iva=74,imon=12,iyr=70)
dimension hc068(iva,imon,iyr)
open(10,file='f:\grads\hc068',err=200)
do j=1,iyr
   do i=1,imon
     read(10,100) (hc068(k,i,j),k=1,37)
     read(10,100) (hc068(k,i,j),k=38,iva)
   end do
end do
100        format(37I5)
200        continue
close(10)
end
额 是这样么
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-5-22 14:57:52 | 显示全部楼层
Daisy°L 发表于 2014-5-22 14:50
parameter(iva=74,imon=12,iyr=70)
dimension hc068(iva,imon,iyr)
open(10,file='f:\grads\hc068',err ...

嗯,就是这个意思
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-5-22 15:04:30 | 显示全部楼层
lqouc 发表于 2014-5-22 14:57
嗯,就是这个意思

额 可是还是不行
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-5-22 15:22:52 | 显示全部楼层
Daisy°L 发表于 2014-5-22 15:04
额 可是还是不行

那是啥报错啊?每次都不行也不说原因,和之前一样的错误?
之前的报错就是数据大小的问题。
把数据用ultraedit打开看看到底一行是多少个变量。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-5-22 15:29:00 | 显示全部楼层
lqouc 发表于 2014-5-22 15:22
那是啥报错啊?每次都不行也不说原因,和之前一样的错误?
之前的报错就是数据大小的问题。
把数据用ul ...

和之前一样的错误 嗯 我再看看
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-5-22 15:45:04 | 显示全部楼层
Daisy°L 发表于 2014-5-22 15:29
和之前一样的错误 嗯 我再看看

parameter(iva=74,imon=12,iyr=70)
dimension hc068(iva,imon,iyr)
open(10,file='f:\grads\hc068')
do j=1,iyr
do i=1,imon
read(10,*,iostat=it) (hc068(k,i,j),k=1,37)
if(it<0) exit
read(10,*,iostat=it) (hc068(k,i,j),k=38,iva)
if(it<0) exit
end do
end do
close(10)
print*,j,i,"stop"
end
试试这个,虽然没用过但是我总觉得没理由把74个指数分成两行
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-5-22 16:09:26 | 显示全部楼层
lqouc 发表于 2014-5-22 15:45
parameter(iva=74,imon=12,iyr=70)
dimension hc068(iva,imon,iyr)
open(10,file='f:\grads\hc068')

恩恩 谢谢哈 fortran运行结果是这样的 应该是好了吧 是帮舍友做的 可是舍友也不知道要什么结果 额 还是麻烦您了哈
QQ截图20140522160452.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-5-22 16:52:46 | 显示全部楼层
Daisy°L 发表于 2014-5-22 16:09
恩恩 谢谢哈 fortran运行结果是这样的 应该是好了吧 是帮舍友做的 可是舍友也不知道要什么结果 额 还是麻 ...

这个的意思是提取了你开始年份之后的70年。
具体要截取哪一段你们自己再搞一下吧,很简单的。
你还真是中国好室友啊。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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