爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 13340|回复: 18

[分享资料] 这个grads问题是怎么造成的?

[复制链接]

新浪微博达人勋

发表于 2012-12-3 09:28:53 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 jeydragon 于 2012-12-3 09:32 编辑

Fig.png
ga-> D:\1.gs
No hardcopy metafile open
All files closed; all defined objects released;
All GrADS attributes have been reinitialized
gancgrid error: nc_get_vara_double failed; NetCDF: Index exceeds dimension bound

Data Request Error:  Error for variable 'soilm1_gds0_dbl'
  Error ocurred at column 1
DISPLAY error:  Invalid expression
  Expression = soilm1_gds0_dbl
ga->
怎么解决?谢谢
其中: Message.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-12-3 10:01:42 | 显示全部楼层
大概原因是 soilm1_gds0_dbl 这里还分为四种数据,分别为soil1-4该怎么设置输出?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-3 16:47:27 | 显示全部楼层
你的gs编写的有问题吧,正常NC文件打开很容易出图的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-12-3 20:12:35 | 显示全部楼层

因为我这个变量里面是四组数据,通常一个变量里面就一维,我读其他数据都没有问题的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-3 20:47:08 | 显示全部楼层
jeydragon 发表于 2012-12-3 20:12
因为我这个变量里面是四组数据,通常一个变量里面就一维,我读其他数据都没有问题的

哥们儿,你蒙我呢吧。不就是X Y Z T你还有什么?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-12-3 21:13:09 | 显示全部楼层
我干嘛蒙你呢,你读一下这个nc文件,然后试一下 soilm1_gds0_dbl  变量

1.rar

1.04 MB, 下载次数: 20, 下载积分: 金钱 -5

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

新浪微博达人勋

 楼主| 发表于 2012-12-3 21:14:43 | 显示全部楼层
river 发表于 2012-12-3 20:47
哥们儿,你蒙我呢吧。不就是X Y Z T你还有什么?

这个变量soilm1_gds0_dbl 一共包含了 四层的数据,分别以每层给出
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-3 22:06:59 | 显示全部楼层
jeydragon 发表于 2012-12-3 21:14
这个变量soilm1_gds0_dbl 一共包含了 四层的数据,分别以每层给出

不知道是你对grads不了解还是对NC资料不了解。你那个资料一共就只有地面一个层次,经度从西经179.5开始,共有360个格点。纬度从南纬59.5开始,共有150个格点。经纬度都是每个格点增量为1 度。时间是从0001年1月1日00是00分开始,时间增量为1分钟。有20个变量,你要的swe_gds0_sfc只是其中一个变量而已。 1.PNG

2.PNG

3.PNG


你要提取多时次变量资料要用循环,如果只要提取第一个时次只要设置set t 1就行,你写set t 1 1肯定有错啊。
'reinit'
'sdfopen f:\test\1.nc'
'set gxout fwrite'
'set fwrite f:\test\1.dat'
'set x 1 360'
'set y 1 150'
'set z 1'
'set t 1'
'd swe_gds0_sfc'
'disable fwrite'
;

如果是多时次的要改成这样:
'reinit'
'sdfopen f:\test\1.nc'
'set gxout fwrite'
'set fwrite f:\test\1.dat'
'set x 1 360'
'set y 1 150'
'set z 1'
tt=1
while(tt<=12)
'set t 'tt''
'd swe_gds0_sfc'
tt=tt+1
endwhile
'disable fwrite'
;

tt=1是你要提取的资料的起始时间,你也可以改成2、3、4·····
tt<=12是你要提取的资料的结束时间,你也可以改成2、3、4·····
你要多看看grads实用手册,多自己实践一下。连资料怎么个排列法都不知道,怎么提取啊。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-12-3 23:43:00 | 显示全部楼层
river 发表于 2012-12-3 22:06
不知道是你对grads不了解还是对NC资料不了解。你那个资料一共就只有地面一个层次,经度从西经179.5开始, ...

嗯,谢谢你
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-12-3 23:47:13 | 显示全部楼层
我对grads和nc资料是不很熟悉,我是偏向地球物理这方面的,因为研究需要需要将自己的结果和一个水文的资料进行比较,挺多都是nc格式的,然后搜索知道了这个论坛,再然后我在这里学到了很多东西。

因为我不是这个专业,所以对这方面的东西仅仅是皮毛,前段时间的时候,基本上可以通过简单的grads和fortran实现nc的读取以及输出为ascii格式
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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