爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5170|回复: 16

[求助] fortarn学渣求教读取EC文件,保存在数组中时会出现forrtl:serve(24):end-of-file d...

[复制链接]

新浪微博达人勋

发表于 2016-6-19 00:11:36 | 显示全部楼层 |阅读模式

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

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

x
fortarn学渣求教读取EC文件,保存在数组中时会出现forrtl:severe(24):end-of-file during read

就是一个简单的程序 ,但是当数组第二层循环j=1,1改为其他数时就会出现end-of-file during read的错误,我该怎么办啊
读取的是ec数据 数据是从第四行开始的,前三行是描述,主要问题出在程序中感叹号标注的区域
求助论坛的大大们帮助

    program text

    implicit none


    character(len = 79) :: filename
    character(len = 79) :: temp
    character(len = 79) :: dy,dx,sy,ey,sx,ex
    integer(4) :: xnum,ynum
    integer :: i,j,ii,jj
    logical :: alive
    real,allocatable :: EC_data(:,:)

    inquire(file="16061108.012",exist=alive)
    if(alive)then
        open(10,file="16061108.012")
        print*, 'file exist'
    else
        print*, 'file dosen`t exist'
        stop
    endif

    allocate(EC_data(xnum,ynum))
   
    EC_data=0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    do i=1,3
        read(10,*)temp
        print*, temp
    end do

    do i=1,xnum
        do j=1,ynum
            read(10,*) EC_data(i,j)
            write(*,"(1X,F5.2)") EC_data(i,j)
        end do
    end do
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    close(10)
    open(20,file="text1.txt")
    do
    write(20,"(1X,F5.2)") EC_data
    stop
    end do

    end program text

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

新浪微博达人勋

发表于 2016-6-19 06:41:36 | 显示全部楼层
数据还没读完就结束了,应该是数组长度长了,比如你循环到i=100,但文件里面只到99
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-19 06:42:09 | 显示全部楼层
额,说错了,提前读完了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-19 08:45:50 | 显示全部楼层
想请教楼主EC文件是啥?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-19 09:34:45 | 显示全部楼层
fortarn?是什么鬼玩意
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-19 13:41:56 | 显示全部楼层
厉害啊。。。。。。。。。。。
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2016-6-19 15:00:54 | 显示全部楼层
我不知道你EC数据的排列格式是怎样的,如果是xnum*ynum格式的话,我觉得应该是这样读取的:
do i=1,xnum
    read(10,*) (EC_data(i,j),j=1,ynum)
end do
这种情况就是要这样读取的,你可以试一下。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-19 21:06:15 | 显示全部楼层
学习学习  赞
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-6-20 08:56:47 | 显示全部楼层
hengkai1993 发表于 2016-6-19 08:45
想请教楼主EC文件是啥?

是欧洲中心的预报文件啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-6-20 08:56:52 | 显示全部楼层
hengkai1993 发表于 2016-6-19 08:45
想请教楼主EC文件是啥?

是欧洲中心的预报文件啊
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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