爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5542|回复: 4

[求助] Fortran读取micaps风场数据的问题

[复制链接]

新浪微博达人勋

发表于 2017-12-26 10:33:19 | 显示全部楼层 |阅读模式

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

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

x
想读micaps十一类风场的EC预报场资料,写成二进制文件再用grads画出,数据能够顺利读出,但是画出的图中却没有v风量,想求助下问什么会这样,因为用同样的程序读高空实况风场就能顺利读出,二者唯一的差别是数据存放的方式,实况的是从北极往南放,ec是从赤道往北放。
程序:program main
implicit none
integer i,j
integer,parameter :: ii=145
integer,parameter :: jj=37
character ch*100

real :: u(ii,jj),v(ii,jj)
open(10,file='d:\micaps\11\17010108.024')
read(10,*) ch
print*,ch

!先放U分量,数据按先纬向后经向放(若为直角坐标网格数据,则先X方向,后Y方向),均为浮点数。所有格点的U分量放完后再放V分量,也是按先纬向后经向放。


do j=1,jj
read(10,*) (u(i,j),i=1,ii)
enddo

do j=1,jj
read(10,*) (v(i,j),i=1,ii)
enddo

close(10)
!!!!注意micaps是从北向南排列数据,而grads是从南向北排列数据。
open(20,file='d:\micaps\11\17010108.024.grd',form='unformatted',access='direct',recl=145*37*4)
write(20,rec=1) ((u(i,j),i=1,ii),j=jj,1,-1)
write(20,rec=2) ((v(i,j),i=1,ii),j=jj,1,-1)
close(20)
end
再贴一个数据的图片
file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\382871867\QQ\WinTemp\RichOle\9@{HVAS9]3GM(6EDBW1Y$(7.png

QQ图片20171226103310.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-12-26 21:44:19 | 显示全部楼层
谢谢,打扰了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-12-26 23:28:49 | 显示全部楼层
你仔细看看你发的micaps数据的文件头的说明,你想要读的这个数据排列是由0-90°N,意思就是和grads的排列顺序是一样的,你改改的fortran写出的顺序就好
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-12-27 09:55:37 | 显示全部楼层
tulalang 发表于 2017-12-26 23:28
你仔细看看你发的micaps数据的文件头的说明,你想要读的这个数据排列是由0-90°N,意思就是和grads的排列顺 ...

恩,解决了,现在只要解决把-180-180改为0-360的存储方式就好了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2020-4-3 18:19:52 | 显示全部楼层
袜子女巫 发表于 2017-12-27 09:55
恩,解决了,现在只要解决把-180-180改为0-360的存储方式就好了

前辈,想问下你怎么改的呀。我弄一天了老是在v那出现问题
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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