爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6766|回复: 5

[分享资料] 关于fwrite读FNL数据顺序的问题?

[复制链接]

新浪微博达人勋

发表于 2012-5-27 13:35:33 | 显示全部楼层 |阅读模式

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

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

x
1.jpg

如上图是FNL  的.CTL文件.........

我用论坛一个GS程序,改变了下用来读成二进制文件GRD.....
GS如下.....

'open c:\grads19\doc\fnl_20060410_18_00.ctl'
'set gxout fwrite'
'set fwrite c:\grads19\doc\wind_v.grd'
tt=1
while(tt>=1)
'set t 'tt''
zz=1
while(zz>=1)
'set z 'zz''
'set x 1 360'
'set y 1 181'
'd VGRD10m'
zz=zz-1
endwhile
tt=tt-1
endwhile
'disable fwrite'
'reinit'


读完 以后我用FORTRAN把二进制读成十进制的........
这是FORTRAN程序
program sta2grd
implicit none
real*4 wild(360,181)
integer i,j
Open(12,File = "wind_v.grd",form='BINARY', access="SEQUENTIAL",&
        status="old",action='read')
do i=1,360
do j=1,181
read(12) wild(i,j)
!write(*,*)wild(i,j)
end do
end  do

open(11,file="sf2.csv",status="replace")
do i=1,360
write(11,"(181(f8.4,','))")(wild(i,j),j=1,181)
end do
close(12)
close(11)

end


我想问的是读出来的数据是按什么顺序读的?
就是我第一步用GS生成GRD时候,数据是按什么顺序的?
因为我打算用插值,所以得知道读出来数据是按什么规律读出来的

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

新浪微博达人勋

发表于 2012-5-27 13:58:52 | 显示全部楼层
((vwind(i,j),i=1,360),j=1,181)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-5-27 14:08:46 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-5-27 14:23:00 | 显示全部楼层
自己看看GrADS手册中的数据排列方式
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-5-27 16:08:17 | 显示全部楼层
你听得到SF 发表于 2012-5-27 14:08
这个加在哪里?........我用GS读出来二进制是不是没规律的

这是grads的书写格式
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-5-28 11:24:45 | 显示全部楼层
数据排列是按照 :时间-->层次-->南北-->东西   顺序排列的。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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