Fortran Coder

多个文件合并的问题,有意思的探讨,图+代码+思路。

查看数: 11048 | 评论数: 9 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2015-4-22 10:48

正文摘要:

如图,先解释下着十二个文件的意思,十二个BIL格式的文件代表十二个月的降雨数据,是由降雨量,经度,维度插值而成的。目的:把这十二个文件的数据合并到一个PXV格式的文件数据当中,没合并之前,换句话说,一个PXV ...

回复

kif117 发表于 2015-4-22 21:06:28
没有读懂你的问题。如果你文件的数据格式一样,只是长度不同,避免读取时end of file问题可以用fcode同学写的一个函数来设置do的长度:

前面加上
      Integer :: p,q,GetFileN

长度=GetFileN(打开的文件号)

      Integer function GetFileN(iFileUnit)
      implicit none
      logical , parameter :: b = .True.
      integer , intent( IN ) :: iFileUnit
      character(len=1) :: c
      GetFileN = 0
      Rewind( iFileUnit )
      Do while (b)
      Read( iFileUnit , * ,end =999 ,Err = 999 )c
      GetFileN = GetFileN + 1
      End Do
999   Rewind( iFileUnit )
      End function GetFileN

你的结果,应当参考最长的来设定。
vvt 发表于 2015-4-22 17:52:23
本帖最后由 vvt 于 2015-4-22 17:54 编辑

1.你最好是把所有文件都给出来,而不是只给1个。如果论坛不允许太大的附件,你可以用百度云盘分享。
2.对于395KB的文件,正好是 411*491*2 = 403602 字节。我能理解。但是对于 798KB 的文件,我即没见过,也就无法知道是什么格式,怎么读取。
3.你的描述我看得很模糊,不知道你到底要合并什么。grid2 和 grid1 分别是什么?感觉是同一个文件,只不过recl不同而已。
4.Fortran程序员一般不知道什么是BIL格式,什么是PXV格式。这应该是你们专业的格式。而不是公开的通用的格式。所以,你只说BIL,PXV并没有什么作用。

FortranCoder 发表于 2015-4-22 15:23:50
li913 发表于 2015-4-22 15:07
需要这两种文件的存储格式。

原始文件都是BIL格式的啊,只是大小不一样,一种是798KB,另外一种是他的1/2大小,要存储的格式为PXV格式的,就是一个文件合并的问题啊。
li913 发表于 2015-4-22 15:07:12
需要这两种文件的存储格式。
FortranCoder 发表于 2015-4-22 11:01:53
vvt 发表于 2015-4-22 11:00
稍安勿躁,是的,需要上传文件。

已经上传了
vvt 发表于 2015-4-22 11:00:33
稍安勿躁,是的,需要上传文件。
FortranCoder 发表于 2015-4-22 10:58:48
求助啊 ,有没有能支招的
FortranCoder 发表于 2015-4-22 10:54:15
vvt 发表于 2015-4-22 10:51
这个需要你上传一定量的数据文件。

意思是这些二进制文件要上传上来“?
vvt 发表于 2015-4-22 10:51:24
这个需要你上传一定量的数据文件。

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-11-24 01:07

Powered by Tencent X3.4

© 2013-2024 Tencent

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