爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4019|回复: 2

[分享资料] 求助,fwrite读取多层多变量的nc文件!

[复制链接]

新浪微博达人勋

发表于 2013-7-1 10:49:32 | 显示全部楼层 |阅读模式

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

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

x
求指教。我想用fwrite将nc文件的27层的数据读出来,运行也没有错误。但是运行后grads不是卡住就是直接关闭,读写其它gs文件没有任何问题。文件描述如下dset g:/180405.grd
title unset
undef 9.96921e+36
xdef  144 linear   0   2.5
ydef  96 linear   -90   1.89474
zdef   27 levels  1000  985.1  955.9  903.3  831.0  764.3  639.21  551.39  469.2
    398.7  339.17  288.5  244.7  208.49  176.93  150.3  127.37  108.4  91.3
    78.14  61.05  44.33  29.82  18.05  9.88  4.521  2.107
tdef   14 linear 00Z01MAY1804      7200mn      
VARS   81
........
q        0        -999        q
t        0        -999        t
u        0        -999        u
v        0        -999        v
........
ENDVARS


下面是我的读取资料的gs文件
'reinit'
'sdfopen G:\180405.nc'
'set gxout fwrite'
'set fwrite G:\180405.grd'
tt=1
while(tt<=14)
'set t 'tt
'set x 1 144'
'set y  1 96'
ia=1
while(ia<=27)
'set z 'ia
'd t'
ia=ia+1
endwhile

ib=1
while(ib<=27)
'set z 'ib
'd q'
ib=ib+1
endwhile


tt=tt+1
endwhile
'disable fwrite'
;

请各位高手指导下!!多层次多变量nc文件怎么读。我看了下清风的帖子,如果按照其读写法,81个变量27层,每层都定义的话就要写很多。请问这种多层多变量如何循环?谢谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-7-1 11:37:26 | 显示全部楼层
本帖最后由 river 于 2013-7-1 11:41 编辑

试一下写在一个循环里吧。我觉得是可以的
'reinit'
'sdfopen G:\180405.nc'
'set gxout fwrite'
'set fwrite G:\180405.grd'
tt=1
while(tt<=14)
'set t 'tt
ia=1
while(ia<=27)
'set x 1 144'
'set y  1 96'
'set z 'ia
'd t'
'd q'
ia=ia+1
endwhile

tt=tt+1
endwhile
'disable fwrite'
;
我还有个建议,就是楼主可以使用sdfwrite命令直接给他写成nc格式的吧,这样就不需要在自己配ctl了。不过还有一个大缺点,就是只能一个变量生成一个文件,不能放在一个文件里
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-7-1 17:16:21 | 显示全部楼层
不是存数据都是先对每个变量读完所有层次,然后才是下个变量吗?还有,想请教下,你上面给的循环,是可以把所有变量先全部读出来是吧?
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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