请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 7847|回复: 40

[图形美化] GrADS处理海温资料

[复制链接]

新浪微博达人勋

发表于 2014-5-17 11:24:17 | 显示全部楼层 |阅读模式

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

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

x
这个问题困扰小弟许久:打开一个nc文件,选取所需要的区域,输出为二进制文件,然后为该二进制文件写一个ctl,再把物理量画出来,跟原来的就不一样了!!!


1.输出二进制文件的gs:
'reinit'
'sdfopen e:\HadISST_sst.nc'
'set fwrite e:\rxydata.grd'
'set gxout fwrite'
'set lon 275 360'
'set lat -1 51'
'set t 1 1680'
'd sst'
'disable fwrite'
;


2.nc文件的ctl:图片中

3.为二进制文件写的ctl:
dset e:\rxydata.grd
title r_xy data
undef -9.99e+08
xdef 86 linear 275 1
ydef 53 linear -1 1
zdef 1 levels 1000
tdef 1680 linear jan1870 1mo
vars 1
sstalt=>sstalt 0 t,y,x sst of north atlantic ocean
endvars

(写成 sstalt 0 99 sst of north altlantic ocean结果是一样的)

4.得到的结果
如果打开nc文件,直接画图,结果是正常的
输出为二进制之后,打开编写的二进制,画出的图有偏移

5.问题猜想
这当中应该是数据的排布方式理解有问题,但是数据不是先x后y,x自西向东,y自南向北吗?

[img]file:///C:\Users\MrYuan\AppData\Roaming\Tencent\Users\229842754\QQ\WinTemp\RichOle\_Y4UT)XR_2[%A8_LUE5@FS1.jpg[/img]

[img]file:///C:\Users\MrYuan\AppData\Roaming\Tencent\Users\229842754\QQ\WinTemp\RichOle\_Y4UT)XR_2[%A8_LUE5@FS1.jpg[/img]

nc的ctl

nc的ctl

打开nc直接画图

打开nc直接画图

输出二进制后打开ctl画图

输出二进制后打开ctl画图
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-5-17 12:04:26 | 显示全部楼层
'reinit'
'sdfopen e:\sst.mnmean.nc'
'set gxout fwrite'
'set fwrite e:\sst.grd'
it=1
while(it<=387)
'set t ' it
'set y 75 105'
'set x 180 270'
'd sst'
it=it+1
endwhile

'disable fwrite'

你这样输出试试
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-5-17 12:43:02 | 显示全部楼层
寻羊的黑猫 发表于 2014-5-17 12:04
'reinit'
'sdfopen e:\sst.mnmean.nc'
'set gxout fwrite'

试了,没有区别哇,不过还是谢谢你的意见
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-5-17 13:22:58 | 显示全部楼层
没有人遇到这个问题吗?那么大家计算某个季节海温与降水之类的相关,是如何处理的呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-5-17 14:10:28 | 显示全部楼层
我在想NC资料是2.5*2.5的,你的CTL是1*1的,是不是这里出问题了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-5-17 15:02:33 | 显示全部楼层
一个不小心 发表于 2014-5-17 14:10
我在想NC资料是2.5*2.5的,你的CTL是1*1的,是不是这里出问题了

谢了谢了,不是这个问题
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-5-17 15:13:53 | 显示全部楼层
谢了大家的回复,问题已经解决。下面就这次错误,来点总结,希望对大家以后处理nc资料有所帮助!
这个问题最后解决方案:
输出文件改为
'reinit'
'sdfopen e:\HadISST_sst.nc'
'set fwrite e:\rxydata.grd'
'set gxout fwrite'
'set x 456 541'
'set y 90  142'
i=1
while(i<=1680)
'set t 'i
'd sst'
i=i+1
endwhile
'disable fwrite'
;
也就是,设置区域的时候,不要用set lon val1 val2  set lat val1 val2
改成相应的set x val1 val2   set y val1 val2
理论上效果是一样的,但是这么做就没问题了。这是nc资料的特色??
还有一个,nc的ctl中undef是-1e+30,但是实际里面的缺测值是-9.99e+08
以上是发现的关于nc的两个特点。具体什么原因,现在对nc不是很不了解,大家有知道原因,可以继续探讨

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

新浪微博达人勋

发表于 2014-5-17 15:26:03 | 显示全部楼层
学习了
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2014-5-17 20:13:38 | 显示全部楼层
应该是时间最好用循环语句,不要用‘set t’这个语句,这个语句画图的时候可以用。
用xy坐标和经纬度坐标是一样的,但是有些画图里面设定xy坐标好一些
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-5-17 22:28:45 | 显示全部楼层
我的理解是这样的,ncep的lon是从0~357.5,对应x是从1~144,所以如果设置lon 0 360,那么360的格点其实就是0的格点,重复计算可能就会出错。所以最好设置是x 1 144
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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