爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 15151|回复: 46

[分享资料] 关于hadley center上的nc数据读取

[复制链接]

新浪微博达人勋

发表于 2012-7-29 13:30:28 | 显示全部楼层 |阅读模式

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

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

x
各位师兄师姐,之前我发过这样一个类似帖子,但是无果而终。。。 大家的建议都试过,都不太管用。然而此数据要用,不得不再麻烦大家帮我想想对策。
    不知大家有没有用过hadley center的海温数据?
                                                                                                                                                                                                                                                                                                                            我最近在用hadley center的海温数据做分析,从网站上下载了nc格式的文件,以往的做法都是将nc文件用set gxout fwrie来转化成二进制,从而进行fortran计算。 我对这个语句算是非常熟悉,每次都可以成功转化,但是这次却无论如何都无法转化成二进制数据,输出的数据全是0.
     我想请问,nc格式的文件有很多种么? 为何只有hadley center的nc数据无法成功转化成二进制数据呢?
    希望大家能给予帮助!
    在此附上我的gs文件:
'reinit'
'sdfopen f:\sam\areacc\hadleycenter\HadISST.nc'
'set fwrite f:\sam\areacc\hadleycenter\sst.dat'
'set gxout fwrite'
i=1
while(i<=1706)
'set lon -179.5 179.5'
'set lat -89.5 89.5'
'set z 1'
'set t 'i
'd sst'
i=i+1
endwhile
'disable fwrite'
'reinit'

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

新浪微博达人勋

发表于 2012-7-29 15:14:58 | 显示全部楼层
语句看上去没有问题,nc的ctl截个图传上来看看
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-7-29 16:55:26 | 显示全部楼层
只有标准的netCDF文件,grads的sdfopen才能够打开的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-7-29 18:38:43 | 显示全部楼层

nc 的metadata信息很传统啊。。 截图不太会传
也是 xdef 360 linear -179.5 1
       ydef 180 linear -89.5 1
       zdef 1 linear 0 1
       tdef 1706 linear.   blablah  跟以前做的nc没什么不同
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-7-29 18:40:35 | 显示全部楼层
易小凯 发表于 2012-7-29 16:55
只有标准的netCDF文件,grads的sdfopen才能够打开的

直接用sdfopen 可以打开这个nc, 而且用nc直接可以出图。
问题在于,我想把他转化成二进制文件用fortran 进一步处理,但是用fwrite怎么着也写入不了二进制文件,全是0值。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-7-29 19:15:34 | 显示全部楼层
happyhui 发表于 2012-7-29 18:38
nc 的metadata信息很传统啊。。 截图不太会传
也是 xdef 360 linear -179.5 1
       ydef 180 linear  ...

格点也木有错啊!你看到的0值是fortran转化成十进制后看到的,还是你写了ctl画的图,如果是前者,就可能是你fortran程序的问题了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-7-29 21:46:21 | 显示全部楼层
happyhui 发表于 2012-7-29 18:40
直接用sdfopen 可以打开这个nc, 而且用nc直接可以出图。
问题在于,我想把他转化成二进制文件用fortran  ...

那你sdfopen这个nc文件,然后看能否出图
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-7-30 11:21:33 | 显示全部楼层
不会又是set lon 和set lat的问题吧,可能和你数据里面的0 360的表示方法不一致,改成对应的 set x set y试试呢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-7-30 13:35:53 | 显示全部楼层
做个霸气的木头 发表于 2012-7-29 19:15
格点也木有错啊!你看到的0值是fortran转化成十进制后看到的,还是你写了ctl画的图,如果是前者,就可能是 ...

就是用fwrite转化成二进制文件之后,直接写了一个ctl,出图——0!  然后我用fortran将数据读出来,也满屏幕的0.所以就是fwrite转化数据的问题。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-7-30 13:37:19 | 显示全部楼层
易小凯 发表于 2012-7-29 21:46
那你sdfopen这个nc文件,然后看能否出图

能呀,我一拿到nc就先用sdfopen 打开出了图。非常正常。。。  您可以去Hadley center下一个小数据试一下,我觉得可能时数据格式跟ncep上的不大一样所以不好读取。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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